cat /dev/random meh

第1章 技术模型铁路俱乐部

当年彼得·萨姆森为什么会深更半夜在MIT 26号楼里四处转悠,可能连他自己都很难解释清楚,有些事情是无法用语言来表达的。彼得·萨姆森正准备于1958—1959年冬季进入MIT读大学一年级,如果你像他即将认识并成为好友的那些人一样,你就会知道这根本无需解释。例如,在迷宫般的实验室和库房周围“侦察”,在机房中寻找电话交换机的秘密,在地下蒸汽管道中追踪电线或继电器的路线,这些行为都实属寻常,根本无需理由。如果遇到一扇关着的门,门后面传来巨大而又令你非常好奇的噪声,那么无需邀请,推开它就是了。接下来,如果没有人阻止你接近那台发出噪声的机器,你就会摸摸它,打开不断颤动的开关,看看反应,最后拧开螺丝,拆下一块板子,碰碰二极管,再拧拧几个接头。彼得·萨姆森和他的伙伴就是在这种与外界进行特殊互动的环境中长大的,那时,只有搞清楚东西是如何工作的,才能理解它的意义。如果不动手,怎么能学到东西呢?

彼得·萨姆森和他的朋友们正是在26号楼的地下室里发现了EAM机房。26号楼是一栋由玻璃和钢筋建造的长长的大楼,它是MIT一栋新盖的大楼,与麻省大道对面庄严的柱式结构建筑形成了鲜明对比。EAM机房——会计电算化机房(Electronic Accounting Machinery)就位于这栋缺乏个性的大楼的地下室里。这个房间里隐藏着像计算机一样运行的机器。

早在1959年,见过计算机的人并不多,更别提亲手摸摸了。萨姆森,这个瘦瘦高高、长着一头红色卷发的小伙子,就这样在造访MIT时看到了计算机——看吧,他拖长了声音念着,仿佛正在领会(屏幕上闪过的)字里行间的意思。他的家就在马萨诸塞州的路威,距离校园只有30英里。这次造访使他成为了一名“剑桥少年”——该地区无数狂热追求科学的高中生之一,他们就像受到地球引力一样,被吸引到这个坐落在剑桥市的校园。他甚至装配了一台自己的计算机,用的材料是别人丢弃的弹球机的零部件,因为这是他能够找到的最好的逻辑单元。

“逻辑单元”这个词似乎包含了吸引一位碾磨机修理工的儿子——彼得·萨姆森对电子学感兴趣的东西。一切都源于兴趣。当你带着探索一切的好奇心成长起来时,发现像电路逻辑这种精致的、所有连接都必须构成完整回路的东西的喜悦会让你无比激动。彼得·萨姆森很早就特别欣赏这些事物的数学简捷性,他还能够回忆起在波士顿公共电视频道(WGBH)看到的一个电视节目,这是一个入门介绍,讲的是用计算机语言对计算机进行编程。这个节目激发了萨姆森的无限想象力,在他看来,计算机无疑就像一盏阿拉丁神灯——你擦擦它,它就会执行你的命令。因此,他努力尝试学习这个领域的知识,制造他自己的机器,参加科学项目竞赛,并来到他像这类人所向往的地方:MIT。像他这样的人是高中生当中最聪明的人,他们戴着像猫头鹰般的眼镜,他们没有发达的胸肌,他们是数学老师眼中耀眼的明星,却无法通过体育考试,他们不想在舞会上出风头,而是梦想着能够进入通用电气科学竞赛的决赛。他的理想是进入MIT,在这里他可以在午夜2点徜徉于走廊里,寻找着感兴趣的东西,在这里他将真正发现一些深深吸引他的东西,这些发现将把他带入一种全新的创造过程和生活方式,并把他推向一个只有那些名声不怎么好的少数派科幻作家才能够想象出来的世界的最前沿。他将发现一台他能够亲自摆弄的计算机。

萨姆森偶然发现的这个EAM机房里装满了庞大的键控穿孔机,一个个都像文件柜那么大。没有人看管它们,这个机房只有白天才有工作人员,而且只有一小部分经过严格筛选获得了正式许可的人才有权利把长长的马尼拉卡片交给操作员,然后操作员根据这些人想要输入到卡片上的数据来使用机器打孔。卡片上的孔代表了计算机指令,用来告诉计算机把一块数据放到某个地方,或者在某块数据上执行一个函数,或者把一块数据从一个地方移动到另一个地方。一摞这样的卡片就是一个计算机程序,一个程序就是一系列的指令,最后产生某种预期的结果,就像菜谱上的指示一样,当你准确地按照菜谱来操作,就可以做出一块蛋糕。这些卡片将被交给楼上的另一位操作员,他把卡片输入到“阅读器”中,阅读器记录卡片上孔的位置,然后把信息发送给26号楼一层的IBM 704计算机——那个庞然大物。

IBM 704价值数百万美元,它占据了整整一间屋子,始终由一小队专业的机器操作员看管,而且需要专用的空调,以免机器内部炽热的电子管由于温度过高而把数据烧坏。当空调停机时(这经常发生),会发出巨大的声响,这时三位工程师就会立刻从旁边的办公室中跳出来,飞快地打开机箱,这样它内部零件才不会融化。负责打孔、把卡片输入到阅读器中以及在机器上按动按钮和开关的这些人通常被称为牧师(Priesthood),而有资格向这些最神圣的牧师提交数据的人则是正式的信徒(acolyte)。这几乎是一种仪式般的交换。

信徒:哦,机器,你能接受我提供的信息以便运行我的程序,并为我做一次计算吗?

牧师(代表机器):好,我们试一试,但我不做任何保证。

通常,即使是这些享有特权的信徒也不允许直接接触机器,而且他们可能看不到机器“吞食”他们的成批卡片(这个过程有时是几小时有时甚至是几天)的结果。

