這真是一個(gè)好問(wèn)題, 不止是原作者說(shuō)他被問(wèn)過(guò)很多次, 包括我和許多網(wǎng)絡(luò)上的朋友們也常有這個(gè)困擾. 不過(guò)和作者不同的是, 我經(jīng)常沒(méi)有一個(gè)固定的答案 :p事實(shí)上我所能提供也只是自己的經(jīng)驗(yàn), 卻沒(méi)有足夠的能力來(lái)肯定自己的看法是不是正確的. 這份文章應(yīng)該可以減去大家不少的麻煩 :)6 p& G" h1 n9 P {* m
. ~1 ^/ |/ X S! v4 V' t嗯!! 這次自告奮勇當(dāng)起翻譯, 雖然是起于晚上回到住的地方之后很無(wú)聊, 可以用來(lái)打發(fā)時(shí)間. 不過(guò)我翻了百行之后, 越翻越后悔. 主要是因?yàn)槊嬗幸恍┚渥訉?shí)在很難翻譯, 這大概是因?yàn)槲业挠⑽牡鬃硬惶玫年P(guān)系吧!! 好不容易, 終于是翻完了. 為讓句子更通順或者是個(gè)人誤解, 翻譯后和原文有些出入, 這方面還請(qǐng)各位大大見(jiàn)諒. :-)0 I. o3 ?: t! W( x8 f
9 ?% O. j1 H/ z1 ^1 b1 F, RThinker
1 K; Y5 B* O) Y" B$ c8 J--------------------------------------------------------------------------& v, k% ^/ h# j% Q0 |) U: e$ t% |, k
如何成為一位 hacker
& ~ [! r8 Z0 b$ X' n# ^4 F7 R$ z0 m3 b. c v2 B; R9 p9 ?' g: P
為何有這份文件?
; Y3 @6 H$ B6 @7 {( Q8 V
5 ]/ D9 W6 v# M* j身為 Jargon File 的編輯, 常有一些網(wǎng)絡(luò)新手發(fā) mail 問(wèn)我 "如何成為一個(gè)厲害的hacker?". 但, 很奇怪的, 似乎沒(méi)有任何的 FAQs 或 Web documents 說(shuō)明這么重要的問(wèn)題, 所以我寫(xiě)了一份我自己的看法./ x7 Y- A) Q) C
0 }+ G, N: b" w2 V1 e2 q& P
如果你是以 offline 的方式在看這一份文件的某一個(gè)版本, 那么你可以在) M% H3 J6 @8 ~8 n
"http://www.ccil.org/~esr/faqs/hacker-howto.html" 找到這份文件的目前最新版本.+ ?+ P, F* v. C; i; f' g
: F' a2 v3 u0 X' a" ^
怎么樣才算是一位 Hacker ??: T: z9 \* F7 G; s/ J! W8 H$ n
- k' ~5 j$ c6 a# l% H% x) W
在 Jargon File 有一堆關(guān)于 `hacker' 這個(gè)名詞的定義, 大部份必須是技術(shù)上的行家或熱衷于解決問(wèn)題, 克服限制的人. 然而, 如果你想知道如何成為一位 hacker,有兩件事是很有關(guān)連的.
' E- a6 e3 F+ \5 b8 A' j9 r, n& k+ i( }' t2 B
這可以追溯到幾十年前第一臺(tái) minicomputer 剛誕生, ARPAnet 實(shí)驗(yàn)也剛展開(kāi)的時(shí)代. 那時(shí)有一個(gè)由程序設(shè)計(jì)專(zhuān)家和網(wǎng)絡(luò)名人所組成的, 具有分享特質(zhì)的文化族群.這種文化的成員創(chuàng)造了 `hacker' 這個(gè)名詞. 這些 Hacker 建立了 Internet,創(chuàng)造出我們現(xiàn)在使用的 UNIX 操作系統(tǒng), 他們也使 Usenet 運(yùn)作起來(lái), 并且讓 WorldWide Web 動(dòng)起來(lái). 如果你是這個(gè)文化的一部分, 如果你對(duì)這些種種有所供獻(xiàn), 而且這個(gè)文化的其它成員也認(rèn)識(shí)你, 并稱(chēng)你為 hacker, 那么你就是一位 hacker.% N3 x7 I; l- ], `' _
. y+ h$ E; z9 N1 X6 v
在精神上, hacker 并不單指(限制于)這種軟件 hacker 的文化. 有人也把 hacker的特質(zhì)發(fā)揮在其它領(lǐng)域, 例如: 電子或者音樂(lè)方面. 事實(shí)上你會(huì)發(fā)現(xiàn), 在任何一種科學(xué)或藝術(shù)的最高境界, 你都可以發(fā)現(xiàn) hacker 的特質(zhì). 軟件 hacker 們認(rèn)為,那些類(lèi)似的精神也都可以稱(chēng)為 "hacker". 有些人還主張 hacker 的通性是獨(dú)立于任何媒介之上的, 不特別屬于任何一種 hacker 所在的環(huán)境. 但是, 在這份文件,我們將把重點(diǎn)放在軟件 hacker 們所需的技能、態(tài)度和發(fā)明`hacker' 這個(gè)詞的分享文化的傳統(tǒng).- J* n* K! e* d0 q$ m) M+ q* \
6 F( V8 Q5 ^' c! n' m
在另一個(gè)團(tuán)體, 他們的成員也很大聲的稱(chēng)自己為 hacker, 但是他們不是真的 hacker.這些人(大部分是男性青年)專(zhuān)門(mén)闖入電腦和入侵電話(huà)系統(tǒng), 真正的 hacker 們稱(chēng)他們?yōu)?`cracker', 并且不愿意和他們?cè)谝恍┳鋈魏问? hacker 們認(rèn)為這些人都是懶惰, 不負(fù)責(zé), 并且不夠光明正大的, 并且認(rèn)為能破解安全系統(tǒng)并不能使你成為一位hacker. 但是很不幸的, 很多記者和作家不明究理的使用 `hacker' 這個(gè)字來(lái)描述cracker 們; 這讓真的 hacker 們很忿怒.
/ ~; T/ S% x* k5 C; T
/ ]# t$ y) a5 T# g) I- E基本上, hacker 和 cracker 之間最主要的不同是: hacker 們創(chuàng)造新東西,cracker 們破壞東西.. @* l: p9 a1 {& M% _# v# I2 B, Y0 E
d. \5 H1 |; x+ m如果你想要成為一位 hacker, 繼續(xù)讀下去吧. 如果你是想要成為一位 cracker, 那么就去讀 alt.2600 newsgroup 并準(zhǔn)備在你發(fā)現(xiàn)自己并不如想像中那么行時(shí), 給自己一點(diǎn)評(píng)價(jià). 所有關(guān)于 cracker 的事情就只有這些了.
# n$ i+ ~6 f4 O g9 a; d6 i" N# D
Hacker 態(tài)度
- I& c* A2 h7 _1 ?9 _
1 [( S: T: z8 J! V" pHacker 們解決了問(wèn)題并創(chuàng)造新東西, 他們相信自由并自愿的互相幫助. 想要被別人接受成為一位 hacker, 你必須發(fā)自?xún)?nèi)心的表現(xiàn)出這種態(tài)度. 為了要很自發(fā)的表現(xiàn)出這種態(tài)度, 你就必須先完全認(rèn)同這些態(tài)度.# B' }# ?+ z7 ^; ?
! r) ~. l t& p4 U P
如果你只是把學(xué)習(xí) hacker 態(tài)度這件事當(dāng)作一種能在這個(gè)文化贏得認(rèn)同的途徑,那么你己經(jīng)乎略了真正的重點(diǎn). 由衷的接受這些態(tài)度是很這要的, 這能幫助你學(xué)習(xí)并維持你的動(dòng)機(jī). 就像那些具創(chuàng)造性的藝術(shù)一樣, 成為一位大師的最有效方法是學(xué)習(xí)大師們的精神; 并不只是學(xué)習(xí)知識(shí)和情緒而己.2 v3 S: a& [ C0 \; q7 l- x; p
+ s) d* s9 N: L2 Y所以, 如果你想要成為一位 hacker, 請(qǐng)反復(fù)的做下面的事情, 直到你完全領(lǐng)會(huì)它們:8 I; @/ m% s4 R
; K; s7 e& K0 H% R1. 這世上充滿(mǎn)著等著被解決的迷人問(wèn)題.# t P% Z( n: q# Q+ T7 x( N5 t
; N2 t! l$ K, Y; r* v: D
作為一個(gè) hacker 是充滿(mǎn)快樂(lè)的, 但這是一種因?yàn)榕Φ玫匠晒鶐?lái)的快樂(lè). 努力的成果則帶來(lái)動(dòng)機(jī). 成功的運(yùn)動(dòng)家的動(dòng)機(jī)則來(lái)自于, 使他們的身體不斷進(jìn)化,并把自己推向物理上的極限所帶來(lái)的快樂(lè). 類(lèi)似的情形, 要成為 hacker, 你必須要能從解決問(wèn)題, 精進(jìn)技術(shù), 和運(yùn)用知識(shí)的過(guò)程中感受到一種悸動(dòng).( i1 d* F: v, [+ J# T
8 I. i! n- U( Q% M3 z1 V3 G8 H" t* X3 C o
如果你不是天生就能感受到這種悸動(dòng)的人, 那么, 為了要成為 hacker, 你必須使自己變成這樣的人. 否則, 你會(huì)發(fā)現(xiàn)你的 hacking energy 就會(huì)像性, 金錢(qián), 和社交活動(dòng)一樣, 因?yàn)榉中亩幌サ?/ y) m% Z0 u5 d5 C a
1 l* Y4 u$ t# U% y& N(你也必須為你的學(xué)習(xí)能力建立一種信念直到你完成你的工作 -- 即使你只處理一小部份, 而你也不知道你到底還要學(xué)些什么東西才有辨法解決你的問(wèn)題, 但是你會(huì)努力學(xué)習(xí), 準(zhǔn)備充足, 以應(yīng)付下一個(gè)問(wèn)題.)* F0 v5 U/ |* H" g0 S
) g; ^, ?, |; \; m g2. 沒(méi)有任何人必須一再的解決同一個(gè)問(wèn)題.3 J* q3 B$ m( l( }6 }/ F
* N9 C0 f# u4 m1 w& a' n0 {富創(chuàng)造力的頭腦是貴重而有限的資源. 有這么多迷人的新問(wèn)題在那等著被解決.因此富創(chuàng)造力的頭腦不該被浪費(fèi)的用來(lái)重復(fù)發(fā)明輪子.0 Z' H% A+ M4 V" v
6 G( ?* x7 p+ Z# Y
身為一位 hacker, 你必須了解到其它 hacker 們的時(shí)間也是很寶貴的 -- 所以,分享資訊, 解決問(wèn)題和提供解決方案給其它 hacker 以解決新的問(wèn)題, 這些幾乎算是道義上的責(zé)任.; p% t' \+ I6 b
- W: ?: c- C) i0 s+ l2 U9 L8 q9 A; N
( 即使 hacker 們所擁有的大多是從其它 hacker 的身上得來(lái)的, 但這并不意謂你必需把你創(chuàng)造的作品全部交出來(lái), 你可以賣(mài)出足夠數(shù)量的產(chǎn)品, 以求得溫飽, 給付房租和買(mǎi)電腦設(shè)備, 這和 hacker 的價(jià)值觀(guān)并不相違背. 使用你的 hacking 技能以供給一個(gè)家庭的生活, 甚至是致富, 只要你仍不忘記你是一位 hacker, 那么這些行為并不會(huì)產(chǎn)生予盾. )
/ |* [% g1 R! k+ I* r4 } K: C( d+ Q$ m! t4 `
3. 無(wú)聊而單調(diào)的工作是有害的.
0 n4 z8 S4 m* ^/ a h
" c8 r! Z9 g: K& h* c5 dHacker 們(有創(chuàng)造力的人也是一樣)永遠(yuǎn)不該做一些無(wú)聊而單調(diào)并且愚蠢的反復(fù)性工作. 因?yàn)? 如果這樣的事情發(fā)生的話(huà), 這表示他們正在做一些不是他們?cè)撟龅氖?- 解決新的問(wèn)題. 這樣的浪費(fèi)對(duì)任何人而言都是一種傷害. 無(wú)聊單調(diào)的工作不只是無(wú)趣而己, 而且是一種有害的物質(zhì).
$ ~& {5 C/ |, q
3 i: P* o: ~. D要做為一位 hacker 要能盡可能的自動(dòng)避免無(wú)聊, 對(duì)此你必須有相當(dāng)?shù)恼J(rèn)知. 這不只是為了你自己而已, 也是為了所有的人(尤其是其它的 hacker).. n; H- j( b2 u0 w' y S2 L
3 m7 \8 f8 `1 ]* C) A(這有一些例外. 有時(shí)侯 hacker 們會(huì)去做一些被認(rèn)為無(wú)聊或重復(fù)性的工作, 當(dāng)做腦力的訓(xùn)練, 或是為了要學(xué)習(xí)得某種技能或某種你所沒(méi)有的特殊經(jīng)驗(yàn). 不過(guò)這是一種選擇, 任何人都不該被強(qiáng)迫面對(duì)無(wú)聊事. )
" `8 f- r7 U8 n* [5 \, u* ^; \ X X* D& w& R: l! K
4. 自由才好.
H8 m2 i5 P/ D* {* f# f' h* l9 W/ \0 a0 E- T
hacker 們天性上是反對(duì)獨(dú)裁的. 任何一個(gè)給你命令的人就能給你一個(gè)獨(dú)裁式的工作,并且可以給你一些笨的可以的理由, 停止你解決任何吸引著你的問(wèn)題. 所以任何獨(dú)裁式的行為都會(huì)被挑戰(zhàn), 以免會(huì)危害到你和其它的 hacker 們.
1 r8 k. Z5 v. s7 P s8 ~
4 r$ ~8 b2 P8 v. V4 q* @(這和為反對(duì)而反對(duì)是不同的, 小孩子是需要被指導(dǎo)和阻止他們犯錯(cuò). hacker 也會(huì)同意接受某些權(quán)威, 照著指示做以較短的時(shí)間得到他想要的. 不過(guò)那是一種有限且理性的協(xié)定; ..... ). b9 v% p6 ]* ?- u1 R1 Z9 i
- X. l, r$ h z0 J3 R
專(zhuān)制在監(jiān)察和保密這些事上是很有效的方法. 這些行使專(zhuān)制的人并不相信自愿性質(zhì)的合作和資訊分享 -- 他們只相信在他們控制之下的合作關(guān)系. 所以, 身為一位 hacker,你必具有一種敵對(duì)的天性, 以對(duì)抗監(jiān)察, 秘密和使用外力強(qiáng)迫或迷惑可以信任的人等行為. 你必須以互信做為你行為的基礎(chǔ).( ~0 D# ]# v1 _' X! n
# [* Q) z! C( [9 B. `# H+ W5. 態(tài)度并非不等效于能力
' c# Q$ @& G$ K+ x8 x
' d( ? x' U) s2 B$ M要成為一位 hacker, 你必須開(kāi)始培養(yǎng)這些態(tài)度. 但, 如果你只是單獨(dú)的模仿某一種態(tài)度, 這并不能使你成為一位真正的 hacker, 也不會(huì)使你成為一位運(yùn)動(dòng)冠軍或搖滾明星.
: D: p6 ^( `* H) b' E- c% D# G$ h& c/ a
因此, 你必須學(xué)會(huì)猜疑態(tài)度和尊敬各種能力. Hacker 們不會(huì)想浪費(fèi)時(shí)間在虛華的人的身上, 他們尊敬的是能力 -- 特別是身為 hacker 的能力, 但對(duì)于其它方面的能力也是充滿(mǎn)敬意. 如果有能力追求一些很少人能弄懂的技術(shù),追求精神上的技巧, 并能集中精神, 那就再好不過(guò)了.
7 P( \9 x/ _) U2 j' C. l% E8 Y8 V
' y- I8 ~! o! F8 l. o8 e+ v+ q如果你尊敬各種的能力, 那么你就會(huì)樂(lè)于自己發(fā)展這些能力 -- 這會(huì)使的努力工作和奉獻(xiàn)成為一種剌激性的消遣而非一份苦差事. 這對(duì)于想要成為 hacker 的人而言, 是很重要的.
+ V+ a$ D( l, I
) y: ]1 C: n2 t: Z) Z一位 Hacker 所需的基本技能
) S f! g J5 g7 N8 ^( y: U
; y" P0 r$ b3 K) d7 m. q, w+ @$ ehacker 的精神態(tài)度是很重要的, 但技術(shù)則更是重要. hacker 的態(tài)度雖然是無(wú)可取代,但在夢(mèng)想別的 hacker 開(kāi)始也叫你 hacker 前, 有些基本的工具和技術(shù)是必備的.
, a; L& Z8 O( ~/ ~8 u- y3 L3 G隨著新科技的發(fā)明和舊技術(shù)的取代, 這些工具隨時(shí)間在慢慢的改變. 例如: 以往總是會(huì)學(xué)會(huì)用機(jī)器碼寫(xiě)程序, 直到最近我們開(kāi)始使用 HTML. 不過(guò), 在 1996 年末,下面所舉的工具是很明顯的被需要的:
$ | J% f% j4 R$ b8 [0 K( e E* P
8 m5 c2 ?/ M" l$ s d. k) l# u+ A+ r1. 學(xué)習(xí)程序設(shè)計(jì).
$ [/ s0 @- P/ P0 G+ @# D% k* a1 ^ |0 u$ |' }$ H
當(dāng)然, 這是基礎(chǔ)的 hacking 技能. 在 1997 年, 理所當(dāng)然的, 你必須學(xué)會(huì) C. 但,如果你只是學(xué)一種語(yǔ)言, 那么你不能算是一位 hacker, 了不起只能算是一個(gè)programmer. 除此, 你還必須學(xué)會(huì)學(xué)會(huì)以獨(dú)立于任何程序語(yǔ)言之上的概括性觀(guān)念來(lái)思考一件程序設(shè)計(jì)上的問(wèn)題. 要成為一位真正的 hacker, 你必須要能在幾天之內(nèi)將manual 內(nèi)容和你目前己經(jīng)知道的關(guān)連起學(xué)會(huì)一種新的語(yǔ)言. 也就是說(shuō), 你必會(huì)學(xué)會(huì)數(shù)個(gè)不同的語(yǔ)言.5 b$ k; X+ U0 H5 m1 X
$ L; o s- T! u! s% e5 ]還了 C 之外, 你至少還要會(huì) LISP 或 Perl (Java 也正在努力的擠上這個(gè)名單;譯者注: 我很懷疑這份名單說(shuō) :p ). 除了幾重要的 hacking 常用語(yǔ)言之外,這些語(yǔ)言提供你一些不同的程序設(shè)計(jì)途徑, 并且讓你在好的方法中學(xué)習(xí).
M! E7 V8 V8 b2 I. |1 b9 s1 y. o# y: B5 O! A+ ^8 H& P) u* b
程序設(shè)計(jì)是一種復(fù)雜的技術(shù), 我沒(méi)辨法在這提供完整的學(xué)習(xí)步驟. 但是我能告訴你一些在書(shū)本上和課堂上所沒(méi)有的東西 (有很多, 幾乎全部最好的 hacker 們都是自習(xí)而來(lái)的). (a) 讀別人的程序碼 和 (b) 寫(xiě)程序, 這兩項(xiàng)是不錯(cuò)的方法.1 T; T% O& p- U+ r
' P3 |' X7 d" I% c" S @
學(xué)習(xí)寫(xiě)程序就像在學(xué)習(xí)寫(xiě)一種良好的自然語(yǔ)言, 最好的方法是去看一些專(zhuān)家們所寫(xiě)的東西, 然后寫(xiě)一些你自己的東西, 然后讀更多, 再寫(xiě)更多 ... 然后一直持續(xù), 一直到你發(fā)展出一種屬于自己的風(fēng)格和特色.) R$ P* G( [, e0 D' F |
( K' B- x6 S& _$ ^' z: E要找到好的程序碼來(lái)看是很一件很困難的事, 因?yàn)? 對(duì)菜鳥(niǎo) hacker 們而言, 適于供他們閱讀和努力的大型程序的 source 數(shù)量很少. 但這事己有了戲劇性的變化了;現(xiàn)在免費(fèi)的供應(yīng)的軟件、程序設(shè)計(jì)工具和操作系統(tǒng)(大都公開(kāi)提供 source, 而且全都是由 hacker 們寫(xiě)成的)到處可看. 進(jìn)入下一個(gè)主題...1 k3 O$ d9 [, \# @1 z1 L4 x
4 r0 d: o; R- X. T( r' }* G7 o$ b! A2. 取得一個(gè)免費(fèi)的 UNIX , 并學(xué)習(xí)使用和維護(hù).
1 w' d! V: p; @' A% m1 w6 r( M$ C
# t |# B' ^0 c% O我先假設(shè)你己經(jīng)有一部個(gè)人電腦或者是可以使用任何一部 (現(xiàn)在的小孩子真幸福,可如此輕易的擁有 :-)). 取得 hacker 技巧的第一個(gè)步驟是取得一份 Linux 或者一份免費(fèi)的 BSD-Unix, 并將它安裝在自己的機(jī)器, 并使之順利的運(yùn)作.
H) P0 ^# X0 r' J; |5 _
5 F+ @' D1 r! a J沒(méi)錯(cuò), 在這個(gè)世界上除了 Unix 之外, 還有其它的操作系統(tǒng). 但是他們只提供 bianry, 你不能看到他們的程序碼, 你也不能修改他們. 想要在 DOS 或 Windows或 MacOS 開(kāi)始 hacking, 無(wú)疑就是要你綁著枷鎖跳舞一樣.+ q0 }" h2 y" z0 d7 Z) ]* [- M3 x
- |7 Z- a- r; B! g h
除此之外, Unix 是 Internet 上的操作系統(tǒng). 當(dāng)你在不懂 Unix 的情況下學(xué)習(xí)使用Internet 時(shí), 你沒(méi)辨法在不懂 Unix 的情況下成為 Internet 的 hacker. 因?yàn)檫@個(gè)原故, 現(xiàn)在的hacker 文化還是很牢固的以 Unix 為中心繞著. (這并不完全是正確的, 而且有些活在舊時(shí)代的hacker 甚至也不喜歡這種情形, 但是 Unix 和Internet 之間的共生共成己經(jīng)到了牢不可破的地步, 即使是 Microsoft 的大塊肌肉也沒(méi)能在上面留下明顯的傷痕.)4 Y; W' k5 ~/ z
2 q L* E5 L* R' L- `) F因些, 把 Unix 裝起來(lái)吧! (我自己是喜歡 Linux, 但是還有其它的東東可用.) 學(xué)習(xí)它, 讓它運(yùn)作起來(lái), 讓它陪你努力精進(jìn). 用他向整個(gè) Internet 喊話(huà). 看程序碼,改程序. 有一天你成為一位高竿的 hacker, 你回頭往后看時(shí)會(huì)發(fā)現(xiàn), 你得到比Microsoft 操作系統(tǒng)所能提供的還要好的程序設(shè)計(jì)工具(包括 C, Lisp和 Perl).而且得到快樂(lè), 并學(xué)到比你想像中的還要多的知識(shí).
! Z7 U4 a8 n" ~6 R% L6 z( e: M* K. I$ [9 R0 H1 z9 X9 E
關(guān)于學(xué)習(xí) Unix, 在 Loginataka 有更多的資料.(http://www.ccil.org/~esr/faqs/loginataka.html)
[! Y2 h' }9 {. n9 x
7 G! o1 {: O( F. Q! b. ?! I看一下 Linux distribution 的目錄或 Linux CD, 并把自己交付給它.
9 L1 g4 K, l b: P+ |! v: Z! l! {) M M) a3 X* h- K7 z
3. 學(xué)習(xí)使用 World Wide Web 并學(xué)會(huì)寫(xiě) HTML.
& u e) B- N1 |0 v1 U: I) d& a. p) k
在 hacker 文化創(chuàng)造出來(lái)的東西, 大多在他們的活動(dòng)范圍外被使用著, 如, 在工廠(chǎng)和辨公室或大學(xué)被漠漠的使用著. 但 Web 是一個(gè)很大的例外, 這個(gè) hacker 眼中的大玩具甚至還被政客們接受, 并巧巧的在改變這個(gè)世界. 因此(還有很多好的理由),你必須學(xué)習(xí) Web.
7 O1 d; e( v, K2 N! B9 l
3 x9 Q! E) t/ i/ L并不只是學(xué)習(xí)使用 browser (這太容易了)而己, 還要學(xué)會(huì)寫(xiě) HTML 這個(gè) Web 的標(biāo)簽語(yǔ)言. 如果你不知道如何設(shè)計(jì)程序, 寫(xiě) HTML 也可以給一些習(xí)慣上的幫助.嗯!! 建立 home page 吧!
* }7 b. S& A% ~
( b9 { E% [: J不過(guò), 有一個(gè) home page 并沒(méi)任何特別之處能讓你成為一位 hacker. Web 上到處都是 home page, 而且大部份都沒(méi)什么重點(diǎn), 沒(méi)什么內(nèi)容的爛泥 -- 很好看的爛泥巴,但是看起來(lái)都一樣, 差不多." a8 h, ~- `- d% f3 z; N
(http://www.ccil.org/~esr/html-hell.html)
8 l1 ]; I( `4 v3 h! R* _8 z r7 A. ]9 [8 J
為了讓你的 page 有其價(jià)值, 它必須是有內(nèi)容的東西 -- 它必須是有趣并且(或者)對(duì)其它 hacker 有用處的.. U6 W4 P2 u, X2 U- o& a. @. U
' i9 z3 z3 L8 V* w! b3 s
Hacker 文化的狀況
# B" E! ~4 b9 x
, C' t% r9 B8 A* g( r就像大多數(shù)沒(méi)有經(jīng)濟(jì)活動(dòng)的文化一樣, hackerdom 的運(yùn)作是建立在名望之上. 當(dāng)你嘗試去解決一個(gè)有趣的問(wèn)題時(shí), 你所做事是否有趣, 你的解決方案是不是真的好用, 這些只有你的技術(shù)上的同好或前輩準(zhǔn)備好為你做評(píng)價(jià).+ M* N3 D" [- `& j
& I7 K2 d: U* a6 `& K7 c4 \; V3 U" ?
因此, 當(dāng)你開(kāi)始玩起 hacker 的游戲時(shí), 你的主要分?jǐn)?shù)是來(lái)自其它 hacker 們對(duì)你的技術(shù)的看法(這就是為什么只當(dāng)其它的 hacker 都認(rèn)為你是 hacker 時(shí), 你才算是一位真正的 hacker). 這個(gè)事實(shí)被人們認(rèn)為 hacking 是一種孤獨(dú)的工作的印象所朦敝了; 也被hacker 文化的禁忌(現(xiàn)在己漸漸的朽壞了, 但依然存在) 和存在人們內(nèi)心動(dòng)機(jī)的自大或特權(quán)之間的沖突所朦敝.
9 V- f( k7 V7 M6 u3 C9 z
' u6 \- Q) `0 f# M具體的說(shuō), hackerdom 就是人類(lèi)學(xué)家所說(shuō)的「天才文化」.你在其中所得到的地位和名望并不來(lái)自于支配其它人, 或是因?yàn)殚L(zhǎng)的漂亮, 或因?yàn)槟阌幸恍﹦e人想要的東西, 而是因?yàn)槟闼统鰱|西. 特別是, 你給送出你的時(shí)間,你的創(chuàng)造力和你的技術(shù)成果.! x/ ~" X/ L# y
; M4 N& W+ l7 E" S/ }4 N8 o% S6 B下面有五種事, 你會(huì)因?yàn)樽隽诉@些事而愛(ài)到 hacker 們尊敬:. h' G2 \& j7 V. h) E, U
5 t- ]- `5 V% Z2 t, Y1. 寫(xiě)免費(fèi)的軟件.
. j$ r! N1 ]4 j# C0 v6 \
) \; [% z- _+ X+ x) M; [0 c第一種是寫(xiě)那些其它 hacker 們覺(jué)的有趣或好用的程序, 并把 source 公開(kāi)開(kāi)放給整個(gè) hacker 文化中的人使用.
' Z2 T' e% E8 E6 M% ^( l
2 U1 G! A6 M3 H0 u# n% `1 v! khackerdom 最?lèi)?ài)尊敬的是寫(xiě)出大而功能強(qiáng)的程序的人, 而且這程序是廣為大家需要的,所以大家都在做用這些程序.
; p. v0 ~; _; T" G0 R$ y' d6 H; G+ t5 s3 d A
2. 幫忙 test 和 debug 免費(fèi)的軟件
4 M/ w9 H; E& d
, w/ g& p# k3 Hhacker 們也尊敬幫忙 debug 免費(fèi)軟件的人. 在這個(gè)不是很完美的世界, 你不可避免的必須花掉大部分的軟件發(fā)展周期在 debug 階段上. 這就是為什么在任何免費(fèi)軟件發(fā)展者的腦子都會(huì)告訴你一件事, 好的 beta 測(cè)試者(能很很清楚的描述發(fā)生的狀況,正確的發(fā)現(xiàn)問(wèn)題出處, 可以容忍測(cè)試版本的 bug, 并且能進(jìn)行一些簡(jiǎn)單的診斷程序)和紅寶石一樣貴重.% h2 a9 v7 X, d8 H7 g6 }/ r. C
0 M' U3 c7 u y; B$ i/ r
如果你是一只菜鳥(niǎo), 試著開(kāi)始去找一個(gè)你有興趣的正在發(fā)展中的程序, 并且成為一位好的 beta 測(cè)試者. 從幫忙測(cè)試開(kāi)始, 很自然的你開(kāi)始幫忙 debug, 進(jìn)而開(kāi)始幫忙修改程序. 你將在這過(guò)程中學(xué)習(xí)到很多東西, 并,且和以后可以幫助你的人結(jié)下因果.
% `) ^, i I# \! A t6 v# @$ Y" X$ p0 b* W* p( Y
3. 公布有用的資訊.
: V% O& a: e1 M+ z8 Q
# B7 S b# ~& L) D( Y" q另一項(xiàng)好事是收集和過(guò)濾有用和有趣的資訊, 整理成 Web page 或 FAQ 之類(lèi)的文件, 讓大家能很容易的收得.
1 W, i. N# } k# e
8 K8 ] k7 M- N! R- J! r幾種主要技術(shù) FAQ 的維護(hù)者都能得和免費(fèi)軟件的作者幾乎一樣多的尊敬.9 F: c& b/ x( |5 g
. \1 Z1 N- f4 ?) ]) {6 v
4. 幫忙維持一些簡(jiǎn)單的工作. ! r, q' Y6 }; j
, t9 N( N* m4 w4 W
hacker 文化是由一群自愿者維持運(yùn)作著. 有一些工作很無(wú)趣但卻必須維持正常運(yùn)作的, 如: 管理 mailing list, 維護(hù) newsgroup, 維持大的軟件供應(yīng)站臺(tái), 推動(dòng)RFC 和其它技術(shù)標(biāo)準(zhǔn).0 D! W7 F6 q7 ^4 N' s# q( i
o& J6 b6 Y$ d: t; ]! L: M
做這類(lèi)的事將會(huì)得到很多的尊敬, 因?yàn)榇蠹叶贾肋@些工作是很花時(shí)間, 但又不像玩弄程序碼般有趣.
+ _, L$ Z: d2 x2 |1 Y, Q
8 u7 I6 Y ?" W$ B' o5. 為 hacker 文化而努力.
) T8 i9 x/ V, d M& E7 ]4 C+ y6 t- R9 X2 j, I
最后一項(xiàng), 你可以為這個(gè)文化效勞, 并推廣這個(gè)文化(例如, 寫(xiě)一份正確的入門(mén)手冊(cè),教別人如何成為一位 hacker :-)). 在你因?yàn)樽隽饲懊嫠募轮欢雒? 這不是你該做的事.' y5 Q0 z5 B8 A( @" p5 m
2 G; ^+ U- P: U7 m" m) s7 L正確的說(shuō), hacker 文化并沒(méi)有任何的領(lǐng)導(dǎo)者, 但在這文化有所謂的文化英雄,族群歷史學(xué)家. 當(dāng)你在其中混的夠久之后, 你也許會(huì)成為這之中的一員. 注意:hacker 們并不相信族群, 喧騷自大的長(zhǎng)者, 所以成為這樣的長(zhǎng)者是非常的危險(xiǎn).與其去和別人競(jìng)爭(zhēng), 你寧可為自己定位, 給自己一個(gè)親切譜虛的身份.
F2 ~( i4 u- ?* D: p' C
- j% z! r+ f5 N( B) tHacker 和 Nerd(怪胎) 的關(guān)系' W3 H/ a: s1 \- X3 z" p& q
6 C8 i @4 m* v& q) r( N: e
成為一位 hacker, 你不需要成為令人討厭的人(Nerd), 反于社會(huì)常態(tài). 然而, 這對(duì)你而言卻是非常有幫助的, 而且有很多 hacker 也是讓人討厭的人. 當(dāng)一個(gè)社會(huì)的浪人有益于讓你專(zhuān)心在真正重要的事情上面, 例如: 思考和 hacking.4 t; X5 A& F; a/ |
$ d B1 O5 W) l因此, 有很多 hacker 們接受了 `nerd' 這種稱(chēng)呼, 甚至是使用 `geek'(雜耍演員) 這個(gè)字眼, 并引以為傲 -- 這是一種說(shuō)明他們獨(dú)主于世俗習(xí)慣之外的方法. 在 The GeekPage 可找到更多相關(guān)的討論。
/ w' `+ T5 z! \(http://samsara.circus.com/~omni/geek.html)% k8 X; {9 v& F# o1 t7 D- c1 e
; o a' f3 S6 v7 B2 _
如果你能夠適當(dāng)?shù)膶?zhuān)注于 hacking 這事上面, 并且還保有你的生活, 那很好. 而且現(xiàn)在要做到這樣, 比起以前我還是個(gè)菜鳥(niǎo)時(shí)容易. 主流文化現(xiàn)在也較為 techno-nerd (技術(shù)怪胎)所接受. 甚至有越來(lái)越多的人認(rèn)為 hacker 們可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl's Guide to Geek Guys 可找到更多相關(guān)的訊息。8 s7 i. _' ~# b# r& |7 W
(http://www.bunnyhop.com/BH5/geekguys.html)4 I. b3 n: d. j& z) _
2 d8 R0 E; B, ^) O! c" Z: F
如果你是因?yàn)闆](méi)有生活而想開(kāi)始 hacking, 那也沒(méi)關(guān)系, 至少你就沒(méi)有不能專(zhuān)心的問(wèn)題了. 也許不久之后你就是一位 hacker 了.) G# U* c& Z+ l) q7 F
: b g' F2 w! a# e' E1 z& ?1 p
風(fēng)范要點(diǎn)
9 I+ Y( U( _4 k' P# [1 d2 P$ B, r4 t8 |5 C3 L k+ z% I
再一次的強(qiáng)調(diào), 要成為 hacker 就要了解 hacker 的精神. 如果你并不玩電腦, 那么還是有一些事情可以幫助你. 這些不能成為 hacker 的代替品, 不過(guò)有不少的 hacker經(jīng)常做這些事, 并認(rèn)為這些事和 hacking 的本質(zhì)有某種基本的關(guān)連.; \$ D" s" h. ?) Y
' ~, z+ N1 z( }, F4 b5 l
* 閱讀科學(xué)小說(shuō), 并參加小說(shuō)的聚會(huì)(這是一個(gè)遇到 hacker 和原始 hacker們的好方法).
$ a% D& t4 `. ^0 ~0 g( X4 J* 學(xué)禪, 并且(或者)接觸戰(zhàn)爭(zhēng)的藝術(shù). (鋼鐵般的紀(jì)律似乎很重要.)4 |# B/ |. ^5 q! W/ z
* 訓(xùn)練你的耳朵對(duì)音樂(lè)的分析能力, 試著欣賞某種特殊的音樂(lè), 并好好的玩一些樂(lè)器或者唱歌.
& T: {: t/ l& W2 B- r1 H9 C* 增加對(duì)于俏皮話(huà)和文字游戲的認(rèn)識(shí).& o* P0 @) e# I. m
* 加強(qiáng)你的母語(yǔ)寫(xiě)作能力. (有很驚人數(shù)量的 hacker, 都是不錯(cuò)的作家. 這包括一位我所知道的最好的 hacker.)
& v% k& v% M: N4 f4 m* Y2 O0 w' Y' a5 x& }
你做越多這些事, 那么你就愈是天生 hacker 的料。
5 x. Y; G! K9 @- G; \ Y6 S1 n8 i0 S4 y- y% e$ {2 {9 A
最后, 有一些事千萬(wàn)不要做.
2 A% P- z7 b! A1 }& R8 N' n6 q6 o0 T' ^! U1 j$ A
* 不要使用愚蠢而夸張的代號(hào)(user ID)或化名.. V6 y/ i( s/ R" ^
* 不要加入 Usenet 的戰(zhàn)火 (或者任何地方的).
! o. }- H2 y$ U# w/ P3 P0 u* 不要自稱(chēng)為 `cyberpunk'(電腦搗蛋玩家),也不要浪費(fèi)任何時(shí)間在這么做的人身上.8 I; L% e3 a8 {: |5 ~, p
* 不要 post 或 email 一些充滿(mǎn)錯(cuò)字或文法錯(cuò)誤的文章.' Q3 Z0 U: V, n. x! s, a
2 C& r) g$ Q8 l7 }
做了這些事的結(jié)果只是為你招來(lái)大家的責(zé)難和批評(píng). Hacker 們的記憶力都很好, 他們會(huì)
, W% c! w! |( j$ e- U8 c) w一直記住你的所做所為, 你可能要花數(shù)年的時(shí)間才有辨法讓他們重新接受你.2 K/ R+ I$ X' j" \8 N9 L( t% m
; e, i& L5 `3 v# Z m
其它的資源% \2 \2 Y5 R( e! e
" g! W; G7 `5 `) L. M
Loginataka 有提到一些關(guān)于 Unix hacker 的訓(xùn)練和態(tài)度.
3 @+ z) V, F I/ e7 ?(http://www.ccil.org/~esr/faqs/loginataka.html)9 o8 \7 |' }5 b7 c6 S) |
# M6 a& M6 N& |' N1 g我也寫(xiě)了關(guān)于 Hackerdom 歷史的簡(jiǎn)介.
3 n) t% K* T1 o: m(http://www.ccil.org/~esr/faqs/hacker-hist.html)
# X( ^8 U( K5 Q7 P' o5 p
2 Z* |( j7 s5 a3 i pPeter Seebach 也維護(hù)了一份很不錯(cuò)的 Hacker FAQ, 這份文件是專(zhuān)門(mén)給不知道) h+ D, p" x! I% T
如何和 hacker 們相處的經(jīng)理人們看的.
' j6 O) r; ?8 M1 F0 g(http://www.solon.com/~seebs/faqs/hacker.html)
7 t% o0 [# D9 E$ G) v. L( H3 ]' Z5 C* G( P) O: V
我也寫(xiě)了一份 paper「Cathedral and the Bazaar」, 上面解釋 Linux 文化的運(yùn)作
% L5 M/ O$ P$ K5 l方式. 你可以在我寫(xiě)的page 上找的到.
' l* s8 e% ~2 B M(http://www.ccil.org/~esr/writings/index.html)8 p- `9 y8 u, ?6 V# a0 B0 }
$ L6 q. b+ P/ `/ o. P( R: v
常被提出的問(wèn)題 (FAQ)& o. X4 ]% v7 R$ s) @! `8 F4 z
' r5 x0 M. R1 v' q7 p
Q: 你能教我如何 hack 嗎?& [* H# t1 e+ A7 ]
/ C/ d7 B( W2 [8 ?
自從公開(kāi)這個(gè) page 以來(lái), 我每周都收到很多人來(lái)信問(wèn)"請(qǐng)告訴我所有關(guān)于 hacking的事". 但很不幸的, 我沒(méi)有這個(gè)時(shí)間或者是精力去做這件事; 我的 hacking project已經(jīng)用掉我 110% 的時(shí)間了.5 X; o6 t& h1 w+ E% P6 a! L% g
( n% u# f/ O+ B8 t
就算我愿意, 但是基本上, hacking 是一種必須自習(xí)而成的生活態(tài)度和技術(shù). 你會(huì)發(fā)現(xiàn),當(dāng)真正 hackers 愿意幫助你的同時(shí),你將得不到他們的尊敬,若你求他們把會(huì)的東西都直接給你的話(huà)。
3 N5 }6 R2 @) i: J! Y9 [! B x$ d' ~8 I. a
先學(xué)一點(diǎn)東西吧! 表現(xiàn)出你正在努力嘗試, 你有能力獨(dú)立學(xué)習(xí)的. 然后再帶著你所遇到的難題去和 hacker 見(jiàn)面.
% q& H7 o# R; q- ]+ X* T& ?& P; p0 N* F! ?# k
Q: 我要在那才能找的到一位真的 hacker 并和他們交談?
c8 T. L8 o& t& X+ W" v% V
; T1 z5 \ I Y/ O: ]# T+ g4 B很好, 不過(guò)很確定的, 不會(huì)在 IRC. 就我所能看到的, 那除了騙子和 cracker 之外什么也沒(méi)有. 最好的方法是找到一個(gè)在你附近的 Unix 或 Linux 的使用群, 并加入他們,參加他們的聚會(huì) (在 Linux Users' Group page on Sunite 有一份目錄).
& S- {9 i1 f' {, @7 p0 B( [(http://unc.sunsite.edu/linux/ldp/lugs.html)5 t' f6 U3 l/ E S
& O `- f$ K( \" F
Q: 我應(yīng)該從那一種語(yǔ)言開(kāi)始學(xué)呢?4 ^$ e* p6 f: h% D9 M1 D
% F6 h8 j3 T6 H9 n+ G3 A如果你真的不懂 HTML 的話(huà), 那就從它開(kāi)始吧. 市面上有很多外表光鮮亮麗的 HTML爛書(shū). 我最喜歡的一本是 HTML: The Definitive Guide.
) e7 {, t7 C5 y, M, |, ?(http://www.ora.com/catalog/html2/)
# \, D% B$ @& w5 `2 c5 W% E* @" L* f1 T, }3 Z6 q
如果你已經(jīng)準(zhǔn)備好開(kāi)始學(xué) programming 了, 我會(huì)建議你從 Perl(http://www.perl.com/)或 Python(http://www.python.org/)開(kāi)始. 而 C 是真的很重要, 不過(guò)它也真的很難.
4 I4 @! V! Z8 H5 q' [) p3 m. ~: f
8 v7 `1 w3 c% s" a5 l4 z+ ^; [1 yQ: 我要如何開(kāi)始呢? 在那能拿到免費(fèi)的 Unix 呢?- x" [3 j- D; o8 N
# {) L, E6 F5 D/ B f
我在這 page 內(nèi)到處都有指向取得 Linux 的地方. 要成為一位hacker, 你必須要有動(dòng)機(jī)并且主動(dòng)進(jìn)取還要獨(dú)立學(xué)習(xí). 就從現(xiàn)在開(kāi)始吧....
7 o7 w& F! r7 U$ A2 Z8 p
. |0 Q5 D# S2 B% Z5 S* [9 n |