第4章 格林布萊特和高斯珀

那時,理查德·格林布萊特還不是駭客。幾年以後,作為駭客的鼻祖,當他的大名在遍及全美的各個計算機中心變得無人不知、無人不曉的時候,當他一心一意向自己的目標努力奮鬥的故事被人廣為傳頌,一如他編寫的數百萬行彙程式設計式碼被人廣為使用的時候,有人不禁納悶:這一切究竟是怎麼開始的?他坐在椅子上,轉過身來,現在的他看上去已不再像當年讀大學本科時那樣邋遢,一張胖乎乎的娃娃臉,頭髮烏黑,不善言辭。關於這個問題,他將其歸結為「駭客到底是天生的還是後天修煉的」,然後便給出了他那老調重彈、被人戲稱為「布萊特主義」的論斷:「假如駭客是天生的,那麼他們還要經過後天的磨鍊;假如他們通過修煉而得道,那麼他們便是天生的駭客。」

格林布萊特承認自己是一名天生的駭客。

這倒不是說從他第一次接觸pdp-1計算機後便改變了他人生的軌跡。是的,他就是對計算機有股痴迷勁兒。那個禮拜恰巧是mit本科新生開學前的最後一週,理查德·格林布萊特在投入學業之前還有一段空閒時間,這段時間發生的事情註定會造就他在計算機領域的輝煌成就。他到一個最吸引他的地方去了一趟:學校的廣播電臺wtbs(mit的校園廣播電臺也許是全美唯一一個聘用了大量的學生音響工程師但卻沒有幾個唱片音樂節目主持人的大學廣播電臺),tmrc,以及26號樓的klugeroom房間,其中安放著一臺pdp-1計算機。

有幾名駭客正在玩《太空大戰》電子遊戲。

玩這個遊戲通常有個規矩,就是要把這間屋子的燈關掉,這樣一來,圍在控制台四周的人臉便會因螢幕上宇宙飛船和點點繁星的照射而發出奇怪的亮光。一張張全神貫注的臉被計算機的光芒照亮——這一幕深深地印在了格林布萊特的腦海中。他欣賞了一會兒遊戲中的宇宙大碰撞後,就到隔壁房間觀看那臺tx-0計算機,它有一排排電子管和電晶體,與眾不同的電源,還有數不清的訊號燈和開關。他曾作為高中數學俱樂部的一員參觀過位於密蘇里州哥倫比亞市的州立大學的批處理計算機,他還見過當地一家保險公司有一臺巨大的卡片分類機。但是這臺計算機和它們都不一樣。雖然對廣播電臺、tmrc特別是那臺計算機念念不忘,但他還是開始努力在學業上爭取好成績。

然而,他這份立志做好學生的想法沒有保持太長時間。和其他mit的平庸學生相比,格林布萊特親自動手嘗試的願望更加強烈。1954年,格林布萊特的父親來看他,他父母早年離異,打那之後,他就沒跟父親生活在一起。父親將格林布萊特帶到密蘇里大學學生會館(memorialstudentunion)所在地,這裡距離格林布萊特在哥倫比亞市的家不遠。從這一天起,他的生活被不可逆轉地改變了。格林布萊特立刻就喜歡上了這裡。除了舒適的大廳、電視、飲料售賣臺以外,他喜歡這裡最主要的原因是這裡的大學生們,時年僅僅9歲的格林布萊特更多地把他們當做了智力競賽的物件,而不是同學。他經常到那裡下國際象棋,並且通常都能輕而易舉地擊敗那些大學生。他是個國際象棋高手。

他的手下敗將中有一名因得益於gi法案sup/sup而在密蘇里大學學習工程的學生,名叫萊斯特。萊斯特給予這名9歲天才的饋贈便是手把手地帶他進入了電子世界。在這個世界中,1就是1,2就是2,沒有半點含糊。在這個世界中,一切都是由邏輯構成的。如果你通過努力學習獲得了一個可以控制一切的學位,你就能按照你自己的想法制作任何東西。當時年僅9歲的小格林布萊特因超常的智力水平在同伴中往往感覺不自在,對於這個深受人類社會中司空見慣的父母離異的影響,但自己卻又無能為力的孩子來說,電子學絕對是一個極好的「避風港灣」。

