Jul 062017
 
How to ask for and receive technical help on the internet

The internet is a great place to find out how to do things. You can often find a ‘recipe’ for precisely what you want to do or a how-to article to solve your exact problem. But even if you can’t, whatever problem you’re having, the internet is chock-full of people with knowledge who will most likely be willing to help you if you go about it the right way. This article attempts to give you some tips that will assist you in getting the help you need.

But What is the Right Way?

Two things summarise it, really…

  1. Be nice!
  2. Be easy to help.

By ‘be nice’, I mean be clear, considerate, polite, humble, gracious and patient. Value other people’s time. Be thankful. (You should probably apply all of those things to most areas of life anyway, but many people don’t.)

The best way to get people to want to help you is to make it as easy as possible for them to do so. Give them all the information and tools they need to help you debug or solve your problem. It also helps if you are doing something which is positive and good for the world.

A Few Don’ts

Before we go any further, here’s a couple of don’ts! When I see online posts from people exhibiting these behaviours I generally ignore them completely. So…

  • Don’t think that the world owes you any help
  • Don’t assume people will help you
  • Don’t expect to be spoon-fed
  • Don’t get annoyed if…
    • you don’t get an answer in the first few hours
    • people ask you for more details
    • someone tells you you’re ‘doing it wrong’ (they will – you can almost count on it)

Asking for Help – Details

Now we’ve got the “Don’ts” out of the way, let’s flesh out some detail on the Dos…

  • Choose the right place to ask
  • Explain what you are trying to do – your ‘big-picture’ goal
  • Take the time to explain clearly the problem you are experiencing
  • Show what ‘solutions’ you’ve already tried
  • Share your code, error messages or the exact commands you’re using (if applicable)
  • Share clear photo(s) of your wiring so people can see if you made a mistake (if applicable)
  • Show that you have exhausted all realistic self-help angles e.g. Google search etc.

Very often, finding what you need on Google comes down to knowing the right keywords to describe the problem. Sometimes a little human help might be needed to get you there.

Choose the Right Place to Ask

Don’t expect people to be able to help you with a complex technical problem on twitter. The 140 character restriction makes twitter a hopeless medium for all but the simplest issues.

Online forums and communities are a much better place to ask for help. But once you find one, don’t just barge in! Have a look around to see how a particular community ‘works’ before you demand free help. (Back in the day, this was basic ‘netiquette’ but people ignore it now.)

In some forums, the same question gets asked over and over and over again. A simple forum search (or Google search of that site) will give you your answer. It will also avoid antagonising the regulars. Since they are the people that will help you, it’s best to keep them on-side.

A lot of my Google searches direct me to sites like Stack Overflow and Stack Exchange which are both excellent sources of programming help.

Explain What You’re Trying to do

If you’re secretive about what you’re doing, people will assume one of two things…

  1. You’re working on something commercial, so why should they help you for free, when you seek to gain from it?
  2. It’s for your homework assignment, which elicits the ‘do your own damned homework’ response

So be open about what you’re doing, or people won’t want to help you.

Take the Time to Explain Clearly the Problem you are Experiencing

It boils down to this…

“If you can’t be bothered to give me the information I need, why should I invest my time in helping you?”

Don’t say “I tried to run XYZ and it didn’t work. Please help!” You won’t get any responses, or if you do they will likely be sarcastic and unhelpful. If you’re very lucky, someone might say

“I can’t help you unless you give more details.”

There are a lot of very clever and helpful people on the internet, but if you don’t give them enough information to be able to help you, they simply can’t and it frustrates them because they’d like to be able to help you (hence the rude replies).

Show What ‘Solutions’ you’ve Already Tried

A better way would be to say…

“I’ve been trying to run XYZ from the command line, but when I type the command sudo XYZ -options the screen goes blank and nothing seems to happen. I’m running the latest Raspbian on a Pi3B. I’ve tried rebooting and it didn’t help.

I’ve googled ‘running XYZ on Raspberry Pi’ without much luck.

Anyone got any ideas?

Thanks in advance for any help.”

Helpful people love showing off their knowledge and helping you. But they also know the value of learning how to help yourself. People might suggest search terms that will give you a better chance of finding a solution. Don’t write that off – it could well push you towards a good outcome.

Share Your Code, Error Messages or the Exact Commands you’re Using (if applicable)

Computers are all about precision. Why just describe your coding problem when you can copy and paste your code as well?

Most forums and help sites have a facility to post your code. Make sure you use it. Some languages, particularly Python, get horribly garbled by being placed in html pages. Python indents are usually lost and this totally wrecks the code structure.