萨姆森知道这些事,当然,这令他失望极了,他想要摸摸那台机器,因为这是他生命的全部意义。

萨姆森所不知道的(也是他发现后感到很高兴的)是EAM机房里也有一台特殊的打孔机器,它叫做407,不仅能打孔,还能读取卡片、对卡片分类并把它们打印成清单。看起来这些机器似乎没有人看守,但它们也可以算是某种计算机。当然,它们使用起来并不轻松,要在一块叫做“插线板”的板子上绕线,这块板子全是由两英寸的塑料方块做成的,板上布满了密密麻麻的孔。如果按照一定的顺序把几百根线从这些孔中穿过,会得到一个像老鼠窝一样的东西,不过可以把它插入到这台电子机器中,从而改变机器的属性。它可以做你想要做的事。

于是,在没有得到任何人许可的情况下,彼得·萨姆森就和同样来自MIT且都对铁路模型特别感兴趣的几位好友开始做这些事了。虽然这是他们走向充满科幻色彩的未来的第一步,并且这一步是那么偶然,没有人能够预想得到,但这也是非主流的亚文化自我引领并发展为一股强大的地下力量,从而最终形成一种真正文化的必由之路。虽然它来得有点唐突,并且未得到正式认可,但这种文化却是计算机王国的灵魂。我们从技术模型铁路俱乐部(Tech Model Railroad Club, TMRC)第一代计算机黑客的“胡作非为”中就能够看到这种精神。

……

彼得·萨姆森在1958年秋天进入MIT的第一个星期就加入了TMRC。这所大学的大一新生们参加的第一个活动是个传统的欢迎会,每个曾经在MIT学习的人都参加过与此一模一样的欢迎会。“看看你左边的人,再看看你右边的人,你们三人当中会有一个人不能从本校毕业。”这段讲话的目的是为这群新生制造一种危机感。在这些新生进入大学之前的学习生涯中,几乎从来没有感到任何学习上的压力,因为他们都是最聪明的人。但现在不同了,在每位新生左边或右边站着的人都和他一样聪明,也许比他更聪明。

但对某些学生来说,这根本不算是挑战。这些年轻人以一种难以言表的友好眼光来看待他的同学:或许他们可以相互帮助,共同探索事物的本质,进而掌握它们。已经有很多难题等着他们去解决,为什么还要在乎那些愚蠢的、喜欢阿谀奉承的老师呢?为什么还要为分数担心呢?对彼得·萨姆森这样的学生来说,探求问题比学位重要得多。

欢迎会之后不久就是新生集会。所有校园组织(包括特殊兴趣小组、互助会等)在一个大体育馆里摆好展位以招募新成员。吸引了彼得·萨姆森的小组就是TMRC。其成员是一些热情的、剃着平头的高年级学生,他们说话像连珠炮一样,夸耀说他们在20号楼有一个永久使用的俱乐部活动室,里面陈列着HO比例尺专指汽车、火车模型的比例,1英尺比1/8英寸。的火车模型。彼得·萨姆森对火车一直很着迷,特别是地铁。于是他打算去20号楼看看,这是一栋二战期间修建的临时性建筑,楼的外墙镶了木瓦。这栋楼的走廊很阴暗,虽然俱乐部的活动室设在二楼,但光线微弱,感觉就像在地下室一样。

屋内是一个巨大的火车规划模型。它几乎占满了整个房间,如果你站在一个称为“the notch”的小块控制区域,你会看到一座小城镇,一个小工业区,一条微型的正在运转的电车线路,一座纸塑的山,当然,还有好多火车和铁轨。为了模拟原物,火车模型制作得非常精细,它们在弯弯曲曲的铁轨上轧轧地行驶着,像画中那样完美。

彼得·萨姆森又看了看支撑整个模型的齐胸高的板子下面,这令他大吃一惊。这个模型下面是一个更庞大的像矩阵一样的、由电线、继电器和纵横开关组成的网络。彼得·萨姆森做梦也没有想到会有这么复杂的东西。开关排列整齐有序,古铜色的继电器也一排排整齐地排列着,一长捆红、蓝、黄相间的线缠绕在一起,呈现出彩虹般的颜色,就像爱因斯坦的爆炸式发型一样。这是一个令人难以置信的复杂系统,彼得·萨姆森发誓要弄明白它是怎么工作的。

TMRC的成员在为模型工作40个小时之后,就会得到一把该活动室的门钥匙。新生集会是在星期五举行的,到了星期一,彼得·萨姆森就有了一把自己的钥匙。

……

TMRC内分为两个小组。一些成员喜欢花时间来制作有历史和纪念价值的火车模型,并给它们刷油漆,或者为模型制作真实的景物。这个小组的成员就像是一伙雕刻家和油漆工,他们订阅了铁路杂志,还为俱乐部预订一些老掉牙的火车线路旅行。另一个小组可以称为俱乐部的“信号和动力”(Signals and Power, S&P)小组委员会,他们更关心模型下面的事情。这就是“系统”,它的工作状态就像鲁宾·戈德堡鲁宾·戈德堡(Rube
Goldberg),美国著名漫画家。和沃纳·冯·布劳恩沃纳·冯·布劳恩(Wernher von
Braun),20世纪液体燃料火箭技术和宇航工程的开创者和奠基人。之间的协作一样,而且不断在改进、更新和完善,有时它还会停止工作,用俱乐部的术语说就是“被搞砸了”。S&P专注于研究系统的工作原理,研究它不断增加的复杂性,一个部分的修改将对其他部分有何影响,以及如何调整各个部分之间的关系以便让它们优化使用。

