I was ready to crap all over this--I've seen so many of these kind of posts--but this was (IMHO) quite good. There's a ton of (as the kids say) alpha in each of the bullet points.<p>I can't say that I practice all or most of these habits, but the points about "calling your shots" and "concrete hypotheses" resonate. For example, when I add a debugging printf/log, I always ask myself, "will this output invalidate one or more hypotheses?" If not, then I need to rethink the problem.