别像失败者那样反应
==================

在黑客社区的论坛中有那么几次你可能会搞砸 —— 以本文描述或类似的方式。你会被示众是如何搞砸的，也许言语中还会带点颜色。

这种事发生以后，你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、忘了关马桶盖等等。相反，你该这样去做：

熬过去，这很正常。事实上，它是有益健康与恰当的。

社区的标准不会自己维持，它们是通过参与者积极而 **_公开_** 地执行来维持的。
不要哭嚎所有的批评都应该通过私下的邮件传送，这不是事情运作的方式。当有人评论你的一个说法有误或者提出不同看法时，坚持声称受到个人攻击也毫无益处，这些都是失败者的态度。

也有其它的黑客论坛，受过高礼节要求的误导，禁止参与者张贴任何对别人帖子挑毛病的消息，并声称『如果你不想帮助用户就闭嘴』。
有思路的参与者纷纷离开的结果只会使它们变成了毫无意义的唠叨与无用的技术论坛。

是夸张的『友谊』（以上述方式）还是有用？挑一个。

记着：当黑客说你搞砸了，并且（无论多么刺耳地）告诉你别再这样做时，他正在为关心你和他的社区而行动。对他而言，不理你并将你从他的生活中滤除要容易得多。
如果你无法做到感谢，至少要有点尊严，别大声哀嚎，也别因为自己是个有戏剧性超级敏感的灵魂和自以为有资格的新来者，就指望别人像对待脆弱的洋娃娃那样对你。

有时候，即使你没有搞砸（或者只是别人想像你搞砸了）， 有些人也会无缘无故地攻击你本人。在这种情况下，报怨倒是 **_真的_** 会把问题搞砸。

这些找茬者要么是毫无办法但自以为是专家的不中用家伙，要么就是测试你是否真会搞砸的心理专家。其它读者要么不理睬，要么用自己的方式对付他们。这些找茬者在给自己找麻烦，这点你不用操心。

也别让自己卷入口水战，大多数口水战最好不要理睬 —— 当然，是在你核实它们只是口水战、没有指出你搞砸的地方，而且没有巧妙地将问题真正的答案藏于其中之后（这也是可能的）。

提问禁忌
==================

下面是些典型的愚蠢问题和黑客不回答它们时的想法。

