Commits

Wang Dingwei committed c5fd7b2

a few more lines on hacker-howto

Comments (0)

Files changed (1)

     4. 协助维护基础设施运行
     5. 为黑客文化本身服务
 黑客和书呆子(Nerd)的联系
-风格的意义
+向黑客的格调靠拢
 历史:Hacking、开源。以及自由软件
 其他资源
 FAQ(常见问题解答)
 为什么会有这份文档?
 -------------------
 
-作为 Jargon File 的编辑和几份其他类似性质的知名文章的作者,我经常收到充满
-热情的网络新手的电子邮件询问:“我如何才能成为一名出色的黑客?” 早在 1996 年
-时,我注意到似乎没有任何的 FAQ 或者 Web 形式的文档提到过这个至关重要的问题,
+作为 `Jargon File`_ 的编辑和几份其他类似性质知名文章的作者,我经常收到充满
+热情的网络新手的电子邮件询问:“我如何才能成为一名出色的黑客?” 早在 1996 年,
+我注意到网上似乎没有任何的 FAQ 或者 Web 形式的文档提到过这个至关重要的问题,
 因此我写了这份文档。现在,很多黑客都认为这是一篇权威性文档,那我也姑且这么
 认为吧。不过,我不认为我是这个话题的绝对权威;如果你不喜欢这篇文档,你也可以
-自己写一份出来
+自己写一份。
 
-如果你读到的是这份文档的离线拷贝,你可以在 http://www.tuxedo.org/~esr/faqs/hacker-howto.html 读到最新版本。
+如果你读到的是这份文档的离线拷贝,你可以在 
+http://catb.org/~esr/faqs/hacker-howto.html 读到最新版本。
 
-注意:文档的结尾有一份 FAQ(常问问题解答)。如果你想通过邮件询问我关于这份
-文档的问题,请先读这份 FAQ 看看能否找到答案 —— 一遍不行就读两遍。
+注意:文档的结尾有一份 `FAQ(常见问题解答)`_ 。如果你想通过邮件询问我关于这份
+文档的问题,请先读这份 FAQ 看看能否找到答案——一遍不行就读两遍。
 
-目前这份文档有很多翻译版本: 保加利亚语, 简体中文, 繁体中文, 丹麦语,
-荷兰语, 法语, 德语, 匈牙利语, 印尼语, 日语, 朝鲜语, 葡萄牙语, 
-俄语及 瑞典语。 注意由于这份文档时有修正,所以以上翻译版本可能有不同程度的
-过时。
+目前这份文档有很多翻译版本: `保加利亚语`_ 、 `简体中文`_ 、 `繁体中文`_ , 
+`丹麦语`_ 、 `荷兰语`_ 、 `法语`_ 、 `德语`_ 、 `匈牙利语`_ 、 `印尼语`_ , 
+`日语`_ 、 `朝鲜语`_ 、 `葡萄牙语`_ 、 `俄语`_ 、 `瑞典语`_ 。 注意由于这份文
+档时有修正,所以以上翻译版本可能有不同程度的过时。
 
+装饰本文的“五点九宫格”图像被称作的“glider”,在一种被叫做 `Life`_ 的数学模型中,
+这个简单的样本有一些异乎寻常的属性;多年以来,黑客们都为此着迷。我认为这个图像
+是一个很好的黑客的徽标:它显得抽象而且神秘,而且像是一扇通向一个截然不同的以有
+其内在逻辑的世界的大门。你可以阅读更多关于 `“glider”徽标`_ 的内容。
 
 
 什么是黑客?
 -----------
 
-Jargon File 包含了一堆关于“hacker”这个词的定义,大部分是关于“技术高超”、
+`Jargon File`_ 包含了一堆关于“hacker”这个词的定义,大部分是关于“技术高超”、
 “热衷解决问题”、以及“超越极限”的内容。但如果你只想知道如何_成为_一名黑客
 的话,真正重要的只有两条。
 
 
 根本的区别是:黑客搞建设,骇客搞破坏。
 
