瘋子程序員編寫了一個操作系統,來與他的上帝溝通

特里從混沌中醒來,留下了一座古怪的遺產,又回到了混沌之中。

2013年,特里·A·戴維斯發佈了他自己編寫的操作系統「神廟OS」(Temple OS)的最終版本。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

 「神廟OS」看起來像是一個玩笑。一啟動,主界面就是一張劍與天平的畫,下面寫着:「神聖智慧,公共領域,64位,狀態完美的操作系統。」

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

這個「狀態完美」的系統,界面無比簡陋:後台代碼和記憶體地址的片段赤裸裸地塞在屏幕的邊邊角角,程序的圖標看起來像是小朋友在畫圖軟件上鼠標勾出的簡筆畫。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

特里在系統里留下了很多註釋和旁白,但是大部分都語無倫次,就像是午夜醉漢的呢喃一般,很多時候,看了註釋,反而讓人更迷惑了。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

1

去年有款蒸汽波風的遊戲叫《催眠空間浪子》,主界面惡搞了90年代的操作系統和互聯網。就是這麼一款純粹為了娛樂和惡搞創作的假「操作系統」,看起來也比「神廟OS」像樣得多。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

然而「神廟OS」卻並不只是一個玩笑,也不是一個偽裝成操作系統的遊戲。這是一款真正的,完整的,獨立的操作系統。它有一套自己內核,還有簡單的驅動,可以支持一些非常基礎的硬件,比如老式IDE硬盤、光驅和PS2接口的鍵盤鼠標。如果有合適的硬件,就可以直接安裝並運行這個操作系統。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通特里演示如何使用操作系統

 「神廟OS」還預裝了不少軟件,從文本編輯器,到繪圖軟件,再到程序編譯器。甚至操作系統本身的外殼(shell)還自帶計算器功能,隨便找個地方輸入算式,系統就會自動返回結果。

「神廟OS」里有各種各樣的遊戲:從模擬飛行、象棋,再到模擬經營和賽車,幾乎你能想到的遊戲類型,都能夠在這個系統里找到。有好幾款都是3D渲染出來的,畫面表現還挺像回事。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

對於許多程序員來說,編寫一個操作系統,或者發明一套編程語言,兩件事完成一件,就是了不起的成就。當然,在今天,網上有許多現成的代碼資源可以借用,做到這兩件事情沒有當年那麼困難了,但是依然需要花費大量的時間和精力。

「神廟OS」的作者特里不但做到了這兩件事情,而且是以最艱難、最原始的方式。他先是基於C語言,自己發明了一套新的編程語言和語法邏輯,然後用這套語言,從頭開始編寫了一個64位開源操作系統,然後還寫了各種各樣的程序和遊戲。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

令人震撼的是,在開發「神廟OS」期間,直到2018年去世,特里一直飽受精神分裂症的折磨。這也是為什麼「神廟OS」里面充斥着各種凌亂的設計和令人費解的囈語。

這導致特里的編程思路也和一般程序員完全不同。在很長一段時間里,沒有人能弄懂特里在做什麼。特里曾經在論壇上和別人討論過自己遇到的各種困難,卻遭到別的程序員的嘲笑,說他的系統根本不可能跑起來。特里無法直接照抄現成的代碼,也無法和任何人討論自己遇到的問題,最終只能自己獨自去尋找答案。獨自編程的難度,現代程序員已經很難體會了。

特里從2003年開始開發「神廟OS」,2005年第一個版本「耶穌OS」上線,再到2013年最後一個版本發佈,特里在這個系統上,花費了整整十年時間。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

2

在這十年里,一個「瘋子」,完成了許多頭腦清醒的程序員想都不敢想的壯舉。

從小,特里就有很高的編程天賦,自己編寫過許多軟件和遊戲。在他還是個中學生的時候,他曾經應家人的要求,寫了一個體感聯動遊戲,用動感單車操縱遊戲里的角色,猛踩踏板就能躲避鬼魂的追擊。他還發明了一個自動鋸木機,可以按照程序設置把木板切成各種形狀。但是特里不太滿意機器的效果,最後把整台機器都扔掉了。

1992年,特里在亞利桑那州立大學取得了計算機工程學士學位,並在兩年後拿到了電子工程碩士學位。之後他在票務巨頭Ticketmaster任職程序員。按照這個道路下去,他原本將會成為高收入中產階級的一員,結婚生子,度過平淡而又幸福的一生。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

