16歲的菜霸和阿里巴巴的吳瀚青, 黑客程序員不平凡的一生!

什麼是黑客?

黑客字典 中對“黑客”一詞給出了很多定義,大部分定義都涉及高超的編程技術,解決問題和克服限制的樂趣。如果你想知道如何成爲一名黑客,只有兩方面是非常重要的:態度和技術。

長久以來,存在一個專家級程序員和網絡高手的共享文化社羣,其歷史可以追溯到幾十年前第一臺分時共享的小型機和最早的 ARPAnet 實驗時期。 這個社羣文化的成員創造了“Hacker/黑客”這個術語。 黑客們建起了 Internet,使 Unix 操作系統 成爲今天這個樣子。黑客們讓 WWW(萬維網) 正常運轉。如果你是這個文化的一部分,如果你已經爲它作了些貢獻,而且圈內的其他人也知道你是誰並稱你爲一個黑客,那麼你就是一名黑客。

黑客精神並不僅僅侷限於軟件黑客文化圈中。有很多人同樣以黑客態度對待其它事情如電子和音樂,事實上,你可以在任何較高級別的科學和藝術中發現它。軟件黑客們識別出這些在其他領域同類並把他們也稱作黑客。

有人宣稱黑客實際上是獨立於他們工作領域的。 但在本文中,我們將注意力集中在軟件黑客的技術和態度,以及發明了“黑客”一詞的共享文化傳統。

另外還有一羣人,他們大聲嚷嚷着自己是黑客,實際上他們卻不是。他們是一些蓄意破壞計算機和電話系統的人(多數是青春期的少年)。真正的黑客把這些人叫做“Cracker/駭客”,並不屑與之爲伍。多數真正的黑客認爲駭客們是些不負責任的懶傢伙,還沒什麼大本事。專門以破壞別人安全爲目的的行爲並不能使你成爲一名黑客, 正如拿根鐵絲能打開汽車並不能使你成爲一個汽車工程師。不幸的是,很多記者和作家往往錯把“駭客”當成黑客;這種做法會激怒真正的黑客。

根本的區別是:黑客們創造,駭客們破壞。

如果你想成爲一名黑客,繼續讀下去。如果你想成爲一名駭客。去讀 alt.2600 新聞組[譯者:一個關於網絡安全的新聞組],並且在發現你並不是你想的那麼聰明的時候去蹲 5-10 次監獄。關於駭客,我只想說這麼多。

黑客的態度

黑客們解決問題、創造事物,信仰自由以及互相幫助。要想被認爲是一名黑客,你的行爲必須表現出已經具有了這種態度。但是要想做的好像具備這種態度,你就不得不真的擁有這種態度。

但是如果想通過培養這種黑客態度在黑客文化中得到認可,那麼你就大錯特錯了。成爲具備這種態度的人對你來說非常重要–有助於你的學習,並給你提供源源不斷的動力。同所有創造性藝術一樣,成爲大師最高效的方式就是模仿大師的精神–不是僅從理智上,更要從感情上進行模仿。

或者就像這首現代禪意詩描述的:

To follow the path:

look to the master,

follow the master,

walk with the master,

see through the master,

become the master.

所以,如果你想成爲一名黑客,重複以下事情直到你相信他們:

  1. 這個世界充滿了待解決的迷人問題

做一個黑客有很多樂趣,但是需要頗費氣力才能獲得這些樂趣。這些動力需要動機。卓越的運動員從強健體魄、挑戰自我身體極限中汲取動力。類似的,作爲黑客,你必須從解決問題、磨練技術、鍛鍊智力中獲得基本的快感。

如果你不是這樣的人又想做黑客,你就要設法成爲這樣的人。否則,你會你發現你的黑客熱情會被其他誘惑無情的吞噬:性、金錢、社會上的虛名等等。

(同樣的你也必須對自己的學習能力建立信心 – 你要相信儘管你現在所知甚少,但是隨如果你一點一點的學習、試探、實踐,你最會掌握它。)

  1. 一個問題都不應該被解決兩次