萊斯特和格林布萊特一起做業餘無線電方面的專案,還會將舊電視機大卸八塊。大學畢業前,萊斯特將格林布萊特介紹給了一個叫霍頓的人認識,這個人在當地開了一家無線電用品商店。後來,這家商店成了年輕的格林布萊特高中時的第二個家。格林布萊特和一位高中同學一道做了一系列專案。專案中用到了放大器、調變器、各式各樣難看的真空管裝置,還有示波器、蹩腳的無線電裝置、電視照相機。對,電視照相機!看起來好像是個不錯的思路,於是他們決心自己動手構建它。等到了要選擇上哪所大學的時候,理查德·格林布萊特沒有過多猶豫就選擇了mit。1962年秋季,他正式成為該校的一名大學生。

第一學期的課程非常嚴格,但格林布萊特完成得比較順利。慢慢地,他開始有機會接觸到大學裡的計算機了。他幸運地選修了一門編號為ee641的選修課——計算機程式設計入門,並經常到eam的打孔機那裡給ibm7090計算機編寫程式。另外,他的室友邁克·比勒則學習一門叫「列線圖解法」(nomography)的課程。所有上課的學生都有機會親自上機使用ibm1620計算機——這臺機器又是放在一個被少數特權人士所獨佔的地方。格林布萊特經常陪著比勒去1620計算機的機房,先給一摞卡片打上孔,然後就排隊等著。等輪到他們了,他們就將卡片逐個插到閱讀器裡,繪圖機/印表機立刻就能輸出結果。「這其實挺有意思的,就像在晚上玩的那些遊戲一樣有趣,」比勒後來回憶道,「在別人看體育比賽的時候,或者出去閒逛、喝啤酒的時候,我們就用這種方式擺弄計算機。」雖然上機的時間有限,但他們很喜歡。這激發起格林布萊特進一步學習計算機的慾望。

聖誕節前後的那段時間,他常常和tmrc的那些人混在一起,這終於讓他感覺舒服多了。整天跟著像彼得·薩姆森這樣的人,很容易進入一種「駭客模式」(計算機的各種狀態稱為「模式」,駭客們常常借用這樣的詞彙描述他們日常生活的狀態)。薩姆森一直在為這傢俱樂部壯觀的鐵路模型編寫控制操作過程的程式,這個程式要求嚴格按照一張詳盡的時間表執行。根據對數字的要求,薩姆森已經在7090計算機上用fortran語言編寫完成了一個這樣的程式。格林布萊特決心在pdp-1計算機上編寫第一個fortran語言。至於為什麼要這麼做,他不會對任何人講——機會要靠自己爭取,它是等不來的。如果你想在一臺計算機上完成某個任務,但這臺計算機上又沒有可用的軟體,那麼給它編一個這樣的軟體便是自然而然的想法了,然後就可以做自己想做的事情。這就是促使格林布萊特後來的程式設計水平提升至藝術級的那股動力。

像薩姆森一樣,他也做到了。他的軟體可以讓你用fortran語言程式設計,將fortran語句程式碼編譯成機器語言,也可以將計算機的機器語言反編譯成fortran語言。由於沒有足夠的pdp-1上機時間,編寫fortran編譯器的工作主要是格林布萊特在他自己的房間內完成的。此外,他還在tmrc參與了設計新型底層佈局系統的工作。這間屋子的牆皮似乎一直在往下掉(這裡的牆壁不論以什麼標準來衡量都糟透了,不過這不能怪物業公司,因為他們也屬禁止入內的人員之列),並且他們的系統直接嵌入了部分牆壁裡面,這是20世紀50年代中期傑克·丹尼斯干的好事。除了這些,還有一個新元件叫「線簧繼電器」,這個比以前那個舊的看上去強多了。所以格林布萊特花了大量的時間除錯這個新元件。即使再忙,他也沒有耽誤繼續鑽研pdp-1計算機。

