http://pyre.third-bit.com/blog/archives/000106.html

Has a great story on using a rubber duck as a debugging tool...I'll update this post later as to why this really hits a note with me...

UPDATE: OK, I find this post  just nails it as far as 'Essential Equipment'  goes for me (well apart from the Chess set...that would involve WAY too much concentration..and the trainers...too lazy). Anyway, the rubber duck...quite often I can get stuck on a particular problem when coding (actually most often whilst debugging) and despite trying just about everything the solution is not forthcoming, my version of a rubber duck is our Technical Director JJ. I find that explaining a problem to someone else can have a pretty much miraculous effect on finding the solution, guess it has to do with reordering the information into a more structured fors, allowing my mind to finally work through a solution...