創造性的大腦是寶貴的、有限的資源。在這個世界上還存在着如此多的迷人的、有趣的問題的時候,它們不應該被浪費去重複發明輪子。

作爲一個黑客,你必須相信其他黑客的時間是寶貴的 – 因此共享信息,解決問題併發布結果給其他黑客幾乎是一種道義,這樣其他人就可以去解決新問題而不是重複地對付舊問題。

需要注意的是,一個問題不應該被解決兩次 並不意味着已存在的解決方案是真理,或者是唯一的正確解決方案。通常,在發現一個解決方案之前,我們需要會學習大量和問題相關的知識。如果這個解決方案沒問題,通常來講,也需要來決策一下能不能做的更好。解決方案也有可能存在人爲的技術障礙、法律或者機構保護的障礙(比如閉源軟件)阻止人們去重用,強制人們去重新發明輪子。

(你不必認爲你一定要把你的發明創造公佈出去,但這樣做的黑客是贏得大家尊敬最多的人。賣些錢來給自己養家餬口,買房買車買計算機甚至發大財和黑客價值也是相容的,只要你別忘記你的忠誠,你的創造性藝術,你的黑客朋友們正在做的事情。)

  1. 無趣和乏味的工作是犯罪

黑客們(以及具有創造力的人們)從來不會被愚蠢的重複性工作所困擾,因爲當這種事情發生的時候就意味着他們沒有在做只有他們能做的事情 – 解決新問題。這樣的浪費對每一個人都是傷害。因此,無趣和乏味的工作不僅僅是不舒服而已,而是極大的犯罪。作爲黑客,你必須完全相信這一點並 儘可能把乏味的工作自動化,不僅僅是爲了自己,也爲了其他人(特別是其他黑客們)。

(對此有個明顯的例外,就是黑客們有時會重複性的枯燥工作來進行腦力休息,或者是爲了獲的一些技巧以及除此之外無法獲得的經驗。但是這是他/她自己的選擇 – 有腦子的人不應該被迫做無聊的活兒。)

  1. 追求自由

黑客是天生的反權威主義者。任何能向你發命令的人會迫使你停止解決令你着迷的問題,同時,按照權威的一般思路,他通常會給出一些極其愚昧的理由。因此,不論何時何地,任何權威,只要他壓迫你或其他黑客,就要和他鬥到底。

(這並非說任何權力都不必要。兒童需要監護,罪犯也要被看管起來。 如果服從命令得到某種東西比起其他方式得到它更節約時間,黑客會同意接受某種形式的權威。但這是一個有限的、特意的交易;權力想要的那種個人服從不是你的給予,而是無條件的服從。)

權力喜愛審查和保密。他們不信任自願的合作和信息共享—他們只喜歡由他們控制的合作。因此,要想做的象個黑客,你得對審查、保密,以及使用武力或欺騙去壓迫人們的做法有一種本能的反感和敵意。

  1. 態度不能代替能力

要做一名黑客,你必須培養起這些態度。但只具備這些態度並不能使你成爲一名黑客,就象這並不能使你成爲一個運動健將和搖滾明星一樣。成爲一名黑客需要花費智力,實踐,奉獻和辛苦。

因此,你必須學會不相信態度,並尊重各種各樣的能力。黑客們不會爲那些故意裝模做樣的人浪費時間,但他們卻非常尊重能力—尤其是做黑客的能力,不過任何能力總歸是好的。具備很少人才能掌握的技術方面的能力尤其爲好,而具備那些涉及腦力、技巧和聚精會神的能力爲最好。

如果你推崇能力,你會享受能力提升帶來的樂趣 – 辛苦的工作和奉獻會成爲一種高度娛樂而非乏味。要想成爲一名黑客,這一點很重要。