-如果你想成为一名黑客,请接着读下去。如果你想做一个骇客,就去读 alt.2600 新闻组吧,
-顺便准备好去蹲个五到十年的监狱,而且最终你会意识到你并不像自己想象的那么聪明。
+如果你想成为一名黑客,请接着读下去。如果你想做一个骇客,就去读 `alt.2600`_ 新
+闻组吧,顺便准备好去蹲个五到十年的监狱,而且最终你会意识到你并不像自己想象的那
+么聪明。
+
 关于骇客,我能说的只有这些。
 
 
    这一条无须多说,当然是最基本的黑客技能。如果你还不会任何编程语言,我建议
    你从 Python 开始学起。它设计清晰,文档齐全,而且对初学者比较友好。虽然它
    很适合作为一种入门语言,但它不仅仅只是个玩具;它非常强大、灵活,也适合做
-   大型项目。我在一篇更详细的 `Python 测评`_ 中有更详细的论述。Python 网站
-   有很好的 `入门教程`_ 。 
+   大型项目。我在一篇更详细的 `Python 试用体验`_ 中有更详细的论述。 `Python 网
+   站`_ 有很好的 `入门教程`_ 。 
    
-   我曾经推荐过将 Java 作为初学的语言,但这个批评改变了我的想法(在里边搜索
-   "The Pitfalls of Java as a First Programming Language" 就知道我的意思了)
-   。作为一名黑客,你不能像人们挖苦的一样,“像水管工人一样装电脑”,你必须
+   我曾经推荐过将 Java 作为初学的语言,但 `这个批评`_ 改变了我的想法(在里边
+   搜索 "The Pitfalls of Java as a First Programming Language" 就知道我的意思
+   了)。作为一名黑客,你不能像人们挖苦的一样,“像水管工人一样装电脑”,你必须
    知道各个部件的工作原理。现在我觉得可能还是学过 C 和 Lisp 后再学 Java 比
    较好。
    
    常是得不偿失——比较明智的做法是使用一种运行较慢、效率较低,但能大幅节省
    你的开发时间的语言。因此,还是选择 Python 吧。
    
-   其他对黑客而言比较重要的语言包括 Perl 和 LISP。从实用的角度来说,Perl 值
-   得一学;它被广泛用于动态网页和系统管理中,因此,即便你从不用 Perl 写程
-   序,至少也应该学会读懂 Perl。许多人使用 Perl 的理由和 我建议你使用 
-   Python 的理由一样,都是为了避免用 C 完成那些不需要 C 高效率的工作。 你会
-   需要理解那些工作的代码的。
+   其他对黑客而言比较重要的语言包括 `Perl`_ 和 `LISP`_ 。从实用的角度来说,
+   Perl 是值得一学的;它被广泛用于动态网页和系统管理中,因此,即便你从不用 
+   Perl 写程序,至少也应该学会读懂 Perl。许多人使用 Perl 的理由和 我建议你
+   使用 Python 的理由一样,都是为了避免用 C 完成那些不需要 C 高效率的工作。
+   你会需要理解那些工作的代码的。
    
    LISP 值得学习的理由不同——最终掌握了它时你会得到丰富的启迪和经验。虽然你
    实际上很少会用到 LISP,但这些经验会使你在以后的日子里成为一个更好的程序
    成为自身技能,你只能通过实践和虚心向他人学习。因此你要做的就是 (a) 读代码,
    (b) 写代码。
    
+   Peter Novig 是 Google 公司的顶尖黑客之一,而且是最受欢迎的 AI 课本的一名
+   作者。他写了一篇好文章名叫“十年教会自己编程(`Teach Yourself Programming 
+   in Ten Years`_)”,其中的“编程的成功之道 (recipe for programming success)”
+   尤其值得一读。
+
    学习编程就象学习自然语言写作一样。最好的做法是读一些大师的名著,试着自己
    写点东西,再读些,再写点,再读些,再写点……如此往复,直到你的文章具备范文
    的力量和感觉为止。
    如果你想了解更多关于学习 Unix 的信息,读一下 `The Loginataka`_ 吧。也许你
    还想看看 `The Art of Unix Programming`_ 。
    
