打印
[嵌入式linux]

如何成为一名黑客

[复制链接]
2751|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinanjj|  楼主 | 2008-12-15 22:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何成为一名黑客

        什么是黑客?

这可以追溯到很多年前第一台分时小型电脑诞生, ARPAnet实验也刚展开的年代, 那时有
一个由程序设计专家和网络名人所组成的, 具有分享特点的文化社群. 这种文化的成员创
造了"hacker"这个名词. 黑客们建立了Internet. 黑客们发明出了现在使用的UNIX操
作系统. 黑客们使Usenet运作起来, 黑客们让WWW运转起来. 如果你是这个文化的一部
分, 如果你对这种文化有所贡献, 而且这个社群的其它成员也认识你并称你为hacker, 那
么你就是一位黑客.

在这份文档中, 我们将注意力集中在黑客的技术和态度, 以及发明了"黑客"一词的以共
享为特征的文化传统之上.

        黑客应有的态度

黑客们解决问题, 建设事物, 同时他们崇尚自由和无私的双向帮助.

如果你想成为一名黑客, 反复读下面的事情直至你相信它们:

    世界充满了待解决的迷人问题.

做一名黑客会有很多乐趣, 但却是要费很多气力方能得到的乐趣. 这些努力需要动力.
做黑客, 你得能从解决问题, 磨练技术及锻炼智力中得到基本的乐趣.

如果你还不是天生的这类人又想做黑客, 你就要设法成为这样的人. 否则你会发现, 你的
黑客热情会被其他分心的事物吞噬掉---如金钱,性和社会上的虚名.

(同样你必须对你自己的学习能力建立信心---相信尽管当你对某问题近乎一无所知, 但只
要你一点一点地试验,学习, 最终会掌握并解决它.)

    一个问题不应该被解决两次.

聪明的脑袋是宝贵的有限的资源. 当世界还充满非常多有待解决的有趣的新问题时, 它们
不应该被浪费在重新发明轮子这类事情上.

作为一名黑客, 你必须相信其他黑客的思考时间是宝贵的---因此共享信息, 解决问题并
发布结果给其他黑客几乎是一种道义, 这样其他人就可以去解决新问题而不是不断地忙于
对付旧问题.

(你不必认为一定要把你所有的发明创造公布出去, 但这样做的黑客是赢得大家极度尊敬
的人. 卖些钱来养家糊口, 租房买计算机甚至发大财和黑客价值观也是相容的, 只要你别
忘记你还是个黑客.)

    无聊和乏味的工作是罪恶.

黑客应该从来不会被愚蠢的重复性劳动所困扰, 因为当这种事情发生时就意味着他们没
有在做只有他们才能做的事情---解决新问题. 这样的浪费伤害每一个人. 因此, 无聊
和乏味的工作不仅仅是令人不舒服而已, 而且是罪恶.

作为一个黑客, 你必须坚信这点并尽可能多地将乏味的工作自动化, 不仅为你自己, 也为
了其他人(尤其是其他黑客们).

(对此有一个明显的例外. 黑客有时也做一些在他人看来是重复性或枯燥的工作以进行"脑
力休息", 或是为了获得某种技能, 或是获得一些除此以外无法获得的特别经验. 但这是
自愿的---有脑子的人不应该被迫做无聊的活儿. )

    自由万岁.

黑客们是天生的反**主义者. 任何能向你发命令的人能够迫使你停止解决令你着迷的问
题, 同时, 按照**者的一般思路, 他通常会给出一些极端愚昧的理由. 因此, 不论何
处, 任何**主义的作法, 只要它压迫你和其他黑客, 你就要和它斗到底.

权威喜欢审查和保密. 他们不信任自愿的合作和信息的共享---他们只喜欢由他们控制的
所谓"合作". 因此, 作为一个黑客, 你得对审查,保密, 以及使用武力或欺骗去压迫有行
为能力的人们的做法有一种本能的敌意. 同时你要有为此信念斗争的意愿.

    态度不能替代能力.