基本的黑客技巧在這裏插入圖片描述
需要了解此方面知識以及編程相關重要知識點請加小編Q羣(五八三,六五零,四一零)進行學習。
黑客精神固然至關重要,但是技術更加重要。態度無法替代技術。在被其他黑客成爲黑客之前,有一些基本的技術你必須掌握。

這套基本技術隨着新技術的出現和老技術的過時也隨時間在緩慢改變。例如,過去包括使用機器碼編程,而知道最近才包括了 HTML 語言。但現在明顯包括以下技術:

學習如何編程

這當然是最基本的黑客技術。如果你還不會任何計算機語言,我建議你從 Python 開始。它設計清晰,文檔齊全,對初學者很合適。儘管是一門很好的初級語言,它不僅僅只是個玩具。它非常強大,靈活,也適合做大型項目。我寫了一篇詳細的文章去 評估 Python。在 Python 網站上也有不錯的 教程, 在 Computer Science Circles 上還有很多不錯的文章。

我過去常常推薦將 Java 作爲早期學習的一門語言。但是這篇 評論 改變了我的想法(搜索 “The Pitfalls of Java as a First Programming Language”, 點進去讀一下相關的信息)。作爲黑客,不會接受解決問題僅僅像五金店裏面的管道工一樣[譯者:只是把一大堆硬件組裝起來],你必須知道每個組件是如何運作的。現在我認爲最好的方式是先學習 C 和 LISP,然後再學習 Java 。

也許這裏有個一般性的問題。如果一門語言爲你做了太多,它可能對開發是一個稱手的工具同時卻很難去學習。不僅僅是語言存在這個問題,Web 應用程序框架,比如 RubyOnRails, CakePHP, Dingo 或許使你很容易到達一個淺顯的認識,但是當你碰到一個難題而沒有這些框架資源支持的時候你就會束手無策,甚至只是去調試一個簡單問題的解決方案。

如果你要做一些重要的編程工作,你就必須要學會 C,Unix 的核心語言。C++ 和 C 有很密切的關係,如果你知道其中一個,學習另外一個不用耗費太多精力。無論哪一個語言你都可以先嚐試開始學習一下,但是,實際上,儘量避免直接用 C 編程你會更加具有生產力。

C 非常高效,很節省你的機器資源。不幸的是,C 需要你手動做大量的低層次的內存管理來獲得高效。低級編碼非常複雜、容易出錯,會花費你大量的時間在調試程序上面。由於今天的機器性能非常強大,還這樣做的話通常來講是一個糟糕的決定 – 更加明智的是去使用一門機器時間低效的的語言,但是你的時間更有效。所以,Python。

其他對黑客而言比較重要的語言包括 Perl和 LISP。 Perl 很實用,值得一學;它被廣泛用於活動網頁和系統管理,因此即便你從不用 Perl 寫程序,至少也應該能讀懂它。對於許多使用 Perl 的人,我建議學習使用 Python,儘量去避免在那些不需要 C 的機器效率的工作中使用 C 語言編程,你只需要能夠讀懂那些代碼就可以。

LISP 值得學習是因爲當你最終掌握了它你會得到豐富的經驗;這些經驗使你在以後的日子裏成爲一個更好的程序員,即使你實際上可能很少使用 LISP 本身。(你可以通過使用 Emacs 編輯器來獲得 LISP 經驗,或者 GIMP 的 Script-Fu 插件。)

當然,實際上你最好五種都會。 (Python, C/C++, Java, Perl, and LISP). 除了是最重要的編程語言,它們還代表了非常不同的編程方法,每種都會讓你受益非淺。

但是你需要意識到僅僅去學會幾種語言是不會達到黑客需要的技術水平,甚至也不能成爲一個程序員 – 你需要站在一般性的角度思考編程問題,獨立於任何編程語言。要想成爲一個真正的黑客,你要達到的標準時可以通過相關的手冊和你已經知道的知識在數天內學習一門新語言。這意味你會學習到幾種非常不同的語言。