系统的很多部件都是电话公司通过“西部电子大学捐赠计划”捐赠的。俱乐部的指导教师同时负责校园的电话系统,他注意到复杂的电话设备可以供技术模型铁路俱乐部的学生们研究。以这套设备为起点,学生们设计了一种工作模式,允许几个人同时控制火车,即使火车在同一条铁轨的不同位置上。利用电话的拨号盘,TMRC的“工程师”们可以指定他们想要控制哪个路段,并从那里运行火车。这是通过电话公司的几种类型的中继器实现的,包括纵横中继器和步进式开关,这样,通过听“轧-轧-轧”的声音就可以听出动力从一块传递到另一块。

是S&P小组设计了这个绝妙的控制模式,也正是隐藏在S&P小组内心深处的永无休止的好奇心驱使他们在校园中寻找着动手摸摸计算机的机会。他们是“动手主义”的忠实支持者。S&P的负责人是一位名叫鲍勃·桑德斯的高年级师兄,他长着一张圆胖、红润的脸,笑声极具感染力,是一个电子学方面的天才。当他还是芝加哥的一名孩子的时候,就在中学的一个项目中制作了一台高频变压器,这是一个6英尺高的特斯拉线圈,这种线圈是19世纪由一位工程师发明的,能够发出强烈的电波。桑德斯说他的线圈能够使好几个街区的电视收不到信号。另一个被吸引加入S&P小组的是阿伦·考托克,他来自新译西州,五短身材,下巴很小,戴着一副厚厚的眼镜,与萨姆森在同一个班。考托克的家人至今还能够回想起他在3岁的时候,用一把螺丝刀研究墙上的插座,结果把它拆了下来,导致火花四溅。他在6岁的时候,就能够安装电灯和为灯接线了。上高中时,他有一次参观了附近的哈登菲尔德的Mobil研究实验室,第一次看到了计算机,那次愉快的经历使他决定进入MIT。在大学一年级,他就赢得了TMRC最有能力的S&P人员的殊荣。

S&P小组的人会在周六的时候去萨莫维尔的埃里哈弗伦旧货市场淘一些零部件,他们还会连续几小时坐在小小的转椅里(他们把自己的转椅叫做“睡觉的地方”),研究交换机系统中的关键位置,他们会通宵达旦地工作,在没有任何授权的情况下把TMRC的电话连接到东校区。技术就是他们的一方乐土。

小组的核心成员会连续几小时待在俱乐部里,不断改进他们的系统,讨论下一步能做什么。他们还发明了自己的一套外人不怎么懂的行话,他们总是穿着短袖的格子衬衫,兜里插着铅笔,下身则穿着斜纹棉布裤子,而且总是随身带着一瓶可口可乐。(TMRC花了165美元买了一台自己的可乐售卖机,并以5美分一瓶的价格出售,3个月就收回了成本。为了促销,桑德斯为购买可乐的顾客制造了一台自动换瓶机,并且一直用了十多年。)他们自己发明的术语是这样的1:当设备中有一个零件不能工作了,他们就说它“losing”;当一个零件坏掉了,他们就说它“munged”(mashed until no good);房间角落里的两张桌子也不叫办公台,而叫做“orifice”;坚持上课的人叫做“tool”;垃圾叫做“cruft”;如果一个正在进行的项目或正在构建的产品不仅仅是为了实现某个建设性目标,而且只要是参与进来就会有莫大的乐趣,那么这个项目就叫做一个“hack”。

“hack”一词大概很早就由MIT的学生提出了,他们一直用这个词来形容本校学生发明的一些精心策划的恶作剧,例如在校园里最高的那座楼的屋顶上插满反光的金属薄片。但TMRC的人在使用这个词的时候却包含着很大的尊敬。虽然可能有人把一个巧妙的中继器连接叫做“mere hack”,但大家都知道,一项技艺要想称得起“hack”,它必须有创新、有风格、有技术含量。虽然有人可能会自谦地说他正在“hacking away at The System”(就像挥斧砍圆木),但他的成就可能会被认为是相当了不起的。

S&P小组中效率最高的人非常骄傲地称他们自己是“hacker”(黑客)。虽然他们仅仅拥有20号楼中的一个俱乐部房间,虽然他们的活动室仅限于“Tool Room”(他们的很多研究和技术讨论会都是在这间屋子里举行的),但他们怀着冰岛传说般的英雄态度无私地奉献着自己。彼得·萨姆森就是这样看待他自己和他的朋友们的,在俱乐部的新闻通讯里,他在一首充满桑德堡卡尔·桑德堡(Carl
Sandburg),1878—1967,美国作家、诗人。他一生曾三次获得普利策奖,其中两次是因诗歌获奖。风格的诗里这样写道2:

Switch Thrower for the World,

Fuze Tester, Maker of Routes,

Player with the Railroads and the Systems Advance Chopper;

Grungy, hairy, sprawling,

Machine of the Point-Function Line-o-lite:

They tell me you are wicked and I believe them;for I have seen your painted light bulbs under the

lucite luring the system coolies……

Under the tower, dust all over the place, hacking with bifurcated Springs

Hacking even as an ignorant freshman acts who has never lost occupancy and has dropped out

Hacking the M-Boards, for under its locks are the switches, and under its control the advance around

the layout,

Hacking!

Hacking the grungy, hairy, sprawling hacks of youth;uncabled, frying diodes, proud to be

Switchthrower, Fuze-tester, Maker of Routes, Player with Railroads, and Advance Chopper to the

System.

(诗歌大意:我们是聪明的投球手,我们是引信测试员,我们是开路先锋,我们研究的是铁路和系统中先进的断路器。我们研究的系统非常复杂,我们的机器是衡量计算能力的标志。趁你刚刚入学,趁你还是俱乐部的一员,趁你还没有退学,尽情地施展吧!)

只要有可能,萨姆森和其他人就会带着他们的插线板偷偷溜进EAM机房,尝试着用机器来跟踪隐藏在地下的交换机。还有一件同样重要的事,那就是他们看到了机电式计数器的功能,并把它发挥到了极致。