作为一名黑客, 你必须培养起这些态度. 但只具备这些态度并不能使你成为一名黑客,
也不能使你成为一个运动健将和摇滚明星. 成为一名黑客需要智力,实践,奉献精神和辛苦
工作.

因此, 你必须学会怀疑, 并尊重各种各样的能力. 黑客们不会为那些装模做样的人浪费时
间, 但他们却非常尊重能力---尤其是从事黑客工作的能力, 不过任何能力总归是好的.
具备很少人能具备的那些方面的能力尤其好, 其中具备涉及脑力,技巧和专注方面能力的
当然最好.

尊敬能力, 你就会享受到提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐
而非苦差事. 要想成为一名黑客, 这一点非常重要.

        黑客的基本技能

黑客态度重要, 但技术更加重要. 态度无法替代技术, 在你被别的黑客称为黑客之前,
有一些基本的技术你必须掌握.

    学习如何编程.

这当然是最基本的黑客技能. 如果你还不会任何编程语言, 我建议你从Python开始. 它
设计清晰, 文档齐全, 合适初学者入门. 它是一门很好的入门语言, 并且不仅仅只是个
玩具; 它非常强大,灵活, 也适合做大型项目.

Java也是好的入门语言. 它比Python难得多, 但是生成的代码速度也快得多. 它同时也
是一种优秀的计算机语言, 不止是用来入门.

但是注意, 如果你只会一两门语言, 你将不会达到黑客所要求的技术水平, 甚至也不能
达到一个程序员的水平--你需要学会如何以抽象的方式思考编程问题, 独立于任何语言.
要做一名真正的黑客, 你需要学会在几天内通过一些手册, 结合你现在所知, 迅速掌握
一门新语言. 这意味着你应该学会几种截然不同的语言.

如果要做一些重要的编程工作, 你将不得不学习C语言, Unix的核心语言. C++与C非常其
他类似; 如果你了解其中一种, 学习另一种应该不难. 但这两种都不适合编程入门者学
习. 而且事实上, 你越避免用C编程, 你的工作效率会越高.

C非常有效率, 节约你的机器资源. 不幸的是, C的高效是通过你手动做很多底层的管
理(如内存)来达到的. 底层代码都是复杂极易出现bug 的, 会使你花极多的时间调试.
如今的机器速度如此之快, 这通常是得不偿失--比较明智的做法是使用一种运行较慢,较
低效率, 但大幅节省你的时间的语言. 因此, 选择Python.

其他对黑客而言比较重要的语言包括 Perl和 LISP. Perl实用, 值得一学; 它被广泛用
于动态网页和系统管理, 因此即便你从不用Perl写程序, 至少也应该学会看. 许多人使
用Perl的理由和我建议你使用 Python的理由一样, 都是为了避免用C完成那些不需要C高
效率的工作. 你会需要理解那些工作的代码的.

LISP值得学习的理由不同--最终掌握了它时你会得到丰富的启迪和经验. 这些经验会使
你在以后的日子里成为一个更好的程序员, 即使你实际上很少使用LISP本身.

当然, 实际上你最好五种都会(Python,Java,C/C++,Perl和LISP). 除了是最重要的黑客
语言外, 它们还代表了截然不同的编程思路和方法, 每种都会让你受益非浅.

这里我无法给你完完全全的指导教会你如何编程--这是个复杂的技能. 但我可以告诉
你, 书本和上课也不能作到(最好的黑客中, 有许多, 也许几乎都是自学成材的). 你可
以从书本上学到语言的特点--只是一些皮毛, 但要使书面知识成为自身技能只能通过实
践和虚心向他人学习. 因此要作到(一)读代码及(二)写代码.

学习如何编程就象学习用优美的自然语言写作一样. 最好的做法是读一些大师的名著,
试着自己写点东西, 再读些, 再写点, 再读些, 再写点...... 如此往复, 直到你的**
达到你体会到的范文的简洁和力量.

    得到一个开放源代码的Unix并学会使用,运行它.

我假设你已经拥有或者能使用一台个人电脑. 新手们能够朝学习黑客技能迈出的最基本
的一步就是得到一份Linux或BSD-Unix的一种, 安装在个人电脑上, 并运行它.

