第1章 技術模型鐵路俱樂部

不過,使用ibm計算機仍然會給人以挫敗感。送入資料卡片後必須經過長時間的等待,沒有什麼比這更糟糕的了。哪怕你只在某條指令中輸錯了一個字母,程式也會完全崩潰,你必須重新再執行一遍上述過程,一步都不能少。此外,計算中心的氛圍中還瀰漫著各種條條框框,並且這些沉悶的條文有日益增多的趨勢。絕大多數規定都是用來防止狂熱的年輕計算機愛好者(如薩姆森、考托克和桑德斯等人)碰到計算機的。所有規定中最不容置疑的一條就是任何人都不允許碰到或亂動計算機。當然,這正是s&p小組的成員寧可放棄一切也要做的事,這些條條框框簡直把他們氣瘋了。

有一名「牧師」(實際上屬於低階別的助理牧師)在他值夜班的時候格外認真地執行這條規定,於是薩姆森設計了一條計策,讓他不大不小地嚐了點苦頭。一次在埃裡的廢電子器件商店閒逛的時候,他偶然發現了一塊帶幾個破舊電子管的電路板,和ibm計算機裡面的一模一樣。一天夜裡,還不到凌晨四點,那位助理牧師有事出去了幾分鐘,當他回來的時候,薩姆森告訴他這臺計算機宕機了,但他們找到了問題所在,然後他拿出從埃裡撿回來的那塊破破爛爛的舊ibm704計算機電路板。

這名助理牧師驚訝得幾乎說不出話來:「你……你從哪兒拿的?」

薩姆森大大的綠色眼睛此時放射出激動的光芒,他慢吞吞地指了指計算機架子上的一塊空位,當然,這裡從來也沒有放過任何電路板,但這塊地方看上去好像確實少了點什麼東西。

助理牧師倒吸一口涼氣,他的表情痛苦不堪,他默唸著求上帝寬恕自己。毫無疑問,他眼前一定閃現出未來從他的薪水中扣掉100萬美元的可怕情景。後來,在他的上級主管(一位高階「牧師」,對tmrc那幫機靈鬼的想法略知一二)把當時的情況向他分析了一遍以後,他才放心。

駭客因不讓他們接觸計算機而逐漸滋生出了憤憤不平的情緒,感受到這一點的管理員絕不止這位助理牧師一人。

一天,tmrc以前的一位成員,現在已經成為mit的一名教師的駭客回俱樂部來參觀,他的名字是傑克·丹尼斯。20世紀50年代初,他還是一名本科生的時候便為鐵路模型的底層設計付出了大量心血。丹尼斯當時正使用一臺mit剛剛從林肯實驗室(mit下屬一個專門開發軍用裝置的實驗室)接收的tx-0計算機,這臺計算機是世界上第一批使用電晶體的計算機之一。林肯實驗室此前專門用這臺計算機測試另一臺大型機——tx-2。tx-2的儲存器極其複雜,只有用這臺專門建造的同宗兄弟計算機才能找到它的毛病。現在,這臺計算機的最初任務目標已經完成,因此這臺價值300萬美元的tx-0便被運送到此,「長期租借給」mit使用。顯然,林肯實驗室的人根本沒有設定歸還日期。丹尼斯專門到此,想問問tmrcs&p小組的成員是否有興趣看一眼這臺計算機。