1959年春天,MIT开设了一门新课程。这是大一新生可以参加的第一门计算机编程课程。授课老师是一个非常严肃的人,一头爆炸式的头发,胡子也是乱蓬蓬的,他就是约翰·麦卡锡。麦卡锡本人是一位数学大师,也是一位典型的心不在焉型教授。校园里有不少这方面的传言,说他常常在别人向他提问后几小时、有时甚至是几天才会突然给你解答。如果他在走廊上碰到你,不跟你打招呼便用机械而准确的措辞开始滔滔不绝,就好像你们之间的交谈刚刚停顿了不到1秒而不是一个星期。不过他迟来的解答通常都能切中要害,精彩绝伦。

麦卡锡是少数几个以全新的方式使用计算机进行科学调查的人之一。他将自己的研究领域命名为“人工智能”(Artifical Intelligence, AI)。这一名字中似乎透露出麦卡锡本人的一种略显傲慢的味道,这毫无疑问是其研究领域驳杂并且在研究过程中与大家观点相差甚远的根源。其实,他认为计算机可能非常聪明。即使在MIT这个散发出浓郁科学气息的地方,绝大多数人还是认为他的想法过于荒谬:他们认为计算机虽然在处理海量数字运算和导弹防御系统(MIT最大的计算机——Whirlwind便是专为SAGE早期预警系统而建造的)方面功不可没(即使它多少有些昂贵),但他们对那种认为“计算机本身也是科学研究的一个领域”的观点嗤之以鼻。在20世纪50年代末,计算机科学还没有正式成为MIT的一个系,麦卡锡和其他研究计算机科学的同事都隶属于电气工程系,只有这里才开设这样一门课程(课程编号是641),就在1959年的春天,考托克、萨姆森和另外几名TMRC的成员都选修了这门课程。

麦卡锡在IBM 704(即那台巨型计算机)上主持着一个庞大的项目,他们想赋予这台计算机下国际象棋的非凡本领。在乐于对处在萌芽阶段的人工智能领域品头论足的批评家看来,这个项目只不过是说明约翰·麦卡锡等人盲目乐观的一个典型示例而已。但麦卡锡本人却对计算机能够做些什么有着自己的见解,让计算机下象棋只不过是个开头。

吸引考托克、萨姆森以及其他人的不是计算机的发展前景,而是眼前的那些有趣的东西。他们想学习怎样才能让这些机器运转起来。尽管麦卡锡在讲授编号为641的课程时屡屡谈到的新出现的LISP编程语言确实十分有趣,但更吸引他们的还是编写程序本身,还有当你从“牧师”那里取回机器自己打印出来的程序,花上好几个小时看看到底哪里出了问题或怎样编程效率才能更高时,你所体会到的那种美妙感受。TMRC的黑客们当时正在想办法进一步利用IBM 704计算机做些什么(不久,该计算机便升级为更先进的709型)。考托克等人想方设法找到了不少上机时间,他们每每在凌晨时到计算中心泡上几个小时,和“牧师们”也渐渐熟悉起来,最后,他们终于得到恩准,可以按下这台计算机上的几个按钮,观看计算机运行时闪烁的灯光。

MIT某些可以接触到IBM 704的资深人士或在“牧师圈”有熟人的人费了九牛二虎之力才弄明白IBM计算机的几个不传之秘。让人觉得不可思议的是,其中几名程序员(也是麦卡锡手下的研究生)甚至写了一个利用那一排点点灯光的程序:该程序控制灯光的明暗变化,看上去好像一只小球从右侧向左侧滚动;假如操作员在合适的时机拨动开关,灯光的运动方向便会反转——这绝对就是一只计算机乒乓球!毫无疑问,这就是你要拿来在同伴面前炫耀的那种东西,而你的同伴一定会看一看你在程序中是如何做到这一点的。

要想在编程方面出类拔萃,某些人可能会想方设法用更少的指令完成同样的任务——这样的努力确实很有必要,因为当时计算机的内存非常小,不可能同时装入很多条指令。约翰·麦卡锡就曾经见过他那些使用IBM 704计算机的研究生打算改进自己的程序以便将指令条数减到最少,并将程序压缩,这样只需把较少的卡片输送到读卡机里面就行了。这些人往往为了能够省下一条或两条指令而废寝忘食。麦卡锡常常将这些学生比做滑雪爱好者。他们从“将代码效率发挥到极致”的精神中得到的快感就像狂热的滑雪爱好者从山坡上飞驰而下时体会到的那种感觉。因此,在不影响输出结果的情况下使用尽量少的代码进行计算机编程,便被称为“program bumming”。你会时不时地听到有人喃喃自语:“也许我还可以再少用几条指令,这样我只需三张而不是四张八进制修正卡就够用了。”

1959年,麦卡锡的兴趣从象棋转移到一种新的与计算机交互的方式上,这种全新的语言就是“LISP”语言。阿伦·考托克和他的朋友们迫不及待地接手原来的象棋项目。他们在IBM的批处理计算机上,开始了训练704型、后来的709型甚至更往后的7090型下象棋的漫漫征程。最后,考托克的小组成为整个MIT计算机中心计算机用时最大的一群用户。

不过,使用IBM计算机仍然会给人以挫败感。送入数据卡片后必须经过长时间的等待,没有什么比这更糟糕的了。哪怕你只在某条指令中输错了一个字母,程序也会完全崩溃,你必须重新再执行一遍上述过程,一步都不能少。此外,计算中心的氛围中还弥漫着各种条条框框,并且这些沉闷的条文有日益增多的趋势。绝大多数规定都是用来防止狂热的年轻计算机爱好者(如萨姆森、考托克和桑德斯等人)碰到计算机的。所有规定中最不容置疑的一条就是任何人都不允许碰到或乱动计算机。当然,这正是S&P小组的成员宁可放弃一切也要做的事,这些条条框框简直把他们气疯了。

