cat /dev/random meh

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

那时,理查德·格林布莱特还不是黑客。几年以后,作为黑客的鼻祖,当他的大名在遍及全美的各个计算机中心变得无人不知、无人不晓的时候,当他一心一意向自己的目标努力奋斗的故事被人广为传颂,一如他编写的数百万行汇编代码被人广为使用的时候,有人不禁纳闷:这一切究竟是怎么开始的?他坐在椅子上,转过身来,现在的他看上去已不再像当年读大学本科时那样邋遢,一张胖乎乎的娃娃脸,头发乌黑,不善言辞。关于这个问题,他将其归结为“黑客到底是天生的还是后天修炼的”,然后便给出了他那老调重弹、被人戏称为“布莱特主义”的论断:“假如黑客是天生的,那么他们还要经过后天的磨炼;假如他们通过修炼而得道,那么他们便是天生的黑客。”

格林布莱特承认自己是一名天生的黑客。

这倒不是说从他第一次接触PDP-1计算机后便改变了他人生的轨迹。是的,他就是对计算机有股痴迷劲儿。那个礼拜恰巧是MIT本科新生开学前的最后一周,理查德·格林布莱特在投入学业之前还有一段空闲时间,这段时间发生的事情注定会造就他在计算机领域的辉煌成就。他到一个最吸引他的地方去了一趟:学校的广播电台WTBS(MIT的校园广播电台也许是全美唯一一个聘用了大量的学生音响工程师但却没有几个唱片音乐节目主持人的大学广播电台),TMRC,以及26号楼的Kluge Room房间,其中安放着一台PDP-1计算机。

有几名黑客正在玩《太空大战》电子游戏。

玩这个游戏通常有个规矩,就是要把这间屋子的灯关掉,这样一来,围在控制台四周的人脸便会因屏幕上宇宙飞船和点点繁星的照射而发出奇怪的亮光。一张张全神贯注的脸被计算机的光芒照亮——这一幕深深地印在了格林布莱特的脑海中。他欣赏了一会儿游戏中的宇宙大碰撞后,就到隔壁房间观看那台TX-0计算机,它有一排排电子管和晶体管,与众不同的电源,还有数不清的信号灯和开关。他曾作为高中数学俱乐部的一员参观过位于密苏里州哥伦比亚市的州立大学的批处理计算机,他还见过当地一家保险公司有一台巨大的卡片分类机。但是这台计算机和它们都不一样。虽然对广播电台、TMRC特别是那台计算机念念不忘,但他还是开始努力在学业上争取好成绩。

然而,他这份立志做好学生的想法没有保持太长时间。和其他MIT的平庸学生相比,格林布莱特亲自动手尝试的愿望更加强烈。1954年,格林布莱特的父亲来看他,他父母早年离异,打那之后,他就没跟父亲生活在一起。父亲将格林布莱特带到密苏里大学学生会馆(Memorial Student Union)所在地,这里距离格林布莱特在哥伦比亚市的家不远。从这一天起,他的生活被不可逆转地改变了。格林布莱特立刻就喜欢上了这里。除了舒适的大厅、电视、饮料售卖台以外,他喜欢这里最主要的原因是这里的大学生们,时年仅仅9岁的格林布莱特更多地把他们当做了智力竞赛的对象,而不是同学。他经常到那里下国际象棋,并且通常都能轻而易举地击败那些大学生。他是个国际象棋高手。

他的手下败将中有一名因得益于GI法案GI法案(G.I.Bill)的正式名称是Servicemens Readjustment Act of
1944,也就是军人安置法案。该法案最先于二战末期起草生效,旨在给退伍美军军人提供免费的大学或者技校教育,以及一年的失业补助。而在密苏里大学学习工程的学生,名叫莱斯特。莱斯特给予这名9岁天才的馈赠便是手把手地带他进入了电子世界。在这个世界中,1就是1,2就是2,没有半点含糊。在这个世界中,一切都是由逻辑构成的。如果你通过努力学习获得了一个可以控制一切的学位,你就能按照你自己的想法制作任何东西。当时年仅9岁的小格林布莱特因超常的智力水平在同伴中往往感觉不自在,对于这个深受人类社会中司空见惯的父母离异的影响,但自己却又无能为力的孩子来说,电子学绝对是一个极好的“避风港湾”。

莱斯特和格林布莱特一起做业余无线电方面的项目,还会将旧电视机大卸八块。大学毕业前,莱斯特将格林布莱特介绍给了一个叫霍顿的人认识,这个人在当地开了一家无线电用品商店。后来,这家商店成了年轻的格林布莱特高中时的第二个家。格林布莱特和一位高中同学一道做了一系列项目。项目中用到了放大器、调制器、各式各样难看的真空管装置,还有示波器、蹩脚的无线电设备、电视照相机。对,电视照相机!看起来好像是个不错的思路,于是他们决心自己动手构建它。等到了要选择上哪所大学的时候,理查德·格林布莱特没有过多犹豫就选择了MIT。1962年秋季,他正式成为该校的一名大学生。

第一学期的课程非常严格,但格林布莱特完成得比较顺利。慢慢地,他开始有机会接触到大学里的计算机了。他幸运地选修了一门编号为EE 641的选修课——计算机编程入门,并经常到EAM的打孔机那里给IBM 7090计算机编写程序。另外,他的室友迈克·比勒则学习一门叫“列线图解法”(Nomography)的课程。所有上课的学生都有机会亲自上机使用IBM 1620计算机——这台机器又是放在一个被少数特权人士所独占的地方。格林布莱特经常陪着比勒去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层高的长方形大楼内——这座大楼位于Main Street大街,普通得让人感觉有些麻木:大楼表面没有任何突起,没有窗台的窗户看起来好像是直接喷绘在雪白的墙面上一样。这座大楼名为“科技广场”(Tech Square),MIT和入驻校园的企业客户将这里称为“Project MAC”。PDP-1计算机安放在大楼的9层,这层楼培育出了整整一代的计算机黑客,他们当中在这里消磨时间最多的就是格林布莱特。