tx-0放在26號樓,在二樓的電氣研究實驗室(rle)裡,rle正好在一樓計算中心(這裡放有ibm704計算機)的上方。rle很像一艘過時宇宙飛船的控制室。那臺tx-0計算機(有時稱為tixo)在當時算是小型機,因為它是第一批使用手指大小的電晶體(而不是手掌大小的真空電子管)製造的計算機。儘管如此,它(還有與其配套的重達15噸的空調裝置)還是佔據了房間的一大半空間。tx-0系統連線到幾根又高又細的架杆上,看上去好像是粗製濫造的書架一樣,它的電線互相纏繞在一起,此外還有一排排整齊、如小瓶子般的容器,裡面都插著電晶體。另一個架子上的固體金屬門上,冷冰冰地標著各種規格。這幾個架子對面是l型控制台,這是這艘宇宙飛船的控制面板,操作員可以把胳膊肘或資料放到它的藍色檯面上。l型控制台較短的一側立著一臺flexowriter電傳打字機,它很像專用打字機,其底部固定在軍灰色的支架上。上方是一個個箱子形狀、塗成公共設施那種黃顏色的控制面板。面向操作員的箱子側面有幾條標準刻度,還有幾排四分之一英寸的燈閃爍不定,另外還有一些鋼製撥動開關,大小要比米粒大一些。最妙的是,還有一臺圓形、呈菸灰色的陰極射線管顯示器。

tmrc的人一下子被震住了——這臺機器不使用資料卡片。使用者首先要用那臺flexowriter電傳打字機(旁邊的屋子裡還有幾臺同樣型號的電傳打字機)將程式「打」到一根很長很細的紙帶上,然後用讀取器將紙帶上的程式讀入計算機,接著就可以坐在那裡等著程式執行完。如果程式出了問題,你馬上就會知道,並且可以利用某些開關或通過檢查哪些燈正在閃爍來找到錯誤。這臺計算機甚至還有一個音訊輸出裝置:程式執行的時候,控制台下方的揚聲器就好像一個未經調諧的電風琴,用帶有雜音的音符播放一段樂曲。這件「樂器」上的和絃隨著每一微秒讀取的資料而變化:在熟悉了這段曲調之後,你甚至可以聽出你的程式已經執行到哪一步了。即使flexowriter打字機那噼噼啪啪的噪聲再嘈雜(這些聲音可能會讓你覺得自己正置身於一場機槍激烈交火的戰鬥中),你也一定要辨別出那些聲音。

更加令人驚喜的是,由於計算機提供了「互動式」的功能,並且使用者似乎可以有一段時間自己操作這臺tx-0,因此你甚至可以在計算機旁邊修改程式。這太不可思議了!

世上絕對沒有任何方法可以讓考托克、桑德斯、薩姆森和其他駭客遠離這臺計算機。幸運的是,tx-0計算機旁邊似乎沒有像ibm704計算機周圍瀰漫的那種官僚作風。沒有多管閒事的牧師。負責tx-0的技術員是一位精明、滿頭白髮的蘇格蘭人,名叫約翰·麥肯錫。雖然他的職責是確保研究生和那些參與政府或企業資助專案的人能夠正常上機,但他也默許tmrc那些開始在電器研究實驗室轉悠的人使用這裡的tx-0。

薩姆森、考托克和一名叫鮑勃·華格納的大一學生很快就發現,一天當中到26號樓來的最佳時間就是晚上,因為任何正常的人都不會按每週五貼在rle實驗室空調旁邊的上機預約單所寫的那樣在這個時候跑來上機一個小時。針對tx-0計算機有一條規定,那就是要24小時開機——當年,如果計算機整晚閒置,就屬於極大的浪費。此外,一旦關機,重新啟動計算機的過程非常麻煩。於是tmrc的駭客(不久之後,他們就自稱為tx-0駭客了)就改變了自己的生活方式來適應這臺計算機。他們儘可能地佔用所有大段上機時間,但同時也不放過「零星的時間」——他們在夜裡也常常抱著一線希望到實驗室來看看,希望某個預定了凌晨3點時間段上機的人還沒來……

「哦!」假如到了上機時刻表上安排給某人的時間,但他還沒有來,再過一兩分鐘後,薩姆森就會高興地說:「這點時間絕不能浪費!」