事情的發展真是滑稽。當你開始一心要做一名好學生,努力提高學習成績時,你會發現自己會以另外一種眼光重新審視自己的課程:在課堂上學的那些東西和自己正在做的完全風馬牛不相及。自己手頭正在做的是研究、升級或建造系統,並且顯而易見的是,鑽研系統只是想讓它能動起來,那是一種旨在讓自己得到滿足的追求。至少tmrc的人或鑽研pdp-1計算機的人似乎都沒把他們正在做的事當做哪怕是一個有益的論文課題來看待。雖然計算機是一臺非常複雜的機器,但是它與人類社會中的變化無常、來來往往和錯綜複雜的人際關係還是沒法相比。不過與正式或非正式的社會科學方面的研究不同,對科技的鑽研不僅可以讓你增長知識,而且還可以讓你對控制技術逐漸痴迷起來,使你產生一種錯覺,即你只需再增加幾個功能就能達到掌控一切的目標了。因此,你就會自然而然地用恰當的方法著手在系統內部增加那些似乎必不可少的功能。照此下去,系統功能越完善,你反而會覺得有更多的事情等著你去做。然後有個人(比如馬文·明斯基)可能碰巧走過來說:「這兒有個機械臂,我要把它放在這臺機器旁邊。」一下子,你會覺得世界上沒有什麼比製作機器人和機械臂之間的介面更重要的事了,你要讓這根機械臂聽你指揮,還要讓這個機器人知道它自己在幹什麼併為之建立一個系統。接著你的辛勤勞動終於開花結果了。作為一名工程人員,你發明創造的哪樣東西可以比得上這個更有意義?你的工程學教授從來沒有解決過什麼有趣的問題,甚至有趣程度連你當前每天在pdp-1計算機上所解決問題的一半也沒有,這就是你的機會。可你們倆到底誰對?

格林布萊特在大二的時候,和他一起研究pdp-1計算機的人員有了很大的變動。雖然最初在tx-0上做研究的那批人離開了好幾個,但是又有新的血液輸入進來。重新調整後的小組得到了國防部的資助,他們的信心更強了,在研究工作中配合得非常默契。後來他們又添置了一臺pdp-1計算機,這臺機器安放在新落成的一座9層高的長方形大樓內——這座大樓位於mainstreet大街,普通得讓人感覺有些麻木:大樓表面沒有任何突起,沒有窗臺的窗戶看起來好像是直接噴繪在雪白的牆面上一樣。這座大樓名為「科技廣場」(techsquare),mit和入駐校園的企業客戶將這裡稱為"projectmac"。pdp-1計算機安放在大樓的9層,這層樓培育出了整整一代的計算機駭客,他們當中在這裡消磨時間最多的就是格林布萊特。

有幾個駭客(包括格林布萊特本人)在為這個系統工作,有的剛剛開始開發某個涉及人工智慧方面的大型專案。他們幾個以學生身份受聘的員工還有工資收入(低於最低工資標準)。從這時開始,大家逐漸注意到這個禮貌但略顯拘謹的大二學生很可能是未來pdp-1計算機方面的超級巨星。

格林布萊特像變戲法似的編出了大量的程式碼,他有時會聚精會神地投入到鑽研工作中,有時則拿著一大摞列印出來的程式碼坐在一旁,用筆在上面做著標註。他兼顧pdp-1計算機上的研究和tmrc內的任務,腦子裡考慮的盡是程式程式碼的結構或者他參與設計的俱樂部模型的底層系統。為了能夠長時間保持精神集中,他和幾個同伴夜以繼日地工作——他們每天按照30個小時來過。這種作息時間有利於從事高強度的研究工作,因為平白無故地多出了一段不睡覺的時間可以用來程式設計。一旦你真的照此方式生活,像睡覺這樣不重要的事便不會再來打擾你的工作了。這個想法的目的是讓他們的精力保持30個小時,直到精疲力竭,然後回家睡上12個小時。不過也可以在實驗室打地鋪。然而這個作息時間表有個小小的缺點,就是它會讓你的作息時間與現實世界中其他人的正常作息時間不一致,進而影響很多事情,如約會、就餐和上課。但駭客自有辦法。常常會有駭客這樣詢問:「格林布萊特現在處於什麼時間?」剛剛見過他的另一個駭客可能這樣回答:「我想他正在晚上,大概9點左右的樣子。」可是教授們沒法自如地調整到那些狀態,因此格林布萊特只好曠課。

校方讓其留校察看。格林布萊特的母親於是親自來到馬薩諸塞和校方協商。她為此大費了一番唇舌。「他媽媽非常擔心,」他的室友比勒後來說道,「她說她兒子到這裡上大學是要拿學位的。但他整天在計算機上忙活的是一個高精尖的專案,此前從沒有人涉獵過這個領域。他有另外一些事情要做,想讓他對課堂上的知識產生興趣真的很難。」對格林布萊特來說,他一點也不在乎自己即將因學習成績太差而面臨退學的危險。做他自己的研究才是最重要的:這些事他不僅做得很好,而且樂此不疲。