-   你可以访问 Linux Online! 网站,这个网站可以帮你起步。你可以从那里下载到
-   Linux,或者,更好的办法是找一个本地的 Linux 用户组,让他们帮你安装
+   你可以访问 `Linux Online!`_ 网站,这个网站可以帮你起步。你可以从那里下载
+   到 Linux,或者更好的办法是找一个本地的 Linux 用户组,让他们帮你安装
    Linux。
    
    在这份 HOWTO 文档生命的前十年里,关于 Linux 我写的是,从新人的观点来看,
    所有的Linux 发行版都差不多,但在 2006-2007 之间,我们终于有了一个最佳选
-   择:Ubuntu。我们可以说各种 Linux 发行版各有千秋,但 Ubuntu 是新人最容易
-   上手的一个发行版。
+   择: `Ubuntu`_ 。我们可以说各种 Linux 发行版各有千秋,但 Ubuntu 是新人
+   最容易上手的一个发行版。
    
    你可以在 www.bsd.org 找到 BSD Unix 的求助及其他资源。
    
-   Linux 有一种被称为 Live CD 的发行方式,这种发行版会从 CD 运行起来,而且
+   Linux 有一种被称为 `Live CD`_ 的发行方式,这种发行版会从 CD 运行起来,而且
    不会动到你硬盘里的东西,Live CD 是尝试 Linux 的一个不错的方法,速度有些
    慢,但 CD 本身就慢。慢归慢,Live CD 总归是一个能尝试各种可能性而又不过
    激的方法。
    
    这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写 HTML,也就
    是 Web 的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。