有几个黑客(包括格林布莱特本人)在为这个系统工作,有的刚刚开始开发某个涉及人工智能方面的大型项目。他们几个以学生身份受聘的员工还有工资收入(低于最低工资标准)。从这时开始,大家逐渐注意到这个礼貌但略显拘谨的大二学生很可能是未来PDP-1计算机方面的超级巨星。

格林布莱特像变戏法似的编出了大量的代码,他有时会聚精会神地投入到钻研工作中,有时则拿着一大摞打印出来的代码坐在一旁,用笔在上面做着标注。他兼顾PDP-1计算机上的研究和TMRC内的任务,脑子里考虑的尽是程序代码的结构或者他参与设计的俱乐部模型的底层系统。为了能够长时间保持精神集中,他和几个同伴夜以继日地工作——他们每天按照30个小时来过。这种作息时间有利于从事高强度的研究工作,因为平白无故地多出了一段不睡觉的时间可以用来编程。一旦你真的照此方式生活,像睡觉这样不重要的事便不会再来打扰你的工作了。这个想法的目的是让他们的精力保持30个小时,直到精疲力竭,然后回家睡上12个小时。不过也可以在实验室打地铺。然而这个作息时间表有个小小的缺点,就是它会让你的作息时间与现实世界中其他人的正常作息时间不一致,进而影响很多事情,如约会、就餐和上课。但黑客自有办法。常常会有黑客这样询问:“格林布莱特现在处于什么时间?”刚刚见过他的另一个黑客可能这样回答:“我想他正在晚上,大概9点左右的样子。”可是教授们没法自如地调整到那些状态,因此格林布莱特只好旷课。

校方让其留校察看。格林布莱特的母亲于是亲自来到马萨诸塞和校方协商。她为此大费了一番唇舌。“他妈妈非常担心,”他的室友比勒后来说道,“她说她儿子到这里上大学是要拿学位的。但他整天在计算机上忙活的是一个高精尖的项目,此前从没有人涉猎过这个领域。他有另外一些事情要做,想让他对课堂上的知识产生兴趣真的很难。”对格林布莱特来说,他一点也不在乎自己即将因学习成绩太差而面临退学的危险。做他自己的研究才是最重要的:这些事他不仅做得很好,而且乐此不疲。

当他因为作息时间“黑白颠倒”而睡过了头,没有赶上参加一次期末考试以后,最糟糕的时刻终于降临了。与此同时,他也不能再待在MIT的这个学生团体内了。如果没有这样一条规定——当你从MIT退学,你也就没有资格继续作为学生员工待在这里,那么因成绩太差而退学对格林布莱特来说,他的生活完全不会有任何改变。因此,格林布莱特要去找一份工作,一心一意地要找一份白天编程的工作,这样他就能在晚上留在这个地方——科技广场大楼的9层,继续钻研他的系统。他确实这么做了。

……

还有一位同样出众的黑客,他也用与众不同的方式掌握了PDP-1计算机。他的口才比格林布莱特好,他能够更加有条理地讲清楚计算机是如何改变了他的生活以及可能怎样改变所有人的生活。这名学生就是比尔·高斯珀。他比格林布莱特早一年进入MIT,但迷上PDP-1计算机的时间却比格林布莱特晚。高斯珀身材消瘦,五官特征和鸟类相近,戴一副既厚且大的眼镜,褐色的头发又脏又乱。虽然其貌不扬,但是只要跟他有过短暂的接触,你一定会相信这个人的聪明才智绝对可以将事物之间的微妙关系(包括他自己的五官面貌)处理得井井有条。他是一个数学奇才。可以说,研究数学(而不是系统)的愿望使他对计算机产生了兴趣。格林布莱特和其他才华横溢的以研究各种系统为目标的学生们现在已经建立了一个全新的Project MAC项目,这些人就好像长机,而高斯珀则在很长的时间内扮演他们的僚机,两者相辅相成,翱翔长空。

高斯珀是新泽西州彭索金镇人,他的家与费城仅一河之隔。在来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计算机在一个半小时内解决了这个游戏中的难题。

高斯珀非常欣赏计算机解决Peg Solitarie游戏(HI-Q)7难题的方法,因为这种方法不是靠直觉来决定行动方案的。计算机程序使用的各种技巧看上去似乎不太合适,但却能够在该场合下利用深奥的数学原理来解决问题,这一点让他对计算机程序充满了深深的敬佩。这种和直觉背道而驰的解决方法源自于对无数数学关系之间神秘联系的理解,而这些数学关系正是程序编写的基础所在。找出那些数学关系就是高斯珀要做的,也可以说他要在计算机上以另一种方式进行数学研究。随着对PDP-1的接触越来越多以及参与TMRC的工作日益增多,他成了一名大家不可或缺的首席“数学黑客”——他虽然对系统程序没有太大的兴趣,但是他能够给大家提出一些思路极其清晰的(非直觉的!)算法,这些算法很可能会帮助系统黑客去除某个子例程中的几条多余指令,或者令大家顿开茅塞,走出思维的误区。

……

高斯珀和格林布莱特分别代表了TMRC的成员以及钻研PDP-1计算机的黑客中两种不同的研究类型:格林布莱特专注于具备实用价值的系统建设,高斯珀则侧重于数学方面的探索。这两类人都对对方的长处心悦诚服,他们会一起参与项目,密切协作,在各自擅长的领域内力争做到最好。不仅如此,这两类黑客共同对科技广场大楼第9层所孕育的、虽处于萌芽期但已经蓄势待发、准备怒放的黑客文化之花做出了重要贡献。在各种因素的共同作用下,就是在这间技术温室中,他们的文化慢慢变得枝繁叶茂,将黑客道德推向了一个前所未有的极致。