當他因為作息時間「黑白顛倒」而睡過了頭,沒有趕上參加一次期末考試以後,最糟糕的時刻終於降臨了。與此同時,他也不能再待在mit的這個學生團體內了。如果沒有這樣一條規定——當你從mit退學,你也就沒有資格繼續作為學生員工待在這裡,那麼因成績太差而退學對格林布萊特來說,他的生活完全不會有任何改變。因此,格林布萊特要去找一份工作,一心一意地要找一份白天程式設計的工作,這樣他就能在晚上留在這個地方——科技廣場大樓的9層,繼續鑽研他的系統。他確實這麼做了。

還有一位同樣出眾的駭客,他也用與眾不同的方式掌握了pdp-1計算機。他的口才比格林布萊特好,他能夠更加有條理地講清楚計算機是如何改變了他的生活以及可能怎樣改變所有人的生活。這名學生就是比爾·高斯珀。他比格林布萊特早一年進入mit,但迷上pdp-1計算機的時間卻比格林布萊特晚。高斯珀身材消瘦,五官特徵和鳥類相近,戴一副既厚且大的眼鏡,褐色的頭髮又髒又亂。雖然其貌不揚,但是隻要跟他有過短暫的接觸,你一定會相信這個人的聰明才智絕對可以將事物之間的微妙關係(包括他自己的五官面貌)處理得井井有條。他是一個數學奇才。可以說,研究數學(而不是系統)的願望使他對計算機產生了興趣。格林布萊特和其他才華橫溢的以研究各種系統為目標的學生們現在已經建立了一個全新的projectmac專案,這些人就好像長機,而高斯珀則在很長的時間內扮演他們的僚機,兩者相輔相成,翱翔長空。

高斯珀是新澤西州彭索金鎮人,他的家與費城僅一河之隔。在來mit就讀前,他對計算機的接觸也僅限於從玻璃窗後面觀看巨型機的操作而已,這一經歷與格林布萊特一樣。他還清楚地記得在費城的富蘭克林學院看到一臺univac(通用電子計算機)在與它相連的行式印表機上列印出本傑明·富蘭克林的相片。高斯珀根本不明白原理是什麼,但是覺得特別有趣。

就在他進入mit的第二個學期,他有生以來第一次親自動手操作了計算機。他選修一門由約翰·麥卡錫大叔親自講授的課程——這門課僅對大一學生中上學期的平均成績較高的學生開設。這門課程由fortran語言開始,接著講到ibm機器語言,最後也涉及一些pdp-1計算機的有關知識。不過這位教授留給他們的作業卻很難,例如用7090計算機跟蹤穿過光學系統的光線軌跡,或在pdp-1計算機上用新的浮點直譯器編幾段程式碼等。

來自程式設計的挑戰大大激發了高斯珀的興趣。經過在ibm計算機上的批處理折磨以後,pdp-1計算機對他來說就像興奮劑令他欲罷不能,令他不知疲倦。多年以後,高斯珀在談到那時的心情時,興奮之情仍溢於言表:「你會一把將鍵盤抱在懷裡,就好像那是一個有血有肉的人,然後讓這臺計算機在幾毫秒內對你的動作做出反應……」

不過,在這門課程結束以後,高斯珀還是對繼續在pdp-1計算機上探索採取小心謹慎的態度。那時他已是數學系的學生了,數學系的人一直告誡他只有遠離計算機才能變得聰明——顯然,數學系的人想把他變成一名牧師。高斯珀發現數學系有一條非正式的口號——「世界上根本沒有‘電腦科學’——那是巫術!」好吧,高斯珀就想做一名巫師!他報名參加了明斯基講授的有關人工智慧的課程。這門課又要求用pdp-1計算機了,而這一次,高斯珀對鑽研計算機本身產生了濃厚的興趣。在那個學期中,他曾寫了一個在螢幕上繪製函式的程式,這是他做的第一個真正的專案。其中一個子例程中有一段程式碼寫得非常巧妙,他大著膽子拿給阿倫·考托克看。那時考托克已經非常有名了,高斯珀認為他如有神助,這種判斷不僅來自他在pdp-1上的輝煌成績和tmrc那些人的反應,而且還因為考托克在dec公司有一項重要的工作,就是設計比pdp-1更加先進的新型計算機。考托克仔細檢查了高斯珀的程式碼,認為他編寫得非常不錯,完全可以拿給其他人看。高斯珀高興極了。「考托克也認為我編的程式很不錯!」於是他就信心百倍地開始編寫更多的程式。