這裏我無法完整地教會你如何編程—這是個複雜的活兒。但我可以告訴你,書本和課程也無濟於事。幾乎所有最好的黑客都是自學成材的。真正能起作用的就是去親自 讀代碼 和 寫代碼。

彼得•諾維格,谷歌的頂尖黑客,也是現在被廣泛使用的人工智能領域的教科書的共同作者,寫了一篇棒極了的文章 Teach Yourself Programming in Ten Years。他的成功編程祕訣值得關注。

學習如何編程就象學習用自然語言寫作一樣。最好的做法是讀一些大師的名著,試着自己寫點東西,再讀些,再寫點,又讀些,又寫點…如此往復,直到你達到自己在範文中看到的簡潔和力量。

在如何學習編程中,我已經說了很多次這個學習過程。只是一個很簡單的教導,但卻是最難的事情。

過去找到好的代碼去讀是困難的,因爲很少有大型程序的可用源代碼能讓新手練手。這種狀況已經得到了很大的改善;現在有很多可用的開放源碼軟件,編程工具和操作系統(全都有黑客寫成)。這使我們自然地來到第二個話題。

  1. 獲取一個開放源碼的 Unix 並學會使用、運行它

我假設你已經擁有了一臺個人計算機或者有一個可用的( 今天的孩子們真幸福 😃 )。新手們最基本的一步就是得到一份 Linux 或 BSD-Unix,安裝在個人計算機上,並運行它。

當然,這世界上除了Unix還有其他操作系統。但它們都是以二進制形式發送的 – 你無法讀到它的源碼,更不可能修改它。嘗試在 DOS 或 Windows 的機器上學習黑客技術,就象是在腿上綁了鐵塊去學跳舞。

使用 Mac OS X 當然也可以,但是隻用一部分系統式開放源代碼的 – 你可能會遇到很多限制,而且還必須小心不要養成只開發蘋果專用代碼的壞習慣。如果你集中精力在外殼之下的 Unix,你會學到一些有用的東西。

除此之外,Unix 還是 Internet 的操作系統。你可以不知道 Unix 而學會用 Internet,但不懂它你就無法成爲一名 Internet 黑客。因爲這個原因,今天的黑客文化在很大程度上是以 Unix 爲中心的。(這點並不總是真的,一些很早的黑客對此很不高興,但 Unix 和 Internet 之間的共生關係已是如此之強,甚至連微軟也無可奈何) 。

所以,裝一個 Unix – 我個人喜歡 Linux,不過也有其他選擇。(你也可以在同一臺機器上同時運行 DOS, Windows 和 Linux)學會它。運行它。用它跟 Internet 對話。讀它的代碼。試着去修改他。你會得到比微軟操作系統上好的多的編程工具(包括 C, Lisp, Python, and Perl),你會得到樂趣,並將學到比你想象的更多知識。

瞭解更多 Unix 的知識,可以查看 Loginataka。你或許還想看一下這本書 《Unix 編程藝術》

Let’s Go Larval! 博客是一個 Linux 新手的學習記錄,我覺得寫的很清晰明瞭,對其他人也很有幫助。How I Learned Linux 是學習 Linux 一個不錯的起點。

如何獲得一個 Linux, 查看 Linux Online 站點,你可以從這個站點下載,也可以尋找一個本地的 Linux 用戶組來幫助你安裝。

在這篇教程文章頭十年的時光裏,我從一個初學者的角度來看,所有的 Linux 發行版幾乎是相同的。但是在 2006-2007,一個更好的選擇出現了, Ubuntu。 當然,其他的 Linux 發行版有自己領域的優勢, Ubuntu 遙遙領先的是對新手用戶的易用性。需要注意的是,Ubuntu 在幾年後推出的默認界面 Unity 比較醜陋和不可重用,Xubuntu 或者 Kubuntu 變體或許比較好。

你可以再 www.bsd.org 找到 BSD Unix 的幫助信息和資源;