没错, 这世界上除了Unix还有其他操作系统. 但它们都是以二进制形式发布的--你无法
读到它的源代码, 也不可能修改它. 尝试在运行DOS或Windows或MacOS的机器上学习黑客
技术, 就象是带着脚镣学跳舞.

除此之外, Unix还是Internet的操作系统. 你可以学会上网却不知道Unix, 但你不了
解Unix就无法成为一名Internet 黑客. 因此, 今天的黑客文化在很大程度上是以Unix为
中心的.

所以, 安装一套UNIX--我个人喜爱LINUX但还有其他种类的. 学习它, 使用它, 配置它.
用它在Internet上冲浪. 阅读它的源代码. 修改它的源代码. 你会得到比在Microsoft操
作系统上更好的编程工具. 你会觉得乐趣无穷, 学到在你成为大师之前意识不到的更多
的知识.

    如果你不懂实用性的英语, 学习吧.

英语是黑客文化和Internet的工作语言, 你需要懂得以便在黑客社区顺利工作.

据我知道的报导, 当前英语有着比其他语言丰富得多的技术词汇, 因此是一个对于工作
来说相当好的工具. 基于类似的原因, 英文技术书籍的翻译通常不令人满意.

        黑客文化中的地位

像大部分不涉及金钱的文化一样, 黑客王国靠声誉运转. 你设法解决有趣的问题, 但它
们到底多有趣, 你的解法有多好, 是要由那些和你具有同样技术水平的人或比你更厉害
的人去评判的.

相应地, 当你在玩黑客游戏时, 你得认识到你的分数主要靠其他黑客对你的技术的评价
给出(这就是为什么只有在其它黑客称你为黑客时, 你才算得上是一名黑客). 这个事实
常会被黑客是一项孤独的工作这一印象所减弱; 也会被另一个黑客文化的禁忌所减
弱(现在逐渐减弱但仍强大): 拒绝承认自我或外部评估与一个人的动力有关系.

特别地, 黑客王国被人类学家们称为一种奉献文化. 在这里你不是凭借你对别人的统治
来建立地位和名望, 也不是靠美貌, 或拥有其他人想要的东西, 而是靠你的奉献. 尤其
是奉献你的时间, 你的创造和你的技术成果.

要获得其他黑客的尊敬, 基本上有五种事情你可以干:

    写开放源代码软件

第一个(也是最集中的和传统的)是写些被其他黑客认为有趣或有用的程序, 并把程序源
代码提供给整个黑客文化使用.

黑客王国里最受尊敬的偶像是那些写了大型的,好用的,具有广泛用途的软件, 并把它们
公布出去, 使得每人都在使用他软件的人.

    帮助测试并调试开放源代码软件

黑客也尊敬那些使用,测试开放源代码软件的人. 在这个并非完美的世界上, 我们不可避
免地要花大多数的开发时间在调试阶段. 这就是为什么任何有头脑的开放源代码的作者
都会告诉你好的beta测试员(知道如何清楚描述出错症状, 很好地定位错误, 能忍受快
速发布中的bug, 并且愿意使用一些简单的诊断工具)象红宝石一样珍贵. 甚至他们中的
一个能判断出哪个测试阶段是延长的, 哪个是令人精疲力尽的噩梦, 哪个只是一个有益
的小麻烦.

如果你是个新手, 试着找一个你感兴趣的正在开发的程序, 做一个好的beta测试员. 你
会自然地从帮着测试, 进步到帮着抓臭虫, 到最后帮着改程序. 你会从中学到很多, 并
且与未来会帮你的人结下友谊.

    公布有用的信息

另一个好事是收集整理有用有趣的信息做成网页或文档如FAQ列表, 且让他们容易获得.

主要技术FAQ的维护者受到几乎同其他开放源代码的作者一样多的尊敬.

    帮助维护基础设施的运转

