The animatronic rubber duck
You know rubber duck debugging even if you have never named it: put a rubber duck on your desk, and when you are stuck, explain your code to it out loud, line by line. The duck says nothing back. That is not a limitation of the technique. It is the whole mechanism. The name comes from The Pragmatic Programmer, which tells the story of a research assistant, Greg Pugh, who carried a rubber duck around for exactly this purpose.1 The duck is not doing any work. You are, by being forced to say out loud what you think you understand, in order, to an audience that cannot interrupt. A good fraction of the bugs I have found, I found in the second sentence of explaining them to someone who had not said a word yet. ...