在這個過程中,他的一個重大課題就是嘗試著「解決」一款名叫pegsolitaire(hi-q)遊戲中的難題。這款遊戲的棋盤是一個加號的形狀,上面有33個小孔。除了中間那個孔以外,每個小孔裡都有一枚棋子(peg)。當一枚棋子跳過另一枚棋子時,可以將經過的那枚棋子(後者)「吃掉」。最終的目標是在棋盤的正中間只留下一枚棋子。當高斯珀和其他兩位同學嚮明斯基提出請求,由他們用pdp-1計算機來解決這個問題時,明斯基雖然並不認為他們能夠完成這個課題,但還是鼓勵他們不妨嘗試一下。最後,高斯珀和他的朋友們完成了任務——「我們把其他的棋子都吃光了。」他後來說。其實這幾個人還編了一個程式,讓pdp-1計算機在一個半小時內解決了這個遊戲中的難題。

高斯珀非常欣賞計算機解決pegsolitarie遊戲(hi-q)sup7/sup難題的方法,因為這種方法不是靠直覺來決定行動方案的。計算機程式使用的各種技巧看上去似乎不太合適,但卻能夠在該場合下利用深奧的數學原理來解決問題,這一點讓他對計算機程式充滿了深深的敬佩。這種和直覺背道而馳的解決方法源自於對無數數學關係之間神秘聯絡的理解,而這些數學關係正是程式編寫的基礎所在。找出那些數學關係就是高斯珀要做的,也可以說他要在計算機上以另一種方式進行數學研究。隨著對pdp-1的接觸越來越多以及參與tmrc的工作日益增多,他成了一名大家不可或缺的首席「數學駭客」——他雖然對系統程式沒有太大的興趣,但是他能夠給大家提出一些思路極其清晰的(非直覺的!)演算法,這些演算法很可能會幫助系統駭客去除某個子例程中的幾條多餘指令,或者令大家頓開茅塞,走出思維的誤區。

高斯珀和格林布萊特分別代表了tmrc的成員以及鑽研pdp-1計算機的駭客中兩種不同的研究型別:格林布萊特專注於具備實用價值的系統建設,高斯珀則側重於數學方面的探索。這兩類人都對對方的長處心悅誠服,他們會一起參與專案,密切協作,在各自擅長的領域內力爭做到最好。不僅如此,這兩類駭客共同對科技廣場大樓第9層所孕育的、雖處於萌芽期但已經蓄勢待發、準備怒放的駭客文化之花做出了重要貢獻。在各種因素的共同作用下,就是在這間技術溫室中,他們的文化慢慢變得枝繁葉茂,將駭客道德推向了一個前所未有的極致。

這些駭客的行動輾轉於幾個不同的地點之間。某些「夜貓子」駭客們仍舊會光顧klugeroom房間裡的那臺pdp-1計算機(它現在已經用上了傑克·丹尼斯花了一年時間編寫的分時作業系統),特別是到這裡來打《太空大戰》電子遊戲。但是真正的駭客則越來越偏愛projectmac那裡的pdp-1計算機。這臺計算機和其他機器一起放在科技廣場大樓燈光刺眼、沒有什麼擺設的第9層大廳內。為了讓這裡各種各樣的計算機能夠正常工作,空調也不得不開足馬力,發出「嗡嗡」的聲音,吵得人只想躲到為數不多的幾間小小的辦公室裡去。最後一個地點就是tmrc,這裡有似乎永遠也賣不光的自動可樂售賣機和桑德斯製造的換瓶機,隔壁就是堆滿了各種東西的toolroom。人們在這裡一待就是一整夜,爭論在外人聽來有如天書一般晦澀難懂的各種觀點。

