http://www.catb.org/~esr/faqs/smart-questions.html (http://www.catb.org/~esr/faqs/smart-questions.html)
Excerpts
Before You AskBefore asking a technical question by e-mail, or in a newsgroup, or on a website chat board, do the following:
Try to find an answer by searching the archives of the forum you plan to post to.
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 the FAQ (https://github.com/msimerson/NicTool/wiki/FAQ).
Try to find an answer by inspection or experimentation.
Try to find an answer by asking a skilled friend.
If you're a programmer, try to find an answer by reading the source code.
When You AskChoose your forum carefully
Be sensitive in choosing where you ask your question. You are likely to be ignored, or written off as a loser, if you:
post your question to a forum where it's off topic
post a very elementary question to a forum where advanced technical questions are expected, or vice-versa
cross-post to too many different newsgroups
post a personal e-mail to somebody who is neither an acquaintance of yours nor personally responsible for solving your problem
Use meaningful, specific subject headers
Make it easy to reply
Be precise and informative about your problem
Describe the symptoms of your problem or bug carefully and clearly.
Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor's distribution and release level (e.g.: "Fedora Core 4", "Slackware 9.1", 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.