Ask.Cyberinfrastructure

How do I ask a question on Ask.CI?

NOTE: We are borrowing from two Stack Exchange sites for this, which we will refine into a research computing focused version for our community.

Summary

How do I ask a good question?
We’d love to help you. To improve your chances of getting an answer, here are some tips:

Search, and research
…and keep track of what you find. Even if you don’t find a useful answer elsewhere on the site, including links to related questions that haven’t helped can help others in understanding how your question is different from the rest.

Write a title that summarizes the specific problem
The title is the first thing potential answerers will see, and if your title isn’t interesting, they won’t read the rest. So make it count:

Pretend you’re talking to a busy colleague and have to sum up your entire question in one sentence: what details can you include that will help someone identify and solve your problem? Include any error messages, key APIs, or unusual circumstances that make your question different from similar questions already on the site.

Spelling, grammar and punctuation are important! Remember, this is the first part of your question others will see - you want to make a good impression. If you’re not comfortable writing in English, ask a friend to proof-read it for you.

If you’re having trouble summarizing the problem, write the title last - sometimes writing the rest of the question first can make it easier to describe the problem.

Examples:

Bad: C# Math Confusion
Good: Why does using float instead of int give me different results when all of my inputs are integers?
Bad: [php] session doubt
Good: How can I redirect users to different pages based on session data in PHP?
Bad: android if else problems
Good: Why does str == “value” evaluate to false when str is set to “value”?
Introduce the problem before you post any code
In the body of your question, start by expanding on the summary you put in the title. Explain how you encountered the problem you’re trying to solve, and any difficulties that have prevented you from solving it yourself. The first paragraph in your question is the second thing most readers will see, so make it as engaging and informative as possible.

Help others reproduce the problem
Not all questions benefit from including code. But if your problem is with code you’ve written, you should include some. But don’t just copy in your entire program! Not only is this likely to get you in trouble if you’re posting your employer’s code, it likely includes a lot of irrelevant details that readers will need to ignore when trying to reproduce the problem. Here are some guidelines:

Include just enough code to allow others to reproduce the problem. For help with this, read How to create a Minimal, Complete, and Verifiable example.
If it is possible to create a live example of the problem that you can link to (for example, on http://sqlfiddle.com/ or http://jsbin.com/) then do so - but also include the code in your question itself. Not everyone can access external sites, and the links may break over time.
Include all relevant tags
Try to include a tag for the language, library, and specific API your question relates to. If you start typing in the tags field, the system will suggest tags that match what you’ve typed - be sure and read the descriptions given for them to make sure they’re relevant to the question you’re asking! See also: What are tags, and how should I use them?

Proof-read before posting!
Now that you’re ready to ask your question, take a deep breath and read through it from start to finish. Pretend you’re seeing it for the first time: does it make sense? Try reproducing the problem yourself, in a fresh environment and make sure you can do so using only the information included in your question. Add any details you missed and read through it again. Now is a good time to make sure that your title still describes the problem!

Post the question and respond to feedback
After you post, leave the question open in your browser for a bit, and see if anyone comments. If you missed an obvious piece of information, be ready to respond by editing your question to include it. If someone posts an answer, be ready to try it out and provide feedback!

Look for help asking for help
In spite of all your efforts, you may find your questions poorly-received. Don’t despair! Learning to ask a good question is a worthy pursuit, and not one you’ll master overnight. Here are some additional resources that you may find useful:

Writing the perfect question
How do I ask and answer homework questions?
How to debug small programs
Meta discussions on asking questions
How to ask questions the smart way — long but good advice.

Summary

How do I ask a good question?
We’d love to help you. To improve your chances of getting an answer, here are some tips:

Search, and research
Have you thoroughly searched for an answer before asking your question? Sharing your research helps everyone. Tell us what you found and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and above all, it helps you get a more specific and relevant answer!

Be on-topic
Our community is defined by a specific set of topics that you can view in the help center; please stick to those topics and avoid asking for opinions or open-ended discussion. If your question is about the site itself, ask on our meta-discussion site. If you’re looking for a different topic, it might be covered on another Stack Exchange site.

Be specific
If you ask a vague question, you’ll get a vague answer. But if you give us details and context, we can provide a useful answer.

Make it relevant to others
We like to help as many people at a time as we can. Make it clear how your question is relevant to more people than just you, and more of us will be interested in your question and willing to look into it.

Keep an open mind
The answer to your question may not always be the one you wanted, but that doesn’t mean it is wrong. A conclusive answer isn’t always possible. When in doubt, ask people to cite their sources, or to explain how/where they learned something. Even if we don’t agree with you, or tell you exactly what you wanted to hear, remember: we’re just trying to help.