這種時間好像從未浪費過,因為駭客們幾乎無時無刻不在那裡等待這樣的機會。假如他們沒有在rle實驗室等著天上掉餡餅,那麼他們就會在tmrc隔壁的教室裡(也就是toolroom)玩薩姆森發明的有點類似於hangman猜字的遊戲,該遊戲名為comenextdoor。他們一邊玩兒一邊等待著在tx-0旁邊的眼線來報告,看是否有人該來上機但卻沒來。駭客們建立了一個情報網,讓這些眼線提前告訴他們哪段時間計算機可能會空閒。假如某個研究專案沒有及時準備好程式,或者某位教授病了,那麼這份情報就會被送到tmrc,而駭客們便可以坐到tx-0前,屏住呼吸,準備一頭扎進控制台後面的世界裡。

雖然傑克·丹尼斯原則上負責實驗室的運轉,但當時他還有教學任務,並且願意將業餘時間拿來編寫tx-0執行的程式。丹尼斯扮演著駭客們慈祥的教父這樣一個角色:他會親自向他們簡單地介紹一下這臺計算機,指點他們朝著某個方向努力。每當看到駭客們異想天開的程式程式碼,他總是忍俊不禁。丹尼斯對管理工作一點也不感興趣,因此他很高興地把管理大權交給約翰·麥肯錫。麥肯錫早就看出,tx-0提供的互動式功能可以產生一種全新的程式設計方式,而駭客們正是摸著石頭過河的那批先驅。因此他並沒有制定太多的規矩去規範上機行為。

1959年寬鬆的氛圍對那些迷途的人來說是非常寬容的。像彼得·薩姆森這樣的科學迷,他們總是對一切東西都感到好奇,他們會探索mit每間實驗室中的未知迷宮。空調的噪聲、聲音輸出裝置以及flexowriter電傳打字機的聲音都會吸引這些探索者,就好像小貓探頭探腦地窺探籃子裡的線團一樣,他們也會伸長脖子朝實驗室內東張西望,想探個究竟。

彼得·多伊奇就是這樣的人之一,他不屬於這個實驗室。早在發現這裡有臺tx-0計算機前,多伊奇便已經對計算機深深地著迷了。最初,他隨手撿了一本不知誰扔掉的手冊,介紹的是一種專門用於計算的晦澀難懂的計算機語言。書中有關計算機指令的某些規律吸引了他:他後來說那種感覺就好像是藝術家發現了最最適合他的那種創作方法,那是一種自己也說不清楚的、超越一切的認知能力。這裡就是多伊奇的舞臺。多伊奇努力寫出了一小段程式,並用某個牧師的名字預定了上機時間,在計算機上執行自己的程式。僅僅幾周的時間,他的程式設計能力便已脫胎換骨了。那年他才僅僅12歲。

多伊奇性格內向,數學能力出眾但對其他事情沒有自信。他因缺乏運動而體重遠遠超過正常標準,但這並不妨礙他成為一名高智商的實幹家。他的父親就是mit的一名教授,多伊奇正是利用這一點優勢得以隨意出入各個實驗室。

他能對tx-0感興趣確實讓人覺得不可思議。他頭一次踱進這間小小的"klugeroom"("kluge"是一件造得不怎麼好看的裝置,但是運轉起來卻沒有問題,這讓人覺得有些不合邏輯),這裡有三臺沒有和計算機相連的flexowriter電傳打字機,可以用這幾臺打字機將程式「打」到紙帶上以便隨後輸入到tx-0計算機中。多伊奇在旁邊看了一會兒別人怎樣將程式「打」到紙帶上,然後連珠炮似地向這個可憐的傢伙提了一連串的問題,都是關於隔壁房間看起來怪怪的那臺小型計算機的。然後,多伊奇徑直走向那臺tx-0計算機並仔細地端詳起來,還將它與其他計算機的不同之處記錄了下來:這臺計算機體積更小,它有一臺crt顯示器以及其他精緻的裝置。於是他當即決定要做進一步的行動,就好像他理所當然應該這麼做似的。多伊奇拿了一本手冊,並且沒有多久,他談起計算機來便頭頭是道,讓別人不得不刮目相看。最後,他終於獲批可以在晚上和週末到此上機,編寫他自己的程式了。

麥肯錫擔心可能有些人會有不滿情緒,抱怨他在舉辦某種夏令營活動:這個穿短褲的小孩,即使伸著脖子也還沒有tx-0的終端機高呢,但他會盯著「官方授權使用者」(也可能是一名高傲的研究生)用flexowriter輸入的程式碼,用自己尖聲尖氣、尚未發育到青春期的嗓音說著什麼,如:「你把這裡的貸方資料搞錯了……你應該在那裡用另外一條指令。」接著那位自以為是的研究生便會勃然大怒——這小孩是誰?然後朝著他厲聲呵斥,讓他出去到一邊玩兒去。可每次彼得·多伊奇的忠告最後都證明是正確的。多伊奇也會不知天高地厚地宣稱自己要著手寫一個比當前正在使用的程式更好的程式,然後他還真的就去做了。

薩姆森、考托克和其他的駭客因彼得·多伊奇出眾的計算機才能而最終接納了他,他值得這些人平等相待。但多伊奇在「官方授權使用者」中卻不那麼受歡迎,尤其是當他坐在那些人後面隨時準備指出他們在flexowriter上犯的每一處錯誤時,更是如此。

「官方授權使用者」通常都乘坐班車來此地上機。他們執行的程式是有關統計分析、交叉關聯和細胞核內部構造模擬等課題的。這些都屬於應用的範疇,對那些使用者來說不是問題,但對駭客來說,絞盡腦汁考慮這樣的問題毫無意義。駭客考慮的是轉到tx-0控制台後面看個究竟,就像繞到飛機的節流閥後面看看其工作原理一樣。或者,用喜愛古典音樂的彼得·薩姆森的話來說,用tx-0進行計算和彈奏一件樂器一樣:你要用一件昂貴得離譜的樂器即興創作、編排並(像1英里外哈佛廣場上那些「垮掉的一代」那樣)肆意地演奏。

傑克·丹尼斯和另外一位名叫湯姆·斯托克曼的教授共同設計的程式設計系統令駭客們得以充分發揮自己的能力。當這臺tx-0被送到mit的時候,它已非完璧,因為它在林肯實驗室它就經過改裝了:其記憶體銳減至4096個「字」,每個「字」有18位(一個"bit"就是二進位制數字的一位,要麼為0,要麼為1。這些二進位制數是計算機唯一能識別的內容。一串這樣的二進位制數便構成了一個「字」)。此外,這臺tx-0幾乎沒有配備任何軟體。因此,傑克·丹尼斯甚至早在他將這臺tx-0介紹給tmrc成員之前就一直在編寫「系統程式」,即幫助使用者使用計算機的軟體。

丹尼斯首先要編寫的是彙程式設計式。這種軟體是用來將組合語言翻譯成機器語言(由二進位制數0和1組成)的工具軟體,其中組合語言用三個字母的縮寫符號代表傳送給機器的每條指令。tx-0計算機的組合語言十分有限:由於在設計之初,每個18位的「字」只能使用其中兩位表示指令,因此每個字最多隻有4條指令可用(兩位所有可能的變化為00、01、10和11,每種變化代表一條指令)。計算機所做的任何事都可以分解成執行這4條指令中的某一條:使用一條指令就能將兩個數相加,但是要將兩個數相乘,就需要一長串指令(也許是20條)才能完成。盯著用二進位制數(如10011001100001)編寫的長長的計算機命令清單,不用幾分鐘,你準會暈頭轉向。但是,用匯編語言編寫同樣的命令可能會是這種形式:addy。向計算機載入丹尼斯編寫的彙程式設計式後,就可以用這種較為簡單的符號形式編寫軟體,然後可以很有成就感地等著由彙程式設計式幫你將程式翻譯成二進位制程式碼。接著,你要將那二進位制的「目標」程式碼送回計算機執行。組合語言可謂無價之寶,它只是讓程式設計師用看起來好像是程式碼的符號編寫程式,而不是用無窮無盡、令人眼花繚亂的數字1和0去寫。

丹尼斯和斯托克曼共同編寫的另一個程式是個比較新的工具——偵錯程式。tx-0本身自帶一個名為ut-3的除錯程式,利用這個程式,使用者可以直接將命令通過flexowriter電傳打字機輸入到計算機中,進而賦予了這名使用者在計算機執行過程中與其互動的能力。但是,ut-3存在不少非常嚴重的問題,例如,它只能「讀懂」使用八進位制輸入的程式碼。所謂「八進位制」就是基於8個數字的系統(與此形成對照的是基於2個數字的二進位制系統,還有我們日常使用的基於10個數字的十進位制系統),這個系統使用起來相當複雜。因此丹尼斯和斯托克曼決心寫一個比ut-3更好用的偵錯程式。有了這種偵錯程式,使用者就可以使用符號,即較為易懂的組合語言編寫程式了。他們兩人編寫的程式名為"flit",它可以幫助使用者在程式執行期間發現和修改錯誤,保證程式能夠執行下去。(丹尼斯解釋說:"flit"代表flexowriterinterrogationtape,但很明顯,這個名字起源於一種同名的殺蟲劑。)和ut-3相比,flit是一次飛躍,因為它解開了束縛程式設計師的枷鎖,就像音樂家能夠用他們的樂器進行創作一樣,程式設計師可以在計算機上進行最原始的創作了。儘管flit需要佔用tx-0總共4096個「字」記憶體的1/3,但有了這種偵錯程式,駭客便可以隨心所欲地創造出新的、更為大膽的程式設計風格。

那麼,那些駭客自己的程式又做了些什麼呢?有時,它們做什麼真的一點也不重要。彼得·薩姆森整晚都在編寫一個即時將阿拉伯數字轉換成羅馬數字的程式。傑克·丹尼斯在看了薩姆森的「壯舉」之後,對他的程式設計技巧表示由衷的欽佩,說:「上帝,為什麼會有人想做這樣一件事?」不過丹尼斯知道為什麼。薩姆森在將紙帶輸送到計算機中,然後觀察著閃爍的燈光和開關,接著看到一度在黑板上平淡無奇的、古老的阿拉伯數字變回羅馬人發明的那種數字的時候,那種渾身充滿力量的感覺和巨大的成就感便是這一切的原動力。

其實,正是傑克·丹尼斯向薩姆森建議,利用tx-0計算機向揚聲器傳送聲音的能力將會有超乎想象的廣泛用途。雖然沒有內建用於定調、控制振幅或調節音質等的控制器,但卻有辦法指揮揚聲器——在任意一毫秒內,是否發聲取決於tx-0累加器中每個18位「字」的第14位的狀態。聲音的開與關取決於第14位是1還是0。因此,薩姆森著手開始編寫讓每個「字」第14位的二進位制數以不同的方式變化的程式,以此產生不同的聲調。

當年,美國只有很少幾個人一直在進行用計算機演奏各種型別樂曲的實驗,他們所採用的方法哪怕讓計算機演奏出一個音符都需要極大的計算量。很多人警告薩姆森,認為他在這方面的努力無異於逆水行舟。但薩姆森對此類言論表現得非常不耐煩,他想要計算機立刻就能演奏出樂曲來。於是他學習控制那個累加器中第14位數字的方法,想要像查理·帕克操縱薩克斯管那樣讓計算機也對他俯首帖耳。在這款音樂編輯器的後期版本中,他給這個程式增加了新的功能:如果你在程式設計中犯了一個語法錯誤,flexowriter就會使用紅色的墨帶列印出"toerrishumantoforgivepine."(人非聖賢,孰能無過?)