還有一種試水的方式是啓動使用 Linux 愛好者所說的 LiveCD,他從 CD 可以運行一個 Linux 發行版,而不用擔心去更改硬盤佈局。這將會運行比較緩慢,因爲 CD 非常緩慢,但是這是一種可以快速看一下內容而不會造成任何問題。

我已經寫了一些關於 Unix 和 Internet 的 啓蒙內容。

我常推薦新手獨立安裝 Linux 或者 BSD 系統。現在的安裝程序已經足夠好,你可以完全自己動手搞定,即使是新手。儘管如此,特推薦你諮詢或者搜索本地的 Linux 用戶組去尋求幫助,這不會有任何損失,安裝過程也會更順利。

  1. 學習如何使用互聯網以及寫 HTML 語言

大多黑客文化建造的東西都在你看不見的地方發揮着作用,幫助工廠、辦公室和大學正常運轉,表面上很難看到它對他人的生活的影響。Web 是一個大大的例外。即便政客也同意,這個巨大而耀眼的黑客玩具正在改變整個世界。單是這個原因(還有許多其它的), 你就需要學習如何掌握 Web。

這並不是僅僅意味着如何使用瀏覽器(誰都會),而是要學會如何寫 HTML,Web 的標記語言。如果你不會編程,寫HTML會教你一些有助於學習的思考習慣。因此,先建起自己的主頁。

但僅僅建一個主頁也不能使你成爲一名黑客。 Web裏充滿了各種網頁。多數是無意義的,零信息量垃圾 – 非常炫酷的垃圾,請注意,垃圾都是一樣的。(更多可以查看 HTML Hell)

要想有價值,你的網頁必須有內容 – 必須有趣或對其它黑客有用。這樣,我們來到下一個話題…

  1. 你過你還不熟悉實用英語,學會它

作爲一個美國人和英語爲母語的人,之前我並不情願去建議這個。但是避免被扣上文化帝國主義的名頭,還是把它提出來。而且還有幾個其他語種爲母語的人力勸我指出英語是黑客文化和 Internet 的官方語言,和你需要知道它在黑客社區裏的功能。

在 1991 年我瞭解到許多黑客把英語當做第二語言,並在技術討論中使用它甚至他們使用同一母語。有人告訴我這是因爲英語比其他語言有更豐富的專業詞彙,對於工作來說是一個更好的工具。同樣的原因,英文科技書籍的翻譯版本通常不會讓人很滿意(當他們全部完成)。

Linus Torvalds,芬蘭人,用英語寫代碼註釋(他顯然沒有想過用其他方式)。他流利的英語是他有能力去招募一個全球性的 Linux 開發社區的重要因素。這是一個值得學習的榜樣。

成爲一個英語爲母語的人,並不能保證你的語言技巧足夠實用到做一個黑客。如果你的寫作是半文盲、不合語法,並且充斥着拼寫錯誤,許多黑客(包括我)往往會直接無視你。雖然不拘小節的寫作不一定意味着馬虎的思考。但是我們通常發現這兩者有很強的相關性 – 我們沒有馬虎的思考家。如果你還不能勝任,開始學習。

黑客文化中的地位

象大部分不涉及金錢的文化一樣,黑客王國的運轉靠聲譽維護。你設法解決有趣的問題,但它們到底多有趣,你的解法有多好,是要有那些和你具有同樣技術水平的人或比你更牛的人去評判的。

相應地,當你在玩黑客遊戲時,你知道,你的分數要靠其他黑客對你的技術的評估給出。(這就是爲什麼只有在其它黑客稱你爲黑客是,你纔算得上是一名黑客)這個事實常會被黑客是一項孤獨的工作這一印象所減弱;它也會被另一個黑客文化的禁忌所減弱(此禁忌的效力正在減弱但仍很強大):拒絕承認自我或外部評估是一個人的動力。

特別地,黑客王國被人類學家們稱爲一種精英文化。在這裏你不是憑藉你對別人的統治來建立地位和名望,也不是靠美貌,或擁有其他人想要的東西,而是靠你的奉獻。尤其是奉獻你的時間,你的才智和你的技術成果。

