hacker

首先要精通法律~呵呵
給些建議吧,下面是我看過的一篇文章,對你也許有用的!! 怎麼樣纔算是一位 Hacker ?? 
如果你想知道如何成爲一位 hacker,有兩件事是很有關連的. 這可以追溯到幾十年前第一臺 minicomputer 剛誕生, ARPAnet 實驗也剛展開的時代. 那時有一個由程序設計專家和網絡名人所組成的, 具有分享特質的文化族羣.這種文化的成員創造了 `hacker' 這個名詞. 這些 Hacker 建立了 Internet,創造出我們現在使用的 UNIX 操作系統, 他們也使 Usenet 運作起來, 並且讓 WorldWide Web 動起來. 如果你是這個文化的一部分, 如果你對這些種種有所供獻, 而且這個文化的其它成員也認識你, 並稱你爲 hacker, 那麼你就是一位 hacker. 

在精神上, hacker 並不單指(限制於)這種軟件 hacker 的文化. 有人也把 hacker的特質發揮在其它領域, 例如: 電子或者音樂方面. 事實上你會發現, 在任何一種科學或藝術的最高境界, 你都可以發現 hacker 的特質. 軟件 hacker 們認爲,那些類似的精神也都可以稱爲 "hacker". 有些人還主張 hacker 的通性是獨立於任何媒介之上的, 不特別屬於任何一種 hacker 所在的環境. 但是, 在這份文件,我們將把重點放在軟件 hacker 們所需的技能、態度和發明`hacker' 這個詞的分享文化的傳統. 