有一名“牧师”(实际上属于低级别的助理牧师)在他值夜班的时候格外认真地执行这条规定,于是萨姆森设计了一条计策,让他不大不小地尝了点苦头。一次在埃里的废电子器件商店闲逛的时候,他偶然发现了一块带几个破旧电子管的电路板,和IBM计算机里面的一模一样。一天夜里,还不到凌晨四点,那位助理牧师有事出去了几分钟,当他回来的时候,萨姆森告诉他这台计算机死机了,但他们找到了问题所在,然后他拿出从埃里捡回来的那块破破烂烂的旧IBM 704计算机电路板。

这名助理牧师惊讶得几乎说不出话来:“你……你从哪儿拿的?”

萨姆森大大的绿色眼睛此时放射出激动的光芒,他慢吞吞地指了指计算机架子上的一块空位,当然,这里从来也没有放过任何电路板,但这块地方看上去好像确实少了点什么东西。

助理牧师倒吸一口凉气,他的表情痛苦不堪,他默念着求上帝宽恕自己。毫无疑问,他眼前一定闪现出未来从他的薪水中扣掉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正好在一楼计算中心(这里放有IBM 704计算机)的上方。RLE很像一艘过时宇宙飞船的控制室。那台TX-0计算机(有时称为Tixo)在当时算是小型机,因为它是第一批使用手指大小的晶体管(而不是手掌大小的真空电子管)制造的计算机。尽管如此,它(还有与其配套的重达15吨的空调设备)还是占据了房间的一大半空间。TX-0系统连接到几根又高又细的架杆上,看上去好像是粗制滥造的书架一样,它的电线互相缠绕在一起,此外还有一排排整齐、如小瓶子般的容器,里面都插着晶体管。另一个架子上的固体金属门上,冷冰冰地标着各种规格。这几个架子对面是L型控制台,这是这艘H.G.Well宇宙飞船的控制面板,操作员可以把胳膊肘或资料放到它的蓝色台面上。L型控制台较短的一侧立着一台Flexowriter电传打字机,它很像专用打字机,其底部固定在军灰色的支架上。上方是一个个箱子形状、涂成公共设施那种黄颜色的控制面板。面向操作员的箱子侧面有几条标准刻度,还有几排四分之一英寸的灯闪烁不定,另外还有一些钢制拨动开关,大小要比米粒大一些。最妙的是,还有一台圆形、呈烟灰色的阴极射线管显示器。

TMRC的人一下子被震住了——这台机器不使用数据卡片。用户首先要用那台Flexowriter电传打字机(旁边的屋子里还有几台同样型号的电传打字机)将程序“打”到一根很长很细的纸带上,然后用读取器将纸带上的程序读入计算机,接着就可以坐在那里等着程序运行完。如果程序出了问题,你马上就会知道,并且可以利用某些开关或通过检查哪些灯正在闪烁来找到错误。这台计算机甚至还有一个音频输出装置:程序运行的时候,控制台下方的扬声器就好像一个未经调谐的电风琴,用带有杂音的音符播放一段乐曲。这件“乐器”上的和弦随着每一微秒读取的数据而变化:在熟悉了这段曲调之后,你甚至可以听出你的程序已经运行到哪一步了。即使Flexowriter打字机那噼噼啪啪的噪声再嘈杂(这些声音可能会让你觉得自己正置身于一场机枪激烈交火的战斗中),你也一定要辨别出那些声音。

更加令人惊喜的是,由于计算机提供了“交互式”的功能,并且用户似乎可以有一段时间自己操作这台TX-0,因此你甚至可以在计算机旁边修改程序。这太不可思议了!

世上绝对没有任何方法可以让考托克、桑德斯、萨姆森和其他黑客远离这台计算机。幸运的是,TX-0计算机旁边似乎没有像IBM 704计算机周围弥漫的那种官僚作风。没有多管闲事的牧师。负责TX-0的技术员是一位精明、满头白发的苏格兰人,名叫约翰·麦肯锡。虽然他的职责是确保研究生和那些参与政府或企业资助项目的人能够正常上机,但他也默许TMRC那些开始在电器研究实验室转悠的人使用这里的TX-0。

萨姆森、考托克和一名叫鲍勃·瓦格纳的大一学生很快就发现,一天当中到26号楼来的最佳时间就是晚上,因为任何正常的人都不会按每周五贴在RLE实验室空调旁边的上机预约单所写的那样在这个时候跑来上机一个小时。针对TX-0计算机有一条规定,那就是要24小时开机——当年,如果计算机整晚闲置,就属于极大的浪费。此外,一旦关机,重新启动计算机的过程非常麻烦。于是TMRC的黑客(不久之后,他们就自称为TX-0黑客了)就改变了自己的生活方式来适应这台计算机。他们尽可能地占用所有大段上机时间,但同时也不放过“零星的时间”——他们在夜里也常常抱着一线希望到实验室来看看,希望某个预定了凌晨3点时间段上机的人还没来……

“哦!”假如到了上机时刻表上安排给某人的时间,但他还没有来,再过一两分钟后,萨姆森就会高兴地说:“这点时间绝不能浪费!”

这种时间好像从未浪费过,因为黑客们几乎无时无刻不在那里等待这样的机会。假如他们没有在RLE实验室等着天上掉馅饼,那么他们就会在TMRC隔壁的教室里(也就是Tool Room)玩萨姆森发明的有点类似于Hangman猜字的游戏,该游戏名为Come Next Door。他们一边玩儿一边等待着在TX-0旁边的眼线来报告,看是否有人该来上机但却没来。黑客们建立了一个情报网,让这些眼线提前告诉他们哪段时间计算机可能会空闲。假如某个研究项目没有及时准备好程序,或者某位教授病了,那么这份情报就会被送到TMRC,而黑客们便可以坐到TX-0前,屏住呼吸,准备一头扎进控制台后面的世界里。