要獲得其他黑客的尊敬,你可以做以下五種事情:在這裏插入圖片描述
需要了解此方面知識以及編程相關重要知識點請加小編Q羣(五八三,六五零,四一零)進行學習。

  1. 寫開放源碼的軟件

第一個(也是最基本和傳統的)是寫些被其他黑客認爲有趣或有用的程序,並把程序的原代碼公佈給大家共享。

(過去我們稱之爲自由軟件-free software,但這卻使很多不知 free 的精確含義的人感到不解。現在我們很多人使用開放源碼-open source 這個詞)

黑客王國裏最受尊敬的大牛們是那些寫了大型的、具有廣泛用途的軟件,並把它們公佈出去,使每人都在使用他的軟件的人。

但是這也有一個歷史轉折點,在 90 年代中期之前,黑客們很尊敬他們中間的開源軟件開發者,那是大多數黑客都在爲閉源軟件工作。當我在 1996 年寫這份文件的第一個版本的時候,依然如此。開源軟件的主流化是從 1997 年開始的。今天,黑客社區和開源軟件開發者社區是兩個描述和本質上基本相同的文化和人羣 – 但是需要記住的是,這並非總是如此。(更多信息,查看 Historical Note: Hacking, Open Source, and Free Software 部分)

  1. 幫助測試並修改開放源碼的軟件

黑客們也尊敬也那些使用、測試開放源碼軟件的人。在這個並非完美的世界上,我們不可避免地要花大量軟件開發的時間在測試和抓臭蟲階段。 這就是爲什麼任何開放源碼的作者稍加思考後都會告訴你好的 beta 測試員象紅寶石一樣珍貴。 (他知道如何清楚描述出錯症狀,很好地定位錯誤,能忍受快速發佈的軟件中的 bug,願意使用一些簡單的診斷工具) 甚至他們中的一個能判斷出哪個測試階段是延長的、令人精疲力盡的噩夢,哪個只是一個有益健康的玩意兒。

如果你是個新手,試着找一個感興趣的正在開發的程序,作一個好的 beta 測試員。從幫着測試,到幫着抓臭蟲,到最後幫着改程序,你會不斷進步。以後你寫程序時,會有別人來幫你,你就得到了你當初善舉的回報。

  1. 公佈有用的信息

另一個好事是收集整理網頁上有用有趣的信息或文檔如 FAQ。許多主要 FAQ 的維護者和其他開放源碼的作者一樣受到大家的尊敬。

  1. 幫助維護基礎設施的運轉

黑客文化是靠自願者運轉的。要使 Internet 能正常工作,就要有大量枯燥的工作不得不去完成 – 管理 mail list,newsgroup,維護大量文檔,開發 RFC 和其它技術標準等等。

做這類事情的人會得到很多人的尊敬,因爲每人都知道這些事情是耗時耗力的苦役,不象編碼那樣好玩。做這些事情需要毅力。

  1. 爲黑客文化本身服務

最後,你可以爲這個文化本身服務(例如象我這樣,寫一個“如何成爲黑客”的初級教程 :-)(也可以像我這樣搭建一個優質的中文黑客社區 😃 ) 這並非一定要在你已經在這裏呆了很久,精通所有以上 4 點,獲得一定聲譽後後才能去做。

黑客文化沒有領袖。精確地說,它確實有些文化英雄和部落長者和歷史學家和發言人。若你在這圈內呆的夠長,你或許成爲其中之一。

記住:黑客們不相信他們的部落長者的自誇的炫耀,因此很明顯地去追求這種名譽是危險的。你必須具備基本的謙虛和優雅。

黑客和怪人/Nerd的聯繫

同流行的傳說相反,做一名黑客並不一定要你是個怪人。然而,很多黑客都是怪人。做一個出世者有助於你集中精力進行更重要的事情,如思考和編程。

