I didnt look to closely, but it looks like you are creating a closure around the comments var for your event listener function. The problem is that you are doing this within a loop, meaning the comments var changes after each iteraion, probably ending up in something you hadnt intended
This is what I have set up. A Git repository on the server. I push all my code to the repo via ssh.
On the server there are Dev, Staging, and Production environments. Dev and Staging are bare checkouts from the git repo. I have deploy shell scripts that automate deploying to both (checking out from source control and running database migrations). The process should be that code is deployed to Dev, then Staging and finally to Production.
The Production environment is NOT a checkout from source control. It is an exact mirror of the Staging environment. And the deploy script to production does the following:
- tags source control with the new release number
- creates a tar.gz backup of the production directories
- does a database backup dump
- then uses rsync to copy files from the staging web directories to the production directories.
- lastly runs migration scripts on the prod database
Steve Souders is the man who was the head of Yahoo's Exceptional Performance Team, which gave us these rules for speeding up your website: http://developer.yahoo.com/performance/ and also YSlow.
Cuzillion is something he seems to have made to give you a generalized example of what components affect your performance and by how much. So it allows you to test a fabricated example rather than a specific website.
For finding those kinds of mistakes use jslint (http://jslint.com), though it doesnt catch calling a function with the wrong number of arguments (which may be what you intended anyways). If you download the source you can easily write a custom command in vim or emacs to run the current buffer through jslint.