How to ask good questions and report problems well

Ian! D. Allen –

Fall 2016 - September to December 2016 - Updated 2019-02-11 14:45 EST

1 How to Ask Good Questions and Report Problems WellIndexup to index

Learning how to ask good questions is a skill you need to learn if you want to get help from other people.

If you have been sent to read this document, it is likely because your questions are too vague for me to answer.

If you follow the advice in this document, I’ll be able to help you more quickly, and you’ll get better answers from other people.

1.1 Be Very, Very SpecificIndexup to index

When you ask a question, the quality of the answer you get depends largely on how detailed and specific you are in your question.

I can’t help with or answer a vague question such as “I can’t log in - do you know why?”, or “Why do I get a time-out?” or “I can’t do question 3” any more than a mechanic can answer a question “My car won’t start – do you know why?”. You must be precise in your question, giving me as much information as you can about your situation.

Things you might consider telling me when you ask a question:

  1. Which assignment question are you trying to answer?

  2. What have you tried already? What, exactly, did you enter into the shell or into the program? That includes exact keystrokes, names, addresses, configuration settings, etc. Tell me what exactly you used, not what you think you used; send me a copy of your command line or of your configuration settings. Tell me what your current directory was.

    Saying “I entered the information from the notes” is not helpful, since perhaps the notes are wrong, or perhaps you typed it wrong. What exactly did you type? What defaults are set in the program already?

  3. What messages did the program(s) already give you? That includes the exact text of the messages, not what you “think” it said. Copy the exact text of what the program said into your question to me.

  4. If it’s a network issue, then:

    1. Where are you, physically? At a coffee shop? At home? At school (in which room or which lab at school)?
    2. Are you at home and/or using an ISP (NCF, TekSavvy, Rogers, Sympatico)? Cable, ADSL, or dial-up?
    3. Where are you on the network? On wireless? Direct connect? Using a VPN?
    4. Are you behind a firewall/router?
    5. Behind Network Address Translation (NAT)? If you are at home on a router behind NAT, you need to use to get your public IP address.
    6. Is the network working; can you access other Internet sites?
    7. To what system are you trying to connect, with what userid? Give me a copy of the exact address that you are trying, not what you think the address is. (Many people make spelling errors.)
  5. What have you read to help solve your problem? Before you contact me, I expect you to read the lecture notes you took in class, the assignment (all the words!), and any posted class notes related to the problem.

  6. If you use multiple machines, what machine and operating system are you using? Ubuntu Linux 12.04 on a Dell laptop? Windows XP on a home- built desktop machine?

  7. What program(s) are you using? Command-line FTP? PuTTY version 0,60? Firefox 9.0? DOS window FTP? What version?

1.2 Find Your Own AnswersIndexup to index

For most questions, my job as instructor is to help you find the answer, not to give you the answer. Specific answers will change and become irrelevant over time, but knowing how to find an answer is always useful. You’ve already paid me, as a College instructor, to help you find answers.

If you want me to actually give you the answers, that’s called “private consulting” and the rates are much higher – contact me after you graduate.

You will get better at finding your own answers as you know more and become more familiar with search tools and asking the right questions.

The first step is to realize that learning to find answers is a skill you can, and must, learn.

1.3 Search the Course Notes – READ ALL THE WORDSIndexup to index

Many questions are not new; other people have already asked them, and I’ve already incorporated the answers into the assignments and the course notes. Before you ask a question, make sure I haven’t already answered it.

Learn to search the assignments and course notes for your answers. You can use the page-search features of web browsers to look for keywords in web pages, you can search for keywords in word-processor documents, and you can use grep at the Unix/Linux command line to search many text or HTML files at once. (The -i and -r options to grep are useful.)

Searching the assignment or the course notes is very efficient. You might be able to use Google to find your own answer on the Internet, but often Google hasn’t indexed my course notes yet so the specific information you need won’t be on the Internet yet. You will also find it harder to see the specific information that I give you among the billions of web pages that Google will suggest to you for answers.

I usually ask questions based on material in the assignments and course notes. Check the assignments and course notes for answers, first.

2 Asking Questions on the InternetIndexup to index

For a slightly abusive but very thorough explanation of how to ask “smart” questions and get good answers from busy people on the Internet, read the classic document “How To Ask Questions The Smart Way” by Eric S. Raymond and Rick Moen:

As their document says: They are not a help desk. Do not send them questions!

3 Examples of Questions I Cannot AnswerIndexup to index

The quality of your questions reflects on you

Here are some actual vague questions that have been sent to me that I would like to answer but cannot because the poser didn’t supply me with enough specific information to help (e.g. what exactly they did):

Your server has problems; shut down and wait for the singularity
| Ian! D. Allen, BA, MMath  -  -  Ottawa, Ontario, Canada
| Home Page:   Contact Improv:
| College professor (Free/Libre GNU+Linux) at:
| Defend digital freedom:  and have fun:

Plain Text - plain text version of this page in Pandoc Markdown format

Campaign for non-browser-specific HTML   Valid XHTML 1.0 Transitional   Valid CSS!   Creative Commons by nc sa 3.0   Hacker Ideals Emblem   Author Ian! D. Allen