-   因此,先完成一个主页。(网上有很多不错的入门教程;比如这个。)
+   因此,先完成一个主页。(网上有很多不错的资源,比如 `这个 HTML 入门教程`_
+   。)
    
    但仅仅拥有一个主页不能使你成为一名黑客。 Web里充满了各种网页。大多数是
    毫无意义的、毫无信息量的垃圾——界面时髦的垃圾,不过还是垃圾(更多相关信息
    程序,并把程序源代码提供给整个黑客文化圈使用。
    
    (过去我们称之为“free software (自由软件)”, 但这却使很多不知 free 的
-   精确含义的人感到困惑。现在我们很多人,根据搜索引擎网页内容分析至少有
-   2:1的比率,使用“ open-source”software(开源软件)这个词)。
+   精确含义的人感到困惑。现在我们很多人,根据搜索引擎网页内容分析,至少有
+   2:1的比率,使用"`open-source`_ software,即“开源软件”这个词)。
    
    黑客领域里最受尊敬的偶像,是那些写了大型的、好用的、用途广泛的软件,并
    把它们发布出来,使得每人都在使用他软件的人。
    写闭源软件,直到我 1996 年开始写这篇 HOWTO 时也是如此。但从 1997 年后
    开源软件进入了主流,而且改变了这一切。以现在的观点来看,“黑客社群”和“开
    源开发者”是对这一个社群的两种称呼,但值得记住的是,以前这两者的概念并不
-   完全一样。要了解更多信息,你可以看看 `黑客、开源、以及自由软件`_ 这一节
-   的内容。
+   完全一样。要了解更多信息,你可以看看 `关于黑客、开源、以及自由软件的历
+   史`_ 这一节的内容。
 
 2. 帮助测试并调试开源软件
    
 如果你因为生活上不如意而迷上做黑客,那也没什么——至少你不会分神了。也许你以
 后还能找到自己的生活。
 
-重申一下,要做一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你仍
+
+向黑客的格调靠拢
+----------------
+
+重申一下,要做一名黑客,你必须深入体验黑客精神。计算你不在计算机边上,你仍
 然有很多对黑客工作有帮助的事情可做。它们并不能替代真正的编程(没有什么能替
 代编程),但很多黑客都那么做,并感到它们与黑客的本质存在某些基本的连系。
 
-
 * 学会用母语流畅地写作。尽管很多人认为程序员写不出好文章,但是有相当数量的
   黑客(包括所有我知道的最棒的)都是很有能力的写手。
 
 黑客文化里假名是失败者的标记。
 
 
-关于黑客行为、开源、以及自由软件的历史
+关于黑客、开源、以及自由软件的历史
 --------------------------------------
 
 1996 年我开始写这篇 HOWTO,那时候的大环境和现在很不一样。这里会给你简单
 介绍一下相关的历史变迁,这样大致可以澄清一下开源软件、自由软件、以及 Linux 
 和黑客圈的关系。如果你对这些不感兴趣,你可以直接跳过这一节,继续读下面的
- FAQ。
+FAQ。
+
+我在这里所描述黑客精神和社会远远早于1990 Linux 出现的时候,我第一次涉足黑客圈
+是 1976 年,而究其根源则可追溯到20世纪60年代初。但在 Linux 出现之前,大多数黑
+客使用的操作系统要么是私有的商业版本,要么是自己开发的未得到广泛使用的系统(
+例如麻省理工学院的 ITS 系统)。虽然那时也有人想要改变这种状况,但他们的努力影
+响范围相当有限,充其量仅在某个黑客社区有少数忠实用户而已。
+
+
+现在所谓“开源”历史和黑客社区的历史几乎一样长,但直到 1985 年前,它只是一种没有
+固定称谓的习惯做法,而不是一套有理论做后盾,有宣言做前锋的自觉运动。这种状态在
+1985年结束了,长老级黑客Richard Stallman(“RMS”)将其命名为“自由软件 (Free 
+Software)”。这种命名也是一种宣言的方式,不过大多数黑客社区都不接收这种包含明显
+思想烙印的标签。因此而大多数现有的黑客社区从来没有接受。结果,“自由软件”这一标
+签被黑客社群中声音较大的少数派(尤其是 BSD Unix 的相关人士)拒绝掉了,而剩下的
+大部分人(包括我)虽然也有保留意见,可也还是沿用了这一称谓。
+
+尽管很多人存在保留意见,RMS 的“自由软件”的大旗也一直举到了 1990 年代中期。直到
+Liunx 崛起的时候,它才受到了重大挑战。Linux 给了的开源开发者一个新的自然归宿,
+很多项目都已我们现称的开源的方式由 Unix 移植到了 Linux 系统中。Linux 的社区也
+得到了爆炸性增长,成为了一个比以前黑客文化更为庞大,并且异质化的新的群体。RMS 
+坚持尝试将这一社群也归并到他的“自由软件运动”大旗下,但是 Linux 社区爆炸式的多
+样性,以及 Linus Torvalds 本人的质疑阻碍了这一后果。托瓦尔兹继续利用缺乏任何替代术语“自由软件”,但公开拒绝RMS的思想包袱。许多年轻的黑客们也纷纷效仿。
+
+1996年,当我第一次发表这篇HOWTO的黑客,黑客社区迅速重组的Linux和其他开放原始码作业系统的少数(特别是那些从BSD Unix的后裔)。社区记忆的事实是,我们大多数人花了几十年的发展封闭源代码的封闭源代码操作系统的软件还没有开始褪色,但实际上已经开始看起来像死过去的一部分,黑客越来越多,其定义为黑客自己的附件,如Linux或Apache开放源代码项目。
+
+所谓“开源”,但是,还没有出现,那将不这样做,直到1998年初。当它没有,大多数的黑客社区内通过以下六个月内,在思想上重视的例外是术语“自由软件”是少数。自1998年以来,特别是在大约2003年,'黑客'与'开源(免费软件)开发的识别变得极为接近。今天有在试图区分这两类小一点,这似乎不太可能会改变未来。
+
+这是值得记住的,然而,这并不总是如此。
+
 
 其它资源
 --------