2020年5月份,人民邮电出版社的杨海玲老师找到我,问我有没有兴趣翻译一本题为 UNIX: A History and a Memoir的书。我已经十年没有做图书翻译,但了解到这本书作者是Brian W. Kernighan之后,确实有了翻译的冲动。
BWK是谁呢?他是UNIX早期核心开发组成员,和C语言发明人Dennis Ritchie写了经典的C Programming Language图书,是那个璀璨时代的亲历者。
这位老爷子要求几位候选译者发英文简历给他,由他决定谁承担中文版翻译工作。很幸运,我被挑中了。中文版于2021年初面世,总算完成一件有价值的事。BWK在中文版给读者的话及新书发布会视频贺词中都提到我的名字,这令我倍感自豪。
书中提到许多人和事。篇幅所限,并没有全面敞开写。我在翻译过程中查阅了一些资料,略说几件,作为这本书的花絮吧。
价值12000美元的米格战机之旅
书中写道:1992年十二月,肯和弗雷德·格兰姆帕到莫斯科驾驶一台米格29战机,比起他们平时开的塞斯纳飞机更上层楼。
这事发生在1992年十二月11~17日。他们通过Fly-with-us公司,每人交12000美元(不含往返路费),踏上莫斯科米格战机之旅。以每加仑牛奶价格计算,1992年12000美元购买力大概相当于现在的4-6万美元。在那一周里面,他们游览了景点,在L39教练机上学习,还分别体验了30分钟米格29战机。
肯回来后,专门写了一篇文章,记录这次难忘的旅行。文章链接是http://genius.cat-v.org/ken-thompson/mig,有兴趣的读者可以自行阅读。仅从写作的角度看,这篇文章也饶有趣味。尤其是关于在米格战机上体验的部分,军迷们应该都会很有兴趣。就说一点:俄军飞行员掌舵时,带他来了一次眼镜蛇机动。这可以算是任何飞行爱好者的高光时刻了。在文章末尾,肯评价这次旅行说:Was it worth it? Yes. Would I do it again? No.(这次旅行物有所值吗?是的。我会再来一次吗?不。)
神秘人M- L-先生
在写“Unix房间”的章节中,作者提到,“1127以外的Unix早期拥趸中,有一位非常杰出的理论物理学家。为逝者讳,姑且叫他做‘M- L-’ 好了。M- L-渴望使用Unix,他预见到物理学研究将大量使用计算机。他善良而大方,就是话多,能听得你耳朵起茧子。只要他一开口,就谁也就没有办法拦得住之后一个小时的独白。于是,有人在Unix房间的门上挖了一个小孔,这样我们就可以在进门前窥视一下,看看他是否在里面。这就是所谓的‘L-洞’。”
这位M- L-先生是何许人也呢?我查了一些资料,发现有可能是梅尔文·拉克斯(Melvin Lax)。拉克斯是纽约城市学院的杰出物理学教授,并于1983年当选为国家科学院院士。1962年至1964年,他担任贝尔实验室理论物理系主任。
拉克斯不但是杰出的理论物理学家,还是狂热的计算机技术爱好者。他推动美国物理学会接受使用Troff排版的论文,为以后TeX的普遍使用开拓了道路。《UNIX传奇》中也写了Troff(而且这本书的英文原版也是用Troff的后续版本Groff排版):
“为了驱动排版机,乔为Nroff写了个他称之为Troff的重要扩展。“T”代表排版机(typesetter),整个词念做tee-roff。Troff语言刁钻晦涩,只有很少人精通,但只要学会技巧、保持耐心,就能让它完成任何格式化任务。实际上,Troff是为特殊型号计算机设计的汇编语言,所以大多数人通过宏包来使用它。宏包封装了常用的格式化操作,如标题、章节标题、段落、编号列表等等。宏成了一种底层Troff命令之上的高级语言。”
拉克斯是UNIX专家。他在纽约城市大学装了UNIX系统。同事Michael Lubell问他,纽约城市大学的UNIX为什么比耶鲁大学的VMS要好时,拉克斯张口就讲了几个钟头,还找出一大堆书和笔记给Lubell,说:“花几天时间读读你就知道了。”Lubell后来说:“几天?对梅尔来说,也许是这样。对我来说,这是一年的工作。”
千面彼得
贝尔实验室计算研究中心气氛宽松,研究人员们像孩子一样调皮。《UNIX传奇》写道:
“1985年,彼得·温伯格晋升为1127主任。公司内刊《贝尔实验室新闻》为他拍摄了一张专业照片。千不该万不该,彼得错将这张肖像照留在了Unix房间。很快,他的尊容就在Unix房间遍地开花。”
“在AT&T揭晓公司新徽标后的几周内,汤姆·达夫(Tom Duff)弄了一个彼得徽标,从此成为我们中心的象征符号。”
这张脸随后被印到很多地方:楼梯拐角、水泥地面、光盘、杂志封面、电路板……
无论在东方还是西方,“上级”怎么说都有一些权威性。将上级的脸到处印,还真不是一般人干得出来的事。好玩的是,彼得对此也没有反对或者给谁穿小鞋。甚至还亲自出马做了脸部倒模,用来创建3D模型。
高潮发生在1985年9月16日夜间。贝尔实验室的一个水塔上出现了彼得脸。虽然很快被抹去,还是很多人看到和拍了照。
是谁干的已不可索解。事发后,Doug McIlroy收到一份报销申请,要求为水塔画的颜料支付费用。McIlroy继续往上传。Vic Vyssotsky以自己无权审批为由终止申请。这张单据的申请人落款是G R Emlin。然而,贝尔实验室却没有这号人物。
神秘人Grace R. Emlin
G R Emlin = Grace R. Emlin,一个虚拟人物。当年贝尔实验室开始要求员工佩戴身份胸牌,很多人对此非常反感,想出各种方式表达抗议。《UNIX传奇》中写道:
“有位同事(在此隐去姓名)用万能胶把胸牌粘在额头上,还有一位则把胸牌别在胸毛上,被要求出示时才露出来。
胸牌没有安全鉴证功能,只是在模板中填了张相片。因此,我们虚构了一位叫格蕾丝·R·艾姆林(Grace R Emlin)的人,她的系统登录名为gre ,还有自己的胸牌,并不时出现在官方名单和出版物上。”
Grace Emlin形象来自gremlin,一种小魔怪。从名字拼写上也可以看得出来其来源。关于gremlin的传说肇始于航空时代开始没多久。那时,飞机的制造还处于很粗糙的阶段,常常发生故障。人们半开玩笑地编造出gremin,说这种小魔怪生活在飞机中,喜欢破坏飞机部件。就像当程序发生故障时,程序员就会说“都是宇宙射线的错”一样。
1984年,华纳公司出品了电影Gremlins。我怀疑这部电影启发了1127某位仁兄,才搞出Emlin来。
Grace Emlin在1127有自己的信箱。有人还真用她的胸牌进过办公楼。在Brian Kernighan的著作中,不止一次向她致谢。《UNIX传奇》里面也致谢了。Gerald Holzman还把Grace Emlin加到了1127中心同事录(https://www.spinroot.com/gerard/1127_alumni.html)。在这份列表中,Emlin的状态是“已移居。证人保护计划。”很扯又符合1127中心一贯风格。
2020年上画的电影Shadow in the Cloud(《云中阴影》)中也出现了gremlin,形象狰狞、凶狠。在影片最后,女主角徒手干掉了一只gremlin,折射出女权主题。
捉弄诺贝尔奖得主
《UNIX传奇》中写道:
“罗伯·派克和丹尼斯·里奇带着十几个人,在专业魔术师潘恩(Penn)和特勒(Teller)的帮助下,戏弄了阿尔诺·彭齐亚斯。”
Dennis Ritchie写了一篇文章(http://www.bell-labs.com/usr/dmr/www/labscam.html)来记录。油管上可以看到当年Penn和Teller制作的视频(http://www.youtube.com/watch?v=if9YpJZacGI)。整个过程是这样的:
Rob Pike假装做了一套语音识别和人工智能系统,邀请Arno Penzias来观看演示。一番表演后,Penzias以为Rob Pike真的做出这套系统,虽然常常辨识错误(实际上就是Dennis RItchie在另一房间操作电脑),但好像勉强可用。Pike说电脑里有一段录像,系统能够从录像中自动截取片段,回答用户提问。其实根本没有录好的视频,当Penzias提问时,魔术师Penn和Teller就在隔壁房间回答,通过摄像机直播给Penzias看。Rob Pike让Penzias叫“录像”里的魔术师表演个节目,Penzias照办。两位魔术师穿过走廊,出现在Penzias面前,假装是从录像里走出来的。Penzias过了半个小时才搞明白,原来语音识别什么的纯属子虚乌有。
原视频长达8分钟,我将其剪为3分来钟的精简版,关键节点配上中文解释,供不便上油管或者听英语有困难的朋友观看。
在视频结尾的字幕上,Brian Kernighan的职务是“灯光师”。Ken Thompson、Dennis Ritchie和UNIX核心开发组成员们也是灯光师,他们创造的UNIX照亮了未来数十年计算机操作系统发展之路。我们这些IT从业者,也要像灯光师,努力照亮自己、照亮他人,用IT创造未来、改变世界。