这些黑客的行动辗转于几个不同的地点之间。某些“夜猫子”黑客们仍旧会光顾Kluge Room房间里的那台PDP-1计算机(它现在已经用上了杰克·丹尼斯花了一年时间编写的分时操作系统),特别是到这里来打《太空大战》电子游戏。但是真正的黑客则越来越偏爱Project MAC那里的PDP-1计算机。这台计算机和其他机器一起放在科技广场大楼灯光刺眼、没有什么摆设的第9层大厅内。为了让这里各种各样的计算机能够正常工作,空调也不得不开足马力,发出“嗡嗡”的声音,吵得人只想躲到为数不多的几间小小的办公室里去。最后一个地点就是TMRC,这里有似乎永远也卖不光的自动可乐售卖机和桑德斯制造的换瓶机,隔壁就是堆满了各种东西的Tool Room。人们在这里一待就是一整夜,争论在外人听来有如天书一般晦涩难懂的各种观点。

这些争论是黑客圈中的家常便饭。有时他们会扯着嗓子相互叫喊,坚持自己的汇编程序的编码方案,或者某个具体类型的接口,或者某种计算机语言中的一个特别功能。黑客们在对这些不同观点的讨论过程中往往会用力捶打黑板甚至将粉笔摔向房间的另一头。这种争吵行为并不代表他们真的固执己见,他们只是想弄清楚什么才是“正确答案”(The Right Thing)。对于黑客,“正确答案”这一术语意味着对于任何问题来说(不管是编程过程中的两难选择、硬件接口不匹配,还是软件架构的问题),总是存在着一种解决方法,这就是“正确答案”了,也就是最天衣无缝的算法。当你的工作深入到某个关键之处的时候,此时人人都能看到两点之间已经可以用一条直线连接起来了,那么进一步找出更好方法的努力便显得画蛇添足。“正确答案,”高斯珀后来解释说,“指的是那种非常具体的、独一无二的、第一流的正确解决方案……它在同一时刻能够满足所有的约束条件。每一名黑客似乎都相信绝大多数问题都存在这么一种‘正确答案’。”

高斯珀和格林布莱特两人都比较固执,不过通常格林布莱特讨厌面对面、容易产生不快的争论,他会躲到一旁去做点什么,有时是有用的工作,有时则不是。在他看来,事情总要有人去做。假如其他人都不去做,那么他就去做。他会坐在桌旁,用铅笔和纸写点什么,或者坐在PDP-1的终端前,尖声尖气地把自己的代码念出来。格林布莱特的程序是健壮的,换句话说就是这些程序的基础非常坚固,里面的纠错部分可以使程序不会因一个错误导致系统崩溃。每当格林布莱特编完一段程序以后,他总是会对这段程序进行全面调试。高斯珀认为格林布莱特比他见过的任何一个人都更喜欢查错和改错,甚至怀疑格林布莱特有时会故意写几条错误代码以便今后可以修改。

高斯珀喜欢以公开的方式编程。他希望有观众在旁观看自己工作,通常这样的观众是一些初级黑客。他们会拉张椅子,坐在他后面,看着他在控制台上编写一段段完美的程序,这些程序都会带有一些数学兴趣点。高斯珀尽情地展示着他的工作内容,例如让大家看看一个不常见的算法会诱发CRT上出现一连串无法预测的耀眼亮斑。随着程序的运行,高斯珀像导游一样详细讲解,有时还会重点强调即使一个小小的输入错误也可能产生有趣的数字现象。计算机常常可能做出无法预测的反应,这种反应所产生的现象一直让他如痴如狂。他对机器的这种表达方式表现出无限的尊重。有时,看上去绝对是随机发生的事件可能让他的思绪突然转向,去思考一个离题万里的无理数二次方或超越函数的含义。还有的时候,高斯珀程序中某个子例程的巫术可能偶尔演变成一份学者气很浓的备忘录,其中一个备忘录的开头这样写道8:

有理论认为:可能由于连分数不可穷尽的特性,导致连分数无法被充分利用,我就此提出以下讨论,阐述关于连分数与其他数值表示法相比的优势所在。

在Tool Room内出现的各种争论绝非大学里气氛融洽的闲聊。考托克经常参加这些争论,正是在这些争论的过程中,他自己为DEC设计的计算机(即PDP-6型)方案中也有几个关键问题得以解决。这款PDP-6型计算机甚至早在设计阶段就被TMRC的人奉为绝对的“正确答案”。有一次考托克开车送高斯珀回南泽西度假。他一边开车,一边说起他设计的这款新型计算机会有16个独立的寄存器。(寄存器,或称累加器,就是计算机内实际进行计算的元件。16个寄存器会令计算机的用途扩展到前所未闻的程度。)高斯珀想,那将是世界历史上最伟大的计算机!

当DEC不出所料真的制造出了PDP-6计算机并将第一台原型机送到Project MAC的时候,每个人都看得出来,尽管这台计算机具备了商业用户需要的所有基本功能,但是从本质上说,它还是一台黑客的计算机。考托克本人和他的老板戈登·贝尔(Gordon Bell)都饱受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隔壁的Tool Room中,黑客们正忙着调试用不同的方法输出小数的程序,也就是让计算机输出阿拉伯数字的程序。有个人想出了个点子,要尝试一下PDP-6上几条全新的、用到堆栈的指令。此前没有任何人在他们自己的程序中用到过这些指令,可是,令所有人感到惊讶的是,这段通常要用一整页代码才能完成的功能,由于使用了一条名为“Push-J”的指令,只用短短的6条指令便实现了。此后,TMRC的人一致同意,那条“Push-J”指令绝对就是PDP-6引入的“正确答案”。

