How to ask question on Reddit

The original can be found right here. This is a shorter version.

Before You Ask

  • Try to find an answer by searching the archives.
  • Try to find an answer by searching the Web.
  • Try to find an answer by reading the manual.
  • Try to find an answer by reading a FAQ.

When you ask your question, display the fact that you have done these things first; this will help establish that you’re not being a lazy sponge and wasting people’s time. Better yet, display what you have learned from doing these things. We like answering questions for people who have demonstrated they can learn from the answers. Even saying  saying “I googled on the following phrase but didn’t get anything that looked promising” is a good thing.

Prepare your question and take your time. Think it through. The more you do to demonstrate that having put thought and effort into solving your problem before seeking help, the more likely you are to actually get help.

Where to ask

Each group has its own rules. Read them first and don’t post your question all over the place. Stick with one place and go elsewhere when being pointed there. See that the group is really the right one. And use the search. You question can have been answered several times already.

Use meaningful, specific subject headers

One good convention for subject headers, used by many tech support organizations, is “object – deviation”. The “object” part specifies what thing or group of things is having a problem, and the “deviation” part describes the deviation from expected behavior.

  • Supid
    • HELP! Video doesn’t work properly on my laptop!
  • Smart
    • X.org 6.8.1 misshapen mouse cursor, Fooware MV1005 vid. chipset
  • Smarter
    • X.org 6.8.1 mouse cursor on Fooware MV1005 vid. chipset – is misshapen

Write in clear, grammatical, correctly-spelled language.

Use punctuation, even when on a phone. Expressing your question clearly and well is important. If you can’t be bothered to do that, we can’t be bothered to pay attention. Spend the extra effort to polish your language.

Be precise and informative about your problem

  • Describe the symptoms of your problem carefully and clearly.
  • Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor’s distribution and release level (e.g.: “Ubuntu version X”, “Windows Y”, “XFCE Z”, etc.).
  • Describe the research you did to try and understand the problem before you asked the question.
  • Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.
  • Describe any possibly relevant recent changes in your computer or software configuration.
  • If at all possible, provide a way to reproduce the problem in a controlled environment.

Volume is not precision.

Describe the problem’s symptoms, not your guesses

It’s not useful to tell people what you think is causing your problem. So, make sure you’re telling them the raw symptoms of what goes wrong, rather than your interpretations and theories. Let them do the interpretation and diagnosis. If you feel it’s important to state your guess, clearly label it as such and describe why that answer isn’t working for you.

Describe your problem’s symptoms in chronological order

The clues most useful in figuring out something that went wrong often lie in the events immediately prior. So, your account should describe precisely what you did, and what the machine and software did, leading up to the blowup. In the case of command-line processes, having a session log (e.g., using the script utility) and quoting the relevant twenty or so lines is very useful.

If the program that blew up on you has diagnostic options (such as -v for verbose), try to select options that will add useful debugging information to the transcript. Remember that more is not necessarily better; try to choose a debug level that will inform rather than drowning the reader in junk.

Describe the goal, not the step

If you are trying to find out how to do something, begin by describing the goal. Only then describe the particular step towards it that you are blocked on. The step might not be needed to achieve the goal.

  • Stupid
    • How do I get the color-picker on the FooDraw program to take a hexadecimal RGB value?
  • Smart
    • I’m trying to replace the color table on an image with values of my choosing. Right now the only way I can see to do this is by editing each table slot, but I can’t get FooDraw’s color picker to take a hexadecimal RGB value.

Be explicit about your question

You are more likely to get a useful response if you are explicit about what you want respondents to do (provide pointers, send code, check your patch, whatever). This will focus the effort and implicitly put an upper bound on the time and energy a respondent must allocate to helping you. This is good. To understand the world the experts live in, think of expertise as an abundant resource and time to respond as a scarce one. The less of a time commitment you implicitly ask for, the more likely you are to get an answer from someone really good and really busy.

So it is useful to frame your question to minimize the time commitment required for an expert to field it — but this is often not the same thing as simplifying the question. Thus, for example, “Would you give me a pointer to a good explanation of X?” is usually a smarter question than “Would you explain X, please?”

How To Interpret Answers

RTFM or LMGTFY means that you should look for the information. Most likely you did not show that you did any research.

If you don’t understand the answer, do not immediately bounce back a demand for clarification. Use the same tools that you used to try and answer your original question to understand the answer. Then, if you still need to ask for clarification, exhibit what you have learned.

Dealing with rudeness

Much of what looks like rudeness in hacker circles is not intended to give offense. Rather, it’s the product of the direct, cut-through-the-bullshit communications style that is natural to people who are more concerned about solving problems than making others feel warm and fuzzy. When you perceive rudeness, try to react calmly.

On the other hand, you will occasionally run across rudeness and posturing that is quite gratuitous. The flip-side of the above is that it is acceptable form to slam real offenders quite hard, dissecting their misbehavior with a sharp verbal scalpel. Be very, very sure of your ground before you try this, however. If you’re after information rather than entertainment, it’s better to keep your fingers off the keyboard than to risk this.

More about questions

This is a slimmed down version of this page where you can read and see it all. This page has been made for use on Reddit and more specific in the few technical groups I follow. Many examples and several other things are left out to keep the content down.

Index