因此,很多黑客都願意接受“怪人”這個標籤,更有甚者願意使用 極客/geek 一詞並自以爲豪—這是宣佈他們與主流社會不合作的聲明(還有對科幻小說和戰略遊戲的狂熱也常常是黑客的標籤)。術語 書呆子/nerd 最早被使用是在 1990s,那時,書呆子/nerd 是一個溫和的貶義詞,而 geek 更加刺耳。在 2000 年之後這些術語開始變化,至少在美國流行文化中,在那些非技術人員當中也有極客文化的驕傲。

如果你能集中足夠的精力來做好黑客同時還能有正常的生活,這很好。今天作到這一點比我在1970年代是個新手是要容易的多。今天主流文化對技術怪人要友善的多。甚至有更多的人意識到黑客通常更富愛心,是塊很好的做戀人和配偶的材料。

如果你因爲生活上不如意而爲做黑客而吸引,那也沒什麼—至少你不會分神了。或許以後你會找到自己的另一半。

風格的指引

重申一下,做一名黑客,你必須進入黑客精神之中。當你不在計算機邊上時,你仍然有很多事情可做。它們並不能替代真正的編程(沒有什麼能替代編程),但很多黑客都那麼做,並感到它們與黑客精神存在一種本質的關聯。

學會如何用你的母語寫作。儘管傳統觀念上程序員並不需要寫文章,包括我所知道所有最棒的黑客都非常擅長寫作。

閱讀科幻小說。參加科幻小說討論會。(一個很好的尋找黑客的場合)

加入一個黑客空間去創造一些東西。(另外一個很好的方式去尋找黑客和潛在黑客)。

嘗試一種武術形式。那種需要精神自律的武術形式在某些重要的方面和黑客做的方式是一樣的。在黑客中最流行武術形式肯定是亞洲的空手藝術,比如跆拳道,各種形式的空手道、功夫、合氣道或者柔術。西方劍術和亞洲劍術也有明顯的追隨者。在一些法律許可的地方,手槍射擊在 1990s 後也人氣高漲。最黑客風格的武術形式是那些強調精神自律、放鬆意識、精確控制的,而不是原始的力量,運動能力或物理韌性。

研究冥想和禪宗。

練就一雙精確的耳朵,學會鑑賞特別的音樂。學會玩某種樂器,或唱歌。

提高對雙關語的鑑賞。

這些事情,你做的越多,你就越適合做黑客。至於爲什麼偏偏是這些事情,原因並不很清楚,但它們都涉及到了左-右腦的綜合技巧,這似乎是關鍵所在。(黑客們既需要清晰的邏輯思維,有時也需要強烈的跳出邏輯之外的直覺)

對於真正的黑客,娛樂、工作、科學、藝術的界限逐漸消失,或者被合併到了高層次的創造性的有趣活動。而且,也不會滿足於很窄的技術領域。因此許多黑客自我描述我程序員,他們可能勝任多種相關的技能 – 系統管理員,網頁設計,修電腦是最常見的。一個黑客是系統管理員,在另一方面,很可能擁有相當熟練腳本編程和網站設計。黑客們不做半途而廢的事情,對於他們所有投資的技巧來說,他們往往會非常擅長。

最後,還有一些不要去做的事情。

不要使用愚蠢的,過於譁衆取寵的 ID。

不要再論壇或者新聞組挑起戰爭的火焰(或者在其他任何地方)。

不要自稱爲網絡崩客(punk) ,也不要對那些人浪費時間。

不要寄出充滿拼寫和語法錯誤的 email,或張貼錯誤百出的文章。

做以上的事情,會使大大損害你的聲譽。黑客們個個記憶超羣 – 你將需要數年的時間讓他們忘記你的愚蠢。

網名和虛擬身份問題應該得到一定的關注。將你的 ID 隱藏在一個虛擬身份之下的做法很 low,是駭客, warez d00dz的做法,更是年少和愚蠢的特徵。黑客不這樣做,他們爲他們的所作所爲感到自豪,並希望用自己的名字關聯。所以如果你有一個虛擬身份,將其刪除,在黑客文化中這隻會標誌着你是一個失敗者。

  1. 我如何知道自己已經是一名黑客了?