Tool Room内的讨论和激辩常常持续到晚饭以后,此时黑客们基本上都会选择吃中餐。因为中餐价格便宜、种类多样,不过最重要的是,中餐馆会一直营业到深夜。几乎每周六的晚上10点以后,一群黑客(有时乘坐格林布莱特的蓝色1954款Chevy敞篷汽车)都会奔向波士顿的唐人街(周一至周五的晚上有时也会去,不过这要视心情而定)。

中餐也是一个系统。黑客们对中餐的好奇一点也不亚于他们对新推出的LISP编译器的好奇。萨姆森自从第一次随TMRC一起外出到中央广场(Central Square)的Joy Fong餐馆吃中餐起,就成为一名不折不扣的中餐爱好者了。到20世纪60年代早期,他已经认识了很多汉字,甚至能够看懂菜单并点些让别人一头雾水的菜肴。高斯珀喜欢中餐的劲头有过之而无不及,他会在唐人街东张西望,为的是看看哪家中餐馆一直营业到深夜。有一天晚上,他在一处不起眼的地方发现了个由夫妻俩开的小中餐馆。那里的菜肴味道一般,但他注意到来此就餐的华人都在吃一种看上去很奇怪的菜。于是他决定以后一定要带萨姆森来这里尝尝。

下次他们来的时候随身带着中文字典,然后向服务员索要菜单。餐馆的厨师是一位王先生,他慢吞吞地递过菜单。高斯珀、萨姆森和其他人都把脑袋凑过来看,好像这是一份新型计算机的指令集。萨姆森充当起了翻译,他的解释可以起到提示的作用。在英文菜单上的“Beef with Tomato”番茄牛肉,这道菜按字面的意思是“野蛮的茄子牛肉”。。而“Wonton”云吞,这种食物的中文名字直译为“Cloud
Gulp”(云雾和吞咽)。。看来,在这个系统中还有不少让人难以置信的事物等待他们去探索!在确定了哪些菜最有意思并决定就点这几样以后(“芙蓉翅膀?要一个吧,尝尝这到底是个什么味道”),他们把王先生叫过来。王先生叽里呱啦地讲了一大堆,意思是以华人的观点来看,他们点的菜根本无法搭配成一顿饭。很明显,他不愿意给他们上中国菜,因为他觉得美国人不会喜欢这种味道。看来王先生把这些黑客当做胆小的普通美国人了——可这些人的胆子一点也不小,他们本身就是一群探险家!他们一直致力于刻苦钻研计算机的奥秘,目标就是要将这些秘密(用汇编语言)大白于天下。王先生不再坚持了,他为他们端上了这些黑客们有生以来从未品尝过的最美味的中国菜。

随着TMRC的黑客们鉴别中国菜味道的本领渐入佳境,他们后来选了另一家更好的中餐馆就餐。在一次愚人节的活动中,高斯珀想要点一道他们闻所未闻的菜“Bitter Melon”(苦瓜)。苦瓜的形状好像是长着肉瘤的绿色美洲胡椒,它有一股强烈的让大多数人反胃的奎宁味道,但只要熬过了这一关,你还是可以接受这种味道的。出于强烈的好奇心,高斯珀决定用些酸甜味道的酱和苦瓜一起吃。于是他用中文把他要的菜写了出来。看了他点的菜,餐馆老板的女儿禁不住咯咯地笑个不停。她说:“先生,恐怕您搞错了——我爸爸说如果这么做,这道菜就成‘糖醋苦瓜’了。”高斯珀把这件事当做另一个挑战。此外,这位店主的女儿竟然不认识中文——这完全违反了一个高效的“中餐系统”的逻辑。他为此心中感到极为不快。因此,尽管他知道自己点的菜有些不伦不类,但他依旧强词夺理,告诉这个姑娘:“是的,我知道它是‘糖醋苦瓜’,我们总是在愚人节这天点‘糖醋苦瓜’来吃。”最后,餐馆老板不得不亲自出来助战。“这么做你没法吃!”他冲高斯珀大喊,“什么味道也没有!”但黑客们也毫不退让,坚持要吃他们点的这道菜,于是店主只有撤回厨房,按他们的要求去做这道“糖醋苦瓜”。

“糖醋苦瓜”做出来了,果然如店主所说令人难以下咽。洒在上面的调味酱此时散发出浓烈、恶心的气味,如果你吃的时候不小心吸入了一点,肯定会呛得大咳不止。除了通常的苦瓜味道以外,调味酱还合成了另一种化学物质,让牙齿摩擦时发出吱吱的声音,无论喝多少茶或可乐都没法冲淡这种怪味。对任何其他人来说,这种感受绝对是一场噩梦。但对这些黑客来说,这不过是“中餐系统”的一部分,不值得大惊小怪。这种解释对普通人根本讲不通,但你却不能说它缺乏逻辑。这就是他们要找的“正确答案”。因此,每年的愚人节这天,他们都要回到这家餐馆,“强迫”店主做这道他们爱吃的“糖醋苦瓜”。

