2005年04月08日

这是忠告也是建议.
1.男人是社会的主体,不管你信或不信.所以男人应该有种责任感.
2.25岁之前,请记得,爱情通常是假的,或者不是你所想象的那样纯洁和永远.如果你过了25岁,那么你应该懂得这个道理.
3.吃饭7成饱最舒服.对待女友最多也请你保持在7成.
4.30岁之前请爱惜自己的身体,前30年你找病,后30年病找你.如果你过了30岁,你自然也会懂得这个道理.
5.事业远比爱情重要.如果说事业都不能永恒,那么爱情只能算是昙花一现.
6.不要轻易接受追求你的女孩.女追男隔层纱.如果你很容易就陷进去,你会发现你会错过很多东西,失去很多东西.
7.请你相信,能用钱解决的问题,都不是问题.如果你认为钱索王道,有钱有女人,没钱没女人,那么.女人不是问题.
8.请永远积极向上.每个男人都有他可爱的地方,但是不可爱的地方只有不积极面对生活.
9.不要连续2次让同一个女人伤害.好马不吃回头草,是有他道理的.如果认真考虑过该分手,那么请不要做任何舍不得的行动.
10.如果你和你前女友能做朋友,那么你要问自己:为什么?如果分手后还是朋友,那么只有2个可能:.你们当初都只是玩玩而已,没付出彼此最真的感情.或者:必定有个人是在默默的付出无怨无悔!
11.永远不要太相信女人在恋爱时的甜言蜜语.都说女人爱听甜言蜜语,其实,男人更喜欢.
12.请不要为自己的相貌或者身高过分担心和自卑.人是动物,但是区别于动物.先天条件并不是阻挡你好好生活的借口.人的心灵远胜于相貌,请相信这点.如果有人以相貌取人,那么你也没必要太在意.因为他从某种意义来讲,只是只动物.你会跟动物怄气吗?
13.失恋时,只有2种可能,要么你爱她她不爱你,或者相反.那么,当你爱的人不再爱你,或者从来没爱过你时.你没有遗憾,因为你失去的只是一个不爱你的人.
14.请不要欺骗善良的女孩.这个世界上,善良的女孩太少.
15.不能偏激的认为金钱万能,至少,金钱治不好艾滋病.
16.请一定要有自信.你就是一道风景,没必要在别人风景里面仰视.
17.受到再大的打击,只要生命还在,请相信每天的太阳都是新的.
18.爱情永远不可能是天平.你想在爱情里幸福就要舍得伤心.
19.如果你喜欢一个认为别人应该对她好的mm,请尽早放弃.没有人是应该对一个人好的.如果她不明白这个道理,也就是她根本不懂得珍惜.
20.不要因为寂寞而’找’gf,寂寞男人请要学会品味寂寞.请记住:即使寂寞,远方黑暗的夜空下,一定有人和你一样,寂寞的人不同,仰望的星空却是唯一.
21.任何事没有永远.也别问怎样才能永远.生活有很多无奈.请尽量充实自己,充实生活.请善待生活.
End.男人有很多无奈,生活很累但是因为生活才有意义.当你以为你一无所有时,你至少还有时间,时间能抚平一切创伤.所以请不要流泪

      How To Ask Questions The Smart Way
      提问的智慧

      Copyright (C) 2001 by Eric S. Raymond
      中文版Copyleft 2001 by D.H.Grand(nOBODY/Ginux)

      英文版:http://www.tuxedo.org/~esr/faqs/smart-questions.html
      感谢Eric的耐心指点和同意,本文才得以完成并发布,本指南英文版版权为Eric Steven
      Raymond所有,中文版版权由D.H.Grand[nOBODY/Ginux]所有。

      目录


      简介
      提问之前
      怎样提问
      谨慎选择论坛
      尽量使用邮件列表
      用辞贴切,语法正确,拼写无误
      用易读格式发送问题
      使用含义丰富,描述准确的标题
      精确描述,信息量大
      话不在多
      只说症状,不说猜想
      按时间顺序列出症状
      别要求私下答复
      明白你想问什么
      别问应该自己解决的问题
      去除无意义的疑问
      谦逊绝没有害处,而且常帮大忙
      问题解决后,加个简短说明
      如何理解答案
      RTFM和STFW:别烦我啦
      还是不懂:(

      面对无礼
      决不要象个失败者
      三思而后问
      好问题,坏问题
      找不到答案怎么办

      ====
      简介
      ====

      在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难
      度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答
      案。

      首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。如若不然,
      我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问
      题是激励,是厚礼,可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思
      考过的问题。对黑客而言,“问得好!”是发自内心的大力称赞。

      尽管黑客们有蔑视简单问题和不友善的坏名声,有时看起来似乎我们对新手,对知识贫乏
      者怀有敌意,但其实不是那样的。

      我们不想掩饰对这样一些人的蔑视–他们不愿思考,或者在发问前不去完成他们应该做的
      事。这种人只会谋杀时间–他们只愿索取,从不付出,无端消耗我们的时间,而我们本可
      以把时间用在更有趣的问题或者更值得回答的人身上。我们称这样的人为“失败者”(由
      于历史原因,我们有时把它拼作“lusers”)。

      我们也知道,很多人只想使用我们编写的软件,对技术细节没什么兴趣。对多数人们而
      言,计算机不过是一个工具,一种达到目的的手段;他们有更重要的事情要做,有更重要
      的生活要过。我们明白这点,也并不奢望每个人都对另我们痴狂的技术问题有兴致。然
      而,我们回答问题的风格是针对这样一群人–他们有兴趣,并且愿意积极参与问题的解
      决。这点不会改变,也不应该改变;如果变了,我们将失去我们引以为傲的效率。

      我们在很大程度上属于志愿者,从繁忙的生活中抽出时间来解惑答疑,而且时常被提问淹
      没。所以我们无情的滤掉一些话题,特别是抛弃那些看起来象失败者的家伙,以便更高效
      的利用时间来回答胜利者的问题。

      如果你觉得我们过于傲慢的态度让你不爽,让你委屈,不妨设身处地想想。我们并没有要
      求你向我们屈服–事实上,我们中的大多数人最喜欢公平交易不过了,只要你付出小小努
      力来满足最起码的要求,我们就会欢迎你加入到我们的文化中来。但让我们帮助那些不愿
      意帮助自己的人是没有意义的。如果你不能接受这种“歧视”,我们建议你花点钱找家商
      业公司签个技术支持协议得了,别向黑客乞求帮助。

      如果你决定向我们求助,当然不希望被视为失败者,更不愿成为失败者中的一员。立刻得
      到有效答案的最好方法,就是象胜利者那样提问–聪明、自信、有解决问题的思路,只是
      偶尔在特定的问题上需要获得一点帮助。

      (欢迎对本指南提出改进意见。任何建议请E-mail至esr@thyrsus.com,然而请注意,本
      文并非网络礼节的通用指南,我通常会拒绝无助于在技术论坛得到有用答案的建议。)
      (当然,如果你写中文,最好还是寄到DHGrand@hotmail.com;-)

      ========
      提问之前
      ========

      在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:
      1. 通读手册,试着自己找答案。
      2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。
      3. 在网上搜索(个人推荐google~)。
      4. 向你身边精于此道的朋友打听。


      当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你
      不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。能说明你从这些操作中学到了什
      么就更好了。如果提问者能从答案中学到东西,我们更乐于回答他的问题。

      周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得不到任何答
      案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

      小心别问错了问题。如果你的问题基于错误的假设,普通黑客(J. Random Hacker)通
      常会用无意义的字面解释来答复你,心里想着“蠢问题…”,希望着你会从问题的回答
      (而非你想得到的答案)中汲取教训。

      决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你
      要自己去“挣”回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题–一
      个对社区的经验有潜在贡献的问题,而不仅仅是被动的从他人处索要知识–去挣到这个答
      案。

      另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。“谁能给点提
      示?”、“我这个例子里缺了什么?”以及“我应该检查什么地方?”比“请把确切的过
      程贴出来”更容易得到答复。因为你显得只要有人指点正确的方向,你就有完成它的能力
      和决心。

      ========
      怎样提问
      ========

      ————
      谨慎选择论坛
      ————

      小心选择提问的场合。如果象下面描述的那样,你很可能被忽略掉或者被看作失败者:
      1. 在风马牛不相及的论坛贴出你的问题
      2. 在探讨高级技巧的论坛张贴非常初级的问题;反之亦然
      3. 在太多的不同新闻组交叉张贴

      黑客们通常砍掉问错地方的问题,以保护自己的社区不被大量无关帖子淹没。你不会希望
      自己的帖子被这样砍掉吧。

      总的说来,问题发到精心挑选的公众论坛,比发到封闭的小圈子更容易得到有用的答案。
      这一现象有多种原因,其中之一是公众论坛有更多潜在的问题回答者;另一个原因是公众
      论坛有更多的听众。黑客们更愿意让尽量多的人–而非有限的一两个–从回答中受益。

      —————-
      尽量使用邮件列表
      —————-

      如果某项目有自己的开发邮件列表,要把问题发到这个邮件列表而不是某个开发者,即使
      你很清楚谁最能回答你的问题。仔细查看项目文档和项目主页,找到这个项目的邮件列表
      地址,这样做的理由有四:
      1. 任何值得问某位开发者的好问题,都值得向整个开发团体提出。反之,若你认为这个
      问题不值得在邮件列表中提起,就没有理由用它来骚扰任何一位开发者。
      2. 在邮件列表提问可以分担开发者的工作量。某位开发者(尤其当他是项目负责人的情
      况下),可能忙得没时间回答你的问题。
      3. 大多数邮件列表都有历史存档,而且都能在搜索引擎中检索到。人们可以从中找到你
      的问题和答案,不用一遍又一遍在列表中发问。
      4. 如果某个问题经常被提出,开发者可以据此改进文档或改进软件,以减少用户的困
      惑。而如果问题总在私下提出,就不会有人对此有整体上的把握了。

      如果你找不到项目的邮件列表地址,只能看到项目维护者的,那就写给维护者吧。在这种
      情况下,也别以为邮件列表并不存在。在你的信中写明你已尽力寻找,仍无法找到邮件列
      表。另外表明你不介意将此消息转给他人。(大多数人认为私信就应该是私下的,即使并
      没有什么可保密的内容。允许你的消息被转寄给他人,给了收信者一种处理你邮件的选
      择。)


      —————————-
      用辞贴切,语法正确,拼写无误
      —————————-

      我们从经验中发现,粗心的写作者通常也是马虎的思考者(我敢打包票)。回答粗心大意
      者的问题很不值得,我们宁愿把时间耗在别处。

      因此,明确充分表述你的问题非常重要。如果你嫌这样做麻烦,我们也会懒得搭理你。注
      意推敲你的用辞,不一定要用呆板正式的语言–事实上,黑客文化的价值观是不拘小节。
      准确的运用俚语和富有幽默感的语言,但别乱用;一定要能表明你在思考,在关注。


      正确的拼写,标点符号和大小写很重要。别把“its”和“it’s”或者“loose”和
      “lose”搞混淆了。别用全部大写的形式,这被视为粗鲁的大声叫嚷(全都用小写也好不
      到哪儿去,因为这会给阅读带来困难。Alan Cox可以用全部小写,但你不行)。


      更一般的说,如果你的提问写得象个半文盲,你很有可能被忽视。如果写得象一个窥客
      (破解爱好者)或者灰客(只会用现成工具的捣乱者)绝对是自己找死,保证你除了无情
      的抵制什么也得不到(或者,最好的结局是得到一大堆挖苦嘲笑的“帮助”)。

      如果你在使用非母语的论坛提问,你可以犯点拼写和语法上的小错–但决不能在思考上马
      虎(没错,我们能弄清两者的分别)。另外,除非你确切知道你的回答者会使用什么语
      言,否则请用英文。匆匆忙忙的黑客往往简单的跳过他们看不懂的问题,而英文是网络上
      的工作语言。用英文可以降低你的问题未被阅读即遭抛弃的风险。

      ——————
      用易读格式发送问题
      ——————

      如果人为造成你的提问难以阅读和理解,将会更容易被人忽略。因此你要:
      1. 使用纯文本邮件,不要使用HTML(关掉HTML并不难)。
      2. 通常可以附加MIME附件,但一定要有真正的内容(例如附加的源文件或者补丁),而
      不仅仅是你的邮件客户端产生的文件模板(例如你邮件的一份拷贝)。
      3. 不要把所有问题放在不停换行的一整段中。(这将让答复的人难于回答其中一部分问
      题,即使能回答所有问题,我也更希望条理清楚的一个一个来:)。很可能收件人只能在
      80个字符宽度的文本显示器上读信,因此要相应的把行环绕模式设在80字符以内。
      4. 不要在英文论坛使用MIME Quoted-Printable编码发送;这种编码格式对ASCII码不
      能表达的语言来说是非常必要的,但很多邮件代理不支持它,这时,满篇的“=20”符号
      把文字分割开,既难看,又分散注意力。

      5. 永远不要指望黑客会乐于阅读封闭所有权的文件格式,例如萎软的Word格式。多数黑
      客对此的反应就象你在门口的阶梯上堆满热烘烘的猪粪(意即谁也不会踏进你的门–译者
      注)。

      6. 如果你通过一台安装Windows的电脑发送邮件,关闭萎软愚蠢的“智能引用”功能。这
      能使你免于在邮件中夹带垃圾字符。

      —————————-
      使用含义丰富,描述准确的标题
      —————————-

      在邮件列表或者新闻组中,大约50字以内的主题标题是抓住资深专家注意力的黄金时机。
      别用喋喋不休的“帮帮忙”(更别说“救命啊!!!!!”这样让人反感的话)来浪费这
      个机会。不要妄想用你的痛苦程度来打动我们,别用空格代替问题的描述,哪怕是极其简
      短的描述。

      蠢问题:
      救命啊!我的膝上机不能正常显示了!

      聪明问题:
      XFree86 4.1下鼠标光标变形,Fooware MV1005的显示芯片。

      如果你在回复中提出问题,记得要修改内容标题,表明里面有一个问题。一个看起来象
      “Re:测试”或者“Re:新bug”的问题很难引起足够重视。另外,引用并删减前文的内
      容,给新来的读者留下线索。

      ——————
      精确描述,信息量大
      ——————

      1. 谨慎明确的描述症状。
      2. 提供问题发生的环境(机器配置、操作系统、应用程序以及别的什么)。
      3. 说明你在提问前是怎样去研究和理解这个问题的。
      4. 说明你在提问前采取了什么步骤去解决它。
      5. 罗列最近做过什么可能有影响的硬件、软件变更。

      尽量想象一个黑客会怎样反问你,在提问的时候预先给他答案。

      Simon Tatham写过一篇名为《如何有效的报告Bug》的出色短文。强力推荐你也读一读。


      ——–
      话不在多
      ——–

      你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储
      摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。

      这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得到回答
      的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼你的bug报告
      的过程中,也许你自己就能找出问题所在或作出更正。

      ——————
      只说症状,不说猜想
      ——————

      告诉黑客们你认为问题是怎样引起的没什么帮助。(如果你的推断如此有效,还用向别人
      求助吗?),因此要确信你原原本本告诉了他们问题的症状,不要加进你自己的理解和推
      论。让黑客们来诊断吧。

      蠢问题:
      我在内核编译中一次又一次遇到SIG11错误,我怀疑某条飞线搭在主板的走线上了,这种
      情况应该怎样检查最好?

      聪明问题:
      我自制的一套K6/233系统,主板是FIC-PA2007 (VIA Apollo VP2芯片组),256MB
      Corsair PC133 SDRAM,在内核编译中频频产生SIG11错误,从开机20分钟以后就有这种
      情况,开机前20分钟内从没发生过。重启也没有用,但是关机一晚上就又能工作20分钟。
      所有内存都换过了,没有效果。相关部分的典型编译记录如下…。

      ——————
      按时间顺序列出症状
      ——————

      对找出问题最有帮助的线索,往往就是问题发生前的一系列操作,因此,你的说明应该包
      含操作步骤,以及电脑的反应,直到问题产生。在命令行操作的情况下,保存一个操作记
      录(例如使用脚本工具),并且引用相关的大约20条命令会大有帮助。

      如果崩溃的程序有诊断选项(例如用-v转到详尽模式),试着仔细考虑选择选项以在操作
      记录中增加有用的调试信息。

      如果你的说明很长(超过四个段落),在开头简述问题会有所帮助,接下来按时间顺序详
      述。这样黑客们就知道该在你的说明中找什么。

      ————–
      别要求私下答复
      ————–

      黑客们认为解决问题应该有公开、透明的流程。只要任何更有见地的人注意到答案的不完
      善或者不正确,这个最初的答案就可以和应该得到纠正。同时,通过能力和知识被大家注
      意,被大家接受,回答问题者得到了应有的奖励。

      如果你要求对方私下回答你,这既破坏了整个流程,也破坏了奖励制度。别提这要求,这
      是回答者的权利,由他来选择是否私下答复–如果他选择这样做,通常是因为他认为这个
      答案过于显而易见或者有不良的公开影响,别人不会感兴趣。

      只有一种有限的例外:如果你预计将收到大量雷同的答复,你可以说:“把答案寄给我,
      由我来汇总吧。”将邮件列表或者新闻组从大量重复的帖子中打救出来是很有君子之风的
      –但请记住,履行自己关于汇总的承诺。

      ————–
      明白你想问什么

      ————–

      漫无边际的提问近乎无休无止的时间黑洞。最能给你有用答案的人也正是最忙的人(他们
      忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞不太感冒,因此也可以
      说他们对漫无边际的提问不大感冒。

      如果你明确表述需要回答者做什么(提供建议,发送一段代码,检查你的补丁或是别
      的),就最有可能得到有用的答案。这会定出一个时间和精力的上限,便于回答者集中精
      力来帮你,这很凑效。

      要理解专家们生活的世界,要把专业技能想象为充裕的资源,而回复的时间则是贫乏的资
      源。解决你的问题需要的时间越少,越能从忙碌的专家口中掏出答案。

      因此,优化问题的结构,尽量减少专家们解决它所需要的时间,会有很大的帮助–这通常
      和简化问题有所区别。因此,问“我想更好的理解X,能给点提示吗?”通常比问“你能
      解释一下X吗?”更好。如果你的代码不能工作,问问它有什么地方不对,比要求别人替
      你修改要明智得多。


      ————————
      别问应该自己解决的问题
      ————————

      黑客们总是善于分辨哪些问题应该由你自己解决;因为我们中的大多数都曾自己解决这类
      问题。同样,这些问题得由你来搞定,你会从中学到东西。你可以要求给点提示,但别要
      求得到完整的解决方案。

      —————-
      去除无意义的疑问
      —————-

      别用无意义的话结束提问,例如“有人能帮我吗?”或者“有答案吗?”。首先:如果你
      对问题的描述不很合适,这样问更是画蛇添足。其次:由于这样问是画蛇添足,黑客们会
      很厌烦你–而且通常会用逻辑上正确的回答来表示他们的蔑视,例如:“没错,有人能帮
      你”或者“不,没答案”。

      —————————-
      谦逊绝没有害处,而且常帮大忙
      —————————-

      彬彬有礼,多用“请”和“先道个谢了”。让大家都知道你对他们花费时间义务提供帮助
      心存感激。

      实话实说,虽然这不象合乎语法、清楚准确的描述,避免私有格式等等那么重要(也不能
      用来替代它们);黑客一般更喜欢直接了当然而技术上敏锐的bug报告,而不是彬彬有礼
      的废话(如果这让你迷惑不解,请记住,我们衡量一个问题价值的标准是:它能让我们学
      会多少)。

      然而,如果你有很多问题无法解决,礼貌将会增加你得到有用答案的机会。

      (我们注意到,自从本指南发布后,从资深黑客处得到的唯一严重缺陷反馈,就是对预先
      道谢这一条。一些黑客觉得“先谢了”的言外之意是过后就不会再感谢任何人了。我们的
      建议是:都道谢。)

      ————————

      问题解决后,加个简短说明
      ————————

      问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向
      他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个补
      充说明。

      补充说明不必很长或是很深入;简单的一句“你好,原来是网线出了问题!谢谢大家
      –Bill”比什么也不说要强。事实上,除非结论真的很有技术含量,否则简短可爱的小结
      比长篇学术论文更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。


      除了表示礼貌和反馈信息以外,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你
      有过帮助的完整解决方案,这可能对他们也很有用。

      最后(至少?),这种补充有助于所有提供过帮助的人从中得到满足感。如果你自己不是
      老手或者黑客,那就相信我们,这种感觉对于那些你向他们求助的导师或者专家而言,是
      非常重要的。问题久拖未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足
      他们的渴望,你会在下次贴出新问题时尝到甜头。

      ============
      如何理解答案
      ============

      ——————–
      RTFM和STFW:别烦我啦
      ——————–

      有一个古老而神圣的传统:如果你收到“RTFM (Read The Fucking Manual)”的回
      复,回答者认为你应该去读TMD手册。当然,基本上他是对的,你应该读一读。

      RTFM有一个年轻的亲戚。如果答案是“STFW (Search The Fucking Web)”,回答者
      认为你应该到TMD的网上去搜索。基本上,他也是对的,你就去找吧。

      通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他
      们打这些字的时候正在阅读着。这些答复意味着回答者认为(1). 你需要的信息非常容易
      获得;(2). 你自己去搜索这些信息比灌给你能让你学到更多。

      别为这个而不爽;依照黑客的标准,他没有对你的要求视而不见,已经能大致能表示对你
      的关注。你应该对他祖母般的慈祥表示感谢。

      ———-
      还是不懂:(
      ———-

      如果你不是很理解答案,别立刻要求对方解释。象你以前试着自己解决问题时那样(利用
      手册,FAQ,网络,身边的高手),去理解它。如果你真的需要对方解释,记得表现出你
      已经学到了点什么。

      比方说,如果我回答你:“看来似乎是zEntry被阻塞了;你应该先清除它。”,然后:

      一个很糟的后续问题:“zEntry是什么?”

      聪明的问法应该是这样:“哦~我看过帮助了:)但是只有-z和-p两个参数中提到了
      zEntry:(而且还都没有清楚的解释:<你是指这两个中的哪一个吗?还是我看漏了什么?”


      ——–
      面对无礼
      ——–

      黑客圈子里很多貌似粗鲁的言行并非有意冒犯。更恰当的说,这是直率、不说废话的沟通
      方式的产物,这种沟通方式源于人们关注问题的解决–多过让人感受温暖亲情然而却依旧
      糊里糊涂–的天性。

      如果你觉得受到粗鲁的对待,请保持冷静。如果真有人表现粗野,通常会有列表/新闻组/
      论坛的长辈找他谈心,如果没有这样,而你又大发脾气,则很可能对方的言行是黑客社区
      行为规范许可内,而你被认为是有过错的。这会不利于你得到信息或者帮助。

      另一方面,你偶尔也会无缘无故有粗野的言行和心态。上述现象的另一面是,人们允许狠
      狠打击真正的冒犯者,用尖刻的言语剖析他们的不当言行。如果你真决定这样做,先仔细
      又仔细的掂量一下你自己的分量。合理的粗鲁与发动一场无意义的论战之间只隔了一条细
      细的线,冒冒失失撞上去的黑客不在少数;如果你是新手或者门外汉,不犯这种错的机会
      是很渺茫的。如果你想得到信息而不是来胡闹,别冒险回复,最好把手从键盘上拿开。

      (有些人声称多数黑客有孤僻症或者社交障碍综合征的轻度症状,而且确实缺少部分有助
      “常人”进行社交行为的脑组织结构。这也许是真的,也许不是。如果你自己不是黑客,
      那么,把我们想象成脑部有缺陷的人有助你面对我们的古怪。有话直说,我们无所谓;我
      们乐于按自己的想法生活,而且总是对医学概念持相当怀疑的态度。)

      在下一节里,我们将谈论另一个话题;当你行差踏错时可能遇到的“无礼”。

      ================
      决不要象个失败者
      ================

      很有可能,你在黑客社区的论坛会受到很多公开的攻击–用本文提到的各种方式或类似的
      方法,而且很可能会有各式各样的旁敲侧击来告诉你你有多讨厌。

      如果噩梦成真,你能做的最糟的事就是为此发牢骚,抱怨受到人身攻击,要求对方道歉,
      尖叫,屏住呼吸,威胁要控诉对方,向他老板告状,不掀起马桶座圈,等等等等。然而,
      你应该这样:

      由它去吧,这没什么大不了的。实际上这么做是恰当的和有益的(主要是有利身心健
      康:)。

      社区的规范不靠社区,而是靠积极推行它们的人们来维护,这种维护是公开的,显而易见
      的。别抱怨说一切批评都应该通过私信传送,它本来就不该那样。当别人指出你的话有错
      误,或者他有不同观点的时候,坚持认为他在羞辱你是没有用的。这些都是失败者的态
      度。

      有那么一些黑客论坛,出于对高度自谦的误解,禁止参与者张贴专给人找茬的帖子,而且
      被告知“如果不愿帮助用户,那就闭嘴。”,他们认为,引开参与者的话题,只会使得他
      们陶醉在毫无意义的喋喋不休中,从而失去了技术论坛的意义。

      夸张的“友善”(以那种方式)还是有用的帮助:你自己选择吧。

      记住:当黑客说你很烦人,(无论用多么粗暴的语言)警告你别再那样做了,他的本意并
      非是针对(1)你,以及(2)他的社区。他本来可以轻易的忽略你,把你从他的视线中抹去。
      如果你无法接受要向他表示感激,至少应该表现出你的气度,别抱怨,别期望只因为你是
      新人,你有戏剧般的敏感脆弱的神经和自封的权利,而受到易碎玩偶般的特别对待。

      ==========
      三思而后问
      ==========

      以下是几个经典蠢问题,以及黑客在拒绝回答时的心中所想:

      问题:我能在哪找到X程序?
      问题:我的程序/配置/SQL申明没有用
      问题:我的Windows有问题,你能帮我吗?
      问题:我在安装Linux(或者X)时有问题,你能帮我吗?
      问题:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?

      提问:我能在哪找到X程序?
      回答:就在我找到它的地方啊蠢货–搜索引擎的那一头。天呐!还有人不会用Google吗?


      提问:我的程序(配置、SQL申明)没有用
      回答:这不算是问题吧,我对找出你的真正问题没兴趣–如果要我问你二十个问题才找得
      出来的话–我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三
      种:
      1. 你还有什么要补充的吗?
      2. 真糟糕,希望你能搞定。
      3. 这跟我有什么鸟相关?

      提问:我的Windows有问题,你能帮我吗?
      回答:能啊,扔掉萎软的垃圾,换Linux吧。

      提问:我在安装Linux(或者X)时有问题,你能帮我吗?
      回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的Linux用户
      组寻求手把手的指导吧(你能在这儿找到用户组的清单)。

      提问:我怎么才能破解root帐号/窃取OP特权/读别人的邮件呢?
      回答:想要这样做,说明你是个卑鄙小人;想找个黑客帮你,说明你是个白痴!

      ==============
      好问题,坏问题
      ==============

      最后,我举一些例子来说明,怎样聪明的提问;同一个问题的两种问法被放在一起,一种
      是愚蠢的,另一种才是明智的。

      蠢问题:我可以在哪儿找到关于Foonly Flurbamatic的资料?
      这种问法无非想得到“STFW”这样的回答。

      聪明问题:我用Google搜索过“Foonly Flurbamatic 2600”,但是没找到有用的结
      果。谁知道上哪儿去找对这种设备编程的资料?
      这个问题已经STFW过了,看起来他真的遇到了麻烦。

      蠢问题:我从FOO项目找来的源码没法编译。它怎么这么烂?
      他觉得都是别人的错,这个傲慢自大的家伙:(

      聪明问题:FOO项目代码在Nulix 6.2版下无法编译通过。我读过了FAQ,但里面没有提到
      跟Nulix有关的问题。这是我编译过程的记录,我有什么做得不对的地方吗?
      他讲明了环境,也读过了FAQ,还指明了错误,并且他没有把问题的责任推到别人头上,
      这个家伙值得留意。

      蠢问题:我的主板有问题了,谁来帮我?
      普通黑客对这类问题的回答通常是:“好的,还要帮你拍拍背和换尿布吗?” ,然后按
      下删除键。

      聪明问题:我在S2464主板上试过了X、Y和Z,但没什么作用,我又试了A、B和C。请注意
      当我尝试C时的奇怪现象。显然边带传输中出现了收缩,但结果出人意料。在多处理器主
      板上引起边带泄漏的通常原因是什么?谁有好主意接下来我该做些什么测试才能找出问
      题?
      这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等
      天上掉答案。

      在最后一个问题中,注意“告诉我答案”和“给我启示,指出我还应该做什么诊断工作”
      之间微妙而又重要的区别。

      事实上,后一个问题源自于2001年8月在Linux内核邮件列表上的一个真实的提问。我
      (Eric)就是那个提出问题的人。我在Tyan S2464主板上观察到了这种无法解释的锁定
      现象,列表成员们提供了解决那一问题的重要信息。

      通过我的提问方法,我给了大家值得玩味的东西;我让人们很容易参与并且被吸引进来。
      我显示了自己具备和他们同等的能力,邀请他们与我共同探讨。我告诉他们我所走过的弯
      路,以避免他们再浪费时间,这是一种对他人时间价值的尊重。

      后来,当我向每个人表示感谢,并且赞赏这套程序(指邮件列表中的讨论–译者注)运作
      得非常出色的时候,一个Linux内核邮件列表(lkml)成员表示,问题得到解决并非由于
      我是这个列表中的“名人”,而是因为我用了正确的方式来提问。

      我们黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我
      象个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这
      件事,给编写这个指南的人一些指导。

      ================
      找不到答案怎么办
      ================

      如果仍得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答
      案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。


      总的说来,简单的重复张贴问题是个很糟的想法。这将被视为无意义的喧闹。

      你可以通过其它渠道获得帮助,这些渠道通常更适合初学者的需要。

      有许多网上的以及本地的用户组,由狂热的软件爱好者(即使他们可能从没亲自写过任何
      软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。

      另外,你可以向很多商业公司寻求帮助,不论公司大还是小(Red Hat和LinuxCare就是
      两个最常见的例子)。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机
      汽缸密封圈爆掉了–完全可能如此–你还得把它送到修车铺,并且为维修付费。就算软件
      没花费你一分钱,你也不能强求技术支持总是免费的。

      对大众化的软件,就象Linux之类而言,每个开发者至少会有上万名用户。根本不可能由
      一个人来处理来自上万名用户的求助电话。要知道,即使你要为帮助付费,同你必须购买
      同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开放
      源代码软件要高得多,而且内容也不那么丰富)。

How To Ask Questions The Smart Way

Eric Steven Raymond

Rick Moen


    
    

Revision History
Revision 3.1 28 Oct 2004 esr
Document ‘Google is your friend!’
Revision 3.0 2 Feb 2004 esr
Major addition of stuff about proper etiquette on Web forums.

Translations

Translations: Chinese Czech Danish Estonian French German Hebrew Hungarian Italian Japanese Polish Russian Spanish Swedish Turkish. If you want to copy, mirror, translate, or excerpt this document, please see my copying policy.

Disclaimer

Many project websites link to this document in their sections on how to get help. That’s fine, it’s the use we intended — but if you are a webmaster creating such a link for your project page, please display prominently near the link notice that we are not a help desk for your project!

We have learned the hard way that without such a notice, we will repeatedly be pestered by idiots who think that our having published this document makes it our job to solve all the world’s technical problems.

If you are reading this document because you need help, and you walk away with the impression you can get it directly from the authors, you are one of the idiots in question. Don’t ask us questions. We’ll just ignore you. We are here to show you how to get help from people who actually know about the software or hardware you are dealing with, but 99% of the time that will not be us. Unless you know for certain that one of the authors is an expert on what you are dealing with, leave us alone and everybody will be happier.

Introduction

In the world of hackers, the kind of answers you get to your technical questions depends as much on the way you ask the questions as on the difficulty of developing the answer. This guide will teach you how to ask questions in a way that is likely to get you a satisfactory answer.

Now that use of open source has become widespread, you can often get answers from other, more experienced users, rather than hackers. This is a Good Thing; users tend to be just a little bit more tolerant of the kind of failures newbies often have. Still, treating experienced users like hackers in the ways we recommend here will generally be the most effective way to get useful answers out of them, too.

The first thing to understand is that hackers actually like hard problems and good, thought-provoking questions about them. If we didn’t, we wouldn’t be here. If you give us an interesting question to chew on we’ll be grateful to you; good questions are a stimulus and a gift. Good questions help us develop our understanding, and often reveal problems we might not have noticed or thought about otherwise. Among hackers, “Good question!” is a strong and sincere compliment.

Despite this, hackers have a reputation for meeting simple questions with what looks like hostility or arrogance. It sometimes looks like we’re reflexively rude to newbies and the ignorant. But this isn’t really true.

What we are, unapologetically, is hostile to people who seem to be unwilling to think or to do their own homework before asking questions. People like that are time sinks — they take without giving back, they waste time we could have spent on another question more interesting and another person more worthy of an answer. We call people like this “losers” (and for historical reasons we sometimes spell it “lusers”).

We realize that there are many people who just want to use the software we write, and have no interest in learning technical details. For most people, a computer is merely a tool, a means to an end; they have more important things to do and lives to live. We acknowledge that, and don’t expect everyone to take an interest in the technical matters that fascinate us. Nevertheless, our style of answering questions is tuned for people who do take such an interest and are willing to be active participants in problem-solving. That’s not going to change. Nor should it; if it did, we would become less effective at the things we do best.

We’re (largely) volunteers. We take time out of busy lives to answer questions, and at times we’re overwhelmed with them. So we filter ruthlessly. In particular, we throw away questions from people who appear to be losers in order to spend our question-answering time more efficiently, on winners.

If you find this attitude obnoxious, condescending, or arrogant, check your assumptions. We’re not asking you to genuflect to us — in fact, most of us would love nothing more than to deal with you as an equal and welcome you into our culture, if you put in the effort required to make that possible. But it’s simply not efficient for us to try to help people who are not willing to help themselves. It’s OK to be ignorant; it’s not OK to play stupid.

So, while it isn’t necessary to already be technically competent to get attention from us, it is necessary to demonstrate the kind of attitude that leads to competence — alert, thoughtful, observant, willing to be an active partner in developing a solution. If you can’t live with this sort of discrimination, we suggest you pay somebody for a commercial support contract instead of asking hackers to personally donate help to you.

If you decide to come to us for help, you don’t want to be one of the losers. You don’t want to seem like one, either. The best way to get a rapid and responsive answer is to ask it like a person with smarts, confidence, and clues who just happens to need help on one particular problem.

(Improvements to this guide are welcome. You can mail suggestions to esr@thyrsus.com. Note however that this document is not intended to be a general guide to netiquette, and I will generally reject suggestions that are not specifically related to eliciting useful answers in a technical forum.)

Before You Ask

Before asking a technical question by email, or in a newsgroup, or on a website chat board, do the following:

  1. Try to find an answer by searching the Web.

  2. Try to find an answer by reading the manual.

  3. Try to find an answer by reading a FAQ.

  4. Try to find an answer by inspection or experimentation.

  5. Try to find an answer by asking a skilled friend.

  6. If you are a programmer, try to find an answer by reading the source code.

When you ask your question, display the fact that you have done these things first; this will help establish that you’re not being a lazy sponge and wasting people’s time. Better yet, display what you have learned from doing these things. We like answering questions for people who have demonstrated that they can learn from the answers.

Use tactics like doing a Google search on the text of whatever error message you get (and search Google groups as well as web pages). This might well take you straight to fix documentation or a mailing list thread that will answer your question. Even if it doesn’t, saying “I googled on the following phrase but didn’t get anything that looked useful” is a good thing to be able to put in email or news postings requesting help.

Prepare your question. Think it through. Hasty-sounding questions get hasty answers, or none at all. The more you do to demonstrate that you have put thought and effort into solving your problem before asking for help, the more likely you are to actually get help.

Beware of asking the wrong question. If you ask one that is based on faulty assumptions, J. Random Hacker is quite likely to reply with a uselessly literal answer while thinking “Stupid question…”, and hoping that the experience of getting what you asked for rather than what you needed will teach you a lesson.

Never assume you are entitled to an answer. You are not; you aren’t, after all, paying for the service. You will earn an answer, if you earn it, by asking a question that is substantial, interesting, and thought-provoking — one that implicitly contributes to the experience of the community rather than merely passively demanding knowledge from others.

On the other hand, making it clear that you are able and willing to help in the process of developing the solution is a very good start. “Would someone provide a pointer?”, “What is my example missing?” and “What site should I have checked?” are more likely to get answered than “Please post the exact procedure I should use.” because you’re making it clear that you’re truly willing to complete the process if someone can simply point you in the right direction.

When You Ask

Choose your forum carefully

Be sensitive in choosing where you ask your question. You are likely to be ignored, or written off as a loser, if you:

  • post your question to a forum where it is off topic

  • post a very elementary question to a forum where advanced technical questions are expected, or vice-versa

  • cross-post to too many different newsgroups

  • post a personal email to somebody who is neither an acquaintance of yours nor personally responsible for solving your problem

Hackers blow off questions that are inappropriately targeted in order to try to protect their communications channels from being drowned in irrelevance. You don’t want this to happen to you.

The first step, therefore, is to find the right forum. Again, Google and other web-searching methods are your friend. Use them to find the project web page most closely associated with the hardware or software that is giving you difficulties. Usually it will have links to a FAQ (Frequently Asked Questions) list, and to project mailing lists and their archives. These mailing lists are the final places to go for help, if your own efforts (including reading those FAQs you found) do not find you a solution. The project page may also describe a bug-reporting procedure, or have a link to one; if so, follow it.

Shooting off an email to a person or forum which you are not familiar with is risky at best. For example, do not assume that the author of an informative web page wants to be your free consultant. Do not make optimistic guesses about whether your question will be welcome — if you are unsure, send it elsewhere, or refrain from sending it at all.

When selecting a Web forum, newsgroup or mailing list, don’t trust the name by itself too far; look for a FAQ or charter to verify that your question is on-topic. Read some of the back traffic before posting so you’ll get a feel for how things are done there. In fact, it’s a very good idea to do a keyword search for words relating to your problem on the newsgroup or mailing list archives before you post. It may find you an answer, and if not it will help you formulate a better question.

Don’t shotgun-blast all the available help channels at once, that’s like yelling and irritates people. Step through them.

Know what your topic is! One of the classic mistakes is asking questions about the Unix or Windows programming interface in a forum devoted to a language or library or tool that is portable across both. If you don’t understand why this is a blunder, you’d be best off not asking any questions at all until you get it.

In general, questions to a well-selected public forum are more likely to get useful answers than equivalent questions to a private one. There are multiple reasons for this. One is simply the size of the pool of potential respondents. Another is the size of the audience; hackers would rather answer questions that educate a lot of people than questions which only serve a few.

Understandably, skilled hackers and authors of popular software are already receiving more than their fair share of mistargeted messages. By adding to the flood, you could in extreme cases even be the straw which breaks the camel’s back — quite a few times, contributors to popular projects have withdrawn their support because the collateral damage in the form of useless email traffic to their personal accounts became unbearable.

Web and IRC forums directed towards newbies often give the quickest response

Your local user group, or your Linux distribution, may advertise a Web forum or IRC channel where newbies can get help. (In non-English-speaking countries newbie forums are still more likely to be mailing lists.) These are good first places, to ask, especially if you think you may have tripped over a relatively simple or common problem. An advertised IRC channel is an open invitation to ask questions there and often get answers in real time.

In fact, if you got the program that is giving you problems from a distro (as common today), it may be better to ask in the distro forum/list before trying the program’s project forum/list. The project’s hackers may just say, “use our build”.

Before posting to any Web forum, check if it has a Search feature. And if it does, try a couple of keyword searches for something like your problem; it just might help. If you did a general Web search before (as you should have), search the forum anyway; your web-wide search engine might not have all of this forum indexed recently.

There is an increasing tendency for projects to do user support over a Web forum or IRC channel, with email more reserved for development traffic. So look for those channels first when seeking project-specific help.

As a second step, use project mailing lists

When a project has a development mailing list, write to the mailing list, not to individual developers, even if you believe that you know who can answer your question best. Check the documentation of the project and its homepage for the address of a project mailing list, and use it. There are several good reasons for this policy:

  • Any question that’s good enough to be asked of one developer will also be of value to the whole group. Contrariwise, if you suspect that your question is too dumb for a mailing list, it’s not an excuse to harass individual developers.

  • Asking questions on the list distributes load between developers. The individual developer (especially if he’s the project leader) may be too busy to answer your questions.

  • Most mailing lists are archived and the archives are indexed by search engines. Somebody could find your question and the answer on the web instead of asking it again in the list.

  • If certain questions are seen to be asked often, the developers can use that information to improve the documentation or the software itself to be less confusing. But if those questions are asked in private, nobody has the complete picture of what questions are asked most often.

If a project has both a “user” and a “developer” (or “hacker”) mailing list or Web forum, and you are not hacking on the code, ask in the “user” list/forum. Do not assume that you will be welcome on the developer list, where they are likely to experience your question as noise disrupting their developer traffic.

However, if you are sure your question is non-trivial, and you get no answer in the “user” list/forum for several days, try the “developer” one. You would be well advised to lurk there for a few days before posting to learn the local folkways (actually this is good advice on any private or semi-private list).

If you cannot find a project’s mailing list address, but only see the address of the maintainer of the project, go ahead and write to the maintainer. But even in that case, don’t assume that the mailing list doesn’t exist. State in your e-mail that you tried and could not find the appropriate mailing list. Also mention that you don’t object to having your message forwarded to other people. (Many people believe that private e-mail should remain private, even if there is nothing secret in it. By allowing your message to be forwarded you give your correspondent a choice about how to handle your e-mail.)

Use meaningful, specific subject headers

On mailing lists, newsgroups or Web forums, the subject header is your golden opportunity to attract qualified experts’ attention in around 50 characters or fewer. Don’t waste it on babble like “Please help me” (let alone “PLEASE HELP ME!!!!”; messages with subjects like that get discarded by reflex). Don’t try to impress us with the depth of your anguish; use the space for a super-concise problem description instead.

A good convention for subject headers, used by many tech support organizations, is “object – deviation”. The “object” part specifies what thing or group of things is having a problem, and the “deviation” part describes the deviation from expected behavior.

Stupid:

HELP! Video doesn’t work properly on my laptop!

Smart:

XFree86 4.1 misshapen mouse cursor, Fooware MV1005 vid. chipset

Smarter:

XFree86 4.1 mouse cursor on Fooware MV1005 vid. chipset – is misshapen

The process of writing an “object-deviation” description will help you organize your thinking about the problem in more detail. What is affected? Just the mouse cursor or other graphics too? Is this specific to XFree86? To version 4.1? Is this specific to Fooware video chipsets? To model MV1005? A hacker who sees the result can immediately understand what it is that you are having a problem with and the problem you are having, at a glance.

More generally, imagine looking at the index of an archive of questions, with just the subject lines showing. Make your subject line reflect your question well enough that the next guy searching the archive with a question similar to yours will be able to follow the thread to an answer rather than posting the question again.

If you ask a question in a reply, be sure to change the subject line to indicate that you are asking a question. A Subject line that looks like “Re: test” or “Re: new bug” is less likely to attract useful amounts of attention. Also, pare quotes of previous messages to the minimum consistent with cluing in new readers.

Do not simply hit reply to a list message in order to start an entirely new thread. This will limit your audience. Some mail readers, like mutt, allow the user to sort by thread and then hide messages in a thread by folding the thread. Folks who do that will never see your message.

Changing the subject is not sufficient. Mutt, and probably other mail readers, looks at other information in the email’s headers to assign it to a thread, not the subject line. Instead start an entirely new email.

On Web forums the rules of good practice are slightly different, because messages are usually much more tightly bound to specfic discussion threads and often invisible outside those threads. Changing the subject when asking a question in reply is not essential (not all forums even allow separate subject lines on replies, and nearly nobody reads them when they do). But asking a question in a reply is a dubious practice in itself, because it will only be seen by those who are watching this thread. So, unless you are sure you want to ask the people currently active in the thread, start a new one.

Make it easy to reply

Finishing your query with “Please send your reply to… ” makes it quite unlikely you will get an answer. If you can’t be bothered to take even the few seconds required to set up a correct Reply-To header in your mail agent, we can’t be bothered to take even a few seconds to think about your problem. If your mail program doesn’t permit this, get a better mail program. If your operating system doesn’t support any mail programs that permit this, get a better operating system.

In Web forums, asking for a reply by email is outright rude, unless you believe the information may be sensitive (and somebody will, for some unknown reason, let you but not the whole forum know it). If you want to get an email when somebody replies in the thread, request that the Web forum send it; this feature is supported almost everywhere under options like “watch this thread”, “send email on answers”, etc.)

Write in clear, grammatical, correctly-spelled language

We’ve found by experience that people who are careless and sloppy writers are usually also careless and sloppy at thinking and coding (often enough to bet on, anyway). Answering questions for careless and sloppy thinkers is not rewarding; we’d rather spend our time elsewhere.

So expressing your question clearly and well is important. If you can’t be bothered to do that, we can’t be bothered to pay attention. Spend the extra effort to polish your language. It doesn’t have to be stiff or formal — in fact, hacker culture values informal, slangy and humorous language used with precision. But it has to be precise; there has to be some indication that you’re thinking and paying attention.

Spell, punctuate, and capitalize correctly. Don’t confuse “its” with “it’s”, “loose” with “lose”, or “discrete” with “discreet”. Don’t TYPE IN ALL CAPS, this is read as shouting and considered rude. (All-smalls is only slightly less annoying, as it’s difficult to read. Alan Cox can get away with it, but you can’t.)

More generally, if you write like a semi-literate boob you will very likely be ignored. Writing like a l33t script kiddie hax0r is the absolute kiss of death and guarantees you will receive nothing but stony silence (or, at best, a heaping helping of scorn and sarcasm) in return.

If you are asking questions in a forum that does not use your native language, you will get a limited amount of slack for spelling and grammar errors — but no extra slack at all for laziness (and yes, we can usually spot that difference). Also, unless you know what your respondent’s languages are, write in English. Busy hackers tend to simply flush questions in languages they don’t understand, and English is the working language of the Internet. By writing in English you minimize your chances that your question will be discarded unread.

Send questions in formats that are easy to understand

If you make your question artificially hard to read, it is more likely to be passed over in favor of one that isn’t. So:

  • Send plain text mail, not HTML. (It’s not hard to turn off HTML.)

  • MIME attachments are usually OK, but only if they are real content (such as an attached source file or patch), and not merely boilerplate generated by your mail client (such as another copy of your message).

  • Don’t send mail in which entire paragraphs are single multiply-wrapped lines. (This makes it too difficult to reply to just part of the message.) Assume that your respondents will be reading mail on 80-character-wide text displays and set your line wrap accordingly, to something less than 80.

  • However, do not wrap data (such as log file dumps or session transcripts) at any fixed column width. Data should be included as-is, so respondents can have confidence that they are seeing what you saw.

  • Don’t send MIME Quoted-Printable encoding to an English-language forum. This encoding can be necessary when you’re posting in a language ASCII doesn’t cover, but a lot of mail agents don’t support it. When they break, all those =20 glyphs scattered through the text are ugly and distracting.

  • Never, ever expect hackers to be able to read closed proprietary document formats like Microsoft Word or Excel. Most hackers react to these about as well as you would to having a pile of steaming pig manure dumped on your doorstep. Even when they can cope, they resent having to do so.

  • If you’re sending mail from a Windows machine, turn off Microsoft’s stupid “Smart Quotes” feature. This is so you’ll avoid sprinkling garbage characters through your mail.

  • In Web forums, do not abuse “smiley” and “html” features (when they are present). A smiley or two is usually OK, but colored fancy text tends to make people think you are lame. Seriously overusing smileys and color and fonts will make you come off like a giggly teenage girl, which is not generally a good idea unless you are more interested in sex than answers.

If you’re using a graphical-user-interface mail client, (such as Netscape Messenger, MS Outlook, or their ilk) beware that it may violate these rules when used with its default settings. Most such clients have a menu-based “View Source” command. Use this on something in your sent-mail folder to check that you are sending plain text without unnecessary attached crud.

Be precise and informative about your problem

  • Describe the symptoms of your problem or bug carefully and clearly.

  • Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor’s distribution and release level (e.g.: “Fedora Core 2”, “Slackware 9.1”, etc.).

  • Describe the research you did to try and understand the problem before you asked the question.

  • Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.

  • Describe any recent changes in your computer or software configuration that might be relevant.

Do the best you can to anticipate the questions a hacker will ask, and to answer them in advance in your request for help.

Simon Tatham has written an excellent essay entitled How to Report Bugs Effectively. I strongly recommend that you read it.

Volume is not precision

You need to be precise and informative. This end is not served by simply dumping huge volumes of code or data into a help request. If you have a large, complicated test case that is breaking a program, try to trim it and make it as small as possible.

This is useful for at least three reasons. One: being seen to invest effort in simplifying the question makes it more likely that you’ll get an answer, Two: simplifying the question makes it more likely you’ll get a useful answer. Three: In the process of refining your bug report, you may develop a fix or workaround yourself.

Don’t claim that you have found a bug

When you are having problems with a piece of software, don’t claim you have found a bug unless you are very, very sure of your ground. Hint: unless you can provide a source-code patch that fixes the problem, or a regression test against a previous version that demonstrates incorrect behavior, you are probably not sure enough. This applies to web pages and documentation, too; if you have found a documentation “bug”, you should supply replacement text and which pages it should go on.

Remember, there are a lot of other users that are not experiencing your problem. Otherwise you would have learned about it while reading the documentation and searching the Web (you did do that before complaining, didn’t you?). This means that very probably it is you who are doing something wrong, not the software.

The people who wrote the software work very hard to make it work as well as possible. If you claim you have found a bug, you’ll be implying that they did something wrong, and you will almost always offend them — even when you are correct. It’s especially undiplomatic to yell “bug” in the Subject line.

When asking your question, it is best to write as though you assume you are doing something wrong, even if you are privately pretty sure you have found an actual bug. If there really is a bug, you will hear about it in the answer. Play it so the maintainers will want to apologize to you if the bug is real, rather than so that you will owe them an apology if you have messed up.

Grovelling is not a substitute for doing your homework

Some people who get that they shouldn’t behave rudely or arrogantly, demanding an answer, retreat to the opposite extreme of grovelling. “I know I’m just a pathetic newbie loser, but…”. This is distracting and unhelpful. It’s especially annoying when it’s coupled with vagueness about the actual problem.

Don’t waste your time, or ours, on crude primate politics. Instead, present the background facts and your question as clearly as you can. That is a better way to position yourself than by grovelling.

Sometimes Web forums have separate places for newbie questions. If you feel you do have a newbie question, just go there. But don’t grovel there either.

Describe the problem’s symptoms, not your guesses

It’s not useful to tell hackers what you think is causing your problem. (If your diagnostic theories were such hot stuff, would you be consulting others for help?) So, make sure you’re telling them the raw symptoms of what goes wrong, rather than your interpretations and theories. Let them do the interpretation and diagnosis. If you feel it’s important to state your guess, clearly label it as such and describe why that answer isn’t working for you.

Stupid:

I’m getting back-to-back SIG11 errors on kernel compiles, and suspect a hairline crack on one of the motherboard traces. What’s the best way to check for those?

Smart:

My home-built K6/233 on an FIC-PA2007 motherboard (VIA Apollo VP2 chipset) with 256MB Corsair PC133 SDRAM starts getting frequent SIG11 errors about 20 minutes after power-on during the course of kernel compiles, but never in the first 20 minutes. Rebooting doesn’t restart the clock, but powering down overnight does. Swapping out all RAM didn’t help. The relevant part of a typical compile session log follows.

Describe your problem’s symptoms in chronological order

The most useful clues in figuring out something that went wrong often lie in the events immediately prior. So, your account should describe precisely what you did, and what the machine did, leading up to the blowup. In the case of command-line processes, having a session log (e.g., using the script utility) and quoting the relevant twenty or so lines is very useful.

If the program that blew up on you has diagnostic options (such as -v for verbose), try to think carefully about selecting options that will add useful debugging information to the transcript.

If your account ends up being long (more than about four paragraphs), it might be useful to succinctly state the problem up top, then follow with the chronological tale. That way, hackers will know what to watch for in reading your account.

Describe the goal, not the step

If you are trying to find out how to do something (as opposed to reporting a bug), begin by describing the goal. Only then describe the particular step towards it that you are blocked on.

Often, people who need technical help have a high-level goal in mind and get stuck on what they think is one particular path towards the goal. They come for help with the step, but don’t realize that the path is wrong. It can take a lot of effort to get past this.

Stupid:

How do I get the color-picker on the FooDraw program to take a hexadecimal RGB value?

Smart:

I’m trying to replace the color table on an image with values of my choosing. Right now the only way I can see to do this is by editing each table slot, but I can’t get FooDraw’s color picker to take a hexadecimal RGB value.

The second version of the question is smart. It allows an answer that suggests a tool better suited to the task.

Don’t ask people to reply by private email

Hackers believe solving problems should be a public, transparent process during which a first try at an answer can and should be corrected if someone more knowledgeable notices that it is incomplete or incorrect. Also, they get some of their reward for being respondents from being seen to be competent and knowledgeable by their peers.

When you ask for a private reply, you are disrupting both the process and the reward. Don’t do this. It’s the respondent’s choice whether to reply privately — and if he does, it’s usually because he thinks the question is too ill-formed or obvious to be interesting to others.

There is one limited exception to this rule. If you think the question is such that you are likely to get a lot of answers that are all pretty similar, then the magic words are “email me and I’ll summarize the answers for the group”. It is courteous to try and save the mailing list or newsgroup a flood of substantially identical postings — but you have to keep the promise to summarize.

Be explicit about the question you have

Open-ended questions tend to be perceived as open-ended time sinks. The people most likely to be able to give you a useful answer are also the busiest people (if only because they take on the most work themselves). People like that are allergic to open-ended time sinks, thus they tend to be allergic to open-ended questions.

You are more likely to get a useful response if you are explicit about what you want respondents to do (provide pointers, send code, check your patch, whatever). This will focus their effort and implicitly put an upper bound on the time and energy a respondent has to put in to helping you. This is good.

To understand the world the experts live in, think of expertise as an abundant resource and time to respond as a scarce one. The less of a time commitment you implicitly ask for, the more likely you are to get an answer from someone really good and really busy.

So it is useful to frame your question to minimize the time commitment required for an expert to field it — but this is often not the same thing as simplifying the question. Thus, for example, “Would you give me a pointer to a good explanation of X?” is usually a smarter question than “Would you explain X, please?”. If you have some code that isn’t working, it is usually smarter to ask for someone to explain what’s wrong with it than it is to ask someone to fix it.

Don’t post homework questions

Hackers are good at spotting homework questions; most of us have done them ourselves. Those questions are for you to work out, so that you will learn from the experience. It is OK to ask for hints, but not for entire solutions.

If you suspect you have been passed a homework question, but can’t solve it anyway, try asking in a user group forum or (as a last resort) in a “user” list/forum of a project. While the hackers will spot it, some of the advanced users may at least give you a hint.

Prune pointless queries

Resist the temptation to close your request for help with semantically-null questions like “Can anyone help me?” or “Is there an answer?” First: if you’ve written your problem description halfway competently, such tacked-on questions are at best superfluous. Second: because they are superfluous, hackers find them annoying — and are likely to return logically impeccable but dismissive answers like “Yes, you can be helped” and “No, there is no help for you.

In general, asking yes-or-no questions is a good thing to avoid unless you want a yes-or-no answer.

Don’t flag your question as “Urgent”, even if it is for you

That’s your problem, not ours. Claiming urgency is very likely to be counter-productive: most hackers will simply delete such messages as rude and selfish attempts to elicit immediate and special attention.

There is one semi-exception. It can be worth mentioning if you’re using the program in some high-profile place, one that the hackers will get excited about; in such a case, if you’re under time pressure, and you say so politely, people may get interested enough to answer faster.

This is a very risky thing to do, however, because the hackers’ metric for what is exciting probably differ from yours. Posting from the International Space Station would qualify, for example, but posting on behalf of a feel-good charitable or political cause would almost certainly not. In fact, posting “Urgent: Help me save the fuzzy baby seals!” will reliably get you shunned or flamed even by hackers who think fuzzy baby seals are important.

If you find this mysterious, re-read the rest of this how-to repeatedly until you understand it before posting anything at all.

Courtesy never hurts, and sometimes helps

Be courteous. Use “Please” and “Thanks for your attention” or “Thanks for your consideration”. Make it clear that you appreciate the time people spend helping you for free.

To be honest, this isn’t as important as (and cannot substitute for) being grammatical, clear, precise and descriptive, avoiding proprietary formats etc.; hackers in general would rather get somewhat brusque but technically sharp bug reports than polite vagueness. (If this puzzles you, remember that we value a question by what it teaches us.)

However, if you’ve got your technical ducks in a row, politeness does increase your chances of getting a useful answer.

(We must note that the only serious objection we have received from veteran hackers to this HOWTO is with respect to our previous recommendation to use “Thanks in advance”. Some hackers feel this connotes an intention not to thank anybody afterwards. Our recommendation is to either say “Thanks in advance” first and thank respondents afterwards, or express courtesy in a different way, such as by saying “Thanks for your attention” or “Thanks for your consideration”.)

Follow up with a brief note on the solution

Send a note after the problem has been solved to all who helped you; let them know how it came out and thank them again for their help. If the problem attracted general interest in a mailing list or newsgroup, it’s appropriate to post the followup there.

Optimally, the reply should be to the thread started by the original question posting, and should have ‘FIXED’, ‘RESOLVED’ or an equally obvious tag in the subject line. On mailing lists with fast turnaround, a potential respondent who sees a thread about “Problem X” ending with “Problem X – FIXED” knows not to waste his/her time even reading the thread (unless (s)he) personally finds Problem X interesting) and can therefore use that time solving a different problem.

Your followup doesn’t have to be long and involved; a simple “Howdy — it was a failed network cable! Thanks, everyone. – Bill” would be better than nothing. In fact, a short and sweet summary is better than a long dissertation unless the solution has real technical depth. Say what action solved the problem, but you need not replay the whole troubleshooting sequence.

For problems with some depth, it is appropriate to post a summary of the troubleshooting history. Describe your final problem statement. Describe what worked as a solution, and indicate avoidable blind alleys after that. The blind alleys should come after the correct solution and other summary material, rather than turning the follow-up into a detective story. Name the names of people who helped you; you’ll make friends that way.

Besides being courteous and informative, this sort of followup will help others searching the archive of the mailing-list/newsgroup/forum to know exactly which solution helped you and thus may also help them.

Last, and not least, this sort of followup helps everybody who assisted feel a satisfying sense of closure about the problem. If you are not a techie or hacker yourself, trust us that this feeling is very important to the gurus and experts you tapped for help. Problem narratives that trail off into unresolved nothingness are frustrating things; hackers itch to see them resolved. The good karma that scratching that itch earns you will be very, very helpful to you next time you need to pose a question.

Consider how you might be able to prevent others from having the same problem in the future. Ask yourself if a documentation or FAQ patch would help, and if the answer is yes send that patch to the maintainer.

Among hackers, this sort of behavior is actually more important than conventional politeness. It’s how you get a reputation for playing well with others, which can be a very valuable asset.

How To Interpret Answers

RTFM and STFW: How To Tell You’ve Seriously Screwed Up

There is an ancient and hallowed tradition: if you get a reply that reads “RTFM”, the person who sent it thinks you should have Read The Fucking Manual. He is almost certainly right. Go read it.

RTFM has a younger relative. If you get a reply that reads “STFW”, the person who sent it thinks you should have Searched The Fucking Web. He is almost certainly right. Go search it. (The milder version of this is when you are told “Google is your friend!”)

In Web forums, you may also be told to search the forum archives. In fact, someone may even be so kind as to provide a pointer to the previous thread where this problem was solved. But do not rely on this consideration; do your archive-searching before asking.

Often, the person telling you to do a search has the manual or the web page with the information you need open, and is looking at it as he types. These replies mean that he thinks (a) the information you need is easy to find, and (b) you will learn more if you seek out the information than if you have it spoon-fed to you.

You shouldn’t be offended by this; by hacker standards, he is showing you a rough kind of respect simply by not ignoring you. You should instead thank him for his grandmotherly kindness.

If you don’t understand…

If you don’t understand the answer, do not immediately bounce back a demand for clarification. Use the same tools that you used to try and answer your original question (manuals, FAQs, the Web, skilled friends) to understand the answer. Then, if you still need to ask for clarification, exhibit what you have learned.

For example, suppose I tell you: “It sounds like you’ve got a stuck zentry; you’ll need to clear it.” Then here’s a bad followup question: “What’s a zentry?” And here’s a good followup question: “OK, I read the man page and zentries are only mentioned under the -z and -p switches. Neither of them says anything about clearing zentries. Is it one of these or am I missing something here?

Dealing with rudeness

Much of what looks like rudeness in hacker circles is not intended to give offence. Rather, it’s the product of the direct, cut-through-the-bullshit communications style that is natural to people who are more concerned about solving problems than making others feel warm and fuzzy.

When you perceive rudeness, try to react calmly. If someone is really acting out, it is very likely that a senior person on the list or newsgroup or forum will call him or her on it. If that doesn’t happen and you lose your temper, it is likely that the person you lose it at was behaving within the hacker community’s norms and you will be considered at fault. This will hurt your chances of getting the information or help you want.

On the other hand, you will occasionally run across rudeness and posturing that is quite gratuitous. The flip-side of the above is that it is acceptable form to slam real offenders quite hard, dissecting their misbehavior with a sharp verbal scalpel. Be very, very sure of your ground before you try this, however. The line between correcting an incivility and starting a pointless flamewar is thin enough that hackers themselves not infrequently blunder across it; if you are a newbie or an outsider, your chances of avoiding such a blunder are low. If you’re after information rather than entertainment, it’s better to keep your fingers off the keyboard than to risk this.

(Some people assert that many hackers have a mild form of autism or Asperger’s Syndrome, and are actually missing some of the brain circuitry that lubricates `normal’ human social interaction. This may or may not be true. If you are not a hacker yourself, it may help you cope with our eccentricities if you think of us as being brain-damaged. Go right ahead. We won’t care; we like being whatever it is we are, and generally have a healthy skepticism about clinical labels.)

In the next section, we’ll talk about a different issue; the kind of `rudeness’ you’ll see when you misbehave.

On Not Reacting Like A Loser

Odds are you’ll screw up a few times on hacker community forums — in ways detailed in this article, or similar. And you’ll be told exactly how you screwed up, possibly with colourful asides. In public.

When this happens, the worst thing you can do is whine about the experience, claim to have been verbally assaulted, demand apologies, scream, hold your breath, threaten lawsuits, complain to people’s employers, leave the toilet seat up, etc. Instead, here’s what you do:

Get over it. It’s normal. In fact, it’s healthy and appropriate.

Community standards do not maintain themselves: They’re maintained by people actively applying them, visibly, in public. Don’t whine that all criticism should have been conveyed via private mail: That’s not how it works. Nor is it useful to insist you’ve been personally insulted when someone comments that one of your claims was wrong, or that his views differ. Those are loser attitudes.

There have been hacker forums where, out of some misguided sense of hyper-courtesy, participants are banned from posting any fault-finding with another’s posts, and told “Don’t say anything if you’re unwilling to help the user.” The resulting departure of clueful participants to elsewhere causes them to descend into meaningless babble and become useless as technical forums.

Exaggeratedly “friendly” (in that fashion) or useful: Pick one.

Remember: When that hacker tells you that you’ve screwed up, and (no matter how gruffly) tells you not to do it again, he’s acting out of concern for (1) you and (2) his community. It would be much easier for him to ignore you and filter you out of his life. If you can’t manage to be grateful, at least have a little dignity, don’t whine, and don’t expect to be treated like a fragile doll just because you’re a newcomer with a theatrically hypersensitive soul and delusions of entitlement.

Sometimes people will attack you personally, flame without an apparent reason, etc., even if you don’t screw up (or have only screwed up in their imagination). In this case, complaining is the way to really screw up.

These flamers are either lamers who don’t have a clue but believe themselves to be experts, or would-be psychologists testing whether you’ll screw up. The other readers either ignore them, or find ways to deal with them on their own. The flamers’ behavior creates problems for themselves, which don’t have to concern you.

Don’t let yourself be drawn into a flamewar, either. Most flames are best ignored — after you’ve checked whether they are really flames, not pointers to the ways in which you have screwed up, and not cleverly ciphered answers to your real question (this happens as well).

Questions Not To Ask

Here are some classic stupid questions, and what hackers are thinking when they don’t answer them.

Q: Where can I find program or resource X?
Q: How can I use X to do Y?
Q: How can I configure my shell prompt?
Q: Can I convert an AcmeCorp document into a TeX file using the Bass-o-matic file converter?
Q: My {program, configuration, SQL statement} doesn’t work
Q: I’m having problems with my Windows machine. Can you help?
Q: My program doesn’t work. I think system facility X is broken.
Q: I’m having problems installing Linux or X. Can you help?
Q: How can I crack root/steal channel-ops privileges/read someone’s email?
Q:

Where can I find program or resource X?

A:

The same place I’d find it, fool — at the other end of a web search. Ghod, doesn’t everybody know how to use Google yet?

Q:

How can I use X to do Y?

A:

If what you want is to do Y, you should ask that question without pre-supposing the use of a method that may not be appropriate. Questions of this form often indicate a person who is not merely ignorant about X, but confused about what problem Y they are solving and too fixated on the details of their particular situation. It is generally best to ignore such people until they define their problem better.

Q:

How can I configure my shell prompt?

A:

If you’re smart enough to ask this question, you’re smart enough to RTFM and find out yourself.

Q:

Can I convert an AcmeCorp document into a TeX file using the Bass-o-matic file converter?

A:

Try it and see. If you did that, you’d (a) learn the answer, and (b) stop wasting my time.

Q:

My {program, configuration, SQL statement} doesn’t work

A:

This is not a question, and I’m not interested in playing Twenty Questions to pry your actual question out of you — I have better things to do. On seeing something like this, my reaction is normally of one of the following:

  • do you have anything else to add to that?

  • oh, that’s too bad, I hope you get it fixed.

  • and this has exactly what to do with me?

Q:

I’m having problems with my Windows machine. Can you help?

A:

Yes. Throw out that Microsoft trash and install an open-source operating system like Linux or BSD.

Note: you can ask questions related to Windows machines if they are about a program that does have an official Windows build, or interacts with Windows machines (i.e. Samba). Just don’t be surprised by the reply that the problem is with Windows and not the program, because Windows is so broken in general that this is very often the case.

Q:

My program doesn’t work. I think system facility X is broken.

A:

While it is possible that you are the first person to notice an obvious deficiency in system calls and libraries heavily used by hundreds or thousands of people, it is rather more likely that you are utterly clueless. Extraordinary claims require extraordinary evidence; when you make a claim like this one, you must back it up with clear and exhaustive documentation of the failure case.

Q:

I’m having problems installing Linux or X. Can you help?

A:

No. I’d need hands-on access to your machine to troubleshoot this. Go ask your local Linux user group for hands-on help. (You can find a list of user groups here.)

Note: questions about installing Linux may be appropriate if you’re on a forum or mailing list about a particular distro, and the problem is with that distro; or on local user groups forums. In this case, be sure to describe the exact details of the failure. But do careful searching first, with "linux" and all suspicious pieces of hardware.

Q:

How can I crack root/steal channel-ops privileges/read someone’s email?

A:

You’re a lowlife for wanting to do such things and a moron for asking a hacker to help you.

Good and Bad Questions

Finally, I’m going to illustrate how to ask questions in a smart way by example; pairs of questions about the same problem, one asked in a stupid way and one in a smart way.

Stupid: Where can I find out stuff about the Foonly Flurbamatic?

This question just begs for "STFW" as a reply.

Smart: I used Google to try to find “Foonly Flurbamatic 2600” on the Web, but I got no useful hits. Does anyone know where I can find programming information on this device?

This one has already STFWed, and sounds like he might have a real problem.

Stupid: I can’t get the code from project foo to compile. Why is it broken?

He assumes that somebody else screwed up. Arrogant of him.

Smart: The code from project foo doesn’t compile under Nulix version 6.2. I’ve read the FAQ, but it doesn’t have anything in it about Nulix-related problems. Here’s a transcript of my compilation attempt; is it something I did?

He’s specified the environment, he’s read the FAQ, he’s showing the error, and he’s not assuming his problems are someone else’s fault. This guy might be worth some attention.

Stupid: I’m having problems with my motherboard. Can anybody help?

J. Random Hacker’s response to this is likely to be “Right. Do you need burping and diapering, too?” followed by a punch of the delete key.

Smart: I tried X, Y, and Z on the S2464 motherboard. When that didn’t work, I tried A, B, and C. Note the curious symptom when I tried C. Obviously the florbish is grommicking, but the results aren’t what one might expect. What are the usual causes of grommicking on Athlon MP motherboards? Anybody got ideas for more tests I can run to pin down the problem?

This person, on the other hand, seems worthy of an answer. He has exhibited problem-solving intelligence rather than passively waiting for an answer to drop from on high.

In the last question, notice the subtle but important difference between demanding “Give me an answer” and “Please help me figure out what additional diagnostics I can run to achieve enlightenment.

In fact, the form of that last question is closely based on a real incident that happened in August 2001 on the linux-kernel mailing list (lkml). I (Eric) was the one asking the question that time. I was seeing mysterious lockups on a Tyan S2462 motherboard. The listmembers supplied the critical information I needed to solve them.

By asking the question in the way I did, I gave people something to chew on; I made it easy and attractive for them to get involved. I demonstrated respect for my peers’ ability and invited them to consult with me as a peer. I also demonstrated respect for the value of their time by telling them the blind alleys I had already run down.

Afterwards, when I thanked everyone and remarked how well the process had worked, an lkml member observed that he thought it had worked not because I’m a “name” on that list, but because I asked the question in the proper form.

Hackers are in some ways a very ruthless meritocracy; I’m certain he was right, and that if I had behaved like a sponge I would have been flamed or ignored no matter who I was. His suggestion that I write up the whole incident as instruction to others led directly to the composition of this guide.

If You Can’t Get An Answer

If you can’t get an answer, please don’t take it personally that we don’t feel we can help you. Sometimes the members of the asked group may simply not know the answer. No response is not the same as being ignored, though admittedly it’s hard to spot the difference from outside.

In general, simply re-posting your question is a bad idea. This will be seen as pointlessly annoying.

There are other sources of help you can go to, often sources better adapted to a novice’s needs.

There are many online and local user groups who are enthusiasts about the software, even though they may never have written any software themselves. These groups often form so that people can help each other and help new users.

There are also plenty of commercial companies you can contract with for help, both large and small (Red Hat and Linuxcare are two of the best known; there are many others). Don’t be dismayed at the idea of having to pay for a bit of help! After all, if your car engine blows a head gasket, chances are you would take it to a repair shop and pay to get it fixed. Even if the software didn’t cost you anything, you can’t expect that support will always come for free.

For popular software like Linux, there are at least 10,000 users per developer. It’s just not possible for one person to handle the support calls from over 10,000 users. Remember that even if you have to pay for support, you are still paying much less than if you had to buy the software as well (and support for closed-source software is usually more expensive and less competent than support for open-source software).

How To Answer Questions in a Helpful Way

Be gentle. Problem-related stress can make people seem rude or stupid even when they’re not.

Reply to a first offender off-line. There is no need of public humiliation for someone who may have made an honest mistake. A real newbie may not know how to search archives or where the FAQ is stored or posted.

If you don’t know for sure, say so! A wrong but authoritative-sounding answer is worse than none at all. Don’t point anyone down a wrong path simply because it’s fun to sound like an expert. Be humble and honest; set a good example for both the querent and your peers.

If you can’t help, don’t hinder. Don’t make jokes about procedures that could trash the user’s setup — the poor sap might interpret these as instructions.

Ask probing questions to elicit more details. If you’re good at this, the querent will learn something — and so might you. Try to turn the bad question into a good one; remember we were all newbies once.

While just muttering RTFM is sometimes justified when replying to someone who is just a lazy slob, a pointer to documentation (even if it’s just a suggestion to Google for a key phrase) is better.

If you’re going to answer the question at all, give good value. Don’t suggest kludgy workarounds when somebody is using the wrong tool or approach. Suggest good tools. Reframe the question.

Help your community learn from the question. When you field a good question, ask yourself “How would the relevant documentation or FAQ have to change so that nobody has to answer this again?” Then send a patch to the document maintainer.

If you did research to answer the question, demonstrate your skills rather than writing as though you pulled the answer out of your butt. Answering one good question is like feeding a hungry person one meal, but teaching them research skills by example is teaching them to grow food for a lifetime.

Related Resources

If you need instruction in the basics of how personal computers, Unix, and the Internet work, see The Unix and Internet Fundamentals HOWTO.

When you release software or write patches for software, try to follow the guidelines in the Software Release Practice HOWTO.

Acknowledgements

Evelyn Mitchell contributed some example stupid questions and inspired the “How To Give A Good Answer” section. Mikhail Ramendik contributed some particularly valuable suggestions for improvements.

2005年04月04日



Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out

Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out
Click here to open new window<br />
CTRL+Mouse wheel to zoom in/out

2005年03月27日

1.如果同时有多个窗口打开,想要关闭的话,可以按住shift不放然后点击窗口右 上角的关闭图标.
2.在保存网页前,可以按一下”ESC”键(或脱机工作)再保存,这样保存很快
3. 用电脑听CD可以不用任何的播放软件,把音箱线直接接到光驱的耳机孔,放入 CD,按光驱上的play键就可以直接听了,这样听歌可以不占用系统资源。(如果你的电脑坏了,不能启动或什么的,一时放在那不能修,千万不要浪费资源 ,把用里面的电源给光驱通上电,就可以暂时做CD机了.
4.MSN中发消息的时候是按enter的,如果想要换行而不想发出消息,可以 shift+enter或ctrl+enter
5.浏览器的地址栏里可以调试简短的HTML代码。方法如下: 地址栏写 about :abc 回车,就看到效果了.
6.Windows快捷键:
win+m 显示桌面
win+pause 系统属性
快速重新启动:按确定前先按shift(不适用于2k、xp).
彻底删除:shift+del
不让光盘自动运行:按shift
Ctrl+Esc:相当于”开始”或WIN键
Ctrl+Home:将游标移至文字编辑区的开始始(Home单用:移至列首)
Ctrl+End:将光标移至文字编辑区的终点(End单用:移至列尾)
Alt+F4:关闭当前视窗(若是点一下桌面再按则为关机)
F2:更改名称
windows+e 资源管理器.
windows+r 运行.
windows+f 查找.
windows+u 关闭系统.
windows+d最小化所有窗口,再按一次Win+D可回到最小化前的窗口.
windows+m最小化所有窗口,但再按一次无法回到最小化前的窗口.
Shift+F10,可以打开所选项目的右键菜单.
按住 CTRL+SHIFT 拖动文件:创建快捷方式.
7.关机快捷方式
(1). 在桌面空白位置按鼠标右键 -> <新建> -> 选<快捷方式>
(2). 在<指令行>键入 rundll.exe user.exe,exitwindows
(3). 在<选择快捷方式 的名称>键入<关闭Window>或你想要的名称 -> 按<完成 >
8.重新启动快捷方式
(1). 重复以上 (1)
(2). 在<指令行>键入 rundll.exe user.exe,exitwindow***ec
(3). 在<选择快捷方式的名称>键入<重新启动Restart>或你想要的名称 -> 按< 完成>
9.RUN – > cmd 或者command
就会看到DOS窗口。不知道大家注意到那个小小的图标没有,在左上角。
点击这个图标, 就会看到下拉菜单, 尤其是Edit下的一些功能, 很方便
10.con、nul是MS系统的保留名,它不能做为文件名!检查你的web空间是不是M$ 系统,可以建一个con的文件夹试试
11.想把自己的某个文件夹的文件做一个列表? 用什么软件呢? 不用,直接在命令 行下输入 “tree /f > index.txt”.打开index.txt看一下是不是一目了然
12.保存无边窗口页面请用CTRL+N新开窗口
13.如果一个文件夹下有很多文件,如果想快速找到想要的文件,先随便选择一个 文件,然后在键盘上选择想要的文件的第一个字母就可以了
14.说个QQ隐身登陆的笨办法:
在网吧上网,如果直接从注册向导登陆的话QQ是上线登陆的,可是有时候却不 希望现身,怎样实现隐身登陆呢?
就是拿一个没用的QQ先从注册向导登陆了,选择状态为隐身,然后在系统参数 中选中以隐身方式登陆,点确定,然后直接在这个QQ上运行注册向导登陆你要 登陆的QQ,你会发现现在QQ是隐身的了。
15.win98改ip不重启的办法:
1.改完ip选择取消。
2.在设备管理器里禁用改了ip的那块网卡。
3.启用网卡。
ok,你改的ip已经可以用了
16.2000和xp下运行”cmd”,进入dos窗口,复制和粘贴都用右键完成
17.收藏夹不要放在系统盘,以免忘了备份,每次装完系统用”超级魔法兔子“指 定路径
18.对于系统不明白的地方,平时多看windows自带的帮助,不要盲目去找人解决 ,也许帮助才是最快和最全的。(其余软件也是同理)
19.winxp自带批量重命名功能,只要选中一堆文件,选重命名,然后改第一个文 件,改完后,其他文件也会自动修改
20.上网时在地址栏内输入网址,系统会记录下来,虽然方便以后不用再重复,不 过如果是公用的机子,又不想让别人知道自己到过哪些地方,可以用“CTRL+ O(字母O,不是0)”,这时对弹出一个“打开”对话框,在其中的地址栏内 输入网址,就不会被记录下来了.
21.IE快捷键:
Ctrl+W关闭窗口
F4打开地址拦的下拉选择网址
F6或ALT+D选择地址拦
空格键可以下翻页,Shift+空格则可以上翻页
22.如果你用foxmail,邮箱路径不在默认位置,可以修改account.cfg
23.NTFS分区上文件属性中有个“摘要”功能,很有用的,这样一些软件安装程序 是什么东东就不会忘了啊!
24.在IE的地址栏输入: javescript:alert(document.lastModified)可以得到网 页的更新日期.
25.通过网络共享时,尽量使用”运行”,\ip地址共享文件名,而不要使用通过 “网上邻居”浏览访问,速度很慢,而且经常不全(特别是2000,xp),还要 注意适当的运用$
26.在98下快速做启动盘,只要把windows/command/edb下的所有文件复制到干净 的软盘中就可以做98启动盘
27.运行pq分区失败,出现不可识别的分区,只要找到pq安装目录UTILITY的 PTEDIT32.EXE,可以把原分区还原为原来格式.
打开资源管理器,选中文件夹,用小键盘的*,可以把这个文件夹中的所存在的 所有子文件夹迅速列出
28.QQ自己加自己的方法:在黑名单中加自己,然后再把自己拖到我的好友中就可 以了,然后再运行注册向导.
29.如果浏览的页面中应用了javascript禁用了鼠标右键,解决的方法:
1、如“xiayupei”的方法,先按住鼠标左键,然后将鼠标移动到目标处,点击 鼠标右键,一两秒之后,快捷菜单出现.
2、单击鼠标右键,(不要放开鼠标右键),将鼠标移到警告窗口处,点击鼠标 左键,关闭窗口,再将鼠标移回目标处,放开鼠标右键,快捷菜单出现.
30.realplay多曲播放.
选中多个曲目,然后拖到realplay 的播放地址栏就可以了,之后找到那个ram(会 自动生成),复制里面的内容多遍就可以反复听歌曲.
31.windows下文件可以只有扩展名
新建一个文本文档另存为.txt.前面什么也不要加,就可以了,但是你不能重 命名为这样的文件名!要用另存为!
32.IE真正的空白页:
在IE的快捷方式中右击—属性–选择“目标”,这里的信息为:“ crogram FilesInterner ExplorerEXPLORER.exe”,在它之后添加“ -nohome”字样即可。注意-nohome之前要有空格
快速设置主页:将IE地址栏里的“e”网页图标直接拖到工具栏上的“主页” 按钮图标上
不用重启也刷新注册表:同时按Ctrl+Alt+Del,在弹出的Windows任务列表中加 亮”Explore”,单击“结束任务”,显示关机屏幕,单击:“否“,稍候,弹出 错误信息,单击“结束任务”,windows游览器即会和新和注册表一起重新装 载!
33.快速启动RealOnePlayer的技巧:在Real的文件夹下搜索netid.smi和 getmedia.ini将其改名为:betid_bak.smi和getmedia_bak.ini,然后再打开 试试,是不是快很多.
34.跳过开机画面
启动时按 esc 即可,或者干脆一点,修改 msdos.sys在options段落加入 logo=0
35.创建浏览目录的快捷方式
在桌面上创建一个快捷方式, 命令为:C: WINDOW说什么PLORER.EXE /n,/e,C:当你双击此快捷方式时,将会用“Windows资源管理器”浏览C:。 当然,你可以用其他的目录名来替换命令中的C:
36.改变关机画面: 
记得以前可以改变开机画面吧,现在可以对关机画面动手喔!logow.sys 是等 待关机,logos.sys 是最後丑丑的 “您可以安全关机^_^都是 bmp 档,快动手 吧,原图是 320×400 , 256色!但是最後win95会把他放宽170%所以你可以先准备一张 544×400 的图 再把这张图 resize 成320×400 再 rename 一下档名 就可以啦!(只能 256色喔 )而且最好注意一下色盘的问题*开机画面也可以 喔!logo.sys….
37.这个 .exe 用了哪些 .dll? 对应用程式右键单击,选 “快速检视”
笔者注快速检视必须另行安装,方法如下:a. 控制台/新增或移除程式/ Win95 安装程式 /附属应用程式/详细资料!b. 核取”快速检视”方块–确定
38.厌倦图形介面了吗 想念以前先进入 dos 在打 win 进窗户吗在 msdos.sys 中加入这一行BootGUI=0
39.在 win95的MS-DOS下使用长文件名
只需要在文件名前后加引号(”")即可。如:
c:>dir “windows utilities”
c:>cd “windows utilities”insteasy
c:>edit “The list of my friends.txt”
40.加快软驱传输速度
  往软盘上存贮较多资料时,让人等得真有点烦。我们不可能对软驱的机械结构 进行改造,但可以通过修改系统注册表以获得较高的数据传输速度,具体方法 如下:
打开系统注册表编辑器,找到
“HEKY -LOCAL-MACHINESystemCurrentControlsetServicesClassFCD00″ ,在其右边的窗口空白处,占击鼠标的右健新建一个“DWORD”值,命名为 “ Fore-Fifo”,健值设定为“0”。最后关闭注册表面化编辑器,重新启动电 脑,一切就OK了!
41.MSN背景修改:
是不是觉得MSN的背景很单调呢?那么很简单,找到你喜欢的图片,估计好大 小,最好是选择背景是透明的。命名为lvback.gif,找到目录Crogram FilesMessenger,将原来图片覆盖就OK了!
42.启动Winamp,并播放一首MP3
2.然后按住[SHIFT]不放,再单击面板上的“停止”按钮
3.你会发现音乐没有立即停止,而是逐渐降低音量直至完全消失,就象电台DJ 做的一样
43.1.启动QuickTime Movie Player,并打开一个mov文件
2.当它播放的时候,点击暂停按钮,然后按下[Shift]键,并双击播映窗口
3.电影开始倒放了,声音也是倒放的
44.在98下文件夹共享时,在共享名后面加个$可以把共享文件夹隐藏
45.Shift的另一个用法:
①大家经常使用Tab键、Spase键,但不知各位注意过没有,以上转换键都是顺 向的,但你按住Shift不放,再用上述按键时,他的转换方向是不是倒过来了?
②在英文输入时,如果在小写状态下,按住Shift同时输入的字母为大写,反之 亦然;
46.智能ABC输入法中字母 “v”的用法:
①、在智能ABC输入中,V + 数字(1~9),可以输入各种字符、图形、数字 等,一试便知,奇妙无穷,但我想大多数人早都用了吧?
②、在智能ABC输入中,在输入拼音的过程中(“标准”或“双打”方式下) ,如果需要输入英文,可以不必切换到英文方式。键入“v”作为标志符,后 面跟随要输入的英文,按空格键即可。
47.在以Word为代表的Office系列中,图形、文本框等非字符元素的位置的微调: 以Word为例,在页面中插入图形或文本框等非字符元素,在页面排版时,经常 为Word固有的所进所干扰,无法达到如意的效果。在使用中,笔者摸索出以下 经验,与大家分享:
①、在调整某一图片(或其他元素,以下全以图片为代)的位置时,使用鼠标 或方向键将其移动到大致位置时,按住Ctrl键,再用方向键移动,你会发现现 在图片每次移动的间距比原来要小得多了,在Word要求的精度下应当完全达到 您的要求了。
②、在调整某一图片(或其他元素,以下全以图片为代)的大小时,不使用鼠 标时,图片变化的大小不连续,按住Alt键,再调节,现在其大小就可以任意 调节了.
48.大伙有没有碰过电脑黑屏一现象呀?按ESC以后,桌面上是否还留有许多黑色 的影子呢?特别是下面的任务栏……不用鼠标找,就黑成一条了…………可以 按“开始”——“关闭计算机”——“取消”,既可恢复.
49.2000或者Xp下硬盘默认是共享的,即使你关闭共享,下次启动后还是会共享。
想要让域内的工作站不盗窃你的个人工作成果,尝试一下建立一个批处理文件 ,并放在all users的startup里(或者建一个快捷方式放在里面也可以)。内 容如下:net share c$ /delete
net share d$ /delete
net share e$ /delete
50.去除Windows 2000的默认共享
修改注册表:对于各server版:在注册表编辑器(regedit.exe)中依次找到 “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparam eters”,之后在其下新建一个“双字节值”,取名为“AutoShareServer”的 ,并将其值设为“0”。之后重新启动服务器即可。对于 professional版:同 上面一样 只是将AutoShareServer改为AutoShareWks
51.双击任务栏上的喇叭,如果觉得弹出音量控制面板占用桌面太打,或不能完全 显示,按Ctrl+S后就会以mini方式显示,想恢复再按一次Ctrl+S就OK
52.有时会遇到引导型病毒或是光驱找不到的情况,一般在dos下执行fdisk /mbr 重启就可以解决
53.在windows目录下有一个sendto文件夹
你可以把记事本的快捷方式放到里边去
然后在希望用记事本打开的文件上右键发送到中选这个记事本即可
也可以建立相应文件夹的快捷方式,比如music指向放音乐的文件夹
54.如何下载网页上的FLASH?
1 用FLASHGET的资源探索就能下载网页上的FLASH
2 到WINDOWS/Temporary Internet Files也能找到你要的FLSAH
3 用缓存拾贝这个小软件也能拿你要的FLASH
55.解决COMS锁住问题
在DOS命令行下打DEBUG
-O 70 2F
-O 71 2F
-Q
56.有时候按默认路径安装一个软件,安装时由于没有在意,事后不知安装在哪, 可以通过搜索(用当日时间),时间值最大的即为新装的文件,可以看出其所 在的路径.
57.我们单位工作已经离不开电脑(各部门间电脑已连成网),大多数职工还不会 使用电子信箱,领导要求用网络资源发放通知等。在这种情况下,笔者使用如 下方法(简单,易行,不花分文)
1.在任何一台电脑(作为邮件服务器)建立一个共享文件夹(只读),文件夹 命名为“XX”(信箱含义)。
2.在其他电脑的桌面建立一个快捷键(做好影射网络资源,指向作为邮件服务 器的共享文件夹),快捷键命名为“公众信箱”
3.将所有的“word”文件(通知),放在该文件夹内。
4.用户只要点击该快捷键,便可看到所有的通知了.
58.ping x.x.x.x 太快!改称 ping x.x.x.x -t
59.在网吧上网被美萍锁住:在ie地址兰里输入”桌面”有50%机会打开我的电脑, 利用一些东西比如文件->打开可以进行磁盘*作了.
60.用笔记本与投影仪搭配使用时有三种显示模式
1.笔记本屏幕有显示、投影仪不显示;
2.笔记本屏幕、投影仪均有显示;
3.投影仪有显示、笔记本屏幕无显示.
切换方法为按 Fn 键加F3(康柏的机子是这样的,也就是加上那个上面有个小 显示器图标的键啦

—————————————————————–

老管http://www.donews.net/funpower

其中:数码照片管理软件-Picasa       网页汇总站

——————————————————————–

http://220.248.10.114/myblog/gongfu01.mp3  功夫。。。

—————————————————————–

                 全美黄色笑话排行前九名

第九名 
有个男人在饭店大厅, 想过去问服务生一个问题, 
当他转身往柜台方向走去时, 
不小心撞到了身旁的一个女士, 而且是手肘碰到了 
她的胸部. 那位男士转过身去说:
女士,如果你的心跟你的胸部一样软的话,你一定会原谅我的」
那女士答道:「如果你那话儿跟你的手肘一样硬的话,我在1221号房」
第八名:

有个年轻人走进来然後在吧台前坐下,
您要来点什么吗?」酒保问道.
[我要六杯Jagermeister]那年轻人答道.
[六杯?!您在庆祝什么吗?] [是啊,我头一次BJ] (blow job口交)
[这样的话,我给你第七杯,小店请客]
[我无意冒犯,先生,但如果六杯还不能逊L那种味道的话,
那就没别的东西可以了]…..
(原来不是他被BJ)

第七名:

一个企业人士登机後发现他很幸运的坐在一个美女旁边.
彼此交换简短的寒喧之後,他注意到她正在袅炊@份性学统计的手册,
於是他问她那本书,她答道:
[这是一本关於性学统计很有趣的书,它指出美国印地安人的阴茎平
均最长,而波兰人的平均最粗,哦,对了,我叫吉儿,您呢?]
他很酷的回答:「Tonto Kawalski,很高兴认识你」
(first name 是印地安名,second name 是波兰姓)

第六名:

一天晚上, 当一对夫妻躺下就寝时,
丈夫温柔地轻拍太太的肩膀,并开始在她的手臂上摩擦.
太太转过身来说:
[我很抱歉,亲爱的,但我明天跟妇科医生有约,我想保持清爽.]
丈夫被拒绝後,转过身去尝试睡觉.
几分钟後,他又转过身来轻拍他太太,
这次在她耳边轻语:
[你明天也要看牙医吗?]

第五名:

比尔在一家腌黄瓜工厂工作,
他已经在那里工作很多年了.
有一天他回家跟他太太告解,
说他有个很可怕的冲动.
他一直有个想把自己底迪插入腌黄瓜切片机的念头,
太太建议他应该找性治疗师谈谈这个问题,
但比尔认为自己会羞於启齿,所以发誓要自己克服这个冲动.
数周後的某一天, 比尔脸色死灰的回到家,
他太太马上就警觉到事态严重了,发生什么事了,比尔?」她问道.
[你还记得我告诉过你那个,想把自己底迪放入腌黄瓜切片机的可怕念头吗?]
[哦!比尔!你该不会...]
[对,我做了]
[老天!比尔,结果呢?]
[我被开除了]
[不,比尔,我是问那台腌黄瓜切片机发生了什么事?]
[哦....她也被开除了]

第四名:

一个男人到医院探望他已经昏迷钗h年的太太,
这一次他决定抚摸他太太的左乳房,而不是只有对她说话,
他发现在抚摸的时候,他太太竟然有点动静,男人赶紧跑去告诉医生,
医生告诉他这是好现象,并建议他试著抚摸右边的乳房,看看会有什么反应.
男人回到病房抚摸他太太右边的乳房,结果使她发出一声呻吟,
医生建议他再试试口交,
并说自己会在外面等,因为这是个人隐私,而且医生也不想让那男人
感到难为情.
那男人进去後过了五分钟就出来了,
脸色苍白得像床单,并告诉医生他太太死了.
医生问发生什么事情,那男人回答:「她噎住了」
…猪头男人,搞错医生的建议了

第三名:

一个男人带著他的宠物鳄鱼走进一间酒吧.
他把鳄鱼放在吧台上,然後转身对惊讶的酒客们说:
[跟大家做个交易,我将把鳄鱼的嘴打开,把我的老二放进去,
然後它会合上嘴巴一分钟後再打开,我会将我的家伙毫发无伤的取出来,
届时你们每个人都请我喝一杯,做为目睹这个奇观的回报]
群众喃喃低语的允诺了,那男人站在吧台前脱下裤子,
把他的底迪放进鳄鱼张开的嘴,在观众的屏息中鳄鱼合上了它的嘴,
过了一分钟後,那男人拿一个啤酒瓶用力敲打鳄鱼的头部,
鳄鱼张开嘴,那男人果真毫发无伤的取出他的家伙.群众们欢呼并送
上饮料给男人.
不久那男人又站出来提出另一个提议:「我出一百元给任何胆敢试试看的人」
群众间一阵沉默,过了一会儿酒吧後方举起一只手,一个金发女郎羞怯的说:
[我可以试试看,但你要答应我不能用啤酒瓶敲我的头]

第二名:
一个矮小的男人走进电梯,当他注意到时,一个高大的痞子就站在他旁边..
那个高大的痞子往下看著那个小个子然後说:
[七尺高,三百五十磅重,懒叫二十寸长,左边蛋蛋三磅,右边蛋蛋三
磅,TurnerBrown]
结果小个子昏倒了,高大痞子把小个子提起来,
拍他的脸并且摇他的肩膀把他弄醒,然後问道:「你怎么了?」
小个子说:「对不起,你刚刚说什么?」
高大痞子说:
[七尺高,三百五十磅重,懒叫二十寸长,左边蛋蛋三磅,右边蛋蛋三磅,
我叫做 TurnerBrown]
那小个子说:「感谢老天,我以为你要我转过身去(turnaround)」

第一名

一对夫妻结婚已经五十年了,一天早上当他们坐在早餐桌前。
老先生对老太太说:「想想看,我们已经结婚五十年了」
[是啊]老太太回应:「想想看,五十年前我们也是一样坐在这早餐桌前」
[我知道啊]老先生说「我们五十年前可能还像坚鸟一样光著身子坐在这」
老太太咯咯笑著说:「那你认为…..我们该脱光衣服罗?」
当两人脱得一丝不挂坐回餐桌前「你知道吗,亲爱的」
老太太喘息的说道「我的乳头跟五十年前一样为你而发烫」
[我不会觉得惊讶]老先生回应说「因为有一个正浸在你的咖啡里」

2005年03月24日

1、秦始皇     

    在本连续剧的一幕之中,李斯大人要被腰斩了。他非常从容地对儿子说:”今

后爹再也不能和你一起,牵着小黄狗在城门口散步了。”刽子手举鬼头刀,砍。血的特写。镜头上移。天空。可惜摄像同志大概一时被风迷了眼睛,竟然没有看到天上飞了一架飞机过去,更可惜了我当时嘴里的一口过油肉,全喷了出来。

    

2、封神演义     

    在这部当年的大成本高科技神话片之中,我们不提它如何让宫里的礼节成为” 请安”, 也不说纣王提诗用毛笔,更不用说它在集市上摆出了西瓜和西红柿,还不用说摩 礼红用的琵琶上有一个明显的商标,我们说主角。

    马氏:”嫁给你这没本事的老东西真是委屈,连个面都不会卖。”

    姜尚(严肃地):”古人云:天将降大任于斯人也,必先苦其心志,饿其体肤, 劳其筋骨,困乏其身。这是上天给我的考验,我姜尚不会永远受穷的。”

    得,我吐个隔夜饭先。

3、百色起义     

    革命者被逮捕,被带到一堵墙前集体屠杀。在他们呼喊着口号倒下后,背后的墙上露出几个大字:”违章照拆,城宣委。”    

4、战地之歌     

    警卫员小王奉令阻击敌人,大半个身子露出战壕,英勇无畏,敌人的子弹在身边穿梭。他毫发无伤。后来完成了任务,要走,临走之前把帽子挂在树枝上迷惑敌人,眨眼间帽子被穿了无数个洞。小王胜利撤退,向首长汇报。首长笑:”你个机灵鬼。”

    敌人的子弹好好听话啊!!  

5、小李飞刀     

    在酒楼上数个流氓调戏一美貌妇女,阿飞正好在座。于是拍案而起,拔剑出鞘 流氓们依然不干不净地骂。

    胜负在一瞬间决定。流氓们倒地,有一个强自站立,说台词:”好快的剑…… “然后倒地。

    阿飞傲视,然后收剑入鞘–第一遍没有插进去,第二遍又没有插进去,于是低 头仔细对了半天,神气地把剑插回剑鞘。    

6、武则天     

    武士镬在叫小时侯的武则天:”则天!则天!”

    …………  

7、甘十九妹

    伊剑平:”不知天上宫阙,今夕是何年……”

    甘十九妹:”月有阴晴圆缺,人有悲欢离合,唐人李白这首诗,真是千古绝唱 ……”苏东坡地下有知,不知道会惭愧蒙还是高兴。

8、金台奇侠传     

    金台:”一天之内怎么到得了汴京?看来要施展八步赶蝉轻功了。”

    道路,金台施展轻功中。

    道路两边的东西飞速后退,树木,电线杆。

    ……

    电线杆??

    正在疑惑时又过去一根……

    

9、隋唐英雄传     

    李世民躲进山中,两个隋朝将军在山外。

    将军甲:”怎么办?”

    将军乙:”放火烧山,给他来个星火燎原。”

为什么同一样的景色,大家拍摄出来的照片差别那么大,为什么同一档次的数码相机,你的照片和高手拍摄出来的照片高下立显,不要为自己缺乏摄影基础知识而懊恼,不要为相机档次而郁闷,下面这些小小的技巧就可以帮助你达到高手的境界。
很多已经开始接触数码相机的用户往往倚赖于全自动拍摄模式,这在一般环境下的拍摄也还是不错的,但是遇到稍微复杂一些的拍摄环境,那么全自动模式就显得力不从心了。以下几个小技巧可以有效地提高拍摄品质,即使是菜鸟也能够拍摄出高手级的照片哦!一起来看看!

“扎马步”-避免抖动带来的危害
三脚架对于菜鸟来说可能是不太常用的配件,即使配置了三脚架的朋友在外出游玩时也常常不愿携带,在光线充足的环境下拍摄一般不会遇到快门过低带来的手持晃动问题,但是在暗环境下如果不使用三脚架辅助拍摄的话,一般的菜鸟都没有在快门低于1/15秒时”稳如泰山”的功力,这时候相机容易产生抖动,拍出来的照片也就可想而知了。(数码相机快门在低于1/30s拍摄的时候,在LCD显示屏上会出现”防抖动”的警告标志)
在没有三脚架来固定相机拍摄的时候,就要像武林高手那样学会利用一切方法、地形来达到最稳定的拍摄准备,如果没有三脚架,就一定要借助周围的物体拿稳相机,如靠在树上、将双臂放在栏杆或其他固定物体上,这时如果使用具有旋转镜头(尼康5000,尼康5700,索尼F717,F707等)或者可选择显示屏的数码相机(佳能G2、G3,奥林巴斯5050z等)就再好不过,因为就算靠在栏杆上、地上或者墙上,都可以将
LCD朝向自己正面取景,很是方便。 有时候甚至还可以直接把数码相机放置在腰间盆骨凸出的地方进行稳定拍摄。

“高低决策”-如何降低噪点
在拍摄运动物体,或者在暗环境下拍摄,有时候可以采用高感光度设置来进行,在ISO数值高的时候进行拍摄,快门速度比较快,拍摄起来较容易,但是高感光度带来的一个问题就是画面的噪点将会增多,实际上这是让许多数码相机用户颇感头痛的两难问题,感光度低,拍摄不易,噪点少,感光度高,拍摄容易,噪点多。一般来说,采用高感光度拍摄的照片我们都只好缩小分辨率进行欣赏,而这时照片上的噪点就没有那么明显了,简单分析这是因为缩小后图像上的一个像素点是由原先的多个像素合并后得到的,换句话说就是把三个噪点变成一个噪点,这不是很严格的解释,但是可以帮助我们理解这个现象。
因此利用上面谈到的这个现象,我们可以直接在数码相机上来解决高感光度拍摄噪点多的困难。不过我们先再来了解一下数码相机噪点产生的原因:在光线照度低的情况下,CCD单元不能感应到足够的光,在将光信号转换为电信号后的电流强度比较小,而CCD自身通过的暗电流比例相对增加而产生的,那么可以理解为增加CCD感应到的亮度就可以减少噪点。比如我们把最高像素可达300万像的数码相机按100万像素拍,这样就相当于用3个CCD感光单元当一个用,感光能力相当于增加3倍,图像噪点也就下降了不少。
每款相机在高感光度设置下按照多少像素拍摄的效果最好,这需要用户自己实际体验,我们做个比喻,如果都是在ISO400的设置下,可能200万像素的数码相机在640×480分辨率设置下的拍摄噪点最小,而500万像素的数码相机在1024×768分辨率设置下就能够获得很好的效果。

“消除雀斑”-避免日期显示在照片上
  传统的相机大部分都有日期打印功能便于日后查询,数码相机也继承了这个功能。不过照片打上日期后感觉旅游纪念成分很浓,如果是一幅很美丽的风景照打上日期后就会感觉有点多余,如果不打日期又害怕以后忘了拍照时间。其实,现在的数码相机都支持Exif信息功能,Exif是包含在照片文件头的一段信息,包括了拍摄时的日期时间、光圈、快门、焦距、白平衡、相机型号等详细拍摄参数,有了Exif信息完全可以不再打日期。数码相机一般可以直接在浏览模式下查看该信息,要想详细查看可以将照片文件传进电脑后,用看图软件ACDSee
4.0以上版本查看。具体步骤是:先选中想查看的文件然后点击文件”属性”来阅读,或者在Windows
XP系统下直接查看文件”属性”,然后选择”高级”来查看。
  使用数码相机所拍摄的照片,可以使用上图所示的方法,在ACDSee软件中就能轻易查询到这张照片的各种属性,包括分辨率、图像大小、光圈大小、快门时间、焦距、拍摄时间等等一切信息。

经验四: 自拍提示用闪光
  数码相机大部分都是电子快门,所以一般不会发出声音,为了方便人们感知快门动作,按快门时都会发出较小的模拟声响。一般拍照倒没问题,如果是在噪音比较大的场合用自拍功能拍摄,根本就听不见快门声,虽说有自拍指示灯但光线稍亮的环境就不容易看见了,由于不知道什么时候拍完,也就只能像雕塑一样多等一会儿。其实,我们可以利用数码相机的强制闪光功能,自拍时将闪光模式设置为强制闪光,这样看到闪光就知道照过了。不用担心强制闪光会对照片曝光有影响,因为光线够的情况下拍照,是否闪光从照片上看是不明显的,光线不够的情况下就更应该闪光了。
  自拍的时候如果自拍指示不明显就可以用闪光灯加以说明,如果在光线不足的情况下,就更应该打开闪光灯进行光线补充。
经验五: 广角轻松拍
  许多数码相机镜头的广角都比较小,一般为35-38mm,如果受距离限制必须靠近拍摄时,有时候不能将想拍的景物都摄入画面,这时我们可以利用数码相机照片便于后期制作的特点,以被摄物为中心偏左偏右各照一张或多张,在电脑上用全景软件合成为一张照片,其质量再好的广角镜头照的也比不上。目前比较常用的全景软件有Panorama
Factory、MGI Photovista、Adobe Photo
Elmement等。如果你对Photoshop熟悉,完全可以用Photoshop。

我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些
经验和教训。现在开一个小公司,赚的钱刚够养家糊口的。看看这些刚毕业的学生,对前
景也很迷茫,想抛砖引玉,谈谈自己的看法,局限于理工科的学生,我对文科的不懂,身
边的朋友也没有这一类型的。

  91年研究生毕业,那时出路就是1种:留在北京的国营单位,搞一个北京户口,这是最
好的选择。到后来的2~3年内,户口落定了,又分成4条出路:

  1、 上国内的大企业,如:华为
  2、 自己做公司,做产品开发;
  3、 上外企,比如:爱立信、诺基亚
  4、 自己做公司,做买卖;
  5、 移民加拿大

  我想,首先要看自己适合做什么?做技术还是做买卖。

  做技术,需要你对技术感兴趣。我掰着数了一遍,我们研究生班的30来号人,实际上
,适合做技术的,大概只有3、4个人,这几个人,1个现在还在华为,3个移民加拿大了,
现在这4个人混的还可以,在华为的同学也移民加拿大了,他在华为呆了6年,在华为奖金
工资加起来大概30万吧,还有华为的股票,再过几年,华为的股票一上市,也能值个100~
200万。要是一毕业就去华为,那现在就绝对不是这个数字了。

  要是做技术,最好的就是上大公司,国内的大型企业,象华为中兴肯定是首选,能学
到很多东西。华为虽然累,但是,年轻人不能怕累,要是到老了,还需要去打拼,那才是
真的累啊。

  在外企,我想他们主要就是技术支持和销售,但是技术是学不到的,当然不能一概而
论,我指的是象爱立信和诺基亚,真正的研发不会在中国做的,学到的也不如在华为多,
其它的中兴我不是很了解,我想应该也不错啊。
一个人都有一技之长,有傍身之技,那是最好的,走到哪里,都能有一口饭吃,还吃的不
错,这是传统的观点。

  任何技术都是要在某个行业去应用,这个行业市场越大当然越好;要在一个领域之内
,做深做精,成为绝对的专家,这是走技术道路的人的选择。不要跳来跳去,在中国,再
小的行业你要做精深了,都可以产生很大的利润。

  研究生刚毕业的时候,做产品开发的有不少人,都是自己拍拍脑子,觉得这个产品有
市场,就自己出来做。现在看来,我的这些同学,做产品开发的成功的没有一例,为什么
?资源不足。

  1. 资金,刚毕业的学生啊,就是没钱;没钱,也意味着你开发的东西都是小产品;
而且只能哥几个自己上,研发、生产、销售都是一个人或者几个人自己来,没有积累,什
么都是重新来过。

  2. 人脉,任何一个行业,要想进去,需要有很深的人脉,否则,谁会用你的东西啊
?谁敢用你的东西啊?

  我看到的,我这个班上开发产品的,自己还在坚持的,只剩下一个人了,说实在的,
到现在,没有自己的汽车,也没有自己的房子,混的挺惨的。现在出国的不说了,在外企
、在华为,至少都是几十万的年薪了,还有各种福利,就是产品开发成功了,又能如何?
也就是这样了,但是以前那些年,都没有金钱的积累,等于白干。

  我身边的一个自动化系的研究生班的同学,能靠自己开发产品活得还可以的,也只有
2个人。说明这条路不是那么好走的啊。

  其次就是上外企。我的2个同学,一个上了爱立信,一个先到爱立信后到诺基亚,都混
的不错。到诺基亚的后来利用在诺基亚结识的人脉(就是哪些电信的头头脑脑),自己开
了公司,也赚了不少的钱。

  外企最大的好处就是除了能学到比较规范的管理外,还能给你的职业生涯镀金。到了
一个外企外,再到同行业的外企我想就很容易了。而且外企的收入高啊。

  自己做公司,做买卖,一开始有3~4个人走这条路,但是真正发财的只有一个人,其
他人后来上外企了。做买卖,还是要有一定的天赋,还有机遇。要有对金钱的赤裸裸的欲
望,要有商业上的头脑。后来我们同学在一起谈,说,我们即使给自己这个机遇,也未必
能做的好。何况当时那个同学看好的产品(做一个台湾产品的代理),我们大家都没有看
好,说明,真理还是掌握在少数人手里。

  到后来,同学们纷纷移民移民加拿大。

  移民加拿大对搞技术的人来说,还是一个不错的选择,但是要尽早,练了几年的技术
,就赶紧出去,大概是在1996年走了不到10个,现在都还可以,买了房子和车了。要是晚
了,语言再学也难了,而且在国内都混的还可以了,也就没有必要出去了。
我自己呢,先是在国营的研究所混了4年,后来到一家公司干了6年,2002年出来自己做公
司,现在也就是混了一个温饱吧,算是有房有车,有点积蓄,但是不多,还有一个可爱的
女儿。回首这10来年,有一些经验和教训。

  1. 要有一个职业生涯的规划。首先需要定位自己做什么合适,是做买卖还是做技术
,一条路走到黑;当然,做了技术,后来改行也行;

  2. 做技术,就是要做精做深,成为这个行业的这个技术的专家;最好就是去国内的
大公司,才能全面学到东西,能够给你培训的机会;如果大公司进不去,先到小公司练技
术,找机会再到大公司去镀金,学高深的技术。千万不要自己做产品,要做也是对这个行
业熟悉了,再去做。

  3. 积极争取机会。积极争取学习和进步的机会。比如,做技术,就需要多锻炼,多
学习,来提高自己的水平。一门技术,只要有机会去学习,都能学的会;要是没有机会,
天才也没有办法学到这个技术。柳传志就说,杨元庆就是“哭着喊着要进步”,实际上,
就是争取自己的机会;当然,这种强烈的进步欲望,也是领导看重的地方。每一步都走在
前面,积累10年,你就有了比其他人更多的机会了。

  4. 积累个人的信誉。从你的职业生涯的第一天,就要按照诚信的原则办事。要做到
,当人们提起你的名字的时候,说,这哥们还不错,做事还行。

  5. 注意利用资源。如果你有有钱的亲戚、成功的长辈或者朋友,可以充分利用这些
机会,得到更加顺利的发展前景。

  6. 注意财富的不断积累。人生要想得到自由,财富是很关键的。否则,永远仰人鼻
息,永远看人脸色。人都是势利眼。今后的家庭、职业生涯,金钱的积累很重要,没有钱
,永远不能开张自己的事业,得到更多的机会;财富要做到逐年积累,你才能家庭生活幸
福。没有钱是不可能有幸福的家庭的。

  7. 注意人脉的积累。最终,事业要靠在社会上的人脉的资源。要注意认识在你这个
行业的人,结交他们,最终他们会成为你事业上的助力。

  8. 寻求贵人相助。要找大老板来帮助你,得到大老板的赏识。想想看,大蛋糕,切
一点就够了,小蛋糕,都给你也吃不饱啊。

  9. 多听听成功的前辈和成功的朋友的意见。注意少听家里长辈的意见,尤其是都已
经退休的长辈,他们对社会的认识还停留在很久以前,而这个社会已经发生很大的变化呢
。最重要的是,长辈有时候会强求你做一些事情,但是,最终的结果他们是不负责的。只
有你才能对自己负责。

  欢迎朋友们都能提出自己的看法

2005年02月27日

美国通用电气公司(简称GE)是位居世界500强之首的超大型企业集团,它的成功首先是多元化业务、技术创新、复合型多元化人才的成功。GE造就了很多优秀的企业领导人,据统计,世界500强公司中有168家公司的CEO曾在GE工作过。GE最擅长的事情,就是培养企业领导人。

  那么,GE是如何选人、招人和培养领导人的?听听GE副总裁兼中国有限公司董事长、CEO孙达礼先生怎么说?


  A.培养经理人的核心原则


  培养领导人,首称是招募人才。就像大学要从全国的中学中挑选最好的学生那样,GE也是全方位招募最优秀的人才为公司服务的。其次,GE创建了强有力的业绩文化,强调业绩成果。第三,GE强调共享的价值观。包括坚持诚信、注重业绩、追求变革及把事情做得更好。第四,GE努力为员工提供优异表现的机会。GE高层提供富有挑战性的工作岗位,挑战极限的机会,让员工去从事更多更重的工作,而员工从来没有想到会有这么多的机会。GE确立责任制度,就是说如果你负责某项工作,你就要对此负全责。第五,GE有一套育人制度。通过有序的程度来进行业绩评估和升迁前景评估,进而奖励最优,淘汰最劣。


  B.从哪里、招什么样的人?


  GE有20多项主营业务,在全球有30万员工,在156个国家展开经营。这一切都始于雇佣好的人才。GE人才储备主要利用大学招聘,每年招聘4000多人参加GE的管理培训项目,包括金融方面、人才资源方面、工程和制造以及信息科技方面的发展培训,两年轮训计划,在4个以上不同岗位工作。这些年轻人边学习,边在不同的业务集团工作,同时有机会与一些GE的领导人共事。培训及交流的好处是除了获得业务能力的全面提升以外,还为年轻人扩展了管理思路及有利于其建立良好的个人关系网络,从而面向更高层次的工作要求。


  关于GE招人的标准:GE喜欢那些特别聪明并有强烈进取心的人。要特别聪明的人,是因为当决策失误的时候,聪明的人就可以适时提醒。要有强烈进取心的人,是因为这种人最想成就一番事业。有强烈进取心的人从小到大都通过成就促进自身成长,不管遇到什么挑战,他们都挺身而出;不管需要做什么,他们都去做,并比人们要求或希望的更好、更快,因为他们有内在的驱动力。


  当然,如果GE无法找到太多特别聪明并有强烈进取心的人的话,那他们会降低标准,找那些不是非常聪明但有强烈进取心的人。有强烈进取心的人对公司的发展非常重要,因为他们表现优异,竭尽全力,从来不会满足于刚刚好,不满足于得到95分。GE对那些很聪明但没有事业心的人的使用是很谨慎的,因为这样的人有时不但不能帮助企业创造业绩,反而会影响整个团队的进取精神。对那些不聪明又没有事业心的人,根本不在GE考虑的范围。


  C.如何定义和考察人才


  作为一个企业集团,GE更愿意培养全面的管理型人才,所以GE喜欢那些勤奋学习、知识面广且有深度的人才。关于潜力的定义,表现在多方面。对人员进行评估的时候,标准的是经验、才智?试图衡量出以这个人的能力是否能够胜任更大、更复杂的工作;在数据极其繁多以至让人束手无策的时候,是否能够应付;同时,在缺乏数据、缺乏信息的时候,是否能使局势明朗化;在危机出现时能否作出正确的判断……这些情况在很多时候都依赖于才智,但也是一个人应付复杂局面的能力。GE在考察员工经验的时候,不仅仅只是考察员工所接受的教育,而是包括其阅历、业绩记录,因为预测未来是否成功的最好方式是看其过去的成功记录。所以GE需要的人必须是在过去做事非常成功的人,因为成功孕育着新的成功。人都热爱成功,但真正激励人的动力是憎恨失败。失败使人愤怒,它比赢得胜利更能使人情绪激动;失败推动人前进。另外,GE会考察其领导才能,因为领导才能实际上是你怎样把你的观点传达给更多的听众,并影响更多的人,包括其它部门的人。


  D.“学习”如何转化为“业绩”


  当讲到公司的表现及发展时,有一个简单的概念,这就是学习曲线。学习曲线与两方面有关?其纵轴是业绩或发展,横轴是时间。学习要花时间,尤其是开始阶段,花上很多时间收集信息和数据,但是却不知道意义何在,觉得一切都是乱糟糟的,收获可能不多。突然有一天,在他投入足够的时间,得到足够的信息后,会开窍:“我明白了,我懂了”,这是因为他所吸收的信息和数据突然之间转化成了知识,转化为技能,转化为能够做事情的能力。因此在学习的第二阶段,投入相同的时间,但是会得到大量的学识,获得飞速进步,非常之激动人心,学习和成长都充满乐趣,每天都能学到新东西,并将其付诸实战。但是如果干一个工作时间太久,没有多少可学的东西了,一切按部就班,就会感觉平淡,因为工作不再富有挑战性。如果停止学习,从个人的角度看这个问题,就像水在涨,而你就站在那里,不会游泳又不采取其他措施,即使挣扎一番也会被淹死。这对个人和事业来说都是一件坏事。


  相对于学习,更重要的是业绩。CE的员工,一旦进入公司,不管是来自哈佛大学的,还是一个不起眼的小学校的毕业生,现在的表现比过去的经历更重要。当然GE也告诉员工:要正确看待成长。有很多人把成长看作跟升迁有关:想得到提升,就得学习,不断成长。但是,如果你对现状满足,就不需要学习,不需要成长,这是不对的。如果你想有所作为,如果你想完全发挥自己的潜能、比人们期望的成长得更快,那你就要加倍学习,学习如何更快地表现出业绩,这就是GE关于学习与业绩的简单明了的规则。


来源:中国人力资源网

2005年02月26日
1,请在一个新开的word文件里面输入:
=rand(200,99)
然后回车看看会发生什么?
据说,连比尔盖茨都不知道为什么会这样。

2,《Excel 2000》隐藏的赛车游戏
以前微软的Office软件就常隐藏着有趣的小游戏,像之前的Word就曾藏有仿真飞行游
戏。
现在Excel 2000又有隐藏着一个3D赛车游戏唷,照着以下的方法做,你也可以叫出这
个游戏:
1、开启Excel之后随便开一新档,将它「另存成Web画面」,按下发布后再将增加互动
功能打勾,再将档案储存为2000.htm
2、在IE中开启2000.htm,你应该会看到电子表格出现在网页中央。
3、找到第2000行、WC列。再将第2000行整个选取(整列选取的方法就是按2000的灰色
按键),再利用Tab键将第WC列反白使其处于作用状态下(多按几下TAB那格2000/WC就
会转为白色)。
4、同时按住Shift+Crtl+Alt然后点选左上方的Office logo。
5、开始玩了。
玩法提示:方向键控制、空格键开火、O 放油、H 大灯。注意看路面上写的字唷!

2005年02月23日

在天涯看来的绝学,贡献给所有姐妹。看贴后潜心琢磨,认真领会,必要时多加操练,希望有个一招半式能派上用场。 
   
      天下没有两片相同的叶子,同样天下也没有相同的两个男人。所以大家在实践时,要灵活运用,切莫生搬硬套。 
   
      现将天下男人分成几大类,我们一一解析。 
   
      一、宁采臣式的古典美少男。 
   
      这类男性年轻英俊,文质彬彬,善良正直,在女孩子面前腼腆多情。想让他们主动,恐怕要等得姐妹们如花儿要谢了,更何况这样的男人一向是百年难遇的抢手货。且一旦失身于你,成为你的人,就一定会对你忠心耿耿,至死不渝。所以最好的办法就是先下手为强,找个合适的机会,做了他。 
   
      必要的工具:床、酒、月光、玫瑰。 
   
      为了方便将后推卸责任,酒是用来装醉的。月光与玫瑰可以让你们的回忆变得更美,因为宁采臣式的男人更注重精神上的失足,谁让他们略有文采呢。 
   
      现在介绍强奸第一课: 
   
      假装醉倒在他怀里,然后用力翻身压住他,左手手臂枕着他的头,右手按在他的胸口,看着他的眼睛,眯着眼,吻他。先是轻轻的咬吻,等他回吻时,才热吻。 
   
      如果他不回吻,你就不用考虑别的,一路狂吻下来。然后手伸向那里,感觉膨胀了,就可以将他的手放进你上衣里面了。 
   
      如果他又抽出来,那你就把他的手反压在背下,如果他还要拒绝你,你就骑在他身上,把他的皮带抽下来,将他的双手举上头顶绑起来。 
   
      然后解开他的裤子,轻轻的吻他,把他的玩具放进你的容器里。 
   
      事后,你一定记得要说,“对不起,亲爱的,我真的很爱你。没有你,我真的没法活下去。” 
二、郭大哥式的木讷处男 
   
      这类男人已属绝迹动物,可是一个班里偶然也会遇上一两个。他们相貌平平,外表敦实沉默,对喜欢的女生默默关爱,照顾得无微不至,堪称“奶妈”型男人。女人们可能会觉得他们有些不解风情,不懂浪漫,实际上他们就是脑袋少根筋型的,就是少了一根搭在下面的筋。 
   
      他们认为对所爱的女孩子应该尊重,所谓的尊重就是不主动亲,不主动摸,最多啄啄额头和脸蛋。 
   
      强奸这类男性,一定要注意分寸,一不注意就有可能强鸡不成,反丢了你。因为他们的思想很传统,太过强硬反而会把他们吓跑,万一你给他一个淫妇的形象,哪怕是失身于你,也会想办法逃之夭夭。 
   
      强奸第二课: 
   
      工具:A片,床,没有家长的房子,避孕药。 
   
      强奸的第一步是引诱他看A片,然后装做不懂的样子说,“哥,你玩过吗?” 
   
      “没有。” 
   
      “我也没有。” 
   
      他不说话,你就接着说。 
   
      “哥,我想试一下,我都成人了,你吻我。” 
   
      “不好吧,我不好意思。” 
   
      “你不好意思就让我来。” 
   
      然后别管他答不答应,因为他肯定不敢答应。就吻他,接吻不用我教了吧?接吻都不会,就别想玩了。 
   
      记住先吃药。 
   
      然后呻吟着,告诉他,“哥,我好热,我好想,怎么搞的嘛,我从来没有这样的,都怪你!” 
   
      那家伙肯定木了,然后你就翻身上去,“不嘛,我要,我要,你脱衣服,不脱我不理你了,我生气了。” 
   
      他一定会脱的。 
   
      下一步,你得在下面,千万别爬上去。闭上眼睛,“哥,你会吗?” 
   
      不会他也得装一装会啊,慢慢的,他会喜欢上这个游戏的。
三、韦小宝式风流智慧男 
   
      这类男人风流倜傥,聪明绝顶。身边围着不少的女人,一般的美女恐怕入不了他的色眼。聪明是他的骄傲,也是他的弱点。他喜欢的是和他一样聪明的女人,所以对这样的男人只可智取,不可硬攻。 
   
      注意的是:智求败,不求胜。最后的胜利一定要交给他,让他心甘情愿俘虏你。 
   
      工具:床,高难度脑筋急转弯题。 
   
      为了让自已有必胜或必败的把握,先来点“剪刀、石头、布”热热身。 
   
      “哥,我们来玩剪刀石头布,谁输谁脱件衣服。” 
   
      “好啊,好啊!” 
   
      行了,剪刀石头布,谁输了都不要紧,你总不至于菜到连他的长裤都脱不下来吧?幼儿园三年干嘛去了? 
   
      衣裤猜光了,就可玩高难度急转弯了。 
   
      例如:“哥,跟你玩个脑筋急转弯。如果精子以每小时100脉的速度在我的密密里奔跑,前方道路迂回曲折,且潮湿滑腻,他大约需要多长时间可到达子宫?到达终点后,跑得最累的是哪一个?” 
   
      不管他说的答案是多少,你都要求他用行动证明,最后跑得最累的,自然是他自已罗。
四、黑旋风式粗暴荒蛮男人 
   
      这类男人体魄极佳,有一身的蛮劲。可是谈情说爱,亲亲摸摸就差了点儿。他们对女人的要求往往不是很高,只讲个先来后到。上了他的床,也就是征服了他的领地。上床之后,你只管时时提醒他负责任,他就会一如既往地对你服务到底。一有需要了,他要是有个推三推四,你只对他娇嗔一声,“这点要求都不能满足女人,你算什么男人?!”,保证他乖乖就范。 
   
      对这样的男人要以暴制暴! 
   
      工具:草坪,星光,餐纸,河水。 
   
      注意:打男人一定不能选在人多的地方。 
   
      首先给他揪点错。 
   
      “虎哥,我让你几点钟来?” 
   
      “九点。” 
   
      “现在几点?” 
   
      “九点过三分?” 
   
      “你把我的话放在心里了吗?你当我是什么人?你有没有在乎过我?”——音量一定要大,必要时可以挤点眼泪。 
   
      他肯定一声不吭想解释,别给他机会。 
   
      “你别说了,每次你总有理由,你说!我在你心目中到底算什么?!” 
   
      那男人憋急了,肯定窝着一肚子火。 
   
      “他娘的,要老子怎么样,要把老子的头剁下来交给你吗?” 
   
      “就是,我就是要剁你的头。” 
   
      然后飞扑过去,将他扑倒在草地上,用最热烈的吻去燃烧他,咬他,咬到他生疼。 
   
      等到可以温度可以煮熟饭后,就命令他。“还不快给姑奶奶脱衣服?” 
   
      一会儿冷,一会儿热,他认为这是在乎他,所以这时候,虽然是七尺男儿,也乖得像儿子一样。 
   
      然后你骑上他,一边做他一边咬他,“没用的男人,没用的男人,恨死你。” 
   
      他受不了气,一定会想办法证明他是有用的,这时候,你一定爽死了!
五、周伯通式老顽童大男孩 
   
      这类男人的最大毛病就是不跟性靠边,不看A片,不近女色,不讲晕故事,喜欢跟女孩子嘻嘻哈哈,可是对谁都像妹妹,似乎很难来电。这类男人是女生碰到后最头痛的一类男人。 
   
      你总不能放下女孩子的架子,对他说,“哥哥,我想你,你亲我吧!”,他肯定会嘻嘻哈哈当你开玩笑,然后逃得远远的。想把他们哄上床真不容易。 
   
      工具:偏僻的小屋,绑带,毛巾,纸笔。 
   
      首先将他骗到偏僻的小屋里,当然屋里一定要有床。 
   
      “哥,我跟你做个游戏。” 
   
      “不啊,我没空。” 
   
      “你不是我哥,今天你不陪我,我永远不理你了。” 
   
      “好吧,妹妹,我陪你去。” 
   
      他果然上当了。 
   
      等到了小屋,“哥,今天我们玩的游戏叫扮猪吃老虎,你把我绑起来,我当猪,好不好?” 
   
      “不好,你是妹妹,这么漂亮,怎么当猪呢,还是我来,我来!” 
   
      于是他会伸出手,听话的让你绑他。 
   
      拿出绑带,注意,绑紧一点,把两腿分开绑。 
   
      等绑结实了,在他面前把衣服脱光,泪如雨下。 
   
      “哥,我一直很爱你,从今天开始,你就是你的人。” 
   
      他一定会大声拒绝,大喊救命。你就用毛巾堵住他的嘴。然后吮他的鸡鸡,他的咪咪,他的嘴,把他放倒在地上,让他爽翻。 
   
      最后一步千万不能落掉。 
   
      要跟他签合同,保证这辈子永远爱你,否则你就把奸淫他的事抖出去。
六、段正纯式的万花丛中过朵朵皆留情的男人 
   
      这类男人仗着英俊潇洒的外貌,又有些闲钱,便见一个爱一个,左右逢圆,脚踩N只船,玩弄女人于股掌之中。遇上这样的男人,倘若有兴趣,只管当他是公家的拿去使便是,千万别跟他客气。 
   
      工具:面具、蜡烛、香烟、无敌刺猬棒,剪刀。 
   
      这样的阵式,不用说你们也知道了,要玩SM报复他罗。 
   
      首先掌握他朝三暮四的证据,然后问他是否爱你,他说爱你,就行了。这样的男人见过的女人多,一般的招式提不起他的兴趣了,所以玩些花招,他会更乐意。 
   
      “哥,我知道,像你这么优秀的男人,一定要很多女人爱你。我应该为你感到高兴就是,可是你这样终究是对不起我。” 
   
      “没有这回事,我只爱你。” 
   
      “你骗人,那我看看你的精子库充足吗?今天你要是达不到***毫升,我就海扁你!” 
   
      “行,随你吧,其实我最爱的人永远是你。” 
   
      戴上面具,剥光他的裤裤,露出小鸡鸡。将蜡烛与香烟点着。注意,别激动,烟是抽的,蜡烛是用来点烟的。 
   
      骑上他,一边骑一边用无骑刺猬棒打他的屁屁。 
   
      完事后用剪刀剪掉他的JJ毛,这样他才会永远记着你。 
   
      今晚太晚了,暂写这么多,另送一句口号,希望同胞们挂在床头共勉。 
   
      “宁可我奸人,不可人奸我!” 
   
       
   
      这个人字不可重叠使用。超级恶搞,切莫当真!