Helping and getting help on #hprog
Asking questions
#hprog is not really a help channel. There are usually better channels on freenode to ask specific questions. For example, #language is usually a better place to ask questions particular to a programming language named language. Thus, instead of coming, asking a question, and then leaving, consider staying with us and chatting for a while. We are not (all) sociopathic geeks, and we are able to discuss things other than computers. We are even able to have a good laugh.
Enter the channel open-minded. People on #hprog have a lot to say, and you can learn a lot by listening to them.
Time of the day
As of July 11th, there are active people in the channel at every hour of the day, but the most active time is usually the last third of the day using EST (GMT-5) as reference. That means 1PM to 8PM GMT.
Free software vs. commercial software
Most people on the channel are into free software and software development as a hobby (possibly in addition to doing it professionally). Development with commercial products like Visual Basic, Delphi, .NET, ASP, ASP.NET, anything specific to WindowsOs, etc. are not off-topic on the channel, but you may not find people able to help you. That doesn't mean you shouldn't ask your question, because anybody willing to help could put you on the right track without answering your question directly.
Homework!
Please, please, don't ask us to do you homework. Before you even think about asking something related to homework on #hprog, consider asking your question to your teacher. If your teacher doesn't want to answer your question, it's likely we won't answer it either. If your teacher can't answer your question (by ignorance or incompetence), you can consider asking us.
Notice that questions that we suspect to be taken straight from a homework assignment won't be answered. We won't do your homework for you. More clearly, if your homework states "Do X", don't enter the channel asking "How do I do X?". On the other hand, you may ask questions that derive from a homework assignment that you are working on. For a homework problem "Do X?", you may ask something like "Am I on the right track if I do X with Y?". It shows that you have actually worked by yourself before asking a question. In general, don't expect exact answers to any homework questions from us. We are more inclined to help you find the answer yourself.
Religious wars
If you need a quick answer to something, please avoid discussing 'religion'-like things in computer science (i.e.: Vi vs. Emacs, Linux vs. Windows, RMS vs. ESR, etc.) unless you are ready to discuss for a while. People on #hprog are willing to defend their opinions, sometimes very late into the night.
Other subjects
#hprog is about programming or computers in general. Other subjects are not banned but may not be welcomed by all #hprog regulars. Some chatters are into politics and ideologies, some aren't. Be ready for a long discussion here, too.
Answering questions
It's generally better to help people help themselves than to help people directly. Keep in mind that there are no stupid questions, even if some are very close to the borders of stupidity. If someone asks a question that looks very trivial, remember that:
- You are probably more knowledgeable than he is, but you were probably no better off than he a few years, months, or weeks ago.
- He may be tired.
- He may be missing something very obvious but not all that easy to spot, and thus he may have been searching for the solution for hours and is getting pissed off!
For case 1: That person probably knows that you know more than he (otherwise, you wouldn't be answering his question), so it's usually a bad idea to remind him of that. If the answer is very, very obvious, directing that person to a lengthy source of information is a bad idea. You can answer it straight away. If you know a friendly source of information that could enlighten this person for a less than trivial question, you can direct him to it.
For case 2: Tell him to go to sleep! He'll find the answer by himself after a good night.
For case 3: Directing that person to another source of information is generally a bad idea. That will only piss that person off some more, and he won't ever come back on #hprog. I (FrancoisDenisGonthier) usually prefer to help a person look at his problem from a different angle instead of telling him his error. That way, that person will know how to react if a similar error happens in the future.
Please! Not all at the same time!
The most confusing thing for newbies asking questions on the channel is when 5 or 6 people answer his question in different ways AT THE SAME TIME. If that person asked a question about C programming, it's not a bad idea to tell him that there are alternatives but 5 people talking to him about Smaltalk, Scheme, Common Lisp, SML, and OCaml in relation to his question will just confuse the hell out of him. This is frustrating especially if that person is working on a school project where he is forced to use a particular language or when he has been working on finding the answer a long time. He may not even know what those languages are. If the person asking the question starts coming more frequently to #hprog, he may get more curious and open-minded and will welcome discussion about new languages or new ideas.
When 2, or maximum 3, people are already helping a particular person on the channel, you should keep yourself from answering directly to that person even if you know the people helping him are wrong. Consider "helping the helpers" instead. You will help the first person indirectly without confusing him with different answers to his question.