这些吃吃喝喝的过程也恰恰是黑客之间交流最为活跃的时候。中餐馆不仅给黑客提供了一个理想的“烹调系统”,而且他们周围的环境也任由自己控制。高斯珀是几个自己不吸烟,也鄙视任何吸烟者的黑客之一。他为了让自己更舒适一些,随身带了一个用电池驱动的小风扇。这个风扇其实是个常来AI实验室转悠的少年黑客胡乱拼凑出来的,它看上去好像是一枚难看的微型炸弹,是用一个从废弃的计算机上拆卸下来的降温用风扇做成的。高斯珀会把风扇放到桌子上,将烟雾轻柔地回吹给向他喷云吐雾的那些脸。有一次,在剑桥的幸运花园(Lucky Garden)聚餐时,黑客们邻桌坐着一个不拘小节的运动员和他的抽着香烟的女朋友。当这台小风扇将烟雾吹回他们桌子的时候,那个运动员勃然大怒。他盯着这群MIT典型的、肮脏邋遢的大学生(还有他们的风扇),要求他们把电扇关掉。“没问题,只要她不吸烟就行。”这群黑客回答。就在这时,这个粗鲁的家伙直冲到他们的桌子旁,敲得盘子乱跳,连杯子里的茶水都溅了出来,他还将筷子直接插到风扇的扇叶之间。这些黑客正在思考怎样解决一个较低级的人机界面问题,在看到这一幕后,都惊讶得说不出话来。不过,当那个运动员注意到餐馆对面坐着一个警察的时候,气焰旋即平息了。

黑客们的每次聚餐通常都是非常愉快的,这次是个例外。聚餐时的话题总是围绕着各种技术问题展开。通常,他们都会把问题打印出来带在身上,每当讨论的间隙,大家的脑袋就会一起凑到成堆印有汇编代码的打印纸旁分析、研究。有时,黑客们也会讨论“现实世界”中的某些事,但他们对“黑客道德”的追求也仅仅限于说说而已,因为如果继续深入讨论就会发现这个理论体系还是有些瑕疵的。否则,在对事物运转方式天生具有好奇心这一本质特征的驱使下,任何有趣的事件他们都要弄个清清楚楚才会罢休。

他们经常谈起的话题就是IBM公司在计算机领域内的“霸主”地位。格林布莱特很可能会发表一段热情洋溢的讲话,批判浪费在IBM计算机上无法计数的大量金钱(这段讲话不仅时间长而且颇具煽动性)。格林布莱特趁假期回家探亲时,看到密苏里大学的科学部门虽然声称经济十分紧张,但却每年花费400万美元维护一台和PDP-6根本没法比的IBM巨型计算机。说到名不副实的东西,MIT的IBM分时系统和放在科技广场大楼第9层的那台IBM 7094计算机又怎么样?完全就是一堆废物!

这些话题足以谈一顿饭的时间。不过,说说黑客们不谈论什么样的话题可能更加有助于对他们的了解。他们从不会花很多时间讨论计算机在现实世界中的社会意义和政治意义(但可能有时会提到普通人对计算机的理解是多么的错误和幼稚)。他们从不谈论体育运动。一般他们都维持着自己的情感世界和个人世界,只要他们有的话。对于一帮身体健康的大学男生来说,还有一个重要的讨论话题,这个话题也同样吸引这个组织中的各色人群,那就是:女性。

尽管有些黑客在自己的社交圈子中相当活跃,但是,TMRC以及从事PDP计算机研究的几个灵魂人物还是将自己锁定在一种“单身模式”下。原因之一就是很多黑客从一开始就很少与他人交往,因此,他们在公共场合经常感到浑身不自在。计算机系统的可预测性和可控性让钻研计算机系统本身充满无穷的魅力,而人与人之间那种无可救药的、随机出现的问题则正相反。不过更主要的原因是,在黑客的头脑中,研究计算机的相关技术远比谈恋爱重要得多。这是一个孰重孰轻的问题。

在他们的生活中,编写计算机程序的工作远比其他的更为重要。

“大家对计算机和与计算机有关的东西都太入迷了,他们真的没有时间(谈恋爱),”考托克后来回忆道,“随着年龄的渐长,每个人可能都觉得会有那么一天,某个女人走过来,敲敲他的头说,‘就是你了!’”这种情况在考托克本人的罗曼史中多多少少有些体现,尽管那时他已经快40岁了。在这个时期,黑客们表现得好像谈恋爱这样的事情在他们的世界中根本不存在一样。他们对中餐馆坐在邻桌的漂亮女人无动于衷,因为“他们的词汇表里根本就没有漂亮女人这个概念”,一个叫大卫·塞维亚的黑客后来这样解释。假如真有个女人走进了某个一心扑在工作上的黑客的生活,大家可能会这样说:“某某怎么搞的……他整天神魂颠倒……”但通常,谈恋爱不会遭别人白眼,大家只是耸耸肩罢了。他们不可能没完没了地谈论中途掉队的同伴,因为他们手头上有世界上最重要的工作要做——编写软件代码。编写代码不仅仅是一种令人痴迷的行为,它还能带来身心的快感,更重要的是,它还是一项使命。你编写程序并按照黑客道德指引的方向前行,你十分清楚那些效率极其低下且奢侈浪费的事(例如谈恋爱)会耗费太多的循环,占用太多的存储空间。“即使在今天,女性也被认为是完全难以预测的,”一名PDP-6黑客在将近20年后依旧如此评论道,“一名黑客怎么能够容忍这样一种不完美的存在呢?”

如果在TMRC和科技广场大楼第9层多几名女性成员,事情可能就会是另一种状况,不过仅有的几名女性成员也确实都和黑客走到了一起。(“是她们主动的,”一名黑客后来这样说。)像这样的女性并不多,因为这个圈子以外的人(男女都算上)对这些黑客不以为然:这些黑客的说话方式有别于常人,他们的作息时间非常古怪,他们吃的东西更加另类,他们每时每刻都在想着计算机的事情。

黑客们形成了一个孤傲的男性文化圈。令人失望的是,历史上还从未出现过一位星级女性黑客。没人知道为什么会这样。虽然有不少女性程序员,其中一些人也相当优秀,但似乎没有一个人像格林布莱特、高斯珀和其他男性黑客那样,将编程当做一个神圣的职业。就算社会针对女性参与重大的计算工作存在严重的文化偏见,但这也无法解释女性黑客寥寥无几这一事实。“文化上的偏见确实很强,但不会强到这种程度,”高斯珀后来是这样总结的,并将这一现象归结为基因(或“硬件”)的差异。