虽然杰克·丹尼斯原则上负责实验室的运转,但当时他还有教学任务,并且愿意将业余时间拿来编写TX-0运行的程序。丹尼斯扮演着黑客们慈祥的教父这样一个角色:他会亲自向他们简单地介绍一下这台计算机,指点他们朝着某个方向努力。每当看到黑客们异想天开的程序代码,他总是忍俊不禁。丹尼斯对管理工作一点也不感兴趣,因此他很高兴地把管理大权交给约翰·麦肯锡。麦肯锡早就看出,TX-0提供的交互式功能可以产生一种全新的编程方式,而黑客们正是摸着石头过河的那批先驱。因此他并没有制定太多的规矩去规范上机行为。

1959年宽松的氛围对那些迷途的人来说是非常宽容的。像彼得·萨姆森这样的科学迷,他们总是对一切东西都感到好奇,他们会探索MIT每间实验室中的未知迷宫。空调的噪声、声音输出装置以及Flexowriter电传打字机的声音都会吸引这些探索者,就好像小猫探头探脑地窥探篮子里的线团一样,他们也会伸长脖子朝实验室内东张西望,想探个究竟。

彼得·多伊奇就是这样的人之一,他不属于这个实验室。早在发现这里有台TX-0计算机前,多伊奇便已经对计算机深深地着迷了。最初,他随手捡了一本不知谁扔掉的手册,介绍的是一种专门用于计算的晦涩难懂的计算机语言。书中有关计算机指令的某些规律吸引了他:他后来说那种感觉就好像是艺术家发现了最最适合他的那种创作方法,那是一种自己也说不清楚的、超越一切的认知能力。这里就是多伊奇的舞台。多伊奇努力写出了一小段程序,并用某个牧师的名字预定了上机时间,在计算机上运行自己的程序。仅仅几周的时间,他的编程能力便已脱胎换骨了。那年他才仅仅12岁。

多伊奇性格内向,数学能力出众但对其他事情没有自信。他因缺乏运动而体重远远超过正常标准,但这并不妨碍他成为一名高智商的实干家。他的父亲就是MIT的一名教授,多伊奇正是利用这一点优势得以随意出入各个实验室。

他能对T X-0感兴趣确实让人觉得不可思议。他头一次踱进这间小小的“Kluge Room”(“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)编写的长长的计算机命令清单,不用几分钟,你准会晕头转向。但是,用汇编语言编写同样的命令可能会是这种形式:ADD Y。向计算机加载丹尼斯编写的汇编程序后,就可以用这种较为简单的符号形式编写软件,然后可以很有成就感地等着由汇编程序帮你将程序翻译成二进制代码。接着,你要将那二进制的“目标”代码送回计算机运行。汇编语言可谓无价之宝,它只是让程序员用看起来好像是代码的符号编写程序,而不是用无穷无尽、令人眼花缭乱的数字1和0去写。

丹尼斯和斯托克曼共同编写的另一个程序是个比较新的工具——调试器。TX-0本身自带一个名为UT-3的调试程序,利用这个程序,用户可以直接将命令通过Flexowriter电传打字机输入到计算机中,进而赋予了这名用户在计算机运行过程中与其交互的能力。但是,UT-3存在不少非常严重的问题,例如,它只能“读懂”使用八进制输入的代码。所谓“八进制”就是基于8个数字的系统(与此形成对照的是基于2个数字的二进制系统,还有我们日常使用的基于10个数字的十进制系统),这个系统使用起来相当复杂。因此丹尼斯和斯托克曼决心写一个比UT-3更好用的调试器。有了这种调试器,用户就可以使用符号,即较为易懂的汇编语言编写程序了。他们两人编写的程序名为“FLIT”,它可以帮助用户在程序运行期间发现和修改错误,保证程序能够运行下去。(丹尼斯解释说:“FLIT”代表Flexowriter Interrogation Tape,但很明显,这个名字起源于一种同名的杀虫剂。)和UT-3相比,FLIT是一次飞跃,因为它解开了束缚程序员的枷锁,就像音乐家能够用他们的乐器进行创作一样,程序员可以在计算机上进行最原始的创作了。尽管FLIT需要占用TX-0总共4096个“字”内存的1/3,但有了这种调试器,黑客便可以随心所欲地创造出新的、更为大胆的编程风格。

那么,那些黑客自己的程序又做了些什么呢?有时,它们做什么真的一点也不重要。彼得·萨姆森整晚都在编写一个即时将阿拉伯数字转换成罗马数字的程序。杰克·丹尼斯在看了萨姆森的“壮举”之后,对他的编程技巧表示由衷的钦佩,说:“上帝,为什么会有人想做这样一件事?”不过丹尼斯知道为什么。萨姆森在将纸带输送到计算机中,然后观察着闪烁的灯光和开关,接着看到一度在黑板上平淡无奇的、古老的阿拉伯数字变回罗马人发明的那种数字的时候,那种浑身充满力量的感觉和巨大的成就感便是这一切的原动力。

其实,正是杰克·丹尼斯向萨姆森建议,利用TX-0计算机向扬声器发送声音的能力将会有超乎想象的广泛用途。虽然没有内置用于定调、控制振幅或调节音质等的控制器,但却有办法指挥扬声器——在任意一毫秒内,是否发声取决于TX-0累加器中每个18位“字”的第14位的状态。声音的开与关取决于第14位是1还是0。因此,萨姆森着手开始编写让每个“字”第14位的二进制数以不同的方式变化的程序,以此产生不同的声调。

