AH Just finished reading this book. It starts off hilarious ("Hah! That guy's an idiot, he broke every rule in this book.") and ends up painful ("Man, I'm an idiot, I broke every rule in this book.").

I was reading this while taking a break from beating my head against the nearest wall, trying to figure out why my purpose-built pure Tcl messaging middleware occasionally triggered an infinite loop under heavy loads. Ten minutes after I started consciously applying the rules in his book, I found the bug. (I was also left with the conviction that my design was a piece of crap, but that's another story.)