Programming languages have come a long way since I banged out my first BASIC "Hello, World" in 1977. We have great compilers, wonderful editors, and strong typing.
jQuery and JSON are weakly-typed and late-bound. The practical effect of these characteristics is that you can introduce subtle, maddening bugs merely by changing the letter case of a single variable (e.g., from "ID" to "Id").
I've just spent three hours of a perfectly decent Sunday trying to find exactly that problem in some client code. And I want to punch someone.
Two things from this:
1. Use conventions consistently. I'm going to go through all the code we have and make sure that ID is always ID, not Id or id.
2. When debugging JSON, search backwards. I'll have more to say about that later, but my day would have involved much more walking Parker had I gone from the error symptom backwards to the code rather than trying to step through the code into the error.
OK, walkies now.