每次到中餐馆聚餐或在TMRC隔壁的Tool Room开会,都只有屈指可数的几名女性黑客参与。因此,男性黑客没有必要仔细打量女性黑客的相貌。可能格林布莱特在这一点上做得更极端。20世纪60年代中期,他参与了好几个庞大的项目,他把精力全部扑到工作上,以至于他的个人爱好也仅是关注自己同伴的工作进展而已。

从MIT辍学后,格林布莱特在一家名为Charles Adams Associates的企业找到了一份工作,当时这家企业正准备购买一台PDP-1计算机并计划为其搭建软件平台。格林布莱特白天在位于波士顿市区外“技术高速公路”(Technology Highway)附近的办公室工作,下班后便驱车30英里回到MIT的机房,有时一工作就是一整夜。起初,他将住处从学生宿舍搬到剑桥的基督教青年会(YMCA),但后来因为屋子脏乱不堪,他又被赶了出来。完成了在Adams公司分内的差事后,他又被AI实验室重新录用。虽然他的生活状况已经稳定下来了(他在一位退休牙医夫妇的位于贝尔蒙特的房子里过着寄宿生活),但他晚上还是经常在第9层搭个简易床休息。整洁干净的环境绝不是他首先要考虑的事,因为大家都在传有关他邋遢不堪的种种事迹。(后来格林布莱特坚持说还有很多黑客比他也强不到哪儿去。)有些黑客回忆说,格林布莱特在编程工作中没有考虑的一件事就是定期洗澡,结果他身上常常散发出一股强烈的气味。在AI实验室还流传着这样一个笑话:有一个新出现的测量嗅觉的科学标准,名为“毫布莱特”(milliblatt)。1毫布莱特或2毫布莱特所表示的气味已经非常浓烈了,而1布莱特(1布莱特=1000毫布莱特)所代表的气味则浓得难以用语言表达。这个笑话是这么说的,要降低毫布莱特值,黑客们就得将格林布莱特送到20号大楼的门厅,那里有个为无意间接触到化学品的人准备的淋浴间,然后开大水龙头。

高斯珀有时也会委婉地对格林布莱特的个人卫生表达自己不同的意见。他特别受不了格林布莱特用力搓手的习惯,因为这么做常常会将手上的泥屑搓下来。高斯珀将这些小泥球称为“布莱特泥球”。每当格林布莱特用过高斯珀的办公桌后,总要留下一片“布莱特泥球”,高斯珀就会大张旗鼓地用氨水将那片区域擦拭一番。有时,高斯珀也会对格林布莱特笨嘴拙舌的演讲方式、频繁的咳嗽和错误百出的拼写开开玩笑,当然更少不了取笑他口齿不清。即便如此,格林布莱特的很多表达方式已经成了黑客们的口头禅,每位黑客多多少少都会使用这样的词汇。例如,将一句话连说两遍以示强调的做法,其始作俑者很可能就是格林布莱特。比如有几次他向高斯珀、考托克和萨姆森解释某件事的时候,吐字就像机关枪一样快,字字相连,然后他叹着气说:“哦,你就错在这儿,你就错在这儿”,接着又从头开始解释一遍。高斯珀和其他黑客会大笑不止,不过就像家里大人喜欢模仿婴儿的说话方式和让人大笑的不当用词一样,黑客圈中也采用了很多格林布莱特的词汇和表达方式。

尽管格林布莱特有诸多稀奇古怪的个人特质,但黑客们却对他充满敬佩。他的行事风格完全符合他对自己的定位:他是一名黑客,不是什么社会名流,没有什么事比编写代码更重要。有时候他太投入了,甚至连续6个月都找不出一点空闲时间领他在MIT的工资。“如果他时不时地坐在那里,并试图向别人讲明白他在思考些什么问题、做些什么事,那他便做不出任何成绩,”高斯珀后来说。“假如他总是担心拼写错误,也不会写出那么多的代码。他做的正是他最拿手的事情。他是一个彻头彻尾的实用主义者。好多人对他心存偏见。如果有人认为他愚蠢或不会变通,说明他们自己有问题。部分人确实持这种观点,但他们都错了。”

高斯珀可能对格林布莱特那种心无旁骛的劲头颇为折服,因为他自己坚持完成学业(他于1965年毕业)的行为给自己带来了大麻烦。这倒不是说他在MIT最后一年的学习成绩有多么惨不忍睹,毕竟他设法让自己的成绩刚好达到了毕业的标准。问题出在他和美国海军之间签订的一份协议上。在进入MIT就读前,高斯珀参加了一次公务员考试,由于成绩出众,他被录用参加全美仅有的一个学生工程开发项目。他利用暑假为海军方面工作,作为回报,海军为他支付了一半的学费,并要求他在毕业后至少还要在这个项目内工作3年。当高斯珀签约时,协议上还有一条“退出条款”,也就是如果你到研究所工作,那么该承诺可以向后顺延;假如你能让某家企业返还海军的3000美元投资,那么这个协议也就解除了。可是,高斯珀毕业那年,到研究所工作的那条出路已经被堵死了,只有一次性返还海军的全部投资才能让他顺利解约,可他根本没有这么多钱。

