What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 150 Stack Exchange communities.

Beginning to ask a question on Stack Overflow actually helps me debug my problem myself, especially while trying to formulate a coherent and detailed enough question body in order to get decent answers.

Is this common?

share|improve this question
Since this question is linked to a post from Jeff Atwood, I guess you'll get soon a gold badge :-) – Luc M Mar 14 '12 at 16:32
@LucM Thats true! Before reading Jeff Atwood's post, I didn't know there is a meta stackoverflow ;-) – Yeameen Mar 15 '12 at 4:48

2 Answers 2

up vote 21 down vote accepted

This technique is known as Rubber Duck Debugging -

The process is to meticulously explain code to an inanimate object, such as a rubber duck. It is expected that when the programmer comes across a piece of code that is incorrect, she will realize this.

share|improve this answer
Thanks for putting a name to it! Although I prefer doing this on stackoverflow, because if I haven't found the problem by the end of my post, I can just hit "Post your question" and expect / receive answers. And talking to a rubber duck seems ... whacky :) – Marcel Oct 27 '10 at 12:46
It's from a book titled "The Pragmatic Programmer" @ amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X – user151803 Oct 27 '10 at 12:49
Where I work we call it the FIP effect. "FIP" is a stuffed boarder collie who is named after a poorly named variable. You could use this to your advantage by still asking the question and then posting and accepting your own answer. – Beth Whitezel Nov 20 '10 at 4:12
'She' meaning the duck, of course... – Andriy M Mar 30 '11 at 14:34

Often times this will happen when I'm preparing to ask a question on SO. My question will be far too specific to my code, so I'll be working out how to generalize it. More often than not, the process of generalizing a problem makes me aware of a mistake or design flaw in my "real" code, and hence solves my problem.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .