发信人: amis()
整理人: williamlong(1999-05-31 13:15:14), 站内信件
|
---------------------------------------------------------------------- ----------
这真是一个好问题, 不止是原作者说他被问过很多次, 包括我和许多网路上的
朋友们也常有这个困扰. 不过和作者不同的是, 我经常没有一个固定的答案 :p
事实上我所能提供也只是自己的经验, 却没有足够的能力来肯定自己的看法是
不是正确的. 这份文章应该可以减去大家不少的麻烦 :)
嗯!! 这次自告奋勇当起翻译, 虽然是起於晚上回到住的地方之后很无聊, 可以用
来打发时间. 不过我翻了百行之后, 越翻越后悔. 主要是因为面有一些句子实
在很难翻译, 这大概是因为我的英文底子不太好的关系弧!! 好不容易, 终於是
翻完了. 为让句子更通顺或者是个人误解, 翻译后和原文有些出入, 这方面还请
各位大大见谅. :-)
Thinker
---------------------------------------------------------------------- ----
How To Become A Hacker
Why This Document?
As editor of the Jargon File, I often get email requests from enthusia stic
network newbies asking (in effect) "how can I learn to be a wizard hac ker?".
Oddly enough there don't seem to be any FAQs or Web documents that add ress
this vital question, so here's mine.
身为 Jargon File 的编辑, 常有一些网路新手发 mail 问我 "如何成为一个厉害 的
hacker?". 但, 很奇怪的, 似乎没有任何的 FAQs 或 Web documents 说明这幺重 要
的问题, 所以我写了一份我自己的看法.
If you are reading a snapshot of this document offline, the current ve rsion
lives at href="http://www.ccil.org/~esr/faqs/hacker-howto.html.
如果你是以 offline 的方式在看这一份文件的某一个版本, 那幺你可以在
"http://www.ccil.org/~esr/faqs/hacker-howto.html" 找到这份文件的目前最 新版本.
What Is A Hacker?
怎幺样才算是一位 Hacker ??
The Jargon File contains a bunch of definitions of the term `hacker', most
having to do with technical adeptness and a delight in solving problem s and
overcoming limits. If you want to know how to become a hacker, though, only
two are really relevant.
在 Jargon File 有一堆关於 `hacker' 这个名词的定义, 大部份必须是技术上 的
行家或热衷於解决问题, 克服限制的人. 然而, 如果你想知道如何成为一位 hac ker,
有两件事是很有关连的.
There is a community, a shared culture, of expert programmers and netw orking
wizards that traces its history back through decades to the first
time-sharing minicomputers and the earliest ARPAnet experiments. The m embers
of this culture originated the term `hacker'. Hackers built the Intern et.
Hackers made the UNIX operating system what it is today. Hackers run U senet.
Hackers make the World Wide Web work. If you are part of this culture, if
you have contributed to it and other people in it know who you are and call
you a hacker, you're a hacker.
这可以追溯到十年前第一台 mincomputer 刚诞生, ARPAnet 实验也刚展开的
时代. 那时有一个由程式设计专家和网路名人所组成的, 具有分享特质的文化族 群.
这种文化的成员创造了 `hacker' 这个名词. 这些 Hacker 建立了 Internet,
创造出我们现在使用的 UNIX 作业系统, 他们也使 Usenet 运作起来, 并且让 W orld
Wide Web 动起来. 如果你是这个文化的一部分, 如果你对这些种种有所供献, 而 且
这个文化的其它成员也认识你, 并称你为 hacker, 那幺你就是一位 hacker.
The hacker mind-set is not confined to this software-hacker culture. T here
are people who apply the hacker attitude to other things, like electro nics
or music -- actually, you can find it at the highest levels of any sci ence
or art. Software hackers recognize these kindred spirits elsewhere and may
call them "hackers" too -- and some claim that the hacker nature is re ally
independent of the particular medium the hacker works in. But in the r est of
this document we will focus on the skills and attitudes of software ha ckers,
and the traditions of the shared culture that originated the term `hac ker'.
在精神上, hacker 并不单指(限制於)这种软体 hacker 的文化. 有人也把 hack er
的特质发挥在其它领域, 例如: 电子或者音乐方面. 事实上你会发现, 在任何一 种
科学或艺术的最高境界, 你都可以发现 hacker 的特质. 软体 hacker 们认为 ,
那些类似的精神也都可以称为 "hacker". 有些人还主张 hacker 的通性是独立於 任何
媒介之上的, 不特别属於任何一种 hacker 所在的环境. 但是, 在这份文件,
我们将把重点放在软体 hacker 们所需的技能、态度和发明 `hacker' 这个词的 分享
文化的传统.
There is another group of people who loudly call themselves hackers, b ut
aren't. These are people (mainly adolescent males) who get a kick out of
breaking into computers and phreaking the phone system. Real hackers c all
these people `crackers' and want nothing to do with them. Real hackers
mostly think crackers are lazy, irresponsible, and not very bright, an d
object that being able to break security doesn't make you a hacker any more
than being able to hotwire cars makes you an automotive engineer.
Unfortunately, many journalists and writers have been fooled into usin g the
word `hacker' to describe crackers; this irritates real hackers no end .
在另一个团体, 他们的成员也很大声的称自己为 hacker, 但是他们不是真的 hacker.
这些人(大部分是男性青年)专门闯入电脑和入侵电话系统, 真正的 hacker 们称 他
们为 `cracker', 并且不愿意和他们在一些做任何事. hacker 们认为这些人都是 懒
惰, 不负责, 并且不够光明正大的, 并且认为能破解安全系统并不能使你成为一 位
hacker. 但是很不幸的, 很多记者和作家不明究理的使用 `hacker' 这个字来描 述
cracker 们; 这让真的 hacker 们很忿怒.
The basic difference is this: hackers build things, crackers break the m.
基本上, hacker 和 cracker 之间最主要的不同是: hacker 们创造新东西,
cracker 们破坏东西.
If you want to be a hacker, keep reading. If you want to be a cracker, go
read the alt.2600 newsgroup and get ready to do five to ten in the sla mmer
after finding out you aren't as smart as you think you are. And that's all
I'm going to say about crackers.
如果你想要成为一位 hacker, 继续读下去弧. 如果你是想要成为一位 cracker, 那幺
就去读 alt.2600 newsgroup 并准备在你发现自己并不如想像中那幺行时, 给自 己一
点评价. 所有关於 cracker 的事情就只有这些了.
The Hacker Attitude
Hackers solve problems and build things, and they believe in freedom a nd
voluntary mutual help. To be accepted as a hacker, you have to behave as
though you have this kind of attitude yourself. And to behave as thoug h you
have the attitude, you have to really believe the attitude.
Hacker 们解决了问题并创造新东西, 他们相信自由并自愿的互相帮助. 想要被别 人
接受成为一位 hacker, 你必须发自内心的表现出这种态度. 为了要很自发的表现 出
这种态度, 你就必须先完全认同这些态度.
But if you think of cultivating hacker attitudes as just a way to gain
acceptance in the culture, you'll miss the point. Becoming the kind of
person who believes these things is important for helping you learn an d
keeping you motivated. As with all creative arts, the most effective w ay to
become a master is to imitate the mind-set of masters -- not just
intellectually but emotionally as well.
如果你只是把学习 hacker 态度这件事当作一种能在这个文化赢得认同的途径 ,
那幺你己经乎略了真正的重点. 由衷的接受这些态度是很这要的, 这能帮
助你学习并维持你的动机. 就像那些具创造性的艺术一样, 成为一位大师的最有 效
方法是学习大师们的精神; 并不只是学习知识和情绪而己.
So, if you want to be a hacker, repeat the following things until you
believe them:
所以, 如果你想要成为一位 hacker, 请反复的做下面的事情, 直到你完全领会它 们:
1. The world is full of fascinating problems waiting to be solved.
1. 这世上充满著等著被解决的迷人问题.
Being a hacker is lots of fun, but it's a kind of fun that takes lots of
effort. The effort takes motivation. Successful athletes get their
motivation from a kind of physical delight in making their bodies perf orm,
in pushing themselves past their own physical limits. Similarly, to be a
hacker you have to get a basic thrill from solving problems, sharpenin g your
skills, and exercising your intelligence.
作为一个 hacker 是充满快乐的, 但这是一种因为努力得到成果所带来的快乐. 努
力的成果则带来动机. 成功的运动家的动机则来自於, 使他们的身体不断进化,
并把自己推向物理上的极限所带来的快乐. 类似的情形, 要成为 hacker, 你必须
要能从解决问题, 精进技术, 和运用知识的过程中感受到一种悸动.
If you aren't the kind of person that feels this way naturally, you'll need
to become one in order to make it as a hacker. Otherwise you'll find y our
hacking energy is sapped by distractions like sex, money, and social
approval.
如果你不是天生就能感受到这种悸动的人, 那幺, 为了要成为 hacker, 你必须使 自己
变成这样的人. 否则, 你会发现你的 hacking energy 就会像性, 金钱, 和社交 活动
一样, 因为分心而被消磨掉.
(You also have to develop a kind of faith in your own learning capacit y -- a
belief that even though you may not know all of what you need to solve a
problem, if you tackle just a piece of it and learn from that, you'll learn
enough to solve the next piece -- and so on, until you're done.)
(你也必须为你的学习能力建立一种信念直到你完成你的工作 -- 即使你现书负责 的只是
一小部份, 而你也不知道你到底还要学些什幺东西才有辨法解决你的问题, 但是 你会
努力学习, 准备充足, 以应付下一个问题.)
2. Nobody should ever have to solve a problem twice.
2. 没有任何人必须一再的解决同一个问题.
Creative brains are a valuable, limited resource. They shouldn't be wa sted
on re-inventing the wheel when there are so many fascinating new probl ems
waiting out there.
富创造力的头脑是贵重而有限的资源. 有这幺多迷人的新问题在那等著被解决.
因此富创造力的头脑不该被浪费的用来重复发明轮子.
To behave like a hacker, you have to believe that the thinking time of other
hackers is precious -- so much so that it's almost a moral duty for yo u to
share information, solve problems and then give the solutions away jus t so
other hackers can solve new problems instead of having to perpetually
re-address old ones.
身为一位 hacker, 你必须了解到其它 hacker 们的时间也是很宝贵的 -- 所以,
分享资讯, 解决问题和提供解决方案给其它 hacker 以解决新的问题, 这些几乎 算是
道义上的责任.
(You don't have to believe that you're obligated to give all your crea tive
product away, though the hackers that do are the ones that get most re spect
from other hackers. It's consistent with hacker values to sell enough of it
to keep you in food and rent and computers. It's consistent to use you r
hacking skills to support a family or even get rich, as long as you do n't
forget you're a hacker while you're doing it.)
( 即使 hacker 们所拥有的大多是从其它 hacker 的身上得来的, 但这并不意谓 你
必需把你创造的作品全部交出来, 你可以卖出足够数量的产品, 以求得温饱, 给 付
房租和买电脑设备, 这和 hacker 的价值观并不相违背. 使用你的 hacking 技能
以供给一个家庭的生活, 甚至是致富, 只要你仍不忘记你是一位 hacker, 那幺这 些
行为并不会产生茅盾. )
3. Boredom and drudgery are evil.
3. 无聊而单调的工作是有害的.
Hackers (and creative people in general) should never be bored or have to
drudge at stupid repetitive work, because when this happens it means t hey
aren't doing what only they can do -- solve new problems. This wastefu lness
hurts everybody. Therefore boredom and drudgery are not just unpleasan t but
actually evil.
Hacker 们(有创造力的人也是一样)永远不该做一些无聊而单调并且 stupid 的反 复性
工作. 因为, 如果这样的事情发生的话, 这表示他们正在做一些不是他们该做的 事
-- 解决新的问题. 这样的浪费对任何人而言都是一种伤害. 无聊单调的工作不只 是
无趣而己, 而且是一种有害的物质.
To behave like a hacker, you have to believe this enough to want to au tomate
away the boring bits as much as possible, not just for yourself but fo r
everybody else (especially other hackers).
要做为一位 hacker 要能尽可能的自动避免无聊, 对此你必须有相当的认知. 这 不只是
为了你自己而已, 也是为了所有的人(尤其是其它的 hacker).
(There is one apparent exception to this. Hackers will sometimes do th ings
that may seem repetitive or boring as a mind-clearing excercise, or in order
to acquire a skill or have some particular kind of experience you can' t have
otherwise. But this is by choice -- nobody who can think should ever b e
forced into boredom.)
(这有一些例外. 有时侯 hacker 们会去做一些被认为无聊或重复性的工作, 当 做
脑力的训练, 或是为了要学习得某种技能或某种你所没有的特殊经验. 不过这是 一
种选择, 没有任何一个人曾经被强迫要面对无聊的事. )
4. Freedom is good.
4. 自由就是好.
Hackers are naturally anti-authoritarian. Anyone who can give you orde rs can
stop you from solving whatever problem you're being fascinated by -- a nd,
given the way authoritarian minds work, will generally find some appal lingly
stupid reason to do so. So the authoritarian attitude has to be fought
wherever you find it, lest it smother you and other hackers.
hacker 们天性上是反对独裁的. 任何一个给你命令的人就能给你一个独裁式的工 作,
并且可以给你一些笨的可以的理由, 停止你解决任何吸引著你的问题. 所以任何 独裁式
的行为都会被挑战, 以免会危害到你和其它的 hacker 们.
(This isn't the same as fighting all authority. Children need to be gu ided
and criminals restrained. A hacker may agree to accept some kinds of
authority in order to get something he wants more than the time he spe nds
following orders. But that's a limited, conscious bargain; the kind of
personal surrender authoritarians want is not on offer.)
(这和为反对而反对是不同的, 小孩子是需要被指导和阻止他们犯错. hacker 也 会同
意接受某些形式的独裁, 以得到某些比他花时间执行命令所能得到的东西还令他 想要
得到的东西. 不过那是一种有限且理性的协定; ..... )
Authoritarians thrive on censorship and secrecy. And they distrust vol untary
cooperation and information-sharing -- they only like cooperation that they
control. So to behave like a hacker, you have to develop an instinctiv e
hostility to censorship, secrecy, and the use of force or deception to
compel responsible adults. And you have to be willing to act on that b elief.
专制在监察和保密这些事上是很有效的方法. 这些行使专制的人并不相信自愿性 质的
合作和资讯分享 -- 他们只相信在他们控制之下的合作关作. 所以, 身为一位 h acker,
你必具有一种敌对的天性, 以对抗监察, 秘密和使用外力强迫或迷惑
可以信任的人等行为. 你必须以互信做为你行为的基础.
5. Attitude is no substitute for competence.
To be a hacker, you have to develop some of these attitudes. But coppi ng an
attitude alone won't make you a hacker, any more than it will make you a
champion athlete or a rock star. Becoming a hacker will take intellige nce,
practice, dedication, and hard work.
要成为一位 hacker, 你必须开始培养这些态度. 但, 如果你只是单独的模仿某一 种
态度, 这并不能使你成为一位真正的 hacker, 也不会使你成为一位运动冠军或
摇滚明星.
Therefore, you have to learn to distrust attitude and respect competen ce of
every kind. Hackers won't let posers waste their time, but they worshi p
competence -- especially competence at hacking, but competence at anyt hing
is good. Competence at demanding skills that few can master is especia lly
good, and competence at demanding skills that involve mental acuteness ,
craft, and concentration is best.
然而, 你必须学会猜疑(?)和尊敬各种的能力. Hacker 们不会想浪费时间在虚华 的人的
身上, 他们尊敬的是能力 -- 特别是身为 hacker 的能力, 但对於其它方面的能 力
也是充满敬意. 如果有能力追求一些很少人能弄懂的技术,追求精神上的技巧, 并 能
集中精神, 那就再好不过了.
If you revere competence, you'll enjoy developing it in yourself -- th e hard
work and dedication will become a kind of intense play rather than dru dgery.
And that's vital to becoming a hacker.
如果你尊敬各种的能力, 那幺你就会乐於自己发展这些能力 -- 这会使的努力工 作
和奉献成为一种刺激性的消遣而非一份苦差事. 这对於想要成为 hacker 的
人而言, 是很重要的.
Basic Hacking Skills
一位 Hacker 所需的基本技能
The hacker attitude is vital, but skills are even more vital. Attitude is no
substitute for competence, and there's a certain basic toolkit of skil ls
which you have to have before any hacker will dream of calling you one .
hacker 的精神态度是很重要的, 但技术则更是重要. hacker 的态度虽然是无可 取代,
但在别人像做梦般的开始叫你 hacker 之前, 有些基本的工具和技术是必备的.
This tookit changes slowly over time as technology creates new skills and
makes old ones obsolete. For example, it used to include programming i n
machine language, and didn't until recently involve HTML. But in late 1996
it pretty clearly includes the following:
随著新科技的发明和旧技术的取代, 这些工具随时间在慢慢的改变. 例如: 以往 总是
会学会用机器码写程式, 直到最近我们开始使用 HTML. 不过, 在 1996 年末,
下面所举的工具是很明显的被需要的:
1. Learn how to program.
1. 学习程式设计.
This, of course, is the fundamental hacking skill. In 1997 the one lan guage
you absolutely must learn is C. But you aren't a hacker or even merely a
programmer if you only know one language -- you need to learn how to t hink
about programming problems in a general way, independent of any one
language. To be a real hacker, you need to have gotten to the point wh ere
you can learn a new language in days by relating what's in the manual to
what you already know. This means you should learn several very differ ent
languages.
当然, 这是基础的 hacking 技能. 在 1997 年, 理所当然的, 你必须学会 C. 但 ,
如果你只是学一种语言, 那幺你不能算是一位 hacker, 了不起只能算是一个
programmer. 除此, 你还必须学会学会以独立於任何程式语言之上的概括性观念 来思考
一件程式设计上的问题. 要成为一位真正的 hacker, 你必须要能在几天之内将
manual 内容和你目前己经知道的关连起学会一种新的语言. 也就是说, 你必会学
会数个不同的语言.
Besides C, you should also learn at least LISP and Perl (and Java is p ushing
hard for a place on the list). Besides being the most important hackin g
languages, these each represent very different approaches to programmi ng,
and all will educate you in valuable ways.
还了 C 之外, 你至少还要会 LISP 或 Perl (Java 也正在努力的挤上这个名单;
译者注: 我很怀疑这份名单说 :p ). 除了几重要的 hacking 常用语言之外,
这些语言提供你一些不同的程式设计途径, 并且让你在好的方法中学习.
I can't give complete instructions on how to learn to program here -- it's a
complex skill. But I can tell you that books and courses won't do it ( many,
maybe most of the best hackers are self-taught). What will do it is (a )
reading code and (b) writing code.
程式设计是一种复杂的技术, 我没辨法在这提供完整的学习步骤. 但是我能告 诉你
一些在书本上和课堂上所没有的东西 (有很多, 几乎全部最好的 hacker 们都
是自习而来的). (a) 读别人的程式码 和 (b) 写程式, 这两项是不错的方法.
Learning to program is like learning to write good natural language. T he
best way to do it is to read some stuff written by masters of the form ,
write some things yourself, read a lot more, write a little more, read a lot
more, write some more ... and repeat until your writing begins to deve lop
the kind of strength and economy you see in your models.
学习写程式就像在学习写一种良好的自然语言, 最好的方法是去看一些专家们所 写的
东西, 然后写一些你自己的东西, 然后读更多, 再写更多 ... 然后一直持续, 一 直到
你发展出一种属於自己的风格和特色.
Finding good code to read used to be hard, because there were few larg e
programs available in source for fledgeling hackers to read and tinker with.
This has changed dramatically; free software, free programming tools, and
free operating systems (all available in source, and all built by hack ers)
are now widely available. Which brings me neatly to our next topic...
要找到好的程式码来看是很一件很困难的事, 因为, 对菜鸟 hacker 们而言, 适 於
供他们阅读和努力的大型程式的 source 数量很少. 但这事己有了戏剧性的变化 了;
现在免费的供应的软体、程式设计工具和作业系统(大都公开提供 source, 而且
全都是由 hacker 们写成的)到处可看. 进入下一个主题...
2. Get one of the free UNIXes and learn to use and run it.
2. 取得一个免费的 UNIX , 并学习使用和维护.
I'm assuming you have a personal computer or can get access to one (th ese
kids today have it so easy :-)). The single most important step any ne wbie
can take towards acquiring hacker skills is to get a copy of Linux or one of
the free BSD-Unixes, install it on a personal machine, and run it.
我先假设你己经有一部个人电脑或者是可以使用任何一部 (这些玩具现在到处都 是,
很易取得 :-)). 取得 hacker 技巧的第一个步骤是取得一份 Linux 或者一份免 费
的 BSD-Unix, 并将它安装在自己的机器, 并让使之顺利的运作.
Yes, there are other operating systems in the world besides Unix. But
they're distributed in binary -- you can't read the code, and you can' t
modify it. Trying to learn to hack on a DOS or Windows machine or unde r
MacOS is like trying to learn to dance while wearing a body cast.
没错, 在这个世界上除了 Unix 之外, 还有其它的作业系统. 但是他们只提供
bianry, 你不能看到他们的程式码, 你也不能修改他们. 想要在 DOS 或 Window s
或 MacOS 开始 hacking, 无疑就是要你绑著枷锁跳舞一样.
Besides, Unix is the operating system of the Internet. While you can l earn
to use the Internet without knowing Unix, you can't be an Internet hac ker
without understanding it. For this reason, the hacker culture today is
pretty strongly Unix-centered. (This wasn't always true, and some old- time
hackers aren't happy about it, but the symbiosis between Unix and the
Internet has become strong enough that even Microsoft's muscle doesn't seem
able to seriously dent it.)
除此之外, Unix 是 Internet 上的作业系统. 当你在不懂 Unix 的情况下学习使 用
Internet 时, 你没辨法在不懂 Unix 的情况下成为 Internet 的 hacker. 因为 这
个原故, 现在的 hacker 文化还是很牢固的以 Unix 为中心绕著. (这并不完全是
正确的, 而且有些活在旧时代的 hacker 甚至也不喜欢这种情形, 但是 Unix 和
Internet 之间的共生共成己经到了牢不可破的地步, 即使是 Microsoft 的大块 肌肉
也没能在上面留下明显的伤痕.)
So, bring up a Unix -- I like Linux myself but there are other ways. L earn
it. Run it. Tinker with it. Talk to the Internet with it. Read the cod e.
Modify the code. You'll get better programming tools (including C, Lis p, and
Perl) than any Microsoft operating system can dream of, you'll have fu n, and
you'll soak up more knowledge than you realize you're learning until y ou
look back on it as a master hacker.
因些, 把 Unix 装起来弧! (我自己是喜欢 Linux, 但是还有其它的东东可用.) 学习
它, 让它运作起来, 让它陪你努力精进. 用他向整个 Internet 喊话. 看程式码 ,
改程式. 有一天你成为一位高竿的 hacker, 你回头往后看时会发现, 你得到比
Microsoft 作业系统所能提供的还要好的程式设计工具(包括 C, Lisp和 Perl).
而且得到快乐, 并学到比你想像中的还要多的知识.
For more about learning Unix, see The Loginataka.
关於学习 Unix, 在 Loginataka 有更多的资料.
To get your hands on a Linux, see the Linux distributions directory or the
Linux CD Giveaway at Sunsite.
看一下 Linux distribution 的目买或 Linux CD, 并把自己交付给它.
3. Learn how to use the World Wide Web and write HTML.
3. 学习使用 World Wide Web 并学会写 HTML.
Most of the things the hacker culture has built do their work out of s ight,
helping run factories and offices and universities without any obvious
impact on how non-hackers live. The Web is the one big exception, the huge
shiny hacker toy that even politicians admit is changing the world. Fo r this
reason alone (and a lot of other good ones as well) you need to learn how to
work the Web.
在 hacker 文化创造出来的东西, 大多在他们的活动范围外被使用著, 如, 在
工厂和辨公室或大学被漠漠的使用著. 但 Web 是一个很大的例外, 这个 hack er 眼中
的大玩具甚至还被政客们接受, 并巧巧的在改变这个世界. 因此(还有很多好的理 由),
你必须学习 Web.
This doesn't just mean learning how to drive a browser (anyone can do that),
but learning how to write HTML, the Web's markup language. If you don' t know
how to program, writing HTML will teach you some mental habits that wi ll
help you learn. So build a home page.
并不只是学习使用 browser (这太容易了)而己, 还要学会写 HTML 这个 Web 的
标签语言. 如果你不知道如何设计程式, 写 HTML 也可以给一些习惯上的帮助.
嗯!! 建立 home page 弧!
But just having a home page isn't anywhere near good enough to make yo u a
hacker. The Web is full of home pages. Most of them are pointless,
zero-content sludge -- very snazzy-looking sludge, mind you, but sludg e all
the same (for more on this see The HTML Hell Page).
不过, 有一个 home page 并没任何特别之处能让你成为一位 hacker. Web 上到 处
都是 home page, 而且大部份都没什幺重点, 没什幺内容的烂泥 -- 很好看的烂 泥巴,
但是看起来都一样, 差不多.
To be worthwhile, your page must have content -- it must be interestin g
and/or useful to other hackers. And that brings us to the next topic.. .
为了让你的 page 有其价值, 它必须是有内容的东西 -- 它必须是有趣并且(或者 )
对其它 hacker 有用处的.
Status in the Hacker Culture
Hacker 文化的状况
Like most cultures without a money economy, hackerdom runs on reputati on.
You're trying to solve interesting problems, but how interesting they are,
and whether your solutions are really good, is something that only you r
technical peers or superiors are normally equipped to judge.
就像大多数没有经济活动的文化一样, hackerdom 的运作是建立在名望之上.
当你尝试去解决一个有趣的问题时, 你所做事是否有趣, 你的解决方案是不是真 的好用,
这些只有你的技术上的同好或前辈准备好为你做评价.
Accordingly, when you play the hacker game, you learn to keep score
primarily by what other hackers think of your skill (this is why you a ren't
really a hacker until other hackers consistently call you one). This f act is
obscured by the image of hacking as solitary work; also by a hacker-cu ltural
taboo (now gradually decaying but still potent) against admitting that ego
or external validation are involved in one's motivation at all.
因此, 当你开始玩起 hacker 的游戏时, 你的主要分数是来自其它 hacker
们对你的技术的看法(这就是为什幺只当其它的 hacker 都认为你是 hacker 时, 你
才算是一位真正的 hacker). 这个事实被人们认为 hacking 是一种孤独的工作的
印象所朦敝了; 也被 hacker 文化的禁忌(现在己渐渐的朽坏了, 但依然存在) 和
存在人们内心动机的自大或特权之间的冲突所朦敝.
Specifically, hackerdom is what anthropologists call a gift culture. Y ou
gain status and reputation in it not by dominating other people, nor b y
being beautiful, nor by having things other people want, but rather by
giving things away. Specifically, by giving away your time, your creat ivity,
and the results of your skill.
很奇怪, 所谓的 hackerdom 就是那种人类学家所说的 gift culture.
你在其中所得到的地位和名望并不来自於支配其它人, 或是因为长的漂亮, 或
因为你有一些别人想要的东西, 而是因为你送出东西. 特别是, 你给送出你的时 间,
你的创造力和你的技术成果.
There are basically five kinds of things you can do to be respected by
hackers:
下面有五种事, 你会因为做了这些事而爱到 hacker 们尊敬:
1. Write free software.
1. 写免费的软体.
The first (the most central and most traditional) is to write programs that
other hackers think are fun or useful, and give the program sources to the
whole hacker culture to use.
第一种是写那些其它 hacker 们觉的有趣或好用的程式, 并把 source 公开开放 给整
个 hacker 文化中的人使用.
Hackerdom's most revered demigods are people who have written large, c apable
programs that met a widespread need and given them away, so that now
everyone uses them.
hackerdom 最爱尊敬的是写出大而功能强的程式的人, 而且这程式是广为大家需 要的,
所以大家都在做用这些程式.
2. Help test and debug free software
2. 帮忙 test 和 debug 免费的软体
They also serve who stand and debug free software. In this imperfect w orld,
we will inevitably spend most of our software development time in the
debugging phase. That's why any free-software author who's thinking wi ll
tell you that good beta-testers (who know how to describe symptoms cle arly,
localize problems well, can tolerate bugs in a quickie release, and ar e
willing to apply a few simple diagnostic routines) are worth their wei ght in
rubies. Even one of these can make the difference between a debugging phase
that's a protracted, exhausting nightmare and one that's merely a salu tory
nuisance.
hacker 们也尊敬帮忙 debug 免费软体的人. 在这个不是很完美的世界, 你不 可避
免的必须花掉大部分的软体发展周期在 debug 阶段上. 这就是为什幺在任何免费
软体发展者的脑子都会告诉你一件事, 好的 beta 测试者(能很很清楚的描述发 生
的状况,正确的发现问题出处, 可以容忍测试版本的 bug, 并且能进行一些简单的 诊
断程序)和红宝石一样贵重.
If you're a newbie, try to find a program under development that you'r e
interested in and be a good beta-tester. There's a natural progression from
helping test programs to helping debug them to helping modify them. Yo u'll
learn a lot this way, and generate good karma with people who will hel p you
later on.
如果你是一只菜鸟, 试著开始去找一个你有兴趣的正在发展中的程式, 并且成为 一
位好的 beta 测试者. 从帮忙测试开始, 很自然的你开始帮忙 debug, 进而开始
帮忙修改程式. 你将在这过程中学习到很多东西, 并,且和以后可以帮助你的人
结下因果.
3. Publish useful information.
3. 公布有用的资讯.
Another good thing is to collect and filter useful and interesting
information into Web pages or documents like FAQs (Frequently Asked
Questions lists), and make those generally available.
另一项好事是收集和过滤有用和有趣的资讯, 整理成 Web page 或 FAQ 之类
的文件, 让大家能很容易的收得.
Maintainers of major technical FAQs get almost as much respect as
free-software authors.
几种主要技术 FAQ 的维护者都能得和免费软体的作者几乎一样多的尊敬.
4. Help keep the infrastructure working.
4. 帮忙维持一些简单的工作.
The hacker culture (and the engineering development of the Internet, f or
that matter) is run by volunteers. There's a lot of necessary but
unglamorous work that needs done to keep it going -- administering mai ling
lists, moderating newsgroups, maintaining large software archive sites ,
developing RFCs and other technical standards.
hacker 文化是由一群自愿者维持运作著. 有一些工作很无趣但却必须维持正常运
作的, 如: 管理 mailing list, 维护 newsgroup, 维持大的软体供应站台, 推动
RFC 和其它技术标准.
People who do this sort of thing well get a lot of respect, because
everybody knows these jobs are huge time sinks and not much fun as pla ying
with code. Doing them shows dedication.
做这类的事将会得到很多的尊敬, 因为大家都知道这些工作是很花时间, 但又不 像
玩弄程式码般有趣.
5. Serve the hacker culture itself.
5. 为 hacker 文化而努力.
Finally, you can serve and propagate the culture itself (by, for examp le,
writing an accurate primer on how to become a hacker :-)). This is not
something you'll be positioned to do until you've been around for whil e and
become well-known for one of the first four things.
最后一项, 你可以为这个文化效劳, 并推广这个文化(例如, 写一份正确的入门手 册,
教别人如何成为一位 hacker :-)). 在你因为做了前面四件事之一而出名之前, 这不
是你该做的事.
The hacker culture doesn't have leaders, exactly, but it does have cul ture
heroes and tribal historians and spokespeople. When you've been in the
trenches long enough, you may grow into one of these. Beware: hackers
distrust blatant ego in their tribal elders, so visibly reaching for t his
kind of fame is dangerous. Rather than striving for it, you have to so rt of
position yourself so it drops in your lap, and then be modest and grac ious
about your status.
正确的说, hacker 文化并没有任何的领导者, 但在这文化有所谓的文化英雄 ,
族群历史学家. 当你在其中混的够久之后, 你也许会成为这之中的一员. 注意:
hacker 们并不相信族群, 喧骚自大的长者, 所以成为这样的长者是非常的危险 .
与其去和别人竞争, 你宁可为自己定位, 给自己一个亲切谱虚的身份.
The Hacker/Nerd Connection
Contrary to popular myth, you don't have to be a nerd to be a hacker. It
does help, however, and many hackers are in fact nerds. Being a social
outcast helps you stay concentrated on the really important things, li ke
thinking and hacking.
成为一位 hacker, 你不需要成为令人讨厌的人(Nerd), 反於社会常态.
然而, 这对你而言却是非常有帮助的, 而且有很多 hacker 也是让人讨厌的人.
当一个社会的浪人有益於让你专心在真正重要的事情上面, 例如: 思考和 hacki ng.
For this reason, many hackers have adopted the label `nerd' and even u se the
harsher term `geek' as a badge of pride -- it's a way of declaring the ir
independence from normal social expectations. See The Geek Page for
extensive discussion.
因此, 有很多 hacker 们接受了 `nerd' 这个符号, 甚至是使用 `geek' 这个字 眼,
并引以为傲 -- 这是一种说明他们独主於世俗习惯之外的方法.
If you can manage to concentrate enough on hacking to be good at it an d
still have a life, that's fine. This is a lot easier today than it was when
I was a newbie; mainstream culture is much friendlier to techno-nerds now.
There are even growing numbers of people who realize that hackers are often
high-quality boyfriend/girlfriend/husband/wife material. For more on t his,
see Girl's Guide to Geek Guys.
如果你能够适当的专注於 hacking 这事上面, 并且还保有你的生活, 那很好.
而且现在要做到这样, 比起以前我还是个菜鸟时容易. 主流文化现在也较
为 techno-nerd 所接受. 甚至有越来越多的人认为 hacker 们可以是很好的男朋 友,
女朋友,老公和老婆. 更多相关讯息也见 Girl's Guide to Geek Guys.
If you're attracted to hacking because you don't have a life, that's O K too
-- at least you won't have trouble concentrating. Maybe you'll get one
later.
如果你是因为没有生活而想开始 hacking, 那也没关系, 至少你就没有不能专心 的
问题了. 也许不久之后你就是一位 hacker 了.
Points For Style
Again, to be a hacker, you have to enter the hacker mindset. There are some
things you can do when you're not at a computer that seem to help. The y're
not substitutes for hacking (nothing is) but many hackers do them, and feel
that they connect in some basic way with the essence of hacking.
再一次的强调, 要成为 hacker 就要了解 hacker 的精神. 如果你并不玩电脑, 那幺还
是有一些事情可以帮助你. 这些不能成为 hacker 的代替品, 不过有不少的 hac ker
经常做这些事, 并认为这些事和 hacking 的本质有某种基本的关连.
* Read science fiction. Go to science fiction conventions (a good way to
meet hackers and proto-hackers).
* Study Zen, and/or take up martial arts. (The mental discipline seems
similar in important ways.)
* Develop an analytical ear for music. Learn to appreciate peculiar ki nds
of music. Learn to play some musical instrument well, or sing.
* Develop your appreciation of puns and wordplay.
* Learn to write your native language well. (A surprising number of
hackers, including all the best ones I know of, are able writers.)
* 阅读科学小说, 并叁加小说的聚会(这是一个遇到 hacker 和原始 hacker们的
好方法).
* 学禅, 并且(或者)接触战争的艺术. (钢铁般的纪律似乎很重要.)
* 训练你的耳朵对音乐的分析能力, 试著欣赏某种特殊的音乐, 并好好的玩一些
乐器或者唱歌.
* 增加对於俏皮话和文字游戏的认识.
* 加强你的母语写作能力. (有很惊人数量的 hacker, 都是不错的作家. 这包括 一
位我所知道的最好的 hacker.)
The more of these things you already do, the more likely it is that yo u are
natural hacker material.
你做越多这些事, 那幺你就越像一位逼真的 hacker(natural hacker
material).
Finally, a few things not to do.
最后, 有一些事千万不要做.
* Don't use a silly, grandiose user ID or screen name.
* Don't get in flame wars on Usenet (or anywhere else).
* Don't call yourself a `cyberpunk', and don't waste your time on anyb ody
who does.
* Don't post or email writing that's full of spelling errors and bad
grammar.
* 不要使用很蠢, 宏伟的使用者 ID 和 screen name.
* 不要加入 Usenet 的战火 (或者任何地方的).
* 不要自称为 `cyberpunk', 也不要浪费任何时间在这幺做的人身上.
* 不要 post 或 email 一些充满错字或文法错误的文章.
The only reputation you'll make doing any of these things is as a twit .
Hackers have long memories -- it could take you years to live it down enough
to be accepted.
做了这些事的结果只是为你招来大家的责难和批评. Hacker 们的记忆力都很好, 他们会
一直记住你的所做所为, 你可能要花数年的时间才有辨法让他们重新接受你.
Other Resources
The Loginataka has some things to say about the proper training and at titude
of a Unix hacker.
Loginataka 有提到一些关於 Unix hacker 的训练和态度.
I have also written A Brief History Of Hackerdom.
我也写关於 Hackerdom 历史的简介.
Peter Seebach maintains an excellent Hacker FAQ for managers who don't
understand how to deal with hackers.
Peter Seebach 也维护了一份很不错的 Hacker FAQ, 这份文件是专门给不知道
如何和 hacker 们相处的经理人们看的.
I have written a paper, The Cathedral and the Bazaar, which explains a lot
about how the Linux culture works. You can find it on my writings page .
我也写了一份 paper「Cathedral and the Bazaar」, 上面解释 Linux 文化的运 作
方式. 你可以在我写的page 上找的到.
Frequently Asked Questions
Q: Will you teach me how to hack?
Q: 你能教我如何 hack 吗?
Since first publishing this page, I've gotten several requests a week from
people to "teach me all about hacking". Unfortunately, I don't have th e time
or energy to do this; my own hacking projects take up 110% of my time.
自从公开这个 page 以来, 我每周都收到很多人来信问"请告诉我所有关於 hack ing
的事". 但很不幸的, 我没有这个时间或者是精力去做这件事; 我的 hacking pr oject
已经用掉我 110% 的时间了.
Even if I did, hacking is an attitude and skill you basically have to teach
yourself. You'll find that while real hackers want to help you, they w on't
respect you if you beg to be spoon-fed everything they know.
就算我愿意, 但是基本上, hacking 是一种必须自习而成的生活态度和技术. 事 实上,
如果有真正的hacker 愿意帮助你时, 如果你请求他们把所会的东西都直接喂给你 ,
你会发现他们根本就不理你.
Learn a few things first. Show that you're trying, that you're capable of
learning on your own. Then go to the hackers you meet with questions.
先学一点东西弧! 表现出你正在努力尝试, 你有能力独立学习的. 然后再带著你 所
遇到的难题去和 hacker 见面.
Q: Where can I find some real hackers to talk with?
Q: 我要在那才能找的到一位真的 hacker 并和他们交谈?
Well, not on IRC, that's for sure -- it's nothing but flamers and crac kers
there as far as the eye can see. The best way is to find a Unix or Lin ux
user's group local to you and go to their meetings (there's a director y at
the Linux Users' Group page on Sunsite).
很好, 不过很确定的, 不会在 IRC. 就我所能看到的, 那除了骗子和 cracker 之外
什幺也没有. 最好的方法是找到一个在你附近的 Unix 或 Linux 的 user's gro up,
并加入他们, 叁加他们的聚会 (在 Linux Users' Group page on Sunite 有一份 目买).
Q: What language should I learn first?
Q: 我应该从那一种语言开始学呢?
HTML, if you don't already know it. There are a lot of glossy,
hype-intensive bad HTML books out there. The one I like best is HTML: The
Definitive Guide.
如果你真的不懂 HTML 的话, 那就从它开始弧. 市面上有很多外表光鲜亮丽的 H TML
烂书. 我最喜欢的一本是 HTML: The Definitive Guide.
When you're ready to start programming, I would recommend starting wit h Perl
or Python. C is really important, but it's also much harder.
如果你己经准备好开始学 programming 了, 我会建议你从 Perl 或 Python 开始 .
而 C 是真的很重要, 不过它也真的很难.
Q: How can I get started? Where can I get a free Unix?
Q: 我要如何开始呢? 在那能拿到免费的 Unix 呢?
Elsewhere on this page I include pointers to where to get a Linux. To be a
hacker you need motivation and initiative and the ability to educate
yourself. Start now...
我在这 page 内到处都有指向取得 Linux 的地方. 要成为一位hacker, 你必须要 有
动机并且主动进取还要独立学习. 就从现在开始弧....
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.243.142]
|
|