到美国海军部门工作是一件十分可怕的事。利用暑假为海军工作期间,他参与了一个非常倒霉的系统研究,这个项目和黑客道德的理念完全背道而驰。程序员被封闭在一间屋子里,根本无法接触到计算机。有时,作为对多年为海军服务的一种奖励,军方才允许一名特别听话的人进入机房,让他看看自己的程序是如何运行的。(据说,有一名女性程序员获得了这种恩赐,她在看到闪烁的灯光和呼呼旋转的磁盘以后竟然昏厥过去。)此外,高斯珀在海军部门的顶头上司不能理解为什么在一个给定的方程式中,和的对数不等于对数的和。高斯珀绝对不想在一个搞不明白为什么和的对数不等于对数的和的家伙手下做事。

接着高斯珀感觉海军方面可能更加青睐Univac计算机。他认为,Univac完全就是对IBM巨型计算机蹩脚的模仿,自己本身最后变成了一个四不像。他想,海军方面肯定清楚Univac其实是个山寨版的巨型计算机,但他们竟然还是不管不顾地用这种计算机。整天守着这么一台计算机无异于被打入十八层地狱。高斯珀用计算机来研究那些前人从未涉及过的东西,那么他使用的计算机在任何方面都应该是最好的,这一点是基本条件。到那时为止,他见过的最好的计算机就是PDP-6,他下定决心,绝不离开这种计算机半步,尤其不能因为Univac这样的山寨货而放弃PDP-6。“假如我发现某种计算机产生了极其愚蠢的错误,或设计上有毛病或者其他什么问题,那我绝对从心底瞧不上它,”高斯珀后来解释说。“可是PDP-6的表现好像总是那么完美。如果发现了错误,我也愿意修改。从某种意义上说,我们就生活在PDP-6的内部。它是我们周围环境的一部分。围绕着这种机器,我们有一群志同道合的人……我无法想象没有PDP-6会是什么样子。”

高斯珀决心设法筹款还给海军,他打算通过给拥有PDP-6计算机的公司打工挣到这笔钱。他在Charles Adams公司找到了一份工作,此前一年格林布莱特也曾在这里工作过。就这样,高斯珀终于满足了合同中的苛刻条件。而他打工的Adams公司,他们的PDP-6从来也没有正常运转过(格林布莱特坚持说他负责的那部分准备工作已经做得非常完善了),但这似乎难不倒高斯珀。让他感觉抓狂的是Charles Adams公司竟然放弃了当前的项目,转而购买了一台和他原先供职的海军部门一模一样的Univac计算机。

不过那时,Project MAC的资金已经更加充裕了,高斯珀终于在这里找到了一份工作。在这里工作,他几乎用不着调整自己的任何习惯,因为在Adams工作期间,他每天晚上使用的就是第9层的这台PDP-6计算机。

……

那段时间,格林布莱特在做什么呢?他正全力以赴地编写程序代码。他参与的第一个使用PDP-6计算机的项目就是要写一个LISP编译器,让约翰·麦卡锡开发的这种最新、最好用的人工智能语言可以在PDP-6上运行。年轻的彼得·多伊奇曾经在PDP-1上开发过一个LISP编译器,但是那个版本的效率欠佳,因为PDP-1的内存空间不足,并且LISP语言使用符号进行各种操作,而符号不像数字那样可以容易地转换成二进制数,因此LISP需要占用极大的内存、空间。

有些人(尤其是高斯珀)认为LISP在PDP-6上也同样会是一个浪费时间的编译器。高斯珀那时总是特别在意计算机的计算能力,觉得计算机的计算能力赶不上他的要求。后来他对AI实验室的那些人(包括他自己)竟然对这一事实视而不见感到惊讶,因为他们想让计算机完成不可能完成的任务,并且从没有将失败归咎到那几台功能不够的破机器上,而是一直在自己身上找原因。在他毕业那年,明斯基给了高斯珀一个任务,要在显示器上测试某个可视现象是双目立体的还是单目平面的。高斯珀设法在屏幕上显示出了一个巧妙的、接近苜蓿叶的形状,它至少将单目和双目效果展示了出来。可是,他还想让这台机器完成些更复杂的、超出其能力的任务,因此他只有绞尽脑汁、冥思苦想了。其中有一项高斯珀认为在PDP-6上不可能完成的任务就是开发一款LISP编译器——这种语言作为一个通过符号求值的软件还是不错的,但是它做不了什么有用的事。他认为LISP就是明斯基的一个傻念头,而格林布莱特和其他黑客都已经被迷惑住了。

不过格林布莱特考虑得更深。虽然他也认识到在PDP-6上开发LISP多少只能算是一种探索,不太具有实际效用,但是他确实看到将LISP移植到PDP-6上的必要性。LISP是一种强大的开发语言,它可以帮助他们在人工智能领域更上一层楼:利用这种语言,计算机可以完成极其困难的任务;通过这种语言,计算机甚至可以实现自我学习。那时,格林布莱特也刚刚开始对未来进行某种憧憬,他朦朦胧胧地感觉应该利用技术手段去实现黑客的梦想。于是,他和一部分人(也包括来自DEC公司的考托克)开始着手在PDP-6上开发LISP了。TMRC的黑板上写满了他们设计的层次以及每层的代码。最终,这些代码终于可以在PDP-6上成功运行起来了。

格林布莱特和另一名黑客负责最核心的那部分代码。这个项目中只有两三个人在考虑“正确答案”,人数远远小于IBM称为“人浪”的那种工作方式,即一下子将好几十名程序员组织起来集中解决一个问题,而IBM这么做的结果往往不理想。此外,依靠两三个人也比只依靠一个人更具有优越性:当其中一个人即将进入其一天30小时的末尾阶段时,另一个人可以接手继续工作。这有点像是一个车轮战项目。