Which do you prefer to read? This code…

for x in range(10):
    print("Asking for help properly gets great results")
    for y in range(10):
        print("Yes it REALLY does!")

…or this code?…

for x in range(10):
print(“Asking for help properly gets great results”)
for y in range(10):
print(“Yes it REALLY does!”)

Exactly! So find out how to post code, and use this to get help.

What about error messages?

Error messages are supposed to be helpful. You might not understand the error, but someone will. Why give a useless paraphrase or description of an error message when you can provide the exact message? Pro Tip: many help-desks use Google to search the exact text of an error message to help you while you’re still on the phone to them. You can do this yourself easily without human intervention. Try it!

Share Clear Photo(s) of Your Wiring (if applicable)

Often, for electronics projects, it can be very helpful to show a really clear photo of your wiring. Very often, hardware project errors are due to wiring mistakes. Sometimes it’s quite easy to spot something obvious that someone else has got wrong. It can be much harder to see it, if it’s right under your nose.

Make sure they’re clear though. A crap photo is worse than no photo. Learn how to take clear photos and keep trying until you get it right. (Yes! You’re showing me you want help badly enough to make that effort.)

RasPiO 7 segments display clock

RasPiO 7 segments display clock

If your photo is hard to follow or the wiring is complex, you might want to consider making a Fritzing diagram. It’s quite likely that, in doing this, you might spot an error as you will be forced to trace the path of every wire in your circuit.

Wiring Diagram for 7 segment display

Wiring Diagram for 7 segment display

This may be more than you need, but a photo will help identify any obvious errors if it’s clear enough.

Show that you have Exhausted all Realistic Self-help Angles e.g. Google Search etc.

Tell us where you’ve looked and how you searched. I want to know what avenues you’ve tried, how long you’ve spent trying to work it out. Something like this…

“I’ve spent several hours trying to work through this problem but I keep getting the same error message…

SHOW THE ERROR MESSAGE

Googling this gave me a few tips from Stack Overflow (LINK TO THEM) about tweaking the XYZ parameters, but I still can’t find a way to get the ABC command to complete without the above error.

SHOW THE CODE AND/OR THE COMMAND

It’s probably something really dumb. Anyone got any ideas?”

So you showed me that you’d tried the simple things – tried to help yourself. You also showed that you spent some time on it, and you showed humility and teachability. I now want to help you!

Textbook Fail

Do not write in text speak! If you can’t be bothered to write properly, why should anyone else be bothered to help you? Many of the people who are in a position to help you will be in their 30s and upwards, highly educated and ‘computer types’ who cannot stand to see things done wrongly. If you deliberately write in text speak, you will most likely either be ignored or attacked. The message it sends is…

“I can’t be bothered to write proper English to make life easier for you. Now. About that help?”

If English is not your first language, it is perfectly OK and even a good idea to say so. It will help people to ‘cut you some slack‘. (But if English is not your first language, you might not know that idiom – it means they will probably be more gentle about your English.)

Below is a ‘textbook’ example of a failure to get help. I didn’t reply to this tweet, but something good came of it (I hope). It gave me the idea to write this article…

So let’s pick it apart…

  • They’ve asked for help on twitter. Twitter is crap for this because of the 140 character limit.
  • They have not said what they want assistance with.
  • They’ve written in lazy text speak when there were plenty of characters available to use proper words.
  • There is no capitalisation or punctuation. Lazy and annoying!
  • They’ve expressed a preference for email, but not provided an email address.

You’d have to work pretty hard to do a worse job than that! I suppose I should be thankful they did not write anything rude or insulting?

So. I hope you’ve picked up some useful pointers about getting help on the internet. There’s just one more thing (Columbo).

Say Thanks and Give Feedback

