Really good article. Some of these are subtle, and really must be learned the hard way. The only one I found myself thinking I disagreed with was "85. Multithreading is rarely worth the added complexity." Maybe I simply have yet to learn it the hard way, but of all the ways to add complexity, I have tended to find multithreading as one of the more legitimate. That being said, it has to be done in a simple, easy to reason about way. Usually for me, this means fork-joining homogeneous tasks.