然而一切在1996戛然而止。這一年,特里被診斷出雙相障礙,隨後又發展成了精神分裂症,並且產生了各種妄想症狀。特里覺得外星人在冥冥中統治了地球,而CIA是他們的幫凶。而他自己由於窺探到了機密,陷入了無孔不入的監控中,只有上帝才能拯救自己和人類。隨後的幾年里,他一直在各個精神病院中輾轉。

「我那時挺瘋癲的,」特里後來回憶,「當然,我現在也很瘋癲,但是這不是同一種瘋癲。」

2003年,特里的狀況有所好轉,便開始了「神廟OS」的開發進程。特里說,這一切都是因為上帝的啟示:他將建造一座供奉上帝的神廟,就像舊約中所羅門的神廟一樣。而當2.0時代到來的時候,他也將像所羅門一樣加冕為王。不過特里並不覺得自己信仰上帝,他覺得自己是個無神論者,只是剛好和上帝有一些交流而已。

特里「按照上帝的指示」對C語言進行了改造,發明了屬於他自己的「神聖C語言」(Holy C,諧音Holy See,隱含教皇、聖座的意思),用來編寫「神廟OS」。

「神廟OS」就是特里為「上帝」所建造的神廟,而特里所說的 「上帝」,則在神廟里降下了代言人——一個用聖經全文作為種子的隨機數生成器(RNG)。

特里的「神廟OS」充滿了各種奇怪的設定。比如OS不支持外掛GPU,因為特里覺得圖形處理應該是透明的,公開的,不應該藏在GPU的黑盒里。而神廟OS只支持用光驅安裝,不支持USB,因為特里覺得USB是CIA發明的,目的是通過授權費偷偷向民眾收稅。

特里總是宣稱自己是「世界上最聰明的程序員」。如果有人不同意他的觀點,特里就會怒噴對方是「尼哥」,「娘炮」。這讓許多人覺得特里妄自尊大,難以理喻。

但特里的編程天分又着實讓人難以忽視。在一般的操作系統里面,文件會分成文本、圖片等等不同的類型。但是在「神廟OS」里,所有的文件都是同一種文件。文字、圖片、3D模型和超鏈接全部都可以混合放在一個文件里面,直接指向源代碼。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

通常,在Windows這樣的系統上運行的程序,要先用源代碼編譯一遍。而 「神廟OS」的程序文件直接以源代碼的形式存在。當程序要運行的時候,有一個即時(JIT)編譯器會直接把源代碼轉化成程序運行。

這些另闢蹊徑的做法,讓「神廟OS」非常便於開發和調試,也加快了系統的運行速度,整個系統非常輕量,只有幾十MB。12萬行代碼,沒有任何現代的版本控制,全靠一個人手動寫完,居然能夠順利跑起來,各種功能也大體運轉正常,既證明了特里的才華,也說明他的編程方式確實有不少可取之處。

著名程序員和科技記者理查德·米頓曾經仔細研究過「神廟OS」的開發環境,並感嘆:現在的程序員已經習慣把事情搞得太復雜,沒有人想過,一切還可以這麼簡單直接。

3

由於「神廟OS」太過特別,開發週期又很長,特里在程序員圈子里一直有點小名氣。他在網上很活躍,很喜歡發表自己的觀點和言論,當然也少不了「不太正確」的那些。有次,一家科技網站采訪了特里,但是文章發佈以後,因為特里總在下面和其他網友互噴,網站不得不把他的賬號禁掉了。

在社交網絡和直播興起之後,特里也開始直播他的「神廟OS」開發進程,向觀眾展示他編寫的操作系統里的各種功能。

「上帝喜歡大象,我也喜歡大象。所以我用插值向量創作了這個非常寫實的大象。如果你不想要只是寫實,你也可以做到比現實更好。你問『比現實更好是什麼意思?』,那你要看看我的這個藍眼睛的大象。」

他最得意的作品是一款叫《埃及之後》的模擬經營遊戲。他覺得這款遊戲真正體現了如何用「神廟OS」來和上帝進行交流。玩家扮演摩西,負責照顧一群信眾的生活,以給信眾餵食餵水,也可以到山上去祈求神諭。特里還展示了一下遊戲里的法庭系統。

