Epistolary
rob carlson . gallery . contact

Linux help

Jon Lasser suggested a good algorithm for getting help with Linux in a September 29, 2002 post to the UMBC Linux Users Group mailing list, and has given me permission to repost it below as a valuable resource.

1. Think about the problem in the context of the system, and arrive at what you would guess the correct answer to be.

2. Test your answer against the actual system. (If this is a potentially dangerous command, try a test case first to make sure it works; you may also want to skip to step 3, in this case.) If you're correct, great; stop here. You're done.

3. Check the available local documentation. Read it thoroughly, and try several simple test cases to see if your understanding is correct.

4. Once you understand what the documentation is saying, try putting it into practice. If it works, great; stop here. You're done.

5. If the local documentation is incorrect or insufficient, look for information on the Web. Start at the home page for the package in question, if one exists; a search of Google and/or mailing list archives is recommended, too. Repeat steps 3 and 4.

6. If all else fails, ask live people, via IRC or mailing lists.

While asking for live help first is fine on a small mailing list, or when one person does it, the system breaks down completely if everyone behaves in this way. The linux-managers mailing list became useless for precisely this reason. I and every other technically competent person I know unsubscribed after being buffeted each day with ten to twenty questions that could be answered via standard documentation. Now, few to no questions are actually answered via that list, which is a loss to all parties.

More importantly (from your perspective, at least), simply asking others for the answer hurts you directly: you have robbed yourself of the chance to learn.

Learning is not the mere aggregation of facts; if that was the case, the person with the best memory, or who had done the most research, would inevitably be the most accomplished. Learning is understanding a system: having a framework for knowledge, and building a mental model of the system you are learning. That system can be a specific computer, computers in general, math, history, or music composition; the same basic rules apply to learning, albeit with some variation.

Once you have enough information to have a mental model of the system, you can flesh out that model quite easily with individual details. But you don't really understand the system until you can predict the consequences of an action taken within the context of that system, and you don't really understand it until you can extrapolate from the parts of the system that you do know to the parts that you don't yet know.

In the world of computers, people who simply ask for the answers might become programmers. But people who build mental models and understand the systems can both debug their code and architect new systems. They can design and innovate, whereas people who can't do that are only painting by number.

The Linux community, like all communities, only works through mutual respect. In the absence of mutual respect, everyone flees that community. (If you IRC, you can look at any number of channels and see that this is true.)

I'm a consultant, professionally. I charge $150 an hour to solve people's computer problems. Why am I here, reading this list and answering questions?

No, not because it's Sunday night. I should still be working: I have tasks that need completion, and I could be getting paid right now. Instead I'm answering your question, even though you have acted with disrespect towards the community, and are too insensitive of others to even be ashamed of your actions in this regard.

I am here to welcome people into this community, and to help them with their problems. It is, in essence, a professional fraternity. (And sorority, too.) Sure, it cost me $75 to respond to this e-mail, in lost opportunity costs. Moreover, I'm helping to train potential competitors, a number of whom are college students with low expenses who can afford to undercut me.

But that's not important, if the end product is a stronger overall community. When the community is strong, I can rely on it to answer my questions as I have tried to answer yours. This extends my professional capabilities and lets me tackle jobs that might otherwise be too big for me. It raises the bar for professional behavior, and presents a constant series of intellectual challenges to titilate me. (Well, OK, maybe I shouldn't take it that far... it's not like compsci turns me on or anything...)

It builds a community of friends, people who can take comfort in shared challenges. (Get two Linux guys in a room and you can almost always get them talking about how they read Word documents...) It opens the world, and gives new insight into problems where I thought I had the answer.

But none of that happens if the people involved are just looking for the easy way out. It only happens if we all rise to the challenges presented, and are willing to share that knowledge with others. You're clearly on board for the second half of that requirement; can we count on you for the first half as well?

Ray Shaw also chimed in with these suggestions:

I'm sure that you feel it serves you well, but it does not take other people into consideration. To use your own words, that leads me to see you as "arrogant" rather than "enlightened."

Asking for help via email first is terrible, because you might find the information minutes afterward, and then you have utterly wasted the time of anyone who reads/responds to your message.

Additionally, crying wolf all the time by asking oodles of simple questions will eventually lead to you being ignored. To borrow a phrase, the LUG helps those who help themselves. If you constantly treat us as your replacement brain/secretary/research assistant, you may not be able to get help when you really need it.

This applies to any field, not just Linux. Please be respectful of others, and consider that we have plenty of other things to do with our lives, just as you do. We're perfectly happy to help people with problems ranging from baby steps to obscure messes, but will eventually get tired of people who constantly ask for help on the most basic things without trying other avenues (which you yourself admit to be faster) first.


No Comments | #2296

Leave a Reply

Please let me know how you got here, if this page was useful to you, and your opinions.

Unless noted, all content on epistolary.org is © Copyright 1999-2009 to Rob Carlson with all rights reserved. All information is verified when possible, cited as appropriate and applied in the real world at your own risk. Send all feedback to rob@vees.net.