Starting reading this I thought that I wasn't an idiot, and then I realized that I internalized most of what's there.<p>For instance, I've given up trying to avoid off-by-one issues in complex loops, I'm just writing the loop, testing it, and then see if it's off-by-one or not.<p>Another example is that I know that I get really confused by not-even-complex logic expressions. It takes me ages to get what !(a || !b) means, and then I am not sure at all I'm right.<p>I totally relate to the author's problem with max(0,min(1,x)), I've screwed that one so many times.