有了在PDP-6上运行的MacLISP(因Project MAC而得名),黑客们开始将这种计算机语言集成到他们的程序中,甚至连日常交流也常常会用到。例如,按照LISP的惯例,字母“p”用作谓语,它的灵感来自于黑客们常用的提问方式。假如某个人说“食物-P?”其他黑客就知道,有人问他是否想找些东西来吃。LISP语言中的专用术语“T”和“nil”分别表示“yes”和“no”。LISP语言为大家所接受丝毫没有降低黑客们对汇编语言的热爱程度,尤其是优雅的PDP-6指令集。不过正如格林布莱特(甚至还包括高斯珀)后来认识到的那样,LISP确实是一个功能强大的系统组建工具,它和提倡“亲自动手”的黑客道德可谓珠联璧合。

DEC对MacLISP也大感兴趣。考托克安排格林布莱特和其他黑客连夜赶到梅纳德(Maynard)去编写程序、输入代码并调试。这不过是MIT和DEC之间很平常的一次协作,没有任何人对此提出过质疑。“正确答案”也提倡要确保任何好的程序尽可能与他人分享,因为“信息是免费的”,只有信息加速流动,世界才能变得更加美好。

完成了MacLISP项目以后,格林布莱特几乎是PDP-6黑客中的第一权威人物了。AI实验室新的掌门人拉塞尔·诺夫斯科是一名来自西南部的年轻人,他聘用格林布莱特来维护和改善“有机体的创造”功能,也就是计算机的操作系统。不过格林布莱特的目标远不止于各种计算机系统。他被人工智能的种种概念深深吸引住了,决心使用他开发的系统在该领域做些有实际意义的事情。由于他本人终生喜爱国际象棋,因此,他顺理成章地编写一些和象棋有关的程序,这些程序注定要比考托克在此方面的进展走得更远,也一定会超过全美国其他实验室的人工智能国际象棋项目所取得的成绩。

和其他货真价实的黑客一样,格林布莱特一旦下定决心去做某件事,他就会立刻动手。没有任何人要求他拿出一个建议,他没有多此一举地通知上级领导。明斯基同样没有必要仔细斟酌这个项目的相对优势。在20世纪60年代中期AI实验室刚刚组建的时候,没有相互沟通的渠道,黑客们自己就是沟通渠道。这是黑客道德的力量,格林布莱特将这种力量发挥到了极致。

格林布莱特曾经见过考托克编写的一个会下象棋的程序,他认为这个程序非常低级。那些和这个软件对战的人可以说基本上不会下棋:他们完全被计算机走出的每一步棋迷住了,甚至有些忘记这款游戏名字的含义就是吃掉对方的棋子。格林布莱特的程序则使用了尖端的人工智能技术,按照某种他认为“是一步好棋”的标准,通过试走计算出各种走法的方案。在另外两名黑客的帮助下,格林布莱特开始了一场编码闪电战。他设法争取每天4个小时的上机时间,当没有PDP-6可用的时候,他也会用纸和笔写代码。最后,他的下棋程序只用了1周时间就编完了。在随后的几个月内,他又对这个程序进行了调试,增加了功能并做了界面美化的工作。(如果格林布莱特写一篇有关他的象棋程序的论文,他最终还是会得到MIT授予的学位,不过他一直没有腾出时间来写论文。)

大约在1965年左右,兰德公司(Rand Corporation)一份名为“炼金术和人工智能”的臭名昭著的备忘录在MIT流传开来。它的作者赫伯特·德雷福斯是位学术界人士,他将人工智能领域及在该领域工作的人贬得一文不值。对于黑客来说,他的论调极不入耳,因为计算机就是黑客笃信的行为模式,至少在他们的信息理论、公平性和行动方面都是如此。德雷福斯集中火力攻击计算机“荒谬和受限的结构”(相对于人类大脑而言)。他对准黑客命门的一击便是公然声称,没有任何一个计算机程序的国际象棋水平足以击败一个哪怕仅有10岁的孩子。

就在格林布莱特开发出了他的象棋软件(取名为“MacHack”)以后,MIT邀请德雷福斯来和这款软件下一盘。许多黑客都围在旁边,现场观看格林布莱特的计算机替身大战这名瘦削、红脸庞、戴眼镜、自负、对计算机一脸鄙夷的对手。人工智能领域的开拓者赫伯特·西蒙也观看了这次比赛,后来,他做了如下记述9:

这场比赛十分扣人心弦。这是两名初级象棋爱好者之间的较量……德雷福斯一直特别被动,后来他看出了一步棋,可以吃掉对方的“后”。而他的对手要想化解这场攻势,则只有不断地用己方的“后”将对方的军,直到最后借将军的机会吃掉对方的“王后”。计算机丝毫不差地按照这个方案走棋。一瞬间,德雷福斯的防线崩溃了,接着,计算机在棋盘中央把他将死。

彼得·萨姆森后来回忆德雷福斯输棋后的情况:这位被击败了的批评家环顾了一下四周MIT的教授和黑客(也包括获胜的格林布莱特),脸上一片茫然。为什么他们不欢呼、鼓掌或对他嘲笑一番?因为他们心里非常清楚,德雷福斯只不过是现实世界中的一份子,他们不可能理解计算机那非比寻常的本质特性,也不可能理解整天和计算机亲密接触以至于PDP-6完全变成生活中一部分的感觉是什么样的。这一切德雷福斯永远也不会了解。即使如明斯基本人,由于他从未亲自接受过那种每周7天、每天30小时工作制,不停地用汇编语言编写代码的洗礼,因此也无法确切体会到黑客们此时此刻的心情。那种状态是以格林布莱特和高斯珀为代表的众多黑客精神上的世外桃源,他们知道那种感觉,时时愿意回到那种状态——编码、钻研,进而把他们自己独特的世界建设得更加美好。至于要说服那些持怀疑态度的人,或让外部世界的人了解他们内心独享的那种感受,甚至劝诱他们改投黑客道德的门下,黑客们觉得与其这么做,还不如享受这种状态来得有趣呢!