- 问：[我到哪可以找到某程序或 X 资源？](#id265927)
- 问：[我怎样用 X 做 Y？](#id265951)
- 问：[如何配置我的 shell 提示？](#id265970)  
- 问：[我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 文档转为 TeX 格式吗？](#id265994)
- 问：[我的{程序、配置、SQL 语句}不运行了](#id266016)
- 问：[我的视窗电脑出问题了，你能帮忙吗？](#id266052)
- 问：[我的程序不运行了，我认为系统工具X有问题](#id266079)
- 问：[我安装`Linux`或 X 遇到困难，你能帮忙吗？](#id266099)
- 问：[我如何才能破解超级用户口令/盗取通道操作员的特权/查看某人的电子邮件？](#id266136)

<a id="id265927"></a>
**问：**  
我到哪可以找到某程序或 X 资源？  
**答：**  
在我找到它的同样地方，笨旦 —— 在网页搜索引擎上。上帝啊，难道还有人不知道如何使用 [谷歌](http://www.google.com/) 吗？

<a id="id265951"></a>
**问：**  
我怎样用 X 做 Y？  
**答：**  
如果你想解决的是 Y，提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知，也对要解决的 Y 问题糊涂，还被特定形势禁锢了思维。等他们把问题弄好再说。

<a id="id265970"></a>
**问：**  
如何配置我的`shell`提示？  
**答：**  
如果你有足够的智慧提这个问题，你也该有足够的智慧去 [『读读他妈的手册（`RTFM`）』](#读读他妈的手册rtfm和搜搜他妈的网络stfw如何明白你已完全搞砸)，然后自己去找出来。

<a id="id265994"></a>
**问：**  
我可以用`Bass-o-matic`文件转换工具将`AcmeCorp`文档转为`TeX`格式吗？  
**答：**  
试试就知道了。如果你试过，你既知道了答案，又不用浪费我的时间了。

<a id="id266016"></a>
**问：**  
我的{程序、配置、`SQL`语句}不运行了  
**答：**  
这不是一个问题，我也没有兴趣去猜你有什么问题 —— 我有更要紧的事要做。看到这种东西，我的反应一般如下：
* 你还有什么补充吗？
* 噢，太糟了，希望你能搞定。
* 这跟我究竟有什么关系？

<a id="id266052"></a>
**问：**  
我的视窗电脑出问题了，你能帮忙吗？  
**答：**  
是的，把视窗垃圾删了，装个像`Linux`或`BSD`的开源操作系统吧。  
注意：如果程序有官方的视窗版或者与视窗有交互（如`Samba`），你 **_可以_** 问与视窗相关的问题，
只是别对问题是由视窗操作系统而不是程序本身造成的回复感到惊讶，因为视窗一般来说太差，这种说法一般都成立。

<a id="id266079"></a>
**问：**  
我的程序不运行了，我认为系统工具 X 有问题  
**答：**  
你完全有可能是第一个注意到被成千上万用户反复使用的系统调用与库文件有明显缺陷的人，更有可能的是你完全没有根据。
不同凡响的说法需要不同凡响的证据，当你这样声称时，你必须有清楚而详尽的缺陷说明文档作后盾。

<a id="id266099"></a>
**问：**  
我安装`Linux`或`X`遇到困难，你能帮忙吗？  
**答：**  
不行，我需要亲手操作你的电脑才能帮你排错，去向当地的`Linux`用户组寻求方便的帮助（你可以在 [这里](http://www.linux.org/groups/index.html) 找到用户组列表）  
注意：如果安装问题与某`Linux`发行版有关，在针对 **_它_** 的邮件列表、论坛或本地用户组织中提问也许是恰当的。
此时，应描述问题的准确细节。在此之前，先用『`linux`』和 **_所有_** 被怀疑的硬件 [作关键词] 仔细搜索。

<a id="id266136"></a>
**问：**  
我如何才能破解超级用户口令/盗取通道操作员的特权/查看某人的电子邮件？  
**答：**  
想做这种事情说明你是个卑劣的家伙，想让黑客教你做这种事情说明你是个白痴。

好问题与坏问题
==================

最后，我将通过举例来演示提问的智慧。同样的问题两种提法，一种愚蠢，另一种明智。

**愚蠢：** 我在哪能找到关于`Foonly Flurbamatic`设备的东西？  
这个问题在乞求得到 [『搜搜他妈的网络（`STFW`）』](#读读他妈的手册rtfm和搜搜他妈的网络stfw如何明白你已完全搞砸) 式的回复。

**明智：** 我用谷歌搜索过『`Foonly Flurbamatic 2600`』，但没有找到什么有用的，有谁知道在哪能找到这种设备的编程信息？  
这个人已经搜索过网络了，而且听起来他可能真的遇到了问题。

**愚蠢：** 我不能编译某项目的源代码，它为什么这么破？  
提问者假设是别人搞砸了，太自大了。

**明智：** 某项目的源代码不能在某`Linux 6.2`版下编译。我读了常见问题文档，但其中没有与某`Linux`相关的内容。这是编译时的记录，我做错了什么吗？  
提问者已经指明了运行环境，读了常见问题文档（`FAQ`），列出了错误，也没有假设问题是别人的过错，这家伙值得注意。

**愚蠢：** 我的主板有问题，谁能帮我？  
某黑客对此的反应可能是：『是的，还需要帮你拍背和换尿布吗？』，然后是敲下删除键。

**明智：**  我在`S2464`主板上试过 X、Y 和 Z，当它们都失败后，又试了 A、B 和 C。注意我试 C 时的奇怪症状，显然某某东西正在做某某事情，这不是期望的行为。
通常在`Athlon MP`主板上导致某某事情的原因是什么？有谁知道我还能再试点什么以确定问题？  
相反地，这个人看来值得回答。他或她展现了解决问题的能力而不是坐等天上掉馅饼。

在最后那个问题中，注意『给我一个回答』与『请帮我看看我还能再做点什么测试以得到启发』之间细微但重要的差别。

事实上，最后那个问题基本上源于 2001 年 8 月`Linux`内核邮件列表（`lkml`）上的真实事件，是我（_Eric_）当时提了那个问题，我发现`Tyan S2462`主板有神秘的死机现象，邮件列表成员给我提供了解决此问题的关键信息。

通过这种提问方式，我给了别人可以咀嚼玩味的东西。我设法使之对参与者既轻松又有吸引力，也表明了对同行能力的尊敬并邀请他们与我一起协商。
通过告诉他们我已经走过的弯路，我还表明了对他们宝贵时间的尊重。

事后，当我感谢大家并评论这次良好的经历时，一个`Linux`内核邮件列表的成员谈到，他认为我得到答案并不是因为我的名字挂在列表上，而只是因为我正确的提问方式。

黑客们在某种方面是非常不留情面的精英分子。我想在这事上他是对的，如果我 **_表现得_** 像个不劳而获的寄生虫，不管我是谁都会被忽略或斥责。
他建议将整个事件作为对其它人提问的指导，这直接导致了本文的编写。

如果得不到回答
==================

如果得不到回答，请不要认为我们不想帮你，有时只是因为被问到的小组成员的确不知道答案。
没有回复不等于不被理睬，当然必须承认从外面很难看出两者的差别。

一般而言，直接将问题再张贴一次不好，这会被视为毫无意义的骚扰。
耐心一点，知道你问题答案的人可能生活在不同的时区，有可能正在睡觉，也有可能你的问题一开始就没有组织好。

还有其它资源可以寻求帮助，通常是在一些面向新手的资源中。

有许多在线与本地的用户组织，虽然它们自己不编写任何软件，但是对软件很热心。
这些用户组通常因互助和帮助新手而形成。

还有众多大小商业公司提供签约支持服务，别因为要付点钱才有支持就感到沮丧！
毕竟，如果你车子的汽缸垫烧了，你多半还得花钱找个修理店把它弄好。即使软件没花你一分钱，你总不能指望服务支持都是免费的。

像`Linux`这样流行的软件，每个开发者至少有一万个以上的用户，一个人不可能应付这么多用户的服务要求。
记住，即使你必须付费才能得到支持，也比你还得额外花钱买软件要少得多（而且对封闭源代码软件的服务支持与开源软件相比通常还要贵一点，也要差一点）。

如何更好地回答
==================

**_态度和善一点。_**问题带来的压力常使人显得无礼或愚蠢，其实并不是这样。

**_对初犯者私下回复。_** 对那些坦诚犯错之人没有必要当众羞辱，一个真正的新手也许连怎么搜索或在哪找`FAQ`都不知道。

**_如果你不确定，一定要说出来！_** 一个听起来权威的错误回复比没有还要糟，别因为听起来像个专家好玩就给别人乱指路。要谦虚和诚实，给提问者与同行都树个好榜样。

**_如果帮不了忙，别妨碍。_** 不要在具体步骤上开玩笑，那样也许会毁了用户的安装 —— 有些可怜的呆瓜会把它当成真的指令。

**_探索性的反问以引出更多的细节。_** 如果你做得好，提问者可以学到点东西 —— 你也可以。试试将很差的问题转变成好问题，别忘了我们都曾是新手。

尽管对那些懒虫报怨一声『读读他妈的手册（`RTFM`）』是正当的，指出文档的位置（即使只是建议做个谷歌关键词搜索）会更好

**_如果你决意回答，给出好的答案。_** 当别人正在用错误的工具或方法时别建议笨拙的权宜之计，应推荐更好的工具，重新组织问题。

请回答真正的问题！如果提问者已经做了自己该做的研究，并且说明尝试过X，Y，Z，A，B与C都没有得到想要的结果，
那么回复『试试A或B』 或者给出一个内容为 『试一下X，Y，Z，A，B或C』的链接将极其无益！

**_帮助你的社区从中学习_**。当回复一个好问题时，问问自己 『如何修改相关文件或`FAQ`文档以免再次解答同样的问题？』，接着再向文档维护者发一份补丁。

如果你是在研究一番后才做出的回答，**_展现你的技巧而不是直接端出结果_**。毕竟『授人以鱼，不如授人以渔』。

-----------------

[« 提问前的准备](core.md#提问前的准备)　　　　[相关资源 »](the-end.md#相关资源)
