How to Question

08 Sep 2021

Time is Relative(ly Important)

Asking good or smart questions is often the key to success because knowing how to do so will not only save time but it will save others seeking to answer those questions save time as well. If there is one fact that everyone can agree on, it is that time is important. Keeping with the concept of time, it is very annoying at all levels to put more effort and time into answering a question than the person asking it spent coming up with it.

My History with non-Smart Questions

In my early computer science days, I would often get really lost and seek the internet for help and often it was very easy to locate extremely wrong information. At the time, before reading the essay by Eric Raymond: How to ask questions the smart way, I now realize why I could never find useful information to my rookie questions. First reason is, I had no clue what I was even asking at the time and second was neither did all the other people who were asking the same question. I wish I could remember what they were so I could use as an example. I do remember many humorous answers though. Before I go into this next part, I must admit that my first semester of computer science when all of this was new to me, I was guilty of asking non-Smart questions myself, but fortunately I did not have a stack overflow account. I have scoured the web to find two examples of what I think exemplify the difference between a smart and not smart question in its purest form and the best thing is they are basically the same question about stack overflow error on stackoverflow.com

The smart

Can you give an example of stack overflow in C++? Other than the recursive case:

void foo() { foo(); }

Link to Thread: stackOverflow

The essay by Eric Raymond goes over many different aspects and processes of how to formulate a “smart” question. The question above seems like it would be a terrible way to ask a question, but as you will be able to see in the comments section, it was met with countless answers all being correct. Why may you ask? I think that is because he simply took the time to understand what he was asking in that he already knew why and how this error happens, which he displayed in his very simple code, and was maybe fishing for other possibilities to get the same error because he may not know himself. If he were to just ask what are causes of a stack overflow error, he may have been met with his original code or just one other instance before the thread went cold. I think through this simple question he may not have only gotten the answer to his problem, but maybe more insight or other lessons in what can cause similar things to happen.

The non-smart

I know what an Infinite Loop error is. Is a stack overflow error the same thing. If not, what is the difference?

Can you give example code as well?

Link to Thread: stackOverflow

Comparing the format of this question to the structuring process of a question as defined by Eric Raymond in his essay, it is easy to see that this question nails every bullet point of what not to do. The question is based off the knowledge that the asker assumes they have in which they give no proof of (this seems to be a key concept in the essay). The asker then asks for code and examples to which that they know nothing of whilst comparing it to something that is of a different matter. Maybe they could have provided code to the infinite loop error they claimed to know about and ask how to manipulate the code or change it to get a stack overflow. All things aside, the question was asked the way it was, and my favorite response was a step-by-step process in how to google something. This falls exactly inline with the points that were made in the essay.

Marinating the Brain

The information I learned in the essay about the coder/hacker community seems very similar to that of the military. It is nice to help people when they really need it, or just point out something simple they are missing but helping someone who cannot help themselves is never fun for anyone. Read the book! Or, now in the digital age, google it! These are responses to non-smart questions be it online or in the real world. It is also disrespectful in a way to seek more time from someone else than you put in yourself. I would guess that many of the people answering questions in these forums have also once had the same question, however they most likely did the legwork to answer it themselves or frame a question in a way that means something. I know from personal experience in the past, that if I email a TA or professor a question, even though it might be good, often I have solved it before they even get back to me.