Always come back and say ‘thank you’ and let people know if their advice helped you. (Like/heart/+1 etc.)
There isn’t much of a payback for giving out free help, but if you can let people know their solution helped you, that is their reward. It’s also an investment in goodwill. They will likely be there for you next time, if you were one of the few who said “Thank you for your help. It now works perfectly. YAY!”

  20 Responses to “How to ask for (and receive) technical help on the internet”

  1. As one of the people that tries to help out others, I cannot +1 this article enough.

    The other thing I ignore is when I see people say things like “Tell me how to {insert entire project here}”. The answer is no; I won’t do your project for you, it’s your project not mine.

    Research (use Google) and the chances are someone’s done it before or done something similar and has instructions online or at least pointers in the right direction. If you then try and get stuck on a certain bit that’s when you can ask for help. Getting stuck is something that happens to all of us even professionals, that’s why we try to help others as we’ve been there ourselves. Then when you fix the problem maybe one day it will be you helping someone else :)

    • Yup. Another piece of advice if you have a “big problem”, is to try and break it down into smaller parts, try to fix each part separately, and only ask for help with the small parts you can’t get working. “My project isn’t working, please help” is much harder to help fix than “I’ve narrowed down the problem to this small part – can you help me fix this specific problem”. (although that’s obviously not always possible)

      And for a much longer discussion along the same lines, see http://catb.org/~esr/faqs/smart-questions.html

      And don’t get annoyed if people refer you to lmgtfy.com ;-)

  2. Oh, and if you’re asking for help on e.g. a forum or github, it’s often better to start a new thread / topic / issue, than to try to jump on the end of an existing thread just because you think it “looks similar” to the problem that you’re having. Trying to help two separate problems in the same thread often becomes counter-productive.

  3. One of the issues I have is people asking for help with a complicated project when they have made no effort to work through the basics. If you havent lit up an LED then no one is going to help you put a Pi powered satellite into orbit round Mars. It’s not unusual that people want coding help when they’ve made no effort to even learn the basics.

    • LOL that is soooo true!

    • Yes that happens. It’s those kind of people that usually get offended when someone tells them the name of a book or online course to go through and says “come back when you’ve read that”. It doesn’t go down well, but a bit of tough love can be a good thing.

      Copying and pasting code snippets will only get you so far.

      • 10 PRINT “I AGREE”
        20 GOTO 10

        • That was a basic reply, but at least you posted your code ;p

          • I tried running it on my Raspberry Pi 3 Model B, with an official RPi PSU and a 16GB Sandisk Class 10 micro SD card, but I keep gettin a stoopid Sintacks error…….. I’ve got it in a black PiHut case

            $ python agree.bas
            File “agree.bas”, line 1
            10 PRINT “I AGREE”
            ^
            SyntaxError: invalid syntax

            I even tried upgrading to python3 but I still get the same error :-((((

            Do I need to buy a bigger SD card or a more powerful USB?! Or is it because I haven’t got enough RPMs on my cooling fan?

          • ROTFLOL!
            Its because even the official PSU isn’t big enough to run that code, you need 4A minimum!

          • Oh great, thanks a lot “Daniel Bull”!!! D-:
            I bought one of these from Maplins and the connector didn’t fit, so I chopped off the connector and got my dad to solder the PSU wires onto my Rasb Pis GPIO pins, but then it made my Pi catch on fire :-((( ;,-((
            http://www.maplin.co.uk/p/12v-5000ma-acdc-power-supply-n95ju

            It melted a big stinky hole in my black PiHut case, but luckily there was enough RPMs on my cooling fan to blow out the fire before my bedroom burnt down :D So now I need to solder a new PWR light onto my Pi (where can i buy this plz?), but my dad says his soldering iron is too big!!

            That’s the last time I listen to “advice” from the “expertz” in the internets!!!!!!!11 Can I use the maplin psu to charge my iphone faster instead??? My dad says u need to send him the circkit

          • I’m laughing so hard here!

          • I think Andrew needs “Apple Wave”

            • Thanx man, that work gr888!!!! I did some expremens and 1m 40s at 60% power seems to charge my phone the quikest :DD
              Will let u know what power my friends microwave charges fastset @ (his is 900W but mine is only 700) Can u send me the formula? We can do kickstarter together :)))

  4. Such a useful article. I use “online help” with other projects besides RPi’s – for example, threading up a Singer sewing machine whose manual was missing.

  5. Unfortunately you can you worse attempts at asking for help, say a private message from someone you’ve never seen before consisting of nothing more than ‘help meh’

  6. Brilliant article. This should be required reading before anyone is allowed to use a computer :)
    I completely agree with the sentiment: I get an absolute kick out of helping others with technical problems. Sometimes, if I don’t know the answer myself, I may know how to research it and hence both learn something and help the person out at the end: win-win. Anyone not providing even basic information turns my potential “kick” into a chore, meaning I am much less likely to help.

    • Thanks Colin.

      The main issue as I see it is that the people who need to read this are probably the ones who can’t be bothered. Ironic isn’t it?

      • Ah, but now we have another web page to send them to read. I’ve seen the “smart questions” page before but I think that your page here is more approachable for new users than the wall of text of the “smart questions” page.

Leave a Reply to Daniel Bull Cancel reply