當駭客圈以外的人聽到約翰·塞巴斯蒂安·巴赫那悅耳的旋律竟然以單聲部、單音訊的方波形式播放,且毫無和諧可言的時候,幾乎都無動於衷。這是平地的一聲驚雷!這可是臺價值300萬美元的大型計算機,為什麼它不能完成一個價值5美元的玩具鋼琴也能完成的小事兒呢?彼得·薩姆森幾乎是另闢蹊徑,顛覆了有史以來音樂製作的基本流程,跟那些局外人講這些無異於對牛彈琴。音樂一直是通過直接製造振動(即聲音)得到的。而薩姆森的程式只不過是將一大堆數字(或者說是無數輸入到計算機裡的位資訊)組合成一段程式碼,音樂便蘊涵在這段程式碼之中。你就算盯著這段程式碼幾個小時也不可能琢磨出音樂到底藏在哪兒。tx-0計算機由大量金屬、電線和矽片組成,在這些元件中藏著個累加器,只有在累加器中進行數百萬次令人眼花繚亂的快速資料交換以後,這段音樂才能播放出來。這臺計算機本身並不十分清楚怎樣使用聲音,現在薩姆森要求它用歌聲提升自己的價值,這臺tx-0乖乖地照辦了。

因此,計算機程式不僅僅被比作音樂作品,嚴格來說,它本身就是一部音樂作品。這樣的計算機程式看起來好像和能夠得到複雜的數學計算結果和進行資料分析的程式沒什麼兩樣,並且事實上兩者確實沒什麼兩樣。薩姆森塞進計算機裡的那些數字是可以製造出任何東西(不管是巴赫的賦格曲還是防空系統)的通用語言。

薩姆森並沒有對外界透露他的所作所為,而那些外人對他的成就也絲毫不感興趣。連駭客們自己也不談論這件事——我們甚至還不清楚他們是否在如此廣泛的意義上審視過這一成就。彼得·薩姆森做成了這件事,他的同事也對他的成就表示欽佩,因為這段程式編得非常精妙,僅憑這一個理由就足夠了。

鮑勃·桑德斯,禿頂、大腹便便,是tx-0的忠實信徒、tmrcs&p小組的負責人,也是一名樂於鑽研系統的學生。對於像他這樣的駭客來說,這就是一種「完美的生活」。桑德斯在芝加哥郊區長大,自打記事起,電學原理和電話電路便一直吸引著他。進入mit之前,桑德斯找到了一份理想的暑期工作——為電話公司安裝辦公室電話總機。一連8個小時,他興致勃勃地拿著烙鐵和鉗子在各種系統內忙碌著。雖然午飯時間暫時中止了他的田園詩般的工作,但他還是會抓緊這段時間埋頭研究電話公司的手冊。正是鐵路模型下方的電話公司裝置讓桑德斯下定決心要在俱樂部中發揮自己的作用。

雖然是高年級學生,但桑德斯在自己的大學生涯裡接觸到tx-0計算機的時間比考托克和薩姆森都要晚:因為他抓緊每分每秒建立自己的社交關係網,包括向瑪吉·弗倫奇求婚並最終走向婚姻的殿堂。瑪吉·弗倫奇當時已經為一個研究專案做了部分和計算機有關的工作了(但她的工作還夠不上稱為"hack")。儘管社交佔用了桑德斯很多時間,但tx-0還是他大學生活的中心。他和普通的駭客一樣,也因多次曠課而成績越來越差。可他並沒有對此過於在意,因為他十分清楚自己已經從26號樓240房間tixo控制台的後面得到了真正的教育。多年以後,他將自己和其他駭客定位為「一群精英」。「其他人逃課,整天待在四層高的樓房裡做些沒任何用處的東西:要麼到物理實驗室將小球扔向另一個物體,要麼隨便做些什麼。我們只不過不關心別人正在做什麼,因為我們對他們的所作所為不感興趣。他們研究他們的,我們研究我們的。雖然大家研究的東西很大一部分並不是我們的正式課程,但總的來說我們覺得這一點都不重要。」

