Asking for wisdom CopyRight (c) 2001 by Eric S. Raymond
Chinese version COPYLEFT 2001 by d.h.grand (Nobody / Ginux)
English: http://www.tuxedo.org/~esr/faqs/smart-questions.html Thanks Eric patient pointers and consent, this article is completed and released, this guide English copyright ERIC Steven raymond, Chinese The version is owned by DHGRAND [NoBody / Ginux].
In the hacker world, what kind of answer can you get when it is proposed a technical issue? This depends on the difficulty of digging out the answer, also depends on the method you ask. This guide is intended to help you improve your skills to get your most wanted answer.
First of all, you must understand that hackers only prefer arduous tasks, or can inspire their thinking. If so, do we come back? If you have a good question worthy of we repeatedly chew, we will be grateful to you. A good problem is that incentives, it is a thick gift, which can improve our understanding, and usually expose what we have never realized or thinking. For hackers, "Ask!" Is a strong praise from the heart.
Although the hacker has a despise simple problem and unsoliche, sometimes it seems that we have hostile to the newbie, with the poor of knowledge, but it is not that.
We don't want to cover up some people's contempt - they don't want to think, or don't do what they should do before you ask. This kind of person will only murder - they are only willing to ask, never pay, do not consume our time, and we can use time to use the more interesting questions or more worth answering. We call such a person "loser" (due to historical reasons, we sometimes spell "lusers").
We have a large extent belong to volunteers, with the time from the busy life to solve the answer, and often submerged. So we have ruthlessly filter out some topics, especially those who look like a loser, so that more efficient use of time to answer the victory.
If you think that we are too arrogant, let you not be cool, let you wrote, you can think about it. We didn't ask you to succumb to us - in fact, most people in our favorite fair trading, as long as you pay small efforts to meet the minimum requirements, we will welcome you to join our culture. Come. But let us help those who are unwilling to help themselves. If you can't accept this "discrimination", we recommend that you spend money to find a business company to sign a technical support agreement, don't give help to hackers.
If you decide to help us, of course, I don't want to be considered a loser, and I don't want to be a member of the loser. The best way to get a valid answer is to ask questions like winners - smart, self-confidence, and solve problems, just occasionally need to get a little help on specific issues.
(Welcomes improvements to this guide. Any suggestions please e-mail to ESR At Thyrsus.com, please note that this article is not a general guide for this article, I usually refuse to adopt the proposal to get useful answers in the technical forum.) (Of course, if you write Chinese, it is best to send it to DHGRAND At Hotmail.com ;-)
======== Before Question ======================================================================================================================================================================================================================================================================================
In front of the technical problem by email, newsgroups or chat rooms, check you if you do: 1. Read the manual, try to find answers yourself. 2. Look in the answer in FAQ (a well-maintained FAQ can include :). 3. Search online (personal recommendation google ~~~). 4. I am in listening to your friends. When you ask questions, you must first explain what you have before this; this will help to establish your image: You are not a beggar who is inused, do not want to waste others. If the questioner can learn something from the answer, we are more happy to answer his questions.
Thoughtful thinking, ready for your problem, the question of the grass rate can only get an answer to the grass rate, or you can't get any answers. The more you show your efforts to solve the problem before seeking help, the you can get the help.
Be careful, don't ask questions. If your problem is based on the wrong assumption, the ordinary hacker (J. Random Hacker usually uses meaningless literal explanation to reply you, thinking "stupid problems ...", I hope you will answer from the question (and Did you you want to get a lesson.
Never think of being qualified to get answers, you don't have this eligibility. After all, you didn't pay anything for this service. You have to go back to "earn" back to an answer, relying on a question of connotation, interesting, thinking incentive effect - a problem with potential contribution to the community, not just passive from others Knowledge - to earn this answer.
On the other hand, you are willing to do something in the process of finding the answer, it is a very good start. "Who can give some prompts?", "What is missing in this example?" And "Where should I check?" Compared with the exact process, "is more likely to get a reply. Because you seem to have a correct direction, you have your ability and determination.
======== How to ask ========
------------ Care to choose the forum ------------
Carefully choose to ask questions. If you are likely to be described below, you are likely to be ignored or seen as a loser: 1. The forum that is not between the wind horse is posted on your problem 2. Exploring the high-level technical forum posted very primary questions; Easily also 3. At too many different news groups
---------------------------- Use the words, the grammar is correct, spelling the wrong ------------- -
We found out from experience, careful writers are often horses and tigers (I dare to make package). The question that answers careless people is not worth it, we would rather consume time elsewhere.
Correct spelling, punctuation and case is important. More general, if your question is written like a half illiteracy, you are likely to be ignored.
If you ask questions in using non-nominal forums, you can make a little fault to spell and grammar - but I can't think about the horse or tiger (right, we can figure out the differences.)
---------------------------- Use the meaning of use, describe the accurate title -------------- -
In the mailing list or newsgroup, the topic title within about 50 words is the golden timing of grasping senior experts. Don't use chatter "help" (not to say "to save !!!!!" This opportunity to resent) to waste this opportunity. Don't want to use your pain to touch us, don't use space instead of the description of the problem, even if it is an extremely short description.
Stupid question: Help! My lap is not displayed normally! Smart problems: Xfree86 4.1 Lower mouse cursor deformed, FooWare MV1005 display chip.
If you ask questions in your reply, remember to modify the content headline, indicating that there is a problem. A problem that looks like "Re: Test" or "Re: new bug" is difficult to attract enough attention. In addition, the contents of the previous article are extracted and deleted, leaving clues to the new readers.
------------------ Accurate description, the amount of information is large ------------------
1. Carefully describe the symptoms. 2. Provide a problem that occurs (machine configuration, operating system, application, and other). 3. Explain how you study and understand this problem before you ask questions. 4. Note What steps you have taken before you ask questions. 5. Russen has recently made hardware, software changes that may have an impact.
Try to think about how a hacker will ask you, give him an answer when you ask questions.
Simon Tatham wrote an excellent essay called "How to Effective Report Bug". Strongly recommend you to read it.
-------- Word is not available --------
You need to provide accurate and effective information. This is not asking you to simply put into a ton error code or data complete dump into your question. If you have a large and complicated test condition, try to cut it as much as possible.
There is at least three points everywhere. First, you have made your efforts to simplify the problem, which allows you to answer the opportunity to increase; second, simplify the problem to increase the opportunity to get useful answers; third, in the process of refining your BUG report, Maybe you can find a problem or make corrections.
------------------ just say symptoms, don't say guess ------------------
Tell the hacker that you think there is no help. (If your inferior is so effective, do you want to help others?), So be sure that you originally tell the symptoms of their questions, don't add your own understanding and presentation. Let hackers diagnose it.
Stupid question: I encountered a SIG11 error in the kernel compilation, I suspect that a flying line is on the front line of the motherboard, how should this be the best?
Clever problem: I have a set of K6 / 233 systems, motherboards are FIC-PA2007 (VIA Apollo VP2 chipset), 256MB Corsair PC133 SDRAM, frequently generating SIG11 errors in kernel compilation, from booting 20 minutes later, this situation I never happen within 20 minutes before booting. It is useless to restart, but it will work 20 minutes in one night. All memory has changed, no effect. Typical compilation records in the relevant part ....
------------------ Symptoms in time in time ------------------
For the most helpful clues to find out, it is often a series of operations before the problem, so your instructions should include steps, as well as the response of the computer until the problem is generated.
If your description is long (more than four paragraphs), the problem will help, followed by the time order. This hacker knows what to find in your instructions.
-------------- understand what you want to ask --------------
There is no margin, and there is almost no time black hole. People who can give you useful answers are also the most busy people (they are busy because they must do most of them.). Such people don't have a cold, so they can also say that they have a bad cold about the margin.
If you explicitly express what you need to answer (provide suggestions, send a code, check your patch or other), it is most likely to get useful answers. This will give a maximum of time and energy, which makes it easy to get to help you. To understand the world of experts, to imagine professional skills as abundant resources, while replying is poor resources. Solve your problem, the less time you need, the more you can take an answer from a busy expert port.
Therefore, the structure of the optimization problem is minimized, and the experts will have a lot of help - this usual and simplified issues are different. So, ask "I want to know better X, can I give some hints?" I usually ask "Can you explain X?" Better. If your code can't work, ask what is wrong, than you ask others to make much more attention.
------------------------ Don't ask questions to solve your own ------------------- -----
The hackers are always good at distinguishing which issues should be solved by yourself; because most of us have solved such problems. Similarly, these problems have to be done by you, you will learn from the middle.
You can ask a prompt, but do not request a complete solution.
---------------- Remove meaningless questions ----------------
Don't use meaningless words to end your questions, for example, "Can someone help me?" Or "Is there an answer?".
First of all: If you are not very suitable for the description of the problem, this is more painted. Second: Because this question is to draw the snake, the hacker will be tired of you - and usually use logically correct answers to represent their contempt, for example: "Yes, someone can help you" or "no answer".
---------------------------- Humble is not harmful, and often help ------------- -
Gift, use "please" and "first thank you first." Let everyone know that you spend time obligations to help heart gratitude.
However, if you have a lot of problems, you can't solve it, and the courtesy will increase your opportunity to get useful answers. (We note that since this guide is released, the only serious defective feedback from the Senior Hacker is the first to thank this. Some hackers feel that "thank you", I will not thank anyone. Our suggestions are: all thank you.)
------------------------ After the problem is solved, add a short description ------------------ -----
After the problem is resolved, send someone to all people who have helped you, let them know how the problem is solved, and once again expressed gratitude. If the problem has attracted extensive attention in the newsgroup or mailing list, there should be a supplementary instructions there.
Supplementation does not have to be long or deep; simple sentence "Hello, it turned out to be a problem! Thank you - Bill" More than anything is stronger. In fact, unless the conclusion is really technical, short and lovely summary is better than a long academic papers. Explain how the problem is solved, but it is not necessary to repeat the process of solving the problem.
In addition to representing politeness and feedback, this supplement helps others in the mailing list / newsgroup / forum to search for your full solution to you, which may also be useful to them.
Finally (at least?), This supplement helps all people who have provided help have been satisfied.
If you are not a older or hacker, I believe us, this feeling is very important for those tutors or experts you have to help them. The problem will be discouraged; the hackers are eager to see the problem is resolved. Good people have good news, meet their desire, you will taste the sweetness when you post new questions. ---------- still don't understand ----------
If you are not very understanding, don't immediately ask the other party to explain. I would like to understand it when you try to solve the problem yourself. If you really need the other party to explain, remember what you have learned.
For example, if I answer you: "It seems that ZENTRY is blocked; you should first clear it first.", Then: a worse follow-up question: "What is ZENTRY?"
Smart questioning should be like this: "Oh ~~~ I have seen helping but only -z and -p two parameters mention ZENTRY and there is no clear explanation:
========== Think twice and then ask =====================================================================================================================================================================
The following is a few classic and stupid problems, as well as the hacker thinks in the heart of refusing to answer:
Question: Where can I find the X program?
Question: My program / configuration / SQL declaration is useless
Question: My windows has problems, can you help me?
Question: I have problems when I installed Linux (or X), can you help me?
Question: How can I crack the root account / steal OP privilege / read the email?
Question: Where can I find the X program? Answer: Just find it, the idiots - the one of the search engine. Scorpio! Does anyone won't use Google?
Question: My program (configuration, SQL declaration) did not answer: This is not a problem, I am not interested in finding your real problem - if I want me to ask you 20 questions to find out - I Have more interesting things to do.
When I see this problem, my reaction is usually the following three:
1. Do you have anything to add?
2. It's really bad, I hope you can get it.
3. Do you have any birds with me?
Question: My windows has problems, can you help me? Answer: Can you, throw away the soft rubbish, change Linux.
Question: I have problems when I installed Linux (or X), can you help me? Answer: You can't, I only personally get a problem in your computer. Still go to your local Linux user group to seek your handle guidance (you can find a list of users here).
Question: How can I crack the root account / steal OP privilege / read someone else's mail? Answer: I want to do this, indicating that you are a man; if you want to find a hacker to help you, you are an idiot!
============== Good problem, bad problem =============== Finally, I will give some examples to explain how smart questions; the same problem The two questions were put together, one is stupid, the other is wise.
Stupid question: Where can I find information about FOONLY FLURBAMATIC?
This question is nothing to get the answer "STFW".
Smart question: I have searched "Fooly FluBamatic 2600" with Google, but I didn't find useful results. Who knows where to find information on this kind of equipment?
This problem has been STFW, it seems that he really encounters trouble.
Stupid question: I can't compile the source code I found from the Foo project. How is it so bad?
He feels all the faults of others, this arrogant guy
Smart question: The Foo project code cannot be compiled by the Nulix 6.2. I have read FAQ, but I didn't mention the questions related to Nulix. This is the record of my compilation process. Is there anything wrong with me?
He talked about the environment and also read FAQ, but also indicated the mistake, and he did not push the responsibility of the problem to others, this guy is worth paying attention.
Stupid question: I have a problem with my motherboard. Who will help me?
Ordinary hackers answer to this type of question is usually: "Okay, have you to take back and change diaper?", Then press the delete key.
Smart question: I tried X, Y and Z on the S2464 motherboard, but I didn't work, I tried A, B and C again. Please note that when I try C's strange phenomenon. It is obvious that contraction occurs in the sideband transmission, but the result is unexpected. What is the usual reason that causes a sideband leak on a multiprocessor motherboard? Who has a good idea next to what tests I have to find out?
This guy, from another perspective, worth answering him. He showed the ability to solve the problem, not to sit and wait for the answer.
In the last question, pay attention to "tell me the answer" and "give me the revelation, point out what I should do what diagnose work" is subtle between subtle and important differences.
In fact, the latter problem is derived from a real question on the list of Linux kernels in August 2001. I (ERIC) is the person who made a question. I observed this uninterrupted lock phenomenon on the TYAN S2464 motherboard, which provided important information about solving that problem.
Through my question method, I gave you something worthy of playing; I make people easily participate in and attracted. I show yourself with their equivalent ability, inviting them to discuss with me. I told them the detour I have gone to avoid them, this is a respect for the value of others.
Later, when I expressed your gratitude to everyone, I appreciated this set of programs (the discussion in the mailing list - Translator's Note) was very good, a Linux kernel mailing list (LKML) member said that the problem is not Since I am "celebrity" in this list, but because I use the right way to ask questions.
Our hackers have a guy with rich knowledge but lack of people; I believe he is right, if I ask questions like a beggar, no matter who I am, I will be annoying some people or Ignore them. He suggests that I will write down this matter and give some guidance to the people who write this guide.
================ What should I do if I can't find an answer ================ If still can't get the answer, please don't think we feel Unable to help you. Sometimes I just see your question, I don't know the answer. No response does not mean that you are ignored, although it is difficult to distinguish this difference.
In general, a simple repeating post problem is a very bad idea. This will be regarded as meaningless noisy. You can get help through other channels, which are usually more suitable for beginners. There are many online and local user groups, made from fanatics (even if they may have written any software.). Usually people build such groups to help each other and help newers.
In addition, you can seek help from many commercial companies, regardless of the company's large or small (RedHat and Linuxcare are two most common examples). Don't be frustrated for payable to get help! After all, false your car engine cylinder seal is burst - it is probably - you have to send it to the repair shop and pay for maintenance. Even if the software doesn't spend a penny, you can't force technical support to always be free.
For popular software, as linux, each developer will have at least 10,000 users. It is impossible to handle help from tens of thousands of users at all. To know, even if you want to pay for help, you have to pay more than you have to buy similar software (usually the technical support cost of the closure source code software is much higher than the open source software, and the content is not So rich.