「一個婦女犯下了罪——我選擇懲罰她。一個孩子犯下了罪——我選擇狠狠懲罰他。」

在「神廟OS」完工之後,特里很高興自己能夠完成十年前發下的宏願,但又似乎因為失去了人生目標而有點失落。他給自己加冕,叫自己「特里王」,並說,他已經搭建好了地基,只等待別人來分享這份喜悅。

「不要光顧着玩遊戲,你們應該在神廟OS上多寫些遊戲,然後分享給別人!」特里一有機會就呼籲別人多為「神廟OS」的生態做出貢獻。確實有不少閒得發慌的程序員研究了特里的「神聖C語言」,甚至編寫了一些簡單的程序,但是特里還是覺得,沒有人像他期望的那樣用「神廟OS」來和上帝交流——當然,特里自己也始終沒有說清楚,正常人應該怎麼和「神廟OS」里的隨機數上帝交流。

有那麼幾年,特里就一直呆在父母家里,上網直播,和網友互動。特里頗有一些「粉絲」,有些人是發自內心欣賞他的天才,被他和精神疾病斗爭的故事所打動。但是在社交媒體的時代,更多的粉絲並不在乎「神廟OS」背後的故事,他們只是拿特里當做消遣,慫恿他發表更多充滿了F打頭、B打頭和N打頭詞匯的言論。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

特里的父母一直希望他能夠按時服用治療精神病的藥物。但是特里覺得這樣會傷害到他的創造力,一直不願意接受治療。最終,特里的父母下了最後通牒:他要麼乖乖吃藥,就要被送去精神病院。

特里不想吃藥,也不想去精神病院。於是他選擇離家出走,開始了一段流浪生涯。在幾個月里,他先從中西部城市菲尼克斯,一路游盪到了加利福尼亞,北上到了波特蘭,最後又到了俄勒岡州的戴爾斯。

一路上,他依然不斷上傳視頻。一些粉絲依然和他保持着聯系,並且用各種方式接濟他。Terry接受了粉絲贈送的食物和生活用品,但是卻拒絕了粉絲們為他提供的住處。

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

這場漫長的游盪,讓Terry的精神狀態越來越差。他的鬍子越長越長,衣服也變得破破爛爛。他依然沉浸在自己當代所羅門王的幻境中,但旁人只覺得他邋里邋遢,神經兮兮,滿嘴瘋話。在Terry去世的前一天,他想要到圖書館去上會網,卻因為衣衫襤褸被趕了出來。

Terry大受打擊,上傳了他人生中最後一個視頻。

「這個城市很純潔,很乾淨,我這樣骯髒的人一定是把他們嚇壞了,才會把我趕走。我挺喜歡這個圖書館的,不過他們真的估計氣得夠嗆。」

瘋子程序員編寫了一個操作系統,來與他的上帝溝通

Terry咳嗽了一下,對着鏡頭擠出一個笑容。

「當國王的感覺真棒。但在別人眼里,也許我只是一個走來走去的怪人而已吧。」

第二天,特里在鐵道上游盪的時候被火車撞擊身亡。火車司機堅信他是臥軌自殺,但有目擊證人的證詞說,特里在被撞擊前一刻轉了身,似乎剛剛意識到火車正從他身後開來。

特里曾經試圖用各種比喻來幫助別人瞭解他的生活。精神分裂症讓他難以分清自己生活中的真實和虛幻。別人對他說的話,都仿佛摩爾斯密碼,他知道自己逐漸陷入瘋狂,對此卻無能為力。

「什麼才是真實?我不知道。我有的時候看見鳥在盯着我的電腦屏幕,我會想,『這只傻鳥,根本不知道它在看什麼』。但是傻鳥不會明白自己是一隻傻鳥,也不會為此驚慌失措。傻鳥也沒有什麼選擇,只能這樣活下去。雖然它不知道這個世界到底是怎麼運轉的,但它總能學會,哪些是危險的,哪些是安全的,然後就這樣活下去。我就是這麼活着的。」

沒人知道,假如特里沒有患上精神病,他會取得什麼樣的成就。也沒人知道,「神廟OS」巧妙地底層設計,究竟是歸功天才的特里更多一些,還是瘋癲的特里更多一些。特里從混沌中醒來,留下了一座古怪的遺產,又回到了混沌之中,讓活着的西西弗斯們,再也無法忘卻死去的所羅門王。

來源:遊研社