I have a book on my shelf titled "Software Exorcism", which is all about debugging and optimization. It's a good book, but it doesn't have any reference to the (I suspect) widely-used-but-rarely-discussed technique of "shower debugging".

Shower debugging is somewhat related to inspection, where you read source code to try to find the bug, but substitutes hot water and toiletries for a code editor.

I was working on a problem this morning, and managed to figure out what was going on and why in about 10 minutes.

There are, however, a few cautions with this technique:

  1. Additional hot water usage, with the associated increased chance of the "arctic blast mind refocusing experience".
  2. You will, at some point, forget whether you've washed your hair yet. For the sake of others, please do it again, just to be sure.
  3. Two words: Prune City