駭客們通常晝伏夜出,這是唯一一個充分利用重要的tx-0「業餘時間」的方法。白天,桑德斯常常設法在一兩節課上露一下臉,然後做些「基本的維護」工作,比如吃飯和上廁所,也許還要到瑪吉那裡膩上一陣子,不過最後他總是能回到26號樓。在這裡,他會重新瀏覽一遍前晚編的程式,用9.5英寸寬的flexowriter專用列印紙列印出來,然後在程式清單上圈圈點點,將程式碼按照他自己的理解升級到下一個操作階段。時候差不多了,他也許還要到tmrc泡一會兒,拿自己的程式和別人的交換,大家相互看看別人有什麼新點子或程式錯誤。接下來,桑德斯就又回到26號樓tx-0隔壁的klugeroom,找一臺空閒的flexowriter來修改自己的程式程式碼。就算自己忙著,他也不會忘了隨時去看看是不是有人取消了1小時的上機時間。他自己的上機時間一般都在凌晨2點或3點。他會在klugeroom一直等著,或者回俱樂部打上幾圈橋牌,直到有機會上機為止。

坐在控制台面前,你的對面就是裝有計算機電晶體的金屬架子,上面每一隻電晶體表示記憶體中某個數位為1還是0。桑德斯開啟flexowriter電傳打字機,打字機會首先打出歡迎語——"walrus",那是薩姆森為了向劉易斯·卡洛爾的一句詩「時間到了,海象(walrus)說……」致敬。看著這條歡迎語,桑德斯會一邊笑著一邊拉開抽屜,拿出儲存著彙程式設計式的紙帶並送到紙帶讀取器中。現在,計算機已經準備要開始處理他的程式了,於是他把用flexowriter列印出來的紙帶輸入到計算機中。當計算機把他的程式從「原始碼」(使用匯編語言)轉換成「目標」程式碼(二進位制程式碼)的時候(即在另一條紙帶上擊打出二進位制程式碼),他總是盯著那些不停閃爍的燈光。由於這根紙帶上是用tx-0能夠理解的語言目的碼書寫的,因此可以將其直接送入計算機中,期待著程式的執行結果完美無缺。

這時候,很可能有幾個駭客在旁邊七嘴八舌,他們手裡拿著從樓下自動售貨機裡買來的可口可樂和垃圾食品,一邊笑一邊開著玩笑。桑德斯喜歡檸檬口味的果凍蛋糕(其他人把這種蛋糕稱作「檸檬糊糊」)。不過在凌晨4點的時候,任何食品都是美味珍饈。當程式開始執行,指示燈一閃一閃地發光,揚聲器按照累加暫存器第14位的內容傳出或高或低的嗡嗡聲的時候,所有人都目不轉睛地看著這一切。程式彙編完並執行後,桑德斯通過crt顯示器首先看到的就是程式崩潰的資訊。於是他伸手拉開抽屜,找到儲存著flit偵錯程式的紙帶,將它送入計算機。接著這臺計算機就變成了一臺具有除錯功能的機器,然後他再次輸入自己的程式。現在,他可以試著檢視哪裡出了問題。假如幸運的話,他找出了問題所在,就可以輸入幾條命令,或按照正確的順序撥動控制台上的開關,或者用flexowriter輸入一些程式碼來修改自己的程式。一旦程式執行順利(假如某種修改方案生效的話,假如他將整間屋子的電晶體、電線、金屬和電流通通組合在一起,讓它們按照他的設計方案精確地輸出執行結果,那麼效果總是令人非常滿意),他還會嘗試讓自己的程式能夠更完美一些。在他的上機時間結束後(總是會有人躍躍欲試地等著輪到自己上機),桑德斯會利用接下來的幾個小時分析程式失敗的原因。