黑客文化(还有Internet的工程方面的发展, 就此而言)是靠自愿者运转的. 要
使Internet能正常工作, 就要有大量枯燥的工作不得不去完成--管理mail list,新闻
组,维护大型软件库,开发RFC和其它技术标准等等.

做这类事情的人会得到很多尊敬, 因为每人都知道这些事情是十分花时间又不象编程那
样好玩. 做这些事情需要奉献精神.

    为黑客文化本身服务

最后, 你可以为这个文化本身做宣传(例如, 象我这样, 写一个"如何成为黑客"的正面的
教程 :-). 这并非一定要在你已经在这个圈子呆了很久, 因以上四点中的某点而出名, 有
一定声誉后才能去做.

黑客文化没有领袖. 精确地说, 它确实有些文化英雄,部落长者,历史学家和发言人. 若
你在这圈内呆的够长, 你或许成为其中之一. 记住: 黑客们不相信他们的部落长者的自
夸的炫耀, 因此大举追求这种名誉是危险的. 与其奋力追求, 不如先摆正自己的位置等
它自己到你的手中--那时则要做到谦虚和优雅.

        风格的意义

重申一下, 作为一名黑客, 你必须进入黑客精神之中. 当你不在计算机边上时, 你仍然
有很多对黑客工作有帮助的事情可做. 它们并不能替代真正的编程(没有什么能), 但很
多黑客都那么做, 并感到它们与黑客的本质存在某些基本的连系.

学会流畅地用母语写作. 尽管程序员不能写好**的错误看法相当普遍, 但是有令人惊
讶数目的黑客(包括所有我知道的最棒的)都是不错的作家.

阅读科幻小说. 参加科幻小说讨论会. (一个碰到黑客和未来会成为黑客的人的好方法)

学禅, 并且/或者练功习武. (精神修炼看来是惊人相似. )

练就能分析音乐的听觉, 学会鉴赏特别的音乐. 学会玩某种乐器, 或唱歌.

提高对双关语,文字游戏的鉴赏能力.

这些事情, 你已经做的越多, 你就越是天生做黑客的材料. 至于为什么偏偏是这些事情,
原因并不完全清楚, 但它们都涉及用到左-右脑能力的综合, 这似乎是关键所在(黑客们
既需要清晰的逻辑思维, 有时又需要偏离逻辑跳出问题的表象).

最后, 还有一些不要去做的事情.

不要使用愚蠢的, 哗众取宠的ID或昵称.

不要卷入Usenet(或其他地方的论坛)的骂战.

不要自称为"cyberpunk(网络叛客)", 也不要浪费时间和那些人打交道.

不要让你寄出的Email或张贴的帖子充满错误的拼写和乱七八糟的语法.

做以上的事情, 只会招来嘲笑. 黑客们个个**超群---你将需要数年的时间让他们忘记
你犯下的错误.

网名的问题值得深思. 将身份隐藏在虚假的名字后是骇客,解密者,d00dz及其他低等生物
幼稚愚蠢的行为特点. 黑客不会做这些事; 他们对他们所作的感到骄傲, 而且乐于人们
将作品与他们的真名相联系. 因此, 若你现在用假名, 放弃它. 在黑客文化里它会令你
你失败的.

如果你发E-mail给一位黑客寻求他的帮助, 这是两件首要记住的事情. 第一, 写出来的
文字显得懒且粗心的人通常非常懒于思考且非常马大哈, 不能成为好黑客---因此注意拼
写正确, 使用正确的语法及发音, 否则你可能会无人理睬. 第二, 不要试图要求回复到
一个ISP帐号, 而那个帐号与你的发信地址不同. 这样做的人一般是使用盗用帐号, 不会
有人有兴趣为虎作伥帮助窃贼的.

相关帖子

沙发
ya_zhen| | 2011-10-26 16:11 | 只看该作者
黑客教程??

使用特权

评论回复
板凳
陈永宾0| | 2011-10-29 17:08 | 只看该作者
;P

使用特权

评论回复
地板
weshiluwei6| | 2011-10-31 07:23 | 只看该作者
tai太高深了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

456

主题

6300

帖子

25

粉丝