I don’t remember when I heard about rubber duck debugging in first time. I think it was at university.
Rubber duck debugging is a psychological method of finding solution for various tasks.
For example, if you have any problem, you can explain it in details to something or someone (even if he or she doesn’t know anything about your problem subject 😉) and there is a big chance, that you will find a solution in the explaining process.
This method is also used for debugging code, when a programmer explains his code line-by-line to the duck. It often lets you find the problematic code section.
You can see similar situations on support forums and in support chats, when a topic starter answers his own question almost instantly.
Such cases occur in real life too, when one person tells something to another and even doesn’t allow him to answer — thanks him for a solution of the problem.
And now I have the wisest duck, which knows answers for all (well, or almost all) the questions 😁.