在每天上機的高峰時段,駭客們總是非常緊張地工作,但這之前和之後的數小時內,他們也可以進入一種精神高度集中的狀態。如果為計算機編寫程式,你就必須十分清楚數千個表示資訊的位會如何隨著指令的變化而變化,並能預測它們的變化效果,甚至學會挖掘、利用其潛在的變化。

當你將所有這些資訊印在大腦中以後,就好像將自己的意念和周圍的環境(或計算機)完全融合在了一起。有時,你需要好幾個小時才能在自己的大腦中把所有指令連成一個整體。一旦到了這個時候,你會非常捨不得結束這種來之不易的狀態,你會繼續在計算機上工作,或者到隔壁找臺空閒的flexowriter打字機把程式列印出來再細細地琢磨。你甚至會把這種精神高度集中的狀態延續到第二天。

然而不可避免的是,這種「天人合一」情緒已經影響到駭客計算工作以外的方方面面了。由於部分痴迷tixo計算機的人加入了tmrc,「刻刀和畫筆」小組sup/sup的人對此十分不滿:他們將那些tx-0駭客視為旨在破壞這個俱樂部的特洛伊木馬,認為他們想把俱樂部的工作中心從鐵路轉向計算。如果參加每週二下午5點15分召開的俱樂部會議,你就能看到這種擔心:駭客們總是抓住每一個可能的議題把會議搞得像他們在tx-0上編寫的程式一樣複雜。他們所提出的動議只是為了提出別的動議,而別的動議又再提出另外的動議。他們反對被裁定為違反會議規則,好像它們是大量的計算機錯誤一樣。1959年11月24日那次會議的會議紀要中便記著這麼一條:「我們不贊成某些成員促進俱樂部發展的做法,他們過於強調技術研究而疏於閱讀《羅伯特議事規則》sup/sup。」薩姆森便是違反規則最嚴重的成員之一,有時,甚至有一位怒氣衝衝的俱樂部成員提出一項動議,要「買個塞子堵住薩姆森喋喋不休、大放厥詞的嘴」。

把會議議程搞亂不過是一個示例,程式設計所需的邏輯思維方式也影響到了普通活動。你可以向駭客提問並能夠感受到他腦中的累加器正在處理每一個數位,最終他會用最為精準的答案回答你的問題。瑪吉(此時,她已經是桑德斯的妻子了)每週六上午都會開著自己的大眾車到西夫韋超市去採購,當她回來的時候會問自己的丈夫:「你願意幫我把車上的東西搬進來嗎?」鮑勃·桑德斯回答道:「不能。」前幾次瑪吉覺得十分驚訝,不過還是自己將採購的東西搬進屋子。不過同樣的事情發生幾次後,她終於忍不住發怒了,氣呼呼地衝他大發脾氣,質問他為什麼對她的要求說「不」。

「你問的其實是個愚蠢的問題,」他回答說,「我當然不願意幫你把採購的東西搬進來啦。但如果你把‘願意’兩字去掉,問我是否幫你把這些東西搬進來,那就是另一回事了。」

瑪吉就好像把一段程式輸入到了tx-0中,結果這段程式崩潰了(如果語法錯誤,程式總是如此)。只有當她「除錯」了自己的問題以後,鮑勃·桑德斯才會讓這段「程式」在他自己大腦裡的「計算機」中順利執行。

專指汽車、火車模型的比例,1英尺比1/8英寸。

魯賓·戈德堡(rubegoldberg),美國著名漫畫家。

沃納·馮·布勞恩(wernhervonbraun),20世紀液體燃料火箭技術和宇航工程的開創者和奠基人。

卡爾·桑德堡(carlsandburg),1878-1967,美國作家、詩人。他一生曾三次獲得普利策獎,其中兩次是因詩歌獲獎。

指專門製作火車模型並上色的那部分成員。

該書由亨利·馬丁·羅伯特編寫,主要講有關開會的各項規則,包括會議主席的規則、會議秘書的規則,也有針對不同意見的提出和表達的規則,還有辯論的規則和表決的規則等。至今已經修訂過多次。