当年,美国只有很少几个人一直在进行用计算机演奏各种类型乐曲的实验,他们所采用的方法哪怕让计算机演奏出一个音符都需要极大的计算量。很多人警告萨姆森,认为他在这方面的努力无异于逆水行舟。但萨姆森对此类言论表现得非常不耐烦,他想要计算机立刻就能演奏出乐曲来。于是他学习控制那个累加器中第14位数字的方法,想要像查理·帕克操纵萨克斯管那样让计算机也对他俯首帖耳。在这款音乐编辑器的后期版本中,他给这个程序增加了新的功能:如果你在编程中犯了一个语法错误,Flexowriter就会使用红色的墨带打印出“To err is human to forgive divine.”(人非圣贤,孰能无过?)

当黑客圈以外的人听到约翰·塞巴斯蒂安·巴赫那悦耳的旋律竟然以单声部、单音频的方波形式播放,且毫无和谐可言的时候,几乎都无动于衷。这是平地的一声惊雷!这可是台价值300万美元的大型计算机,为什么它不能完成一个价值5美元的玩具钢琴也能完成的小事儿呢?彼得·萨姆森几乎是另辟蹊径,颠覆了有史以来音乐制作的基本流程,跟那些局外人讲这些无异于对牛弹琴。音乐一直是通过直接制造振动(即声音)得到的。而萨姆森的程序只不过是将一大堆数字(或者说是无数输入到计算机里的位信息)组合成一段代码,音乐便蕴涵在这段代码之中。你就算盯着这段代码几个小时也不可能琢磨出音乐到底藏在哪儿。TX-0计算机由大量金属、电线和硅片组成,在这些元件中藏着个累加器,只有在累加器中进行数百万次令人眼花缭乱的快速数据交换以后,这段音乐才能播放出来。这台计算机本身并不十分清楚怎样使用声音,现在萨姆森要求它用歌声提升自己的价值,这台TX-0乖乖地照办了。

因此,计算机程序不仅仅被比作音乐作品,严格来说,它本身就是一部音乐作品。这样的计算机程序看起来好像和能够得到复杂的数学计算结果和进行数据分析的程序没什么两样,并且事实上两者确实没什么两样。萨姆森塞进计算机里的那些数字是可以制造出任何东西(不管是巴赫的赋格曲还是防空系统)的通用语言。

萨姆森并没有对外界透露他的所作所为,而那些外人对他的成就也丝毫不感兴趣。连黑客们自己也不谈论这件事——我们甚至还不清楚他们是否在如此广泛的意义上审视过这一成就。彼得·萨姆森做成了这件事,他的同事也对他的成就表示钦佩,因为这段程序编得非常精妙,仅凭这一个理由就足够了。

……

鲍勃·桑德斯,秃顶、大腹便便,是TX-0的忠实信徒、TMRC S&P小组的负责人,也是一名乐于钻研系统的学生。对于像他这样的黑客来说,这就是一种“完美的生活”。桑德斯在芝加哥郊区长大,自打记事起,电学原理和电话电路便一直吸引着他。进入MIT之前,桑德斯找到了一份理想的暑期工作——为电话公司安装办公室电话总机。一连8个小时,他兴致勃勃地拿着烙铁和钳子在各种系统内忙碌着。虽然午饭时间暂时中止了他的田园诗般的工作,但他还是会抓紧这段时间埋头研究电话公司的手册。正是铁路模型下方的电话公司设备让桑德斯下定决心要在俱乐部中发挥自己的作用。

虽然是高年级学生,但桑德斯在自己的大学生涯里接触到TX-0计算机的时间比考托克和萨姆森都要晚:因为他抓紧每分每秒建立自己的社交关系网,包括向玛吉·弗伦奇求婚并最终走向婚姻的殿堂。玛吉·弗伦奇当时已经为一个研究项目做了部分和计算机有关的工作了(但她的工作还够不上称为“hack”)。尽管社交占用了桑德斯很多时间,但TX-0还是他大学生活的中心。他和普通的黑客一样,也因多次旷课而成绩越来越差。可他并没有对此过于在意,因为他十分清楚自己已经从26号楼240房间Tixo控制台的后面得到了真正的教育。多年以后,他将自己和其他黑客定位为“一群精英”。“其他人逃课,整天待在四层高的楼房里做些没任何用处的东西:要么到物理实验室将小球扔向另一个物体,要么随便做些什么。我们只不过不关心别人正在做什么,因为我们对他们的所作所为不感兴趣。他们研究他们的,我们研究我们的。虽然大家研究的东西很大一部分并不是我们的正式课程,但总的来说我们觉得这一点都不重要。”

黑客们通常昼伏夜出,这是唯一一个充分利用重要的TX-0“业余时间”的方法。白天,桑德斯常常设法在一两节课上露一下脸,然后做些“基本的维护”工作,比如吃饭和上厕所,也许还要到玛吉那里腻上一阵子,不过最后他总是能回到26号楼。在这里,他会重新浏览一遍前晚编的程序,用9.5英寸宽的Flexowriter专用打印纸打印出来,然后在程序清单上圈圈点点,将代码按照他自己的理解升级到下一个操作阶段。时候差不多了,他也许还要到TMRC泡一会儿,拿自己的程序和别人的交换,大家相互看看别人有什么新点子或程序错误。接下来,桑德斯就又回到26号楼TX-0隔壁的Kluge Room,找一台空闲的Flexowriter来修改自己的程序代码。就算自己忙着,他也不会忘了随时去看看是不是有人取消了1小时的上机时间。他自己的上机时间一般都在凌晨2点或3点。他会在Kluge Room一直等着,或者回俱乐部打上几圈桥牌,直到有机会上机为止。

