A Study in StackOverflow

12 Sep 2018

You got a bug, you are stuck on a problem. Its 11 pm, no professor in their right mind would reply at this hour. Help me StackOverflow, you’re my only hope.

Consulting StackOverflow, along with any other resource is a skill one must develop. Simply put, there is a right way to ask questions, and a wrong way. The right way will contribute to the community and help you solve your problem. It may also help anyone else having the same problem. Asking for help in a wrong way will hardly get you a response.

Eric Raymond wrote a great piece on this topic, and its called “How To Ask Questions The Smart Way”. No question is a stupid question, but in his article he outlines what a great question is. He teaches how to effectively describe your issue and what your symptoms are, along with conveying the goal you want to achieve. An example of a great question can be seen in this StackOverflow question. Image Processing: Algorithm Improvement for ‘Coca-Cola Can’ Recognition.

Here the poster describes a project he has been working on. It is a program that takes in a picture and looks for a coke can. They describe the challenges the program will face, such as noisy background, and factors such as brightness, rotation, and size of the coke product. The program only need to register coke cans, not bottles. The poster goes on to explain the process he uses to process the images as well as the algorithm, providing step-by-step pictures and charts of the processing process, as well as links to his sources. He posts the results he is getting, as well clearly stated issues he is looking to seek guidance with.

In response, this post garnished a lot of attention and the poster was provided with several excellent answers for his consideration.

On the other end of the spectrum, we have this post about a Red Black Tree. The poster provides two paragraphs of text that could have been shrunk down to a couple simple sentences. Here the poster is having a bug and is getting an output that’s different than what he should have. One good thing that he does is he provides the output he is looking for, vs what he is receiving. “Volume is Not Precision” is the title of one of the sections in Eric Raymonds essay. Here the poster displays his entire program. The poster also does not entice anyone to help him by providing symptoms of what might be wrong, or even a guess as to what they think it is. Another quote from the essay.

“Don’t ask others to debug your broken code without giving a hint what sort of problem they should be searching for. Posting a few hundred lines of code, saying “it doesn’t work”, will get you ignored.”

That is precisely what happened. Poster received 0 answers. In the end he did manage to solve it himself, however.