這些爭論是駭客圈中的家常便飯。有時他們會扯著嗓子相互叫喊,堅持自己的彙程式設計式的編碼方案,或者某個具體型別的介面,或者某種計算機語言中的一個特別功能。駭客們在對這些不同觀點的討論過程中往往會用力捶打黑板甚至將粉筆摔向房間的另一頭。這種爭吵行為並不代表他們真的固執己見,他們只是想弄清楚什麼才是「正確答案」(therightthing)。對於駭客,「正確答案」這一術語意味著對於任何問題來說(不管是程式設計過程中的兩難選擇、硬體介面不匹配,還是軟體架構的問題),總是存在著一種解決方法,這就是「正確答案」了,也就是最天衣無縫的演算法。當你的工作深入到某個關鍵之處的時候,此時人人都能看到兩點之間已經可以用一條直線連線起來了,那麼進一步找出更好方法的努力便顯得畫蛇添足。「正確答案,」高斯珀後來解釋說,「指的是那種非常具體的、獨一無二的、第一流的正確解決方案……它在同一時刻能夠滿足所有的約束條件。每一名駭客似乎都相信絕大多數問題都存在這麼一種‘正確答案’。」

高斯珀和格林布萊特兩人都比較固執,不過通常格林布萊特討厭面對面、容易產生不快的爭論,他會躲到一旁去做點什麼,有時是有用的工作,有時則不是。在他看來,事情總要有人去做。假如其他人都不去做,那麼他就去做。他會坐在桌旁,用鉛筆和紙寫點什麼,或者坐在pdp-1的終端前,尖聲尖氣地把自己的程式碼念出來。格林布萊特的程式是健壯的,換句話說就是這些程式的基礎非常堅固,裡面的糾錯部分可以使程式不會因一個錯誤導致系統崩潰。每當格林布萊特編完一段程式以後,他總是會對這段程式進行全面除錯。高斯珀認為格林布萊特比他見過的任何一個人都更喜歡查錯和改錯,甚至懷疑格林布萊特有時會故意寫幾條錯誤程式碼以便今後可以修改。

高斯珀喜歡以公開的方式程式設計。他希望有觀眾在旁觀看自己工作,通常這樣的觀眾是一些初級駭客。他們會拉張椅子,坐在他後面,看著他在控制台上編寫一段段完美的程式,這些程式都會帶有一些數學興趣點。高斯珀盡情地展示著他的工作內容,例如讓大家看看一個不常見的演算法會誘發crt上出現一連串無法預測的耀眼亮斑。隨著程式的執行,高斯珀像導遊一樣詳細講解,有時還會重點強調即使一個小小的輸入錯誤也可能產生有趣的數字現象。計算機常常可能做出無法預測的反應,這種反應所產生的現象一直讓他如痴如狂。他對機器的這種表達方式表現出無限的尊重。有時,看上去絕對是隨機發生的事件可能讓他的思緒突然轉向,去思考一個離題萬里的無理數二次方或超越函式的含義。還有的時候,高斯珀程式中某個子例程的巫術可能偶爾演變成一份學者氣很濃的備忘錄,其中一個備忘錄的開頭這樣寫道sup8/sup:

有理論認為:可能由於連分數不可窮盡的特性,導致連分數無法被充分利用,我就此提出以下討論,闡述關於連分數與其他數值表示法相比的優勢所在。

在toolroom內出現的各種爭論絕非大學裡氣氛融洽的閒聊。考托克經常參加這些爭論,正是在這些爭論的過程中,他自己為dec設計的計算機(即pdp-6型)方案中也有幾個關鍵問題得以解決。這款pdp-6型計算機甚至早在設計階段就被tmrc的人奉為絕對的「正確答案」。有一次考托克開車送高斯珀回南澤西度假。他一邊開車,一邊說起他設計的這款新型計算機會有16個獨立的暫存器。(暫存器,或稱累加器,就是計算機內實際進行計算的元件。16個暫存器會令計算機的用途擴充套件到前所未聞的程度。)高斯珀想,那將是世界歷史上最偉大的計算機!

