Don't use a wheel for its bolts.
Including a library for one, two, or even a small handful of its features is often a horrendous waste of bandwidth and efficiency hit. Don NOT use JQuery solely—or even mostly—for the ability to select nodes by ID using the $ function. Use the methods that the DOM already provides or write your own $ function that does precisely and only what it needs to do.
I've switched careers...
I'm NO LONGER a scientist,
but now a web developer...
Always a fun topic, I like the writeup. But I will play devil's advocate on two of your points:
Normalize your data: While I agree in general with normalization of a data model, it is in tension with application speed. If one took you literally on this point, one would be putting speed lower in priority than maintainability, memory usage, and whatever other positives you might state for normalization. In some cases though, speed happens to be more important than those things, and in those cases I'd say normalization is the wrong thing to do.
Don't use a wheel for its bolts: Possibly your point is within the scope of interpreted web applications only here. If I want *only* the cos function, in a C application, I will include the *entire* math library, just to get that one function. I believe that's the correct way to do it, and the compiler and linker will sort out your concerns of having incorporated too much extra library code.