坐在控制台面前,你的对面就是装有计算机晶体管的金属架子,上面每一只晶体管表示内存中某个数位为1还是0。桑德斯打开Flexowriter电传打字机,打字机会首先打出欢迎语——“WALRUS”,那是萨姆森为了向刘易斯·卡洛尔的一句诗“时间到了,海象(Walrus)说……”致敬。看着这条欢迎语,桑德斯会一边笑着一边拉开抽屉,拿出保存着汇编程序的纸带并送到纸带读取器中。现在,计算机已经准备要开始处理他的程序了,于是他把用Flexowriter打印出来的纸带输入到计算机中。当计算机把他的程序从“源代码”(使用汇编语言)转换成“目标”代码(二进制代码)的时候(即在另一条纸带上击打出二进制代码),他总是盯着那些不停闪烁的灯光。由于这根纸带上是用TX-0能够理解的语言目标代码书写的,因此可以将其直接送入计算机中,期待着程序的运行结果完美无缺。

这时候,很可能有几个黑客在旁边七嘴八舌,他们手里拿着从楼下自动售货机里买来的可口可乐和垃圾食品,一边笑一边开着玩笑。桑德斯喜欢柠檬口味的果冻蛋糕(其他人把这种蛋糕称作“柠檬糊糊”)。不过在凌晨4点的时候,任何食品都是美味珍馐。当程序开始运行,指示灯一闪一闪地发光,扬声器按照累加寄存器第14位的内容传出或高或低的嗡嗡声的时候,所有人都目不转睛地看着这一切。程序汇编完并运行后,桑德斯通过CRT显示器首先看到的就是程序崩溃的信息。于是他伸手拉开抽屉,找到保存着FLIT调试器的纸带,将它送入计算机。接着这台计算机就变成了一台具有调试功能的机器,然后他再次输入自己的程序。现在,他可以试着查看哪里出了问题。假如幸运的话,他找出了问题所在,就可以输入几条命令,或按照正确的顺序拨动控制台上的开关,或者用Flexowriter输入一些代码来修改自己的程序。一旦程序运行顺利(假如某种修改方案生效的话,假如他将整间屋子的晶体管、电线、金属和电流通通组合在一起,让它们按照他的设计方案精确地输出运行结果,那么效果总是令人非常满意),他还会尝试让自己的程序能够更完美一些。在他的上机时间结束后(总是会有人跃跃欲试地等着轮到自己上机),桑德斯会利用接下来的几个小时分析程序失败的原因。

在每天上机的高峰时段,黑客们总是非常紧张地工作,但这之前和之后的数小时内,他们也可以进入一种精神高度集中的状态。如果为计算机编写程序,你就必须十分清楚数千个表示信息的位会如何随着指令的变化而变化,并能预测它们的变化效果,甚至学会挖掘、利用其潜在的变化。

当你将所有这些信息印在大脑中以后,就好像将自己的意念和周围的环境(或计算机)完全融合在了一起。有时,你需要好几个小时才能在自己的大脑中把所有指令连成一个整体。一旦到了这个时候,你会非常舍不得结束这种来之不易的状态,你会继续在计算机上工作,或者到隔壁找台空闲的Flexowriter打字机把程序打印出来再细细地琢磨。你甚至会把这种精神高度集中的状态延续到第二天。

然而不可避免的是,这种“天人合一”情绪已经影响到黑客计算工作以外的方方面面了。由于部分痴迷Tixo计算机的人加入了TMRC,“刻刀和画笔”小组指专门制作火车模型并上色的那部分成员。的人对此十分不满:他们将那些TX-0黑客视为旨在破坏这个俱乐部的特洛伊木马,认为他们想把俱乐部的工作中心从铁路转向计算。如果参加每周二下午5点15分召开的俱乐部会议,你就能看到这种担心:黑客们总是抓住每一个可能的议题把会议搞得像他们在TX-0上编写的程序一样复杂。他们所提出的动议只是为了提出别的动议,而别的动议又再提出另外的动议。他们反对被裁定为违反会议规则,好像它们是大量的计算机错误一样。1959年11月24日那次会议的会议纪要中便记着这么一条:“我们不赞成某些成员促进俱乐部发展的做法,他们过于强调技术研究而疏于阅读《罗伯特议事规则》该书由亨利·马丁·罗伯特编写,主要讲有关开会的各项规则,包括会议主席的规则、会议秘书的规则,也有针对不同意见的提出和表达的规则,还有辩论的规则和表决的规则等。至今已经修订过多次。。”萨姆森便是违反规则最严重的成员之一,有时,甚至有一位怒气冲冲的俱乐部成员提出一项动议,要“买个塞子堵住萨姆森喋喋不休、大放厥词的嘴”。

把会议议程搞乱不过是一个示例,编程所需的逻辑思维方式也影响到了普通活动。你可以向黑客提问并能够感受到他脑中的累加器正在处理每一个数位,最终他会用最为精准的答案回答你的问题。玛吉(此时,她已经是桑德斯的妻子了)每周六上午都会开着自己的大众车到西夫韦超市去采购,当她回来的时候会问自己的丈夫:“你愿意帮我把车上的东西搬进来吗?”鲍勃·桑德斯回答道:“不能。”前几次玛吉觉得十分惊讶,不过还是自己将采购的东西搬进屋子。不过同样的事情发生几次后,她终于忍不住发怒了,气呼呼地冲他大发脾气,质问他为什么对她的要求说“不”。

“你问的其实是个愚蠢的问题,”他回答说,“我当然不愿意帮你把采购的东西搬进来啦。但如果你把‘愿意’两字去掉,问我是否帮你把这些东西搬进来,那就是另一回事了。”

玛吉就好像把一段程序输入到了TX-0中,结果这段程序崩溃了(如果语法错误,程序总是如此)。只有当她“调试”了自己的问题以后,鲍勃·桑德斯才会让这段“程序”在他自己大脑里的“计算机”中顺利运行。