當dec不出所料真的製造出了pdp-6計算機並將第一臺原型機送到projectmac的時候,每個人都看得出來,儘管這臺計算機具備了商業使用者需要的所有基本功能,但是從本質上說,它還是一臺駭客的計算機。考托克本人和他的老闆戈登·貝爾(gordonbell)都飽受tx-0計算機那些功能上的條條框框所困擾,自從有了pdp-6以後,他們就再也無需為這些限制而煩心了。另外,考托克此前曾仔細聽取過tmec內眾駭客的意見,特別是聽取了率先提出使用16個暫存器的彼得·薩姆森的意見。pdp-6的指令集可以滿足使用者的一切要求,計算機的整體架構完全對稱。16個暫存器中的任何一個都可通過三種不同的方法訪問,也可以組合這些方法訪問不同的暫存器,這樣一來,只用一條指令就能完成很多工。這臺pdp-6計算機還使用了一種「堆疊」技術,這項技術能夠讓程式設計師將子例程、程式和活動隨意混合和對應。對駭客來說,pdp-6計算機及其功能強大的指令集能夠讓他們不必再像以前那樣用蹩腳的方式表達自己的意圖,因為他們現在已經擁有了一套全新的、內容豐富的詞彙表,足以把自己內心的情緒準確地宣洩出來。

這臺漂亮的海藍色pdp-6計算機帶有三個巨大的機櫃,控制台看上去比pdp-1更加流暢自然,另外還有好幾排閃亮的懸臂開關和一堆閃爍不定的指示燈。明斯基組織駭客給這臺pdp-6重新編寫系統軟體。很快,他們就像當年痴迷pdp-1時一樣,徹底被這臺計算機征服了。但是,pdp-6計算機可以做的事情要比pdp-1多得多。一天,在tmrc隔壁的toolroom中,駭客們正忙著除錯用不同的方法輸出小數的程式,也就是讓計算機輸出阿拉伯數字的程式。有個人想出了個點子,要嘗試一下pdp-6上幾條全新的、用到堆疊的指令。此前沒有任何人在他們自己的程式中用到過這些指令,可是,令所有人感到驚訝的是,這段通常要用一整頁程式碼才能完成的功能,由於使用了一條名為"push-j"的指令,只用短短的6條指令便實現了。此後,tmrc的人一致同意,那條"push-j"指令絕對就是pdp-6引入的「正確答案」。

toolroom內的討論和激辯常常持續到晚飯以後,此時駭客們基本上都會選擇吃中餐。因為中餐價格便宜、種類多樣,不過最重要的是,中餐館會一直營業到深夜。幾乎每週六的晚上10點以後,一群駭客(有時乘坐格林布萊特的藍色1954款chevy敞篷汽車)都會奔向波士頓的唐人街(週一至週五的晚上有時也會去,不過這要視心情而定)。

中餐也是一個系統。駭客們對中餐的好奇一點也不亞於他們對新推出的lisp編譯器的好奇。薩姆森自從第一次隨tmrc一起外出到中央廣場(centralsquare)的joyfong餐館吃中餐起,就成為一名不折不扣的中餐愛好者了。到20世紀60年代早期,他已經認識了很多漢字,甚至能夠看懂選單並點些讓別人一頭霧水的菜餚。高斯珀喜歡中餐的勁頭有過之而無不及,他會在唐人街東張西望,為的是看看哪家中餐館一直營業到深夜。有一天晚上,他在一處不起眼的地方發現了個由夫妻倆開的小中餐館。那裡的菜餚味道一般,但他注意到來此就餐的華人都在吃一種看上去很奇怪的菜。於是他決定以後一定要帶薩姆森來這裡嚐嚐。

下次他們來的時候隨身帶著中文字典,然後向服務員索要選單。餐館的廚師是一位王先生,他慢吞吞地遞過選單。高斯珀、薩姆森和其他人都把腦袋湊過來看,好像這是一份新型計算機的指令集。薩姆森充當起了翻譯,他的解釋可以起到提示的作用。在英文選單上的"beefwithtomato"sup/sup。而"wonton"sup/sup。看來,在這個系統中還有不少讓人難以置信的事物等待他們去探索!在確定了哪些菜最有意思並決定就點這幾樣以後(「芙蓉翅膀?要一個吧,嚐嚐這到底是個什麼味道」),他們把王先生叫過來。王先生嘰裡呱啦地講了一大堆,意思是以華人的觀點來看,他們點的菜根本無法搭配成一頓飯。很明顯,他不願意給他們上中國菜,因為他覺得美國人不會喜歡這種味道。看來王先生把這些駭客當做膽小的普通美國人了——可這些人的膽子一點也不小,他們本身就是一群探險家!他們一直致力於刻苦鑽研計算機的奧秘,目標就是要將這些秘密(用匯編語言)大白於天下。王先生不再堅持了,他為他們端上了這些駭客們有生以來從未品嚐過的最美味的中國菜。