在另一個團體, 他們的成員也很大聲的稱自己爲 hacker, 但是他們不是真的 hacker.這些人(大部分是男性青年)專門闖入電腦和入侵電話系統, 真正的 hacker 們稱他們爲 `cracker', 並且不願意和他們在一些做任何事. 
基本上, hacker 和 cracker 之間最主要的不同是: hacker 們創造新東西,cracker 們破壞東西. 

Hacker 們解決了問題並創造新東西, 他們相信自由並自願的互相幫助. 想要被別人接受成爲一位 hacker, 你必須發自內心的表現出這種態度. 爲了要很自發的表現出這種態度, 你就必須先完全認同這些態度. 

所以, 如果你想要成爲一位 hacker, 請反覆的做下面的事情, 直到你完全領會它們: 

1. 這世上充滿著等著被解決的迷人問題. 

作爲一個 hacker 是充滿快樂的, 但這是一種因爲努力得到成果所帶來的快樂. 努力的成果則帶來動機. 成功的運動家的動機則來自於, 使他們的身體不斷進化,並把自己推向物理上的極限所帶來的快樂. 類似的情形, 要成爲 hacker, 你必須要能從解決問題, 精進技術, 和運用知識的過程中感受到一種悸動. 
如果你不是天生就能感受到這種悸動的人, 那麼, 爲了要成爲 hacker, 你必須使自己變成這樣的人. 否則, 你會發現你的 hacking energy 就會像性, 金錢, 和社交活動一樣, 因爲分心而被消磨掉. (你也必須爲你的學習能力建立一種信念直到你完成你的工作 -- 即使你只處理一小部份, 而你也不知道你到底還要學些什麼東西纔有辨法解決你的問題, 但是你會努力學習, 準備充足, 以應付下一個問題.) 

2. 沒有任何人必須一再的解決同一個問題. 

富創造力的頭腦是貴重而有限的資源. 有這麼多迷人的新問題在那等著被解決.因此富創造力的頭腦不該被浪費的用來重複發明輪子. 身爲一位 hacker, 你必須瞭解到其它 hacker 們的時間也是很寶貴的 -- 所以,分享資訊, 解決問題和提供解決方案給其它 hacker 以解決新的問題, 這些幾乎算是道義上的責任. ( 即使 hacker 們所擁有的大多是從其它 hacker 的身上得來的, 但這並不意謂你必需把你創造的作品全部交出來, 你可以賣出足夠數量的產品, 以求得溫飽, 給付房租和買電腦設備, 這和 hacker 的價值觀並不相違背. 使用你的 hacking 技能以供給一個家庭的生活, 甚至是致富, 只要你仍不忘記你是一位 hacker, 那麼這些行爲並不會產生予盾. ) 

3. 無聊而單調的工作是有害的. 

Hacker 們(有創造力的人也是一樣)永遠不該做一些無聊而單調並且愚蠢的反覆性工作. 因爲, 如果這樣的事情發生的話, 這表示他們正在做一些不是他們該做的事-- 解決新的問題. 這樣的浪費對任何人而言都是一種傷害. 無聊單調的工作不只是無趣而己, 而且是一種有害的物質. 要做爲一位 hacker 要能儘可能的自動避免無聊, 對此你必須有相當的認知. 這不只是爲了你自己而已, 也是爲了所有的人(尤其是其它的 hacker). (這有一些例外. 有時侯 hacker 們會去做一些被認爲無聊或重複性的工作, 當做腦力的訓練, 或是爲了要學習得某種技能或某種你所沒有的特殊經驗. 不過這是一種選擇, 任何人都不該被強迫面對無聊事. ) 

4. 自由纔好. 

hacker 們天性上是反對獨裁的. 任何一個給你命令的人就能給你一個獨裁式的工作,並且可以給你一些笨的可以的理由, 停止你解決任何吸引著你的問題. 所以任何獨裁式的行爲都會被挑戰, 以免會危害到你和其它的 hacker 們. (這和爲反對而反對是不同的, 小孩子是需要被指導和阻止他們犯錯. hacker 也會同意接受某些權威, 照著指示做以較短的時間得到他想要的. 不過那是一種有限且理性的協定; ..... ) 專制在監察和保密這些事上是很有效的方法. 這些行使專制的人並不相信自願性質的合作和資訊分享 -- 他們只相信在他們控制之下的合作關係. 所以, 身爲一位 hacker,你必具有一種敵對的天性, 以對抗監察, 祕密和使用外力強迫或迷惑可以信任的人等行爲. 你必須以互信做爲你行爲的基礎. 

5. 態度並非不等效於能力 

要成爲一位 hacker, 你必須開始培養這些態度. 但, 如果你只是單獨的模仿某一種態度, 這並不能使你成爲一位真正的 hacker, 也不會使你成爲一位運動冠軍或搖滾明星. 因此, 你必須學會猜疑態度和尊敬各種能力. Hacker 們不會想浪費時間在虛華的人的身上, 他們尊敬的是能力 -- 特別是身爲 hacker 的能力, 但對於其它方面的能力也是充滿敬意. 如果有能力追求一些很少人能弄懂的技術,追求精神上的技巧, 並能集中精神, 那就再好不過了. 如果你尊敬各種的能力, 那麼你就會樂於自己發展這些能力 -- 這會使的努力工作和奉獻成爲一種剌激性的消遣而非一份苦差事. 這對於想要成爲 hacker 的人而言, 是很重要的. 

一位 Hacker 所需的基本技能 

hacker 的精神態度是很重要的, 但技術則更是重要. hacker 的態度雖然是無可取代,但在夢想別的 hacker 開始也叫你 hacker 前, 有些基本的工具和技術是必備的. 隨著新科技的發明和舊技術的取代, 這些工具隨時間在慢慢的改變. 例如: 以往總是會學會用機器碼寫程序, 直到最近我們開始使用 HTML. 不過, 在 1996 年末,下面所舉的工具是很明顯的被需要的: 

1. 學習程序設計. 

當然, 這是基礎的 hacking 技能. 在 1997 年, 理所當然的, 你必須學會 C. 但,如果你只是學一種語言, 那麼你不能算是一位 hacker, 了不起只能算是一個programmer. 除此, 你還必須學會學會以獨立於任何程序語言之上的概括性觀念來思考一件程序設計上的問題. 要成爲一位真正的 hacker, 你必須要能在幾天之內將manual 內容和你目前己經知道的關連起學會一種新的語言. 也就是說, 你必會學會數個不同的語言. 
還了 C 之外, 你至少還要會 LISP 或 Perl (Java 也正在努力的擠上這個名單;譯者注: 我很懷疑這份名單說 :p ). 除了幾重要的 hacking 常用語言之外,這些語言提供你一些不同的程序設計途徑, 並且讓你在好的方法中學習. 
程序設計是一種複雜的技術, 我沒辨法在這提供完整的學習步驟. 但是我能告訴你一些在書本上和課堂上所沒有的東西 (有很多, 幾乎全部最好的 hacker 們都是自習而來的). (a) 讀別人的程序碼 和 (b) 寫程序, 這兩項是不錯的方法. 
學習寫程序就像在學習寫一種良好的自然語言, 最好的方法是去看一些專家們所寫的東西, 然後寫一些你自己的東西, 然後讀更多, 再寫更多 ... 然後一直持續, 一直到你發展出一種屬於自己的風格和特色. 
要找到好的程序碼來看是很一件很困難的事, 因爲, 對菜鳥 hacker 們而言, 適於供他們閱讀和努力的大型程序的 source 數量很少. 但這事己有了戲劇性的變化了;現在免費的供應的軟件、程序設計工具和操作系統(大都公開提供 source, 而且全都是由 hacker 們寫成的)到處可看. 進入下一個主題... 

2. 取得一個免費的 UNIX , 並學習使用和維護. 

我先假設你己經有一部個人電腦或者是可以使用任何一部 (現在的小孩子真幸福,可如此輕易的擁有 :-)). 取得 hacker 技巧的第一個步驟是取得一份 Linux 或者一份免費的 BSD-Unix, 並將它安裝在自己的機器, 並使之順利的運作. 
沒錯, 在這個世界上除了 Unix 之外, 還有其它的操作系統. 但是他們只提供 bianry, 你不能看到他們的程序碼, 你也不能修改他們. 想要在 DOS 或 Windows或 MacOS 開始 hacking, 無疑就是要你綁著枷鎖跳舞一樣. 
除此之外, Unix 是 Internet 上的操作系統. 當你在不懂 Unix 的情況下學習使用Internet 時, 你沒辨法在不懂 Unix 的情況下成爲 Internet 的 hacker. 因爲這個原故, 現在的hacker 文化還是很牢固的以 Unix 爲中心繞著. (這並不完全是正確的, 而且有些活在舊時代的hacker 甚至也不喜歡這種情形, 但是 Unix 和Internet 之間的共生共成己經到了牢不可破的地步, 即使是 Microsoft 的大塊肌肉也沒能在上面留下明顯的傷痕.) 
因些, 把 Unix 裝起來吧! (我自己是喜歡 Linux, 但是還有其它的東東可用.) 學習它, 讓它運作起來, 讓它陪你努力精進. 用他向整個 Internet 喊話. 看程序碼,改程序. 有一天你成爲一位高竿的 hacker, 你回頭往後看時會發現, 你得到比Microsoft 操作系統所能提供的還要好的程序設計工具(包括 C, Lisp和 Perl).而且得到快樂, 並學到比你想像中的還要多的知識. 
關於學習 Unix, 在 Loginataka 有更多的資料.(http://www.ccil.org/~esr/faqs/loginataka.html) 
看一下 Linux distribution 的目錄或 Linux CD, 並把自己交付給它. 

3. 學習使用 World Wide Web 並學會寫 HTML. 

在 hacker 文化創造出來的東西, 大多在他們的活動範圍外被使用著, 如, 在工廠和辨公室或大學被漠漠的使用著. 但 Web 是一個很大的例外, 這個 hacker 眼中的大玩具甚至還被政客們接受, 並巧巧的在改變這個世界. 因此(還有很多好的理由),你必須學習 Web. 
並不只是學習使用 browser (這太容易了)而己, 還要學會寫 HTML 這個 Web 的標籤語言. 如果你不知道如何設計程序, 寫 HTML 也可以給一些習慣上的幫助.嗯!! 建立 home page 吧! 
不過, 有一個 home page 並沒任何特別之處能讓你成爲一位 hacker. Web 上到處都是 home page, 而且大部份都沒什麼重點, 沒什麼內容的爛泥 -- 很好看的爛泥巴,但是看起來都一樣, 差不多. 
(http://www.ccil.org/~esr/html-hell.html) 
爲了讓你的 page 有其價值, 它必須是有內容的東西 -- 它必須是有趣並且(或者)對其它 hacker 有用處的. 

Hacker 文化的狀況 

就像大多數沒有經濟活動的文化一樣, hackerdom 的運作是建立在名望之上. 當你嘗試去解決一個有趣的問題時, 你所做事是否有趣, 你的解決方案是不是真的好用, 這些只有你的技術上的同好或前輩準備好爲你做評價. 
因此, 當你開始玩起 hacker 的遊戲時, 你的主要分數是來自其它 hacker 們對你的技術的看法(這就是爲什麼只當其它的 hacker 都認爲你是 hacker 時, 你纔算是一位真正的 hacker). 這個事實被人們認爲 hacking 是一種孤獨的工作的印象所朦敝了; 也被hacker 文化的禁忌(現在己漸漸的朽壞了, 但依然存在) 和存在人們內心動機的自大或特權之間的衝突所朦敝. 
具體的說, hackerdom 就是人類學家所說的「天才文化」.你在其中所得到的地位和名望並不來自於支配其它人, 或是因爲長的漂亮, 或因爲你有一些別人想要的東西, 而是因爲你送出東西. 特別是, 你給送出你的時間,你的創造力和你的技術成果. 

下面有五種事, 你會因爲做了這些事而愛到 hacker 們尊敬: 

1. 寫免費的軟件. 

第一種是寫那些其它 hacker 們覺的有趣或好用的程序, 並把 source 公開開放給整個 hacker 文化中的人使用. 
hackerdom 最愛尊敬的是寫出大而功能強的程序的人, 而且這程序是廣爲大家需要的,所以大家都在做用這些程序. 

2. 幫忙 test 和 debug 免費的軟件 

hacker 們也尊敬幫忙 debug 免費軟件的人. 在這個不是很完美的世界, 你不可避免的必須花掉大部分的軟件發展週期在 debug 階段上. 這就是爲什麼在任何免費軟件發展者的腦子都會告訴你一件事, 好的 beta 測試者(能很很清楚的描述發生的狀況,正確的發現問題出處, 可以容忍測試版本的 bug, 並且能進行一些簡單的診斷程序)和紅寶石一樣貴重. 
如果你是一隻菜鳥, 試著開始去找一個你有興趣的正在發展中的程序, 並且成爲一位好的 beta 測試者. 從幫忙測試開始, 很自然的你開始幫忙 debug, 進而開始幫忙修改程序. 你將在這過程中學習到很多東西, 並,且和以後可以幫助你的人結下因果. 

3. 公佈有用的資訊. 

另一項好事是收集和過濾有用和有趣的資訊, 整理成 Web page 或 FAQ 之類的文件, 讓大家能很容易的收得. 
幾種主要技術 FAQ 的維護者都能得和免費軟件的作者幾乎一樣多的尊敬. 

4. 幫忙維持一些簡單的工作. 

hacker 文化是由一羣自願者維持運作著. 有一些工作很無趣但卻必須維持正常運作的, 如: 管理 mailing list, 維護 newsgroup, 維持大的軟件供應站臺, 推動RFC 和其它技術標準. 
做這類的事將會得到很多的尊敬, 因爲大家都知道這些工作是很花時間, 但又不像玩弄程序碼般有趣. 

5. 爲 hacker 文化而努力. 

最後一項, 你可以爲這個文化效勞, 並推廣這個文化(例如, 寫一份正確的入門手冊,教別人如何成爲一位 hacker :-)). 在你因爲做了前面四件事之一而出名之前, 這不是你該做的事. 
正確的說, hacker 文化並沒有任何的領導者, 但在這文化有所謂的文化英雄,族羣歷史學家. 當你在其中混的夠久之後, 你也許會成爲這之中的一員. 注意:hacker 們並不相信族羣, 喧騷自大的長者, 所以成爲這樣的長者是非常的危險.與其去和別人競爭, 你寧可爲自己定位, 給自己一個親切譜虛的身份. 

Hacker 和 Nerd(怪胎) 的關係 

成爲一位 hacker, 你不需要成爲令人討厭的人(Nerd), 反於社會常態. 然而, 這對你而言卻是非常有幫助的, 而且有很多 hacker 也是讓人討厭的人. 當一個社會的浪人有益於讓你專心在真正重要的事情上面, 例如: 思考和 hacking. 
因此, 有很多 hacker 們接受了 `nerd' 這種稱呼, 甚至是使用 `geek'(雜耍演員) 這個字眼, 並引以爲傲 -- 這是一種說明他們獨主於世俗習慣之外的方法. 在 The GeekPage 可找到更多相關的討論。 
(http://samsara.circus.com/~omni/geek.html) 
如果你能夠適當的專注於 hacking 這事上面, 並且還保有你的生活, 那很好. 而且現在要做到這樣, 比起以前我還是個菜鳥時容易. 主流文化現在也較爲 techno-nerd (技術怪胎)所接受. 甚至有越來越多的人認爲 hacker 們可以是很好的男朋友, 女朋友,老公和老婆. 在 Girl's Guide to Geek Guys 可找到更多相關的訊息。 
(http://www.bunnyhop.com/BH5/geekguys.html) 
如果你是因爲沒有生活而想開始 hacking, 那也沒關係, 至少你就沒有不能專心的問題了. 也許不久之後你就是一位 hacker 了. 

風範要點 

再一次的強調, 要成爲 hacker 就要了解 hacker 的精神. 如果你並不玩電腦, 那麼還是有一些事情可以幫助你. 這些不能成爲 hacker 的代替品, 不過有不少的 hacker經常做這些事, 並認爲這些事和 hacking 的本質有某種基本的關連. 

* 閱讀科學小說, 並參加小說的聚會(這是一個遇到 hacker 和原始 hacker們的好方法). 
* 學禪, 並且(或者)接觸戰爭的藝術. (鋼鐵般的紀律似乎很重要.) 
* 訓練你的耳朵對音樂的分析能力, 試著欣賞某種特殊的音樂, 並好好的玩一些樂器或者唱歌. 
* 增加對於俏皮話和文字遊戲的認識. 
* 加強你的母語寫作能力. (有很驚人數量的 hacker, 都是不錯的作家. 這包括一位我所知道的最好的 hacker.) 
你做越多這些事, 那麼你就愈是天生 hacker 的料。 

最後, 有一些事千萬不要做.  
 

發佈了29 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章