這真是一個好問題, 不止是原作者說他被問過很多次, 包括我和許多網(wǎng)絡上的朋友們也常有這個困擾. 不過和作者不同的是, 我經(jīng)常沒有一個固定的答案 :p事實上我所能提供也只是自己的經(jīng)驗, 卻沒有足夠的能力來肯定自己的看法是不是正確的. 這份文章應該可以減去大家不少的麻煩 :)
# B. k$ Q; Y2 F, m8 T0 u$ L* v. e$ W+ `% C# X9 {
嗯!! 這次自告奮勇當起翻譯, 雖然是起于晚上回到住的地方之后很無聊, 可以用來打發(fā)時間. 不過我翻了百行之后, 越翻越后悔. 主要是因為面有一些句子實在很難翻譯, 這大概是因為我的英文底子不太好的關系吧!! 好不容易, 終于是翻完了. 為讓句子更通順或者是個人誤解, 翻譯后和原文有些出入, 這方面還請各位大大見諒. :-)
* ^; j I3 V6 k# ~" T( X" J! U, T
Thinker
" s6 D9 A7 k* j9 A! P--------------------------------------------------------------------------) q$ e9 d7 K) F
如何成為一位 hacker
( g3 V8 A/ ]* Z: B' S0 ^* z! W8 T: A- \
為何有這份文件?
. p( }: b; T0 g* e6 {/ |/ ? L
; f8 u6 u, @! c+ t. x9 {3 J身為 Jargon File 的編輯, 常有一些網(wǎng)絡新手發(fā) mail 問我 "如何成為一個厲害的hacker?". 但, 很奇怪的, 似乎沒有任何的 FAQs 或 Web documents 說明這么重要的問題, 所以我寫了一份我自己的看法.3 X$ P2 T8 {# j- @& ?
/ u$ Q, `$ `1 V1 N# }
如果你是以 offline 的方式在看這一份文件的某一個版本, 那么你可以在* g S5 r# t; }
"http://www.ccil.org/~esr/faqs/hacker-howto.html" 找到這份文件的目前最新版本.6 o; j4 w4 C& {1 N+ _& ?# F2 L
2 v \3 N6 E' d
怎么樣才算是一位 Hacker ??# |4 W m4 Z5 l7 F
]. s' D9 a# p0 N. f) Y
在 Jargon File 有一堆關于 `hacker' 這個名詞的定義, 大部份必須是技術上的行家或熱衷于解決問題, 克服限制的人. 然而, 如果你想知道如何成為一位 hacker,有兩件事是很有關連的.
9 B- a+ d5 e% w; |
8 g) \& I, D2 U; J這可以追溯到幾十年前第一臺 minicomputer 剛誕生, ARPAnet 實驗也剛展開的時代. 那時有一個由程序設計專家和網(wǎng)絡名人所組成的, 具有分享特質(zhì)的文化族群.這種文化的成員創(chuàng)造了 `hacker' 這個名詞. 這些 Hacker 建立了 Internet,創(chuàng)造出我們現(xiàn)在使用的 UNIX 操作系統(tǒng), 他們也使 Usenet 運作起來, 并且讓 WorldWide Web 動起來. 如果你是這個文化的一部分, 如果你對這些種種有所供獻, 而且這個文化的其它成員也認識你, 并稱你為 hacker, 那么你就是一位 hacker.3 x4 m. X. H. x8 Y! R
" |( e, |- u) r4 _7 P
在精神上, hacker 并不單指(限制于)這種軟件 hacker 的文化. 有人也把 hacker的特質(zhì)發(fā)揮在其它領域, 例如: 電子或者音樂方面. 事實上你會發(fā)現(xiàn), 在任何一種科學或藝術的最高境界, 你都可以發(fā)現(xiàn) hacker 的特質(zhì). 軟件 hacker 們認為,那些類似的精神也都可以稱為 "hacker". 有些人還主張 hacker 的通性是獨立于任何媒介之上的, 不特別屬于任何一種 hacker 所在的環(huán)境. 但是, 在這份文件,我們將把重點放在軟件 hacker 們所需的技能、態(tài)度和發(fā)明`hacker' 這個詞的分享文化的傳統(tǒng).# f; z, R0 M0 ~, T3 G
s( Y3 \9 q: p$ i: H
在另一個團體, 他們的成員也很大聲的稱自己為 hacker, 但是他們不是真的 hacker.這些人(大部分是男性青年)專門闖入電腦和入侵電話系統(tǒng), 真正的 hacker 們稱他們?yōu)?`cracker', 并且不愿意和他們在一些做任何事. hacker 們認為這些人都是懶惰, 不負責, 并且不夠光明正大的, 并且認為能破解安全系統(tǒng)并不能使你成為一位hacker. 但是很不幸的, 很多記者和作家不明究理的使用 `hacker' 這個字來描述cracker 們; 這讓真的 hacker 們很忿怒.
; T* T3 i, U( K3 }* P( V! B9 E* q9 _5 _0 U3 h* {/ p
基本上, hacker 和 cracker 之間最主要的不同是: hacker 們創(chuàng)造新東西,cracker 們破壞東西.
: e# A" e: q. ] {( X
: l; m" _$ L" Y; Q4 x! d如果你想要成為一位 hacker, 繼續(xù)讀下去吧. 如果你是想要成為一位 cracker, 那么就去讀 alt.2600 newsgroup 并準備在你發(fā)現(xiàn)自己并不如想像中那么行時, 給自己一點評價. 所有關于 cracker 的事情就只有這些了.
& X' @- ~) B3 _" L% r( W
. n; g+ E$ t0 h5 u8 [Hacker 態(tài)度7 r: q& j! b; _; e
$ `1 N# D% G/ x' l0 X' Q; F- ]+ [Hacker 們解決了問題并創(chuàng)造新東西, 他們相信自由并自愿的互相幫助. 想要被別人接受成為一位 hacker, 你必須發(fā)自內(nèi)心的表現(xiàn)出這種態(tài)度. 為了要很自發(fā)的表現(xiàn)出這種態(tài)度, 你就必須先完全認同這些態(tài)度.
2 g8 s( X, W& t1 x0 y1 ?; v3 g$ m. M3 ]4 F; ]
如果你只是把學習 hacker 態(tài)度這件事當作一種能在這個文化贏得認同的途徑,那么你己經(jīng)乎略了真正的重點. 由衷的接受這些態(tài)度是很這要的, 這能幫助你學習并維持你的動機. 就像那些具創(chuàng)造性的藝術一樣, 成為一位大師的最有效方法是學習大師們的精神; 并不只是學習知識和情緒而己.0 q+ Z8 v! B, [2 S
+ W; N5 y7 O( G; {所以, 如果你想要成為一位 hacker, 請反復的做下面的事情, 直到你完全領會它們:
% P! v$ X( V- F2 v( s" w
' q5 Q: I' x0 Y4 ?- d J1. 這世上充滿著等著被解決的迷人問題.% N% h1 J! q& ~9 x
G# Y- X; Z8 j3 z9 D( h4 U作為一個 hacker 是充滿快樂的, 但這是一種因為努力得到成果所帶來的快樂. 努力的成果則帶來動機. 成功的運動家的動機則來自于, 使他們的身體不斷進化,并把自己推向物理上的極限所帶來的快樂. 類似的情形, 要成為 hacker, 你必須要能從解決問題, 精進技術, 和運用知識的過程中感受到一種悸動.8 Z& d% l. r' \2 u
7 _/ V& e, A* z* k8 m4 v+ [8 w- i
如果你不是天生就能感受到這種悸動的人, 那么, 為了要成為 hacker, 你必須使自己變成這樣的人. 否則, 你會發(fā)現(xiàn)你的 hacking energy 就會像性, 金錢, 和社交活動一樣, 因為分心而被消磨掉." b- d8 f3 M$ V
) }# v; B3 u6 W3 U/ W
(你也必須為你的學習能力建立一種信念直到你完成你的工作 -- 即使你只處理一小部份, 而你也不知道你到底還要學些什么東西才有辨法解決你的問題, 但是你會努力學習, 準備充足, 以應付下一個問題.)6 w6 y1 f/ G3 u4 H$ `! x
6 l" T3 | l! w$ C2. 沒有任何人必須一再的解決同一個問題.
3 t( P9 R5 `* i5 o' `. A* O' @2 p0 C$ T( `3 e, Y0 a. h
富創(chuàng)造力的頭腦是貴重而有限的資源. 有這么多迷人的新問題在那等著被解決.因此富創(chuàng)造力的頭腦不該被浪費的用來重復發(fā)明輪子.
/ R* ^9 {+ T. @& l& Y; w0 B$ l8 N3 ], ~
" _/ X8 ]/ ^4 b; U* x- d. f. P身為一位 hacker, 你必須了解到其它 hacker 們的時間也是很寶貴的 -- 所以,分享資訊, 解決問題和提供解決方案給其它 hacker 以解決新的問題, 這些幾乎算是道義上的責任.& i' `4 ~- l5 N" n3 i
0 }" e; p' |+ T0 ]: v9 j: m
( 即使 hacker 們所擁有的大多是從其它 hacker 的身上得來的, 但這并不意謂你必需把你創(chuàng)造的作品全部交出來, 你可以賣出足夠數(shù)量的產(chǎn)品, 以求得溫飽, 給付房租和買電腦設備, 這和 hacker 的價值觀并不相違背. 使用你的 hacking 技能以供給一個家庭的生活, 甚至是致富, 只要你仍不忘記你是一位 hacker, 那么這些行為并不會產(chǎn)生予盾. )
- r, N" @# V' a1 K5 g' F. s1 X4 n/ [, P" Y2 A/ Z* C% l
3. 無聊而單調(diào)的工作是有害的.
7 y# b. R- f z/ d1 i! z2 V& L0 P! C; u5 V3 P' _7 V
Hacker 們(有創(chuàng)造力的人也是一樣)永遠不該做一些無聊而單調(diào)并且愚蠢的反復性工作. 因為, 如果這樣的事情發(fā)生的話, 這表示他們正在做一些不是他們該做的事-- 解決新的問題. 這樣的浪費對任何人而言都是一種傷害. 無聊單調(diào)的工作不只是無趣而己, 而且是一種有害的物質(zhì).. j$ `7 R1 ] T* L% H) {5 V$ t
}# T1 i; u$ x5 ]% M' I要做為一位 hacker 要能盡可能的自動避免無聊, 對此你必須有相當?shù)恼J知. 這不只是為了你自己而已, 也是為了所有的人(尤其是其它的 hacker).; O1 v7 `: l& D7 k6 q
2 g) o/ o: n9 X# ] T(這有一些例外. 有時侯 hacker 們會去做一些被認為無聊或重復性的工作, 當做腦力的訓練, 或是為了要學習得某種技能或某種你所沒有的特殊經(jīng)驗. 不過這是一種選擇, 任何人都不該被強迫面對無聊事. )
" O- C% q4 |! c) a$ M5 B7 i
' A, f$ Z8 V7 p3 `& k2 d4. 自由才好.7 \: a( |/ a3 D0 {6 q; t
0 `6 `3 H' }( `) {hacker 們天性上是反對獨裁的. 任何一個給你命令的人就能給你一個獨裁式的工作,并且可以給你一些笨的可以的理由, 停止你解決任何吸引著你的問題. 所以任何獨裁式的行為都會被挑戰(zhàn), 以免會危害到你和其它的 hacker 們.$ Y; P* o, s- O4 I% \! ] _$ P
% P" N. H' l( O# w3 e9 |(這和為反對而反對是不同的, 小孩子是需要被指導和阻止他們犯錯. hacker 也會同意接受某些權威, 照著指示做以較短的時間得到他想要的. 不過那是一種有限且理性的協(xié)定; ..... )
) H7 f' d% _* {$ X
; r" R* q# D# P! p% j4 {1 X4 j專制在監(jiān)察和保密這些事上是很有效的方法. 這些行使專制的人并不相信自愿性質(zhì)的合作和資訊分享 -- 他們只相信在他們控制之下的合作關系. 所以, 身為一位 hacker,你必具有一種敵對的天性, 以對抗監(jiān)察, 秘密和使用外力強迫或迷惑可以信任的人等行為. 你必須以互信做為你行為的基礎.% p! t0 l! j, |9 p- t
3 v9 |. w1 Z3 }+ ]
5. 態(tài)度并非不等效于能力
3 G4 ^2 ^8 T" w- O( D8 W5 Q! r6 a% K
要成為一位 hacker, 你必須開始培養(yǎng)這些態(tài)度. 但, 如果你只是單獨的模仿某一種態(tài)度, 這并不能使你成為一位真正的 hacker, 也不會使你成為一位運動冠軍或搖滾明星.6 g2 D# O6 T1 c6 `4 s3 S; h. s
% T, N) A. @4 e( q& F因此, 你必須學會猜疑態(tài)度和尊敬各種能力. Hacker 們不會想浪費時間在虛華的人的身上, 他們尊敬的是能力 -- 特別是身為 hacker 的能力, 但對于其它方面的能力也是充滿敬意. 如果有能力追求一些很少人能弄懂的技術,追求精神上的技巧, 并能集中精神, 那就再好不過了.6 Y, x d1 r' u1 M/ h* S# A9 [
5 H' t1 u/ G( s! s- G
如果你尊敬各種的能力, 那么你就會樂于自己發(fā)展這些能力 -- 這會使的努力工作和奉獻成為一種剌激性的消遣而非一份苦差事. 這對于想要成為 hacker 的人而言, 是很重要的.
' H! \) T8 N1 A$ p3 K+ J
: O8 b( `0 A: N一位 Hacker 所需的基本技能
5 S3 [' R# Q i9 {% T! K* _. s
3 @7 Z, Z( a% X* v) O# O! O/ lhacker 的精神態(tài)度是很重要的, 但技術則更是重要. hacker 的態(tài)度雖然是無可取代,但在夢想別的 hacker 開始也叫你 hacker 前, 有些基本的工具和技術是必備的. n# X6 }+ C+ t# |3 r" j
隨著新科技的發(fā)明和舊技術的取代, 這些工具隨時間在慢慢的改變. 例如: 以往總是會學會用機器碼寫程序, 直到最近我們開始使用 HTML. 不過, 在 1996 年末,下面所舉的工具是很明顯的被需要的:* W; q" M$ U, n; x
; Z$ t1 i* ^ e1. 學習程序設計.
# {* ^2 k) A) Q' `: \5 A: V: J8 z r# p4 v- Q* Q' J- @$ q
當然, 這是基礎的 hacking 技能. 在 1997 年, 理所當然的, 你必須學會 C. 但,如果你只是學一種語言, 那么你不能算是一位 hacker, 了不起只能算是一個programmer. 除此, 你還必須學會學會以獨立于任何程序語言之上的概括性觀念來思考一件程序設計上的問題. 要成為一位真正的 hacker, 你必須要能在幾天之內(nèi)將manual 內(nèi)容和你目前己經(jīng)知道的關連起學會一種新的語言. 也就是說, 你必會學會數(shù)個不同的語言.
. _" Y) Y, F! ]- c5 ~& u0 V! N2 v$ B3 p3 c1 Z6 k
還了 C 之外, 你至少還要會 LISP 或 Perl (Java 也正在努力的擠上這個名單;譯者注: 我很懷疑這份名單說 :p ). 除了幾重要的 hacking 常用語言之外,這些語言提供你一些不同的程序設計途徑, 并且讓你在好的方法中學習.) `7 _: x; R, N; j) `
3 P' X; ]1 T8 e程序設計是一種復雜的技術, 我沒辨法在這提供完整的學習步驟. 但是我能告訴你一些在書本上和課堂上所沒有的東西 (有很多, 幾乎全部最好的 hacker 們都是自習而來的). (a) 讀別人的程序碼 和 (b) 寫程序, 這兩項是不錯的方法.( U6 F7 e0 Y. i
# g+ u, |" O$ n% y. s1 h" l學習寫程序就像在學習寫一種良好的自然語言, 最好的方法是去看一些專家們所寫的東西, 然后寫一些你自己的東西, 然后讀更多, 再寫更多 ... 然后一直持續(xù), 一直到你發(fā)展出一種屬于自己的風格和特色.( }% g) p" T( q) u4 {; d
/ \: F1 R' V) E' A4 J4 m& F9 W' H要找到好的程序碼來看是很一件很困難的事, 因為, 對菜鳥 hacker 們而言, 適于供他們閱讀和努力的大型程序的 source 數(shù)量很少. 但這事己有了戲劇性的變化了;現(xiàn)在免費的供應的軟件、程序設計工具和操作系統(tǒng)(大都公開提供 source, 而且全都是由 hacker 們寫成的)到處可看. 進入下一個主題...9 X8 u3 ]6 b! ]8 F: T, X
, u$ J# C) I: O* b( O" F; z) z2. 取得一個免費的 UNIX , 并學習使用和維護.; y z+ H$ l% }; ]0 ?: u/ ~* M
: Y+ A* I+ j/ _
我先假設你己經(jīng)有一部個人電腦或者是可以使用任何一部 (現(xiàn)在的小孩子真幸福,可如此輕易的擁有 :-)). 取得 hacker 技巧的第一個步驟是取得一份 Linux 或者一份免費的 BSD-Unix, 并將它安裝在自己的機器, 并使之順利的運作.$ a! ~5 M) l% Z
/ {5 X* R4 e) Y' b
沒錯, 在這個世界上除了 Unix 之外, 還有其它的操作系統(tǒng). 但是他們只提供 bianry, 你不能看到他們的程序碼, 你也不能修改他們. 想要在 DOS 或 Windows或 MacOS 開始 hacking, 無疑就是要你綁著枷鎖跳舞一樣." b8 w1 Q- b1 m; s
, ^# \) [$ [8 z# x5 r
除此之外, Unix 是 Internet 上的操作系統(tǒng). 當你在不懂 Unix 的情況下學習使用Internet 時, 你沒辨法在不懂 Unix 的情況下成為 Internet 的 hacker. 因為這個原故, 現(xiàn)在的hacker 文化還是很牢固的以 Unix 為中心繞著. (這并不完全是正確的, 而且有些活在舊時代的hacker 甚至也不喜歡這種情形, 但是 Unix 和Internet 之間的共生共成己經(jīng)到了牢不可破的地步, 即使是 Microsoft 的大塊肌肉也沒能在上面留下明顯的傷痕.)) |) T. l8 Q: ]; h& P, w1 D2 U! i) X
, M$ h1 M7 m6 d0 l3 I u3 h* M因些, 把 Unix 裝起來吧! (我自己是喜歡 Linux, 但是還有其它的東東可用.) 學習它, 讓它運作起來, 讓它陪你努力精進. 用他向整個 Internet 喊話. 看程序碼,改程序. 有一天你成為一位高竿的 hacker, 你回頭往后看時會發(fā)現(xiàn), 你得到比Microsoft 操作系統(tǒng)所能提供的還要好的程序設計工具(包括 C, Lisp和 Perl).而且得到快樂, 并學到比你想像中的還要多的知識.+ u# W- q1 n, P0 E# z
- M% i' u7 W/ F9 U6 h: G關于學習 Unix, 在 Loginataka 有更多的資料.(http://www.ccil.org/~esr/faqs/loginataka.html)0 U2 S& I. W7 h; L4 g
/ _# d$ R" H* ~- o2 @8 l( i, p5 N看一下 Linux distribution 的目錄或 Linux CD, 并把自己交付給它.
# _- n3 e$ u& k: U; `4 h% d' G# P6 C6 c
3. 學習使用 World Wide Web 并學會寫 HTML.
3 j$ F/ }5 c9 L* x+ \) x0 X
( `) b; k; b0 V+ X+ Y9 Y* p在 hacker 文化創(chuàng)造出來的東西, 大多在他們的活動范圍外被使用著, 如, 在工廠和辨公室或大學被漠漠的使用著. 但 Web 是一個很大的例外, 這個 hacker 眼中的大玩具甚至還被政客們接受, 并巧巧的在改變這個世界. 因此(還有很多好的理由),你必須學習 Web.1 I( t1 r1 U% E. r
5 X; q' o$ T7 p3 a
并不只是學習使用 browser (這太容易了)而己, 還要學會寫 HTML 這個 Web 的標簽語言. 如果你不知道如何設計程序, 寫 HTML 也可以給一些習慣上的幫助.嗯!! 建立 home page 吧!) ]) |6 @, S# u$ p- }' H3 f% T
9 W& @- Y2 s t' u7 a+ P: f
不過, 有一個 home page 并沒任何特別之處能讓你成為一位 hacker. Web 上到處都是 home page, 而且大部份都沒什么重點, 沒什么內(nèi)容的爛泥 -- 很好看的爛泥巴,但是看起來都一樣, 差不多.
( D6 K& K5 M1 C1 y+ V(http://www.ccil.org/~esr/html-hell.html)
/ G- f" P" B8 w7 d4 J) O8 x' s
! k" J* z: y6 U為了讓你的 page 有其價值, 它必須是有內(nèi)容的東西 -- 它必須是有趣并且(或者)對其它 hacker 有用處的.4 m4 r- c/ \$ X# A% e( B: ]- ?+ R
& ~; N4 Z6 _# W ?Hacker 文化的狀況
3 V/ o7 H8 x6 s# \9 B9 H7 X* U
- E0 x$ F* | P' ~+ o( F就像大多數(shù)沒有經(jīng)濟活動的文化一樣, hackerdom 的運作是建立在名望之上. 當你嘗試去解決一個有趣的問題時, 你所做事是否有趣, 你的解決方案是不是真的好用, 這些只有你的技術上的同好或前輩準備好為你做評價.
6 l' y9 o5 V# h$ C6 M" D+ d- ] h9 q- J% Y1 k" c' n0 k
因此, 當你開始玩起 hacker 的游戲時, 你的主要分數(shù)是來自其它 hacker 們對你的技術的看法(這就是為什么只當其它的 hacker 都認為你是 hacker 時, 你才算是一位真正的 hacker). 這個事實被人們認為 hacking 是一種孤獨的工作的印象所朦敝了; 也被hacker 文化的禁忌(現(xiàn)在己漸漸的朽壞了, 但依然存在) 和存在人們內(nèi)心動機的自大或特權之間的沖突所朦敝.) {% [; @2 k3 d3 N+ t4 d
/ W7 C1 z6 L+ s" b, O: X5 [8 [具體的說, hackerdom 就是人類學家所說的「天才文化」.你在其中所得到的地位和名望并不來自于支配其它人, 或是因為長的漂亮, 或因為你有一些別人想要的東西, 而是因為你送出東西. 特別是, 你給送出你的時間,你的創(chuàng)造力和你的技術成果.4 K. V* C3 N I( K( J
7 ~" j. X, ?( w/ \" H, |: O' ?/ D下面有五種事, 你會因為做了這些事而愛到 hacker 們尊敬:2 |5 [6 L5 B6 n! m! @
8 n; D* Z5 P" f( Z0 w6 m( U7 J1. 寫免費的軟件.& ]8 H: C2 L) _- h( B
+ ~1 Q2 B( ~7 q% d第一種是寫那些其它 hacker 們覺的有趣或好用的程序, 并把 source 公開開放給整個 hacker 文化中的人使用.
3 |; k! `$ j; W5 g" H9 S4 u3 ~6 V
hackerdom 最愛尊敬的是寫出大而功能強的程序的人, 而且這程序是廣為大家需要的,所以大家都在做用這些程序./ [2 Y/ ~( Q) w# r; \) X% h3 e
0 i2 Y) a( B% P0 J9 j$ U) {2. 幫忙 test 和 debug 免費的軟件- m! }/ W$ h" J4 a& ]/ z
; j! g3 X- G" J6 P9 W. Z2 ^& shacker 們也尊敬幫忙 debug 免費軟件的人. 在這個不是很完美的世界, 你不可避免的必須花掉大部分的軟件發(fā)展周期在 debug 階段上. 這就是為什么在任何免費軟件發(fā)展者的腦子都會告訴你一件事, 好的 beta 測試者(能很很清楚的描述發(fā)生的狀況,正確的發(fā)現(xiàn)問題出處, 可以容忍測試版本的 bug, 并且能進行一些簡單的診斷程序)和紅寶石一樣貴重.9 a. r; E' [3 `2 t3 A# b
7 J2 I& O4 C8 f9 ~/ r* } Q
如果你是一只菜鳥, 試著開始去找一個你有興趣的正在發(fā)展中的程序, 并且成為一位好的 beta 測試者. 從幫忙測試開始, 很自然的你開始幫忙 debug, 進而開始幫忙修改程序. 你將在這過程中學習到很多東西, 并,且和以后可以幫助你的人結下因果.$ U" r8 G- h9 _; F" q; V
- w1 l- m0 x! E; N, h
3. 公布有用的資訊.
, Z# q5 I; j+ f( q7 s) S% f" O! w# i5 b2 B8 g4 V9 y
另一項好事是收集和過濾有用和有趣的資訊, 整理成 Web page 或 FAQ 之類的文件, 讓大家能很容易的收得.$ @) s1 d0 x* I3 i" d' [6 a5 f8 @
9 j' E# s( X2 `+ K7 \) l幾種主要技術 FAQ 的維護者都能得和免費軟件的作者幾乎一樣多的尊敬.
; C2 U0 i8 ~! y3 K- c$ E9 C9 ]; b' n' \" `3 G' J/ N+ ]
4. 幫忙維持一些簡單的工作. 6 E R# y, E; F, B. q* h5 u
* j' B4 e1 h8 K% ~hacker 文化是由一群自愿者維持運作著. 有一些工作很無趣但卻必須維持正常運作的, 如: 管理 mailing list, 維護 newsgroup, 維持大的軟件供應站臺, 推動RFC 和其它技術標準.
! W4 l/ O0 T L! E |* Z/ q* Y. k( ~6 ], x
做這類的事將會得到很多的尊敬, 因為大家都知道這些工作是很花時間, 但又不像玩弄程序碼般有趣.( E( t% _, f# \6 P
- _9 J# x$ U# M5. 為 hacker 文化而努力.
7 F+ j, X U, V1 R4 w9 [9 |: q
- L, Y/ q9 G" Z1 Y* R. g# E% S- q2 L最后一項, 你可以為這個文化效勞, 并推廣這個文化(例如, 寫一份正確的入門手冊,教別人如何成為一位 hacker :-)). 在你因為做了前面四件事之一而出名之前, 這不是你該做的事.0 v6 z2 Z8 C- e# C+ l* C
8 y0 s9 v' t+ X
正確的說, hacker 文化并沒有任何的領導者, 但在這文化有所謂的文化英雄,族群歷史學家. 當你在其中混的夠久之后, 你也許會成為這之中的一員. 注意:hacker 們并不相信族群, 喧騷自大的長者, 所以成為這樣的長者是非常的危險.與其去和別人競爭, 你寧可為自己定位, 給自己一個親切譜虛的身份.6 F) F9 ~4 Z; x% x* \
! l; _3 v B+ f' K" B3 }Hacker 和 Nerd(怪胎) 的關系
" j2 m+ m+ W- S4 w) F6 _; V9 w8 J t9 F; J7 L; _. S( D" r
成為一位 hacker, 你不需要成為令人討厭的人(Nerd), 反于社會常態(tài). 然而, 這對你而言卻是非常有幫助的, 而且有很多 hacker 也是讓人討厭的人. 當一個社會的浪人有益于讓你專心在真正重要的事情上面, 例如: 思考和 hacking.
- E/ M7 O8 T$ Q/ w/ a3 Q! s8 D: c1 C
因此, 有很多 hacker 們接受了 `nerd' 這種稱呼, 甚至是使用 `geek'(雜耍演員) 這個字眼, 并引以為傲 -- 這是一種說明他們獨主于世俗習慣之外的方法. 在 The GeekPage 可找到更多相關的討論。
+ d. M4 r6 C$ K) H9 y' {/ f/ G% m% ](http://samsara.circus.com/~omni/geek.html)
* c3 g7 b$ s" U' ~, P2 D: I7 d% J9 F5 V4 W: W- u
如果你能夠適當?shù)膶W⒂?hacking 這事上面, 并且還保有你的生活, 那很好. 而且現(xiàn)在要做到這樣, 比起以前我還是個菜鳥時容易. 主流文化現(xiàn)在也較為 techno-nerd (技術怪胎)所接受. 甚至有越來越多的人認為 hacker 們可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl's Guide to Geek Guys 可找到更多相關的訊息。
. h, m1 Q! E: L" u4 h3 H(http://www.bunnyhop.com/BH5/geekguys.html)1 @7 E; b& o# b# B
) R/ @& V/ O) y如果你是因為沒有生活而想開始 hacking, 那也沒關系, 至少你就沒有不能專心的問題了. 也許不久之后你就是一位 hacker 了.
" h/ D6 b2 S0 l% b5 [: S. ^- S; T) R$ m
風范要點
% T5 T1 t. g" C/ `! j- X. d$ ?) [5 I$ F4 @3 w. L& c, Z- j
再一次的強調(diào), 要成為 hacker 就要了解 hacker 的精神. 如果你并不玩電腦, 那么還是有一些事情可以幫助你. 這些不能成為 hacker 的代替品, 不過有不少的 hacker經(jīng)常做這些事, 并認為這些事和 hacking 的本質(zhì)有某種基本的關連.
/ A" x3 o1 n1 {1 O; L$ V" F0 b- q" ~5 B$ i& P
* 閱讀科學小說, 并參加小說的聚會(這是一個遇到 hacker 和原始 hacker們的好方法).# i2 i+ [# g ^& x" m( X1 l8 C
* 學禪, 并且(或者)接觸戰(zhàn)爭的藝術. (鋼鐵般的紀律似乎很重要.)) |# I* ~" d" G. x; B( s$ ^
* 訓練你的耳朵對音樂的分析能力, 試著欣賞某種特殊的音樂, 并好好的玩一些樂器或者唱歌.
( C/ z4 q, ?, P" M& w$ a1 J1 x* 增加對于俏皮話和文字游戲的認識.( A* R) L$ y) K6 l- n
* 加強你的母語寫作能力. (有很驚人數(shù)量的 hacker, 都是不錯的作家. 這包括一位我所知道的最好的 hacker.)- W' H( z' {- l0 w( ~
1 O/ b( Z; ]1 ^( j. b& K- Q你做越多這些事, 那么你就愈是天生 hacker 的料。
1 P7 N8 A4 J0 X u& s
1 A% r, b( a/ ^* U5 h: d最后, 有一些事千萬不要做.) X/ [# q |- U; z! w
9 ^0 w C6 A3 h# ]. w+ B$ ~& S6 H5 x8 V9 G
* 不要使用愚蠢而夸張的代號(user ID)或化名.
/ e3 X9 d* P% \9 |& I2 i* 不要加入 Usenet 的戰(zhàn)火 (或者任何地方的).8 d' j, S( ?) L# \4 h g
* 不要自稱為 `cyberpunk'(電腦搗蛋玩家),也不要浪費任何時間在這么做的人身上.) P' e6 o; Y% ~, V) q
* 不要 post 或 email 一些充滿錯字或文法錯誤的文章." U- C6 i& \# `+ t
/ v u2 I f( k' F9 h3 N做了這些事的結果只是為你招來大家的責難和批評. Hacker 們的記憶力都很好, 他們會
9 O" a4 D) p, r M8 ]# m$ @9 j% m一直記住你的所做所為, 你可能要花數(shù)年的時間才有辨法讓他們重新接受你.
) [. U1 p" F- y3 \3 A- ]6 G3 J- Y v- f% q3 \: ` C3 H; R
其它的資源/ b/ K4 |# s/ I0 K9 `* q
3 B/ K! N4 f5 F# @, W
Loginataka 有提到一些關于 Unix hacker 的訓練和態(tài)度. h* N3 g) z7 [
(http://www.ccil.org/~esr/faqs/loginataka.html)
8 R& [4 j7 A1 c& }0 [! t2 R5 I/ z/ M( y; ~5 R2 D. d1 P
我也寫了關于 Hackerdom 歷史的簡介.
# H# d) l( c3 @% w9 v U5 I4 R" S2 Y(http://www.ccil.org/~esr/faqs/hacker-hist.html)
: g9 Y5 Y! t2 Q. l* o# G$ a
+ e# n+ O1 Y% J+ oPeter Seebach 也維護了一份很不錯的 Hacker FAQ, 這份文件是專門給不知道
* l. O3 V9 |# M R9 _1 _如何和 hacker 們相處的經(jīng)理人們看的.
1 A! E, G/ H3 o1 h" v9 O/ |, j(http://www.solon.com/~seebs/faqs/hacker.html)
7 ?$ }& H; m# g* s+ O8 E2 Y7 I* f' v) h: {. ?
我也寫了一份 paper「Cathedral and the Bazaar」, 上面解釋 Linux 文化的運作
: @" B: y! K# V W/ T. W1 G5 C方式. 你可以在我寫的page 上找的到.
$ F- K7 P1 ^* u5 M8 ]: K* @$ C(http://www.ccil.org/~esr/writings/index.html)1 M6 l h% d! F1 _9 C5 N. O
3 h1 S* M! |5 `2 b6 U/ ?% q常被提出的問題 (FAQ) Y8 B- r8 m, V# D* R/ t+ U
0 ~$ T7 L8 D$ U( q- o" k* U
Q: 你能教我如何 hack 嗎?
" L9 J* X% I h ]1 [
0 O( D" q# L7 s自從公開這個 page 以來, 我每周都收到很多人來信問"請告訴我所有關于 hacking的事". 但很不幸的, 我沒有這個時間或者是精力去做這件事; 我的 hacking project已經(jīng)用掉我 110% 的時間了.+ ], F6 |9 ~- K/ R9 C2 I0 C
! h6 \2 V/ y( `) z9 V9 \" a! I4 j就算我愿意, 但是基本上, hacking 是一種必須自習而成的生活態(tài)度和技術. 你會發(fā)現(xiàn),當真正 hackers 愿意幫助你的同時,你將得不到他們的尊敬,若你求他們把會的東西都直接給你的話。5 _) u4 u: T# r1 ]% h5 v1 W$ I
$ v) p; \) O0 ?; A- r( f* G
先學一點東西吧! 表現(xiàn)出你正在努力嘗試, 你有能力獨立學習的. 然后再帶著你所遇到的難題去和 hacker 見面.
$ f, O: _3 t% F# R' n! o2 ~' ?* K! k V! J _& T2 J1 R
Q: 我要在那才能找的到一位真的 hacker 并和他們交談?
' m) P5 _" d# |. ]. e' O
7 N0 x9 d% {1 l, y$ F很好, 不過很確定的, 不會在 IRC. 就我所能看到的, 那除了騙子和 cracker 之外什么也沒有. 最好的方法是找到一個在你附近的 Unix 或 Linux 的使用群, 并加入他們,參加他們的聚會 (在 Linux Users' Group page on Sunite 有一份目錄).' G* i/ p' k9 u8 }9 \
(http://unc.sunsite.edu/linux/ldp/lugs.html)- B1 I) ]. z' P" q2 ^
+ U! \! m+ J: ]Q: 我應該從那一種語言開始學呢?
2 M" h" k: @" W1 Q2 Y4 U# A7 u" s3 b# j/ {' _( ]+ N/ A" |8 ~
如果你真的不懂 HTML 的話, 那就從它開始吧. 市面上有很多外表光鮮亮麗的 HTML爛書. 我最喜歡的一本是 HTML: The Definitive Guide./ r* ]6 N5 ?2 S
(http://www.ora.com/catalog/html2/): y, F% F, T4 @! m( c
, g& w6 m& g" X如果你已經(jīng)準備好開始學 programming 了, 我會建議你從 Perl(http://www.perl.com/)或 Python(http://www.python.org/)開始. 而 C 是真的很重要, 不過它也真的很難.' l s0 P5 a" k# D
! P/ {( s- ]4 @, mQ: 我要如何開始呢? 在那能拿到免費的 Unix 呢?
" Z# c; g! o5 d: k- i! ]
) I5 [4 z* y, Y* g- y% f我在這 page 內(nèi)到處都有指向取得 Linux 的地方. 要成為一位hacker, 你必須要有動機并且主動進取還要獨立學習. 就從現(xiàn)在開始吧....
7 a& j: f: A8 x# H- k# V
9 G8 _$ ? \) W |