問你自己三個問題:

你能流利的講解代碼嗎?

你認同黑客社區的目標和價值觀嗎?

是否有黑客社區的成員稱你爲黑客?

如果你能肯定的回答這三個問題,那麼你已經是一名黑客了。缺一不可。

第一個測試有關於技術。你可能已經通過本文前面描述的一些最低的技術要求。你可能輕鬆的達到這個標準如果你參與一些大量代碼的開源項目。

第二個測試和態度有關,如果描述的黑客的五個原則對你來說顯而易見,就想一本你已經那樣生活的小說一樣,這就是你的生活方式。你已經通過了一半的測試。這是內向的一半,另外,外向的一半是你認同黑客社區長期項目的程度。

下面是一個不完整的指示清單:Linux 的提升的發展對你是否重要?你是否熱愛自由軟件?反對壟斷?你是否有相信計算機可以讓未來世界更加豐富、更人性化而採取行動的信念?

但是一個需要注意的問題需要列在在這裏。黑客社區有一些具體的、主要是防禦性的政治利益 – 其中兩個是捍衛自由言論的權利和低於"知識產權"的權利爭奪,這將會是開源非法。其中一些長期項目是由公民自由組織的,蔽日電子前哨基金會,黑客的態度表面上包括支持他們。但是除此之外,許多黑客嘗試去系統化黑客的態度和質疑爲一個明確地政治綱領,我們已經知道,這非常困難,這些嘗試是分裂和分心。如果有人用黑客的態度的名義招募你去首都遊行,他們已經忽略了重點。正確的反應應該是 “閉嘴,給我看一下代碼”。

第三個測試有一個棘手的遞歸元素在裏面。我注意到在 “什麼是黑客?” 部分,成爲一個黑客需要屬於一個特定的亞文化社區或社交網絡,有共同的歷史,有內部和外部的問題。在遙遠的過去,黑客是一個更加團結和自我意識比今天更強。但過去三十年,社會網絡的重要性以日益增強,互聯網的連接,是黑客亞文化羣的核心更加容易開發和維護。一個簡單行爲指數的變化,在本世紀,我們有自己的 T-shirts。

研究網絡的社會學家,比如在 “無形學院” 的總課題下的黑客文化指出這種網絡的一個特點是,他們有 把關人/gatekeeper – 核心成員擁有社交權威去任何新的成員加入這個網絡。因爲黑客文化是一個鬆散和非正式的組織,把關人的作用也是非正式的。但是所有的黑客都明白在他們網絡中,並不是每一個黑客都是把關人。把關人是必須有一定的資歷和成就纔可以賦予的稱號。有多少很難去量化,但是每個黑客都知道他,當他們看到他。

  1. 你會教我如何做黑客嗎?

自從第一次發佈此頁,我每週都會得到一些請求,要我“教會他如何做黑客”;遺憾的是,我沒有足夠的時間和精力來做這個;我自己的編程項目已經佔用了我 110% 的時間。

甚至即便我想教你也不可能,黑客基本上是一項需要你自行修煉的的態度和技術。你會發現即使真正的黑客想幫助你,如果你乞求他們填鴨一樣教你的話,你不會贏得他們的尊敬。

首先去學習。顯示你在嘗試,你能靠自己去學習。然後再去向黑客們請教問題。

如果你通過電子郵件向黑客求助,這裏有兩件事你需要提前知道。我們發現那些寫作懶惰,粗心,有大量拼寫錯誤的人通常懶得去思考,去成爲優秀的黑客。所以必須注意正確拼寫,並使用正確的標點符號,否則很可能會被忽略。其次,不要去回覆一個不是從你發送郵箱列表中的不同答覆,我們發現這些通常是使用偷來的賬號的小偷,我們對獎勵或協助偷竊沒有興趣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章