你有没有认识过这样的人:他们的技术才华被个人缺点所掩盖?这就是汉斯·赖泽的故事,他是一位软件开发者,致力于创建一个卓越的Linux文件系统,但他的难以相处的人格却妨碍了他的成功。2006年,他的妻子妮娜失踪了。调查指向赖泽,最终他被判犯有谋杀罪,震惊了科技界。赖泽的故事提醒我们,技术技能和个人正直需要齐头并进。在狱中,他反思了自己的错误,认识到同理心和合作的重要性。他曾经的遗产是创新,现在却变成了一个警示故事。节目页面支持节目订阅播客加入通讯 </context> <raw_text>0 欢迎收听Co-Recursive。我是亚当·戈登-贝尔。今天的节目讲述的是一个软件构建的故事。我和妻子经常就人和他们的性格进行辩论。有时讨论的层面很高,比如你能将迈克尔·杰克逊的音乐和他所做的事情分开吗?《比莉·简》是一首伟大的歌曲,还是受到了玷污?但通常情况下,讨论会更具体一些。有时,有些人会给她不好的感觉,而我不太擅长判断人的性格。我会给人们以最大的善意
有时她会立刻知道她对某人的看法,并且知道有什么不对劲,但她并不总是对的。但我的意思是,她不会听这个的。所以是的,实际上她总是对的。只是我通常需要时间才能意识到她在说什么。但无论如何,我发誓,这和主题有关。所以是2024年1月下旬,我坐在办公桌前,从一个链接跳转到另一个链接。我最终来到了Linux内核邮件列表。
LKML,对吧?大部分内容实际上是补丁。有一封邮件的标题是“合并标签计时器v6”,然后是一条消息:“新年快乐,请考虑拉取这些更改。”然后就是一段文字补丁,就像一个差异,加上这一行代码,减去这一行代码。如果你愿意,可以使用git apply将这些补丁应用到自己的Linux源代码中。这就像一个拉取请求工作流程。但是的,这不是我收到的链接。我关注的链接是这样的。
我被一位善良的弗雷德里克·布伦南先生要求就从内核中移除Reiser FS V3的讨论发表我的评论。我没有直接发帖,因为我因在2006年杀害我的妻子妮娜而入狱。我对我的罪行深感抱歉。在这个论坛上,适当的道歉会偏离主题。那是汉斯·赖泽。
声音是人工智能生成的。除了我之外,今天节目中的每个人都是电脑生成的。但是,这封信是对弗雷德里克·布伦南的提示的回应。RiserFS即将从内核中弃用,这意味着它即将被淘汰。它已经过时了。它将被移除。而汉斯·赖泽,它的创造者,则因谋杀罪入狱。事实上,文件系统、这个人和谋杀案都紧密地联系在一起。它们是相互关联的。
信中继续写道。他引导人们关注Riser 4,这是比内核中版本更新的版本。他说,它是文件系统未来更易于维护的基础。然后他滔滔不绝地写了几千字,讲述了技术挑战、人际冲突、所犯的错误、他曾经的梦想以及他失去的生活。这是一件意想不到的事情。一封来自被判犯有谋杀罪的罪犯的信,出现在通常只有补丁的科技邮件列表中。
它让我们瞥见了代码背后的人性故事。这是一个试图解释自己并努力与过去抗争的人。一个想知道救赎是否可能的人,因为他只是想对文件系统做一些简单的改进才走上了这条道路。讲述RiserFS、汉斯以及他的妻子兼受害者妮娜的故事有很多种方法。关于这个主题,已经有整本书写了。但我讲述故事的方式
我想告诉你,你不能把人和作品分开,不能把人和代码分开。你不能把技术和社会分开。你不能在一个领域是怪物,而不在其他领域是怪物。这一切都混杂在一起。这就是今天的故事。
所以想象一下,这是20世纪90年代,互联网正在兴起,Linux这个免费的开源操作系统正在获得关注。程序员正在构建各种新事物,网站、应用程序、工具。所有这些东西,尤其是在Linux上,都是由文件组成的,大量的文件。Linux是如何跟踪所有这些文件的呢?当然是用文件系统。那时,流行的Linux文件系统是ext2。
它还可以,对吧?它能工作,但它也有问题。
如果你不知道,在底层,文件系统就像你磁盘的图书管理员。它帮助组织事物。如果我想在我的收藏中添加一本新书,图书馆必须找到一个空架子并把它放在那里。但是图书管理员还必须更新卡片目录,详细说明它把书放在哪里,否则当我将来索要时,它就永远找不到它了。这个卡片目录,文件系统上内容的索引非常重要。它就像你的目录列表。
现在想象一下,你正在这样做,然后突然,砰的一声,电源闪烁,灯灭了,发生了停电。电源恢复后,你的图书馆是什么状态呢?也许图书管理员找到了书架空间,但没有把书放进去。也许书在书架上,但图书管理员没有更新目录。也许他们正在写卡片目录条目的一半,一切都处于这种奇怪的半成品状态。
当你的电脑崩溃时,那时经常发生这种情况,你会遇到一团糟,对吧?标记为已存储的文件,但实际上并不存在。已存储但未正确记录的文件。一片混乱。所以如果你的电脑崩溃了,你必须运行这个东西,文件系统检查,F-S-C-K。这可能需要几个小时,因为它要遍历所有这些数据并进行纠正。在一个大型磁盘上,这可能需要几个小时。可能需要一整天。而且磁盘越来越大了。
然后是性能问题。大型目录中会有很多文件。而EFT2会慢得像蜗牛一样。它使用链表来组织这些目录。如果你做过编码练习,你会知道逐个节点遍历链表会花费很多时间。但是的,那是1993年。互联网热潮还没有到来。还没有网景公司IPO。
汉斯在加利福尼亚州的奥克兰。他在旧金山湾对面,在一个杂乱的家庭办公室里,里面摆满了电脑显示器、成堆的书籍,以及冷却风扇的嗡嗡声。他关心开源。他非常关心Linux。他想构建一个更好的文件系统,比现有的任何文件系统都快、更高效、更优雅。但构建文件系统并不是一项单人工作。这可能需要一个团队。而汉斯没有很多钱。
他正在自力更生地开展这项工作。他做着日常工作,并将所有空闲时间都投入到创建新的文件系统中。然后他有了这个主意。苏联刚刚解体,他读到一篇关于苏联程序员的文章,这些才华横溢的程序员在解体后几乎没有报酬地工作。汉斯看到了一个机会,于是他立即订了一张飞往莫斯科的机票。
1993年的莫斯科是一个有趣的地方,对吧?由于1991年发生了解体,一切都变了。而这位美国程序员,这位戴着牛仔帽的家伙,走进了他不太了解的世界。他真的在莫斯科戴着牛仔帽来突出他的美国身份。他试图组建一个团队。他试图找到这些聪明而廉价的开发者。他想传达他的愿景,并在这个与他自己的文化完全不同的文化中航行。
他是莫斯科的美国人,他很显眼,他并没有融入其中。他正在声明他的美国身份。所以他找到了他的程序员,他正在用微薄的预算做这件事。所以他付给这些程序员的报酬只是他们在美国报酬的一小部分。但对他们来说,这是一个大幅度的加薪。
汉斯正在努力工作以保持资金的流入。他在Synopsys工作,然后在Sun Microsystems工作。他承担合同工作。他在新泽西州的一个研究中心兼职,往返于美国各地,往返于美国和俄罗斯之间,只是为了资助这个团队,以实现他的文件系统梦想。有一段时间,
这似乎是可行的。团队正在取得进展。代码正在汇集。Riser FS正在成形。但当时的分布式远程工作很困难,所以他必须往返于美国和俄罗斯之间。他必须检查团队。他必须确保代码符合他的标准,算法是高效的。他正在努力推动他们,并且要求卓越,因为他知道在文件系统中没有第二名的空间。
但地基出现了裂缝。存在文化差异。存在沟通障碍,以及管理远程团队的挑战。这些事情开始困扰着他。他习惯于按照自己的方式行事,完全掌控一切。在俄罗斯,他在这方面遇到了麻烦。
但他坚持了几年。快进到1998年3月,汉斯回到了俄罗斯,但现在他在圣彼得堡。他坐在运河旁的一家咖啡馆里,遇到了一位女士,妮娜·沙拉诺娃。她是一位邮购新娘,汉斯对她一见钟情,她的声音、笑容和智慧。她是一位医生。她是一位妇产科医生。她似乎是他所寻找的一切,一位聪明、智慧的女人。
所以他们结婚了。这是一场短暂的求爱,一场仓促安排的婚礼,妮娜很快就怀上了他们的第一个孩子罗里,罗里于1999年9月出生。这对汉斯来说是一个快乐的新篇章。他现在有妻子和孩子,他在俄罗斯有团队,他们正在文件系统方面取得巨大进展。文件系统具有日志记录功能,这是一个古老的想法。你知道,在图书管理员将书上架然后编写卡片目录之前,图书管理员会在日记中写下他们将要做什么。
所以如果电源中断,如果出现问题,你可以通过查看日记中的内容来恢复。RiserFS,他的文件系统,它还使用B树来组织目录。因此,没有缓慢的文件列表。但RiserFS最大的技巧是,在某些情况下,它通过更高效地做事来创建更多的磁盘空间。这是一件大事。但同时,汉斯野心的代价也开始显现。
因为如果你倒带,如果你回到80年代后期,在RiserFS之前,在他创建的Namesys公司之前,就已经出现了警告信号。一些小的,有时是大的社会故障。它们与技术无关,不完全是,它们更多的是关于汉斯的。因为当汉斯在加州大学伯克利分校时,他是学生运营的组织开放计算设施(OCF)的一员。
它位于埃文斯大厅的地下室,那里排列着嗡嗡作响的电脑,头顶上是嗡嗡作响的荧光灯。对汉斯和许多其他人来说,这是一个避风港,一个编写代码、构建和创造的地方,一个致力于开源和开放访问的地方。OCF是由志愿者运营的,汉斯积极参与其中。他甚至设法获得了一笔工作站捐款。
但OCF不仅仅是关于技术的,对吧?这是一个共享空间。这是一个社区。它关乎人们一起工作、分享想法、分享资源,并创造比他们自己更大的东西。它是开源的。它依靠合作蓬勃发展。而汉斯,他并不真正理解这一点。他很聪明,是的,但他也有这种强烈的人格。他很傲慢。他想要控制,而且他不善于与他人相处。
有很多这样的故事,比如他因为一个本科生在Usenet上发布了他不同意的消息而将他从系统中踢出的时间,或者他在发生一些分歧后对同事进行人身攻击的时间,或者会议记录的标题像“汉斯抱怨”和“地球震动”一样。这些不仅仅是孤立的事件。这是一个模式。一位前用户这样说:“他表现得好像他拥有开放计算设施,每个人都应该对他俯首称臣。”
另一个人说,他故意表现得刻薄、卑鄙、傲慢和心胸狭窄。这些都是迹象,对吧?缺乏良好融合的人的迹象。缺乏情商的人的迹象。当某人很聪明,很有天赋时,这些迹象往往会被合理化。
但是,是的,Namesys和汉斯,当他们到达RiserFS的第3版时,他们真的有所成就。Linux内核版本2.4.1包含Riser作为选项。突然之间,这段代码有了分发。由于它是第一个具有日志记录功能的Linux文件系统,因此它是人们使用的可靠选择。但是,是的,让它真正令人兴奋的是Namesys或汉斯的创新,称为尾部打包。
我觉得我会有点厌倦这个图书管理员的比喻,但这里有:想象一下,我们的图书管理员的书架被分成与中等大小的精装书大小相同的块。所以我们称之为块,大多数文件系统都有4千字节的块。这就是硬盘的工作方式,对吧?每个小区域都是一个块。我们通过某种索引来寻址它们。
卡片目录中的图书管理员实际上正在写下存储书籍的块的地址。如果书大于块大小,那么图书管理员只需将书分成几部分,并根据需要放入尽可能多的块中。4千字节实际上很小,所以许多书都被分割成许多块。
如果你还记得小时候像我一样在Windows机器上运行碎片整理,碎片整理就是大型书籍需要分割时,书籍散布在整个图书馆,对吧?只有这么多空位,所以书籍分散在各处的块中。碎片整理是重新排列这些的过程,对吧?这样你一起使用的东西就彼此相邻,这样你就可以顺序读取它们,一切都会更快。
但尾部打包不同。这可能是某种有意的碎片化。这是一种处理小文件的技术。因为当你拥有所有这些略大于一个块的书时,你会得到这些小尾巴,这些对于初始块来说太大的小部分。与其将它们与书的其余部分一起存储,不如将它们全部存储在一起。你将所有这些书的小尾部打包到一个块中。
这有效地为你提供了更多空间,尤其是在你有很多小文件的情况下。因为想象一下,如果没有尾部打包,如果你存储的是小册子而不是书籍。你知道,每个块存储一个小册子,你留下了所有额外的空间。
但你可以将许多这些小册子打包到一个块中,然后节省空间。这很聪明,对吧?突然之间,如果你有很多小文件,你的硬盘上就有额外的空间了。由于日志记录,没有文件系统检查,更多空间。这是对EXT2的重大改进。
Linux社区喜欢它。公司表示赞扬。
SUSE Linux甚至将其作为默认文件系统。这意味着企业使用,例如大型客户和专业支持。SUSE正在为RiserFS承担他们的声誉。汉斯站在世界的顶峰,对吧?这是他的梦想,它正在成为现实。他的文件系统正在改变Linux的格局。他是开源社区的明星,并且获得了认可。
但即使在那时,随着RiserFS的兴起,也有一些流言蜚语,对吧?有关于数据损坏的传闻。人们担心可扩展性。然后是汉斯本人,对吧?他的个性,也许有一些缺陷。蜜月期过后,与妮娜的婚姻变得越来越艰难,因为当汉斯在莫斯科追求这些技术抱负时,
在奥克兰发生了其他事情。他的妻子独自一人,感到孤独。我们疯狂地相爱,直到我们的第一个孩子出生。但情况发生了变化。汉斯沉迷于他的工作。他大部分时间都在俄罗斯。妮娜独自一人在一个新的文化、一种新的语言、一个新的地方、一种新的生活中,抚养两个孩子。
这不仅仅是差异,还有冲突的期望。汉斯想要一个传统的妻子,一个会把她的事业放在一边,专注于抚养家庭的人。但妮娜有自己的梦想和抱负。汉斯不希望我在美国当医生。他希望我有六个孩子,然后我才能处理我的事业。他认为俄罗斯妇女会待在家里,全身心地投入到孩子身上。他不希望我学习考试。我知道当我嫁给他时,
我们认为我们可以改变对方。但他们不能。紧张和怨恨与日俱增。妮娜感到孤立,被困在一场让她窒息的婚姻中。与此同时,汉斯对改进文件系统的想法感到兴奋不已。或者也许他对Riser 3所处的位置感到不满。等级制度对人类来说并不适用,而分层命名空间的可扩展性极差。
汉斯想得更大。他有一个宏伟的愿景,一个关于计算机如何工作的近乎乌托邦式的想法。他看到了现有系统、应用程序之间的界限以及文件造成的数据孤岛的局限性。他想把它们全部拆除。他想构建更好的东西,更快的东西,更互联的东西。
他在谷歌做了一个演讲,他充满激情和热情,来回踱步,解释他的愿景。文件系统是操作系统的最中心命名空间。我想建议,命名空间通常就像道路和水道一样。他正在基于一个想法,一个对经济学家亚当·斯密的类比。史密斯看到道路和水道如何连接城市。它们促进了贸易和交流,并推动了文明的进步。
汉斯认为文件与这种基础设施相同,它连接所有数据并允许应用程序进行通信,并为数字世界提供动力。他相信当前的基础设施不够好。
它支离破碎。它效率低下。命名空间是阻碍数据、阻碍进步的障碍。他想找到一个统一的命名空间,一个单一的互联系统,所有数据都可以访问,信息可以自由流动。
统一操作系统内的命名空间有点像寻找圣杯。即使我们永远无法成功地统一操作系统内的所有命名空间,但我们越接近它,我们的处境就比我们没有更接近它时要好。他获得了美国国防部高级研究计划局(DARPA)的资助。他们想要一个未来的文件系统,而汉斯想要构建一个可以处理任何事情的文件系统。
Riser 4不仅仅是一个文件系统,它是一个用于创建、组装和定制文件系统的软件框架。你的文件系统性能如何很大程度上取决于对其进行少量更改的难易程度,你进行的实验越多,你的性能就越高。
事实上,我很难从他的谷歌演讲中理解他的愿景,但我认为这有点像用数据库替换文件系统,其中文件可以轻松搜索和索引,并且它们具有易于更改的元数据,任何东西都可以看起来像其他任何东西。插件也是他计划的一个重要方面,它增加了一个全新的层次。很多。这是一个宏伟的愿景。
实际的存储层本身也与众不同。
对于某些接口,Riser 4以智能的方式进行切换,无需用户干预。因此,文件系统处于永久演变中,适应当前条件。所以是的,汉斯正在与他在俄罗斯的团队一起工作。漫漫长夜,无数的电子邮件,关于算法和数据结构的辩论。他正在努力推动他们。他要求完美。他希望Riser 4成为有史以来最好、最快、最革命性的文件系统。
但同时,他变得越来越孤立。他的沟通风格是他对愿景的无情追求。它正在团队中造成摩擦。他正在疏远同事。他正在推开盟友。警告信号出现了,而且比以往任何时候都更加明亮。
与此同时,妮娜的孤立感加剧了。她在奥克兰不认识很多人,汉斯则在俄罗斯追求他的文件系统统治梦想,让妮娜处理日常生活中的现实:两个年幼的孩子、一个新的国家、一种新的语言、一场失败的婚姻。妮娜开始在Craigslist上认识人。她试图在作为母亲的责任与对事业的渴望和自身需求之间取得平衡。
她白天在蒙特梭利学校做志愿者,那是她孩子们上的私立学校。这个地方完全是关于培养和以儿童为中心的学习。她正在做志愿者,她在教室里帮忙,她正在与其他家长联系,她试图在一个变得孤立和失控的生活中创造某种正常状态,某种稳定状态。
而在这个空虚中,肖恩的医生,汉斯最好的朋友,一个复杂的人,前卡车司机,自称前同性恋妓女,以及湾区S&M社区的曾经的固定人物出现了。后来,当警方介入时,当汉斯和妮娜的故事见诸新闻,每个人都蜂拥而至时,妮娜和肖恩婚外情的耸人听闻的细节成为了围绕此案的闹剧的一部分。
但实际上,他们的婚姻冲突和导致分居的紧张关系与婚外情关系不大,而更多的是与养育子女有关。罗里五岁了,他是一个聪明的孩子,但他也在挣扎。他做噩梦。他感到焦虑。他有行为问题。妮娜很担心。她带他去看治疗师。她接受了评估。她试图弄清楚发生了什么以及如何帮助他。
但汉斯不屑一顾。他认为妮娜反应过度。罗里的问题只是正常的,只是成长的一部分。他认为妮娜的担忧是他们在监护权争夺战中的策略,一种将他描绘成一个不关心的坏父亲的方式。我们的孩子几乎不认识他们的父亲,因为他一年只回家几个月,一年三次。
汉斯有自己关于养育子女的想法。他相信要让孩子们坚强起来,要让他们接触现实世界。他认为即使是暴力视频游戏也是一种教育工具,一种向罗里传授历史、策略以及支配和男子气概文化的方式。小男孩玩暴力电脑游戏就像猴子爬树一样。
他们并非无缘无故地拥有偏爱战斗排练活动的本能。他们拥有这些本能,因为这些本能在很大程度上影响着他们是否能活下来。妮娜的看法不同。她看到了噩梦、焦虑和怪物和士兵的图画,她看到一个正在挣扎的孩子,需要一个安全和有益的环境,而不是虚拟战场。
但冲突升级了。汉斯指责妮娜操纵罗里,让他与自己对抗。无论如何,他很忙。他必须往返于俄罗斯之间。他正在构建他完美的文件系统和他完美有序的数据世界。他正在努力奋斗的事情可能是他的野心的规模,因为他不想谈论现有的和广泛使用的RISER 3文件系统。
但他需要这样做,因为现有的V3版本,它的声誉是脆弱的,尤其是在硬件不完美的情况下。那是21世纪初。硬件并不完美。硬盘崩溃了。电源闪烁了。事情发生了。当事情发生时,RiserFS有时会崩溃。大型文件损坏。数据消失了。
Linux社区开始注意到这一点。他们开始在邮件列表和论坛上讨论。流言蜚语越来越大。RiserFS存在严重的可扩展性问题。那是SUSE开发者杰夫·马霍尼,他看到了墙上的字迹,对吧?他们必须支持这一点。RiserFS非常适合小文件,但它无法扩展。它无法处理这些越来越常见的Linux服务器的大型数据集和高容量工作负载。汉斯不屑一顾。
他不在乎。他对自己的新系统愿景有着近乎弥赛亚式的信念。他对修补旧系统不感兴趣。他有Riser 4,这是下一代文件系统。这是他的杰作,它将解决一切问题。代码难以维护,糟糕的代码需要从头重写。
所以他告诉Susi,他告诉Linux社区RiserFS已经过时了。他们需要转向4。他对妥协不感兴趣。他对合作不感兴趣。他有自己的方式,并且坚持下去。内核开发者们并不接受。他们看到了他的才华,但也看到了他的傲慢和他不善于在社区中工作的能力。Linux核心开发者艾伦·考克斯担心Riser4的长期生存能力。
Raser 4是否会导致崩溃并不重要。重要的是人们可以修复它们,并且代码易于维护。是的,如果汉斯消失了会发生什么?谁来维护这个复杂而非常规的文件系统?谁来修复错误,不可避免的崩溃?这里有一个巨大的信任因素,而汉斯对此不感兴趣或不理解建立这种信任的重要性。
如果Linux发行版,如果Sousa正在为其现有的文件系统销售付费企业支持,他们需要相信它有效。如果他们不相信,而且他不帮助维护或修复问题,他们为什么还要相信他的下一个想法呢?
但是,是的,汉斯对这个新的文件系统世界有自己的愿景,在这个世界中,所有以前的想法都被抛弃了。他不在乎这些社会因素和这些支持因素,或者那些被他得罪的人。它必须从头开始编写才能正确编写。那是汉斯在给内核邮件列表发信时说的。他正在考虑一个世界,在这个世界中,简单的搜索可以发现任何东西和所有东西,无论应用程序如何,无论文件格式如何。
但他与Linux内核开发者发生了冲突。他认为他们抗拒变化,无法理解他愿景的辉煌之处。你为什么认为内核开发者对操作系统中连接性的价值有深刻的理解?他们没有。普通的内核开发者并不特别聪明。内核开发者正在反击。Linux之父林纳斯·托瓦兹对此印象不佳。
称它们为插件,我怀疑很多其他人完全不感兴趣
对 Reiser4 不感兴趣,因为他们担心其复杂性、稳定性和长期生存能力,对吧?他们担心 Hans 无法合作和妥协。他们看到的是一个如此专注于自身愿景的人,以至于他忽略了在操作系统社区中工作的实际情况,即以 Linux 等广泛使用的操作系统内核的规模发布和维护代码。
与此同时,在家中,他指责 Nina 患有代理型孟乔森综合征和其他问题。除了作为谈判筹码,他根本不想要孩子。他在投射。他将自己的失败归咎于 Nina,归咎于他无法建立联系,无法产生同理心。他正在构建这个完美的系统,这个互联数据的世界,但他的世界正在瓦解。但是,是的,他做到了。他完成了 Reiser4。
Hans 展示了 Reiser4 的基准测试结果。对于小型文件(仍然是它的特长),它比 ext3 快得多。对于文件创建和删除等元数据操作,它也比其他 Linux 文件系统快得多。在其他基准测试中,例如大型文件、并发性,Hans 的所有这些基准测试都表明它可以比其他任何东西快两到三倍。
其他人对此表示异议。其他人发现他的基准测试侧重于非常具体的合成场景,在这些场景中,他的文件系统显然具有优势。但无论如何,它确实存在,并且确实具有优势。现在他只需要把它放到 Linux 内核中。所有异议现已得到解决。我请求将 Razer 4 包含在内。
他正在争取认可,并争取他的愿景被接受。这场斗争反映了他生活中正在进行的另一场斗争,即与 Nina 进行的残酷的子女抚养权之争。他们的电子邮件就像一个战场,我的意思是,在为抚养权而斗争的人中,这可能并不罕见。但他指责她患有代理型孟乔森综合征。他指责她为他们的儿子编造疾病。
除了作为谈判筹码,他根本不想要孩子。他们妨碍了他的事业。他认为她是操纵者,是他控制孩子的障碍。但 Nina 只是试图保护她的孩子,保护他们免受他日益古怪的行为的影响。她带 Rory 去接受治疗,并让他接受评估。
Rory 需要一个非常安全的环境。他需要茁壮成长。她向朋友表达了她的担忧。她担心这场持续的冲突会对孩子们造成影响,因为孩子们都看到了。她希望孩子们感到安全、被爱和被保护。她想为他们创造一个稳定、有益的环境,远离他们婚姻变成的有毒战场。
与此同时,Hans 被这场斗争、子女抚养权之争和 Reiser4 的争论所吞噬。所有这一切都在加剧他的愤怒、偏执和被迫害的感觉。美国最受憎恨的文化少数群体之一是男性极客。我厌倦了当沙包。
他感到被误解,感到受到不公平的对待,于是他大发雷霆,发送威胁性电子邮件。压力越来越大,他正在失去控制,他的世界正在失控。然后 Nina 消失了。2006 年 9 月 3 日。她把孩子们送到他家,一个普通的周日下午的交换,然后什么也没有了。她人间蒸发,无影无踪。
这就像一个文件系统损坏,一个系统崩溃,所有这些连接突然断裂。他的妻子,他孩子的母亲,消失了。这是一个被自己恶魔吞噬的聪明才智。他即将为自己的野心和顽固、孤立以及无法产生同理心和看到他追求控制的人性因素付出代价。
Nina 的朋友 Ellen 担心 Nina 第二天没有去学校接孩子。那天晚上,她打电话报警,报告人口失踪。她一定有怀疑,因为警察让她在他们在场的情况下给 Hans 打电话。她问他是否知道 Nina 在哪里。他立即说他想和他的律师谈谈。不是一个好兆头,对吧?不是一个好兆头。所以警察开始监视他。他们开始跟踪他,但他们也开始监听。
他们窃听了他的电话。在总部,线控室的警官轮班工作,戴着耳机,听着他每一次谈话,每一个窃窃私语。他们希望听到一些东西,任何东西,都能给他们带来突破,都能给他们提供线索,让他们知道 Nina 可能在哪里。
而他们听到的并非他们所期望的。这不是一个焦急的丈夫绝望地寻找他失踪的、虽然疏远的妻子时发出的疯狂呼叫。也不是与同谋密谋掩盖真相的低声谈话。是完全不同的东西。
是 Hans 在和他的母亲 Beverly 说话,抱怨和咆哮,不是关于 Nina 的失踪,而是关于 Nina 本人和抚养权之争、离婚以及她如何撒谎。
妈妈,她真的疯了。她真的疯了。你知道,她编造了这些疾病,因为她恨我。他很生气,很痛苦,很怨恨,他总是专注于自己受到了怎样的冤枉。他谈论 Nina 时用的是过去时,好像她已经不在了,而且他没有表现出任何悔恨或关心她。
他的母亲一直在试图引导他,提醒他,无论他们有什么不同,Nina 都不应该遭受任何事情。但 Hans 并不接受。他陷入了自己的叙述中。他专注于自己。
是的,做一个体面的人是一个错误,我为此付出了沉重的代价。我认为我的孩子不应该受到她的威胁。警官们正在监听。他们正在做笔记。他们正在记下时间、日期和文字。他们正在分析他的语气、语调、停顿和犹豫。他们正在构建一个档案,一个被愤怒吞噬的人的心理画像,一个非常关心赢得抚养权之争,而根本不关心寻找他失踪妻子的男人。
调查也随之加剧。他们搜查了 Hans 的家,不止一次,而是两次。他们在客厅的一根柱子上发现了 Nina 的血迹与 Hans 的血迹混合在一起。他们在他的车里发现了更多的血迹。他们在睡袋上发现了血迹。他们发现他的汽车副驾驶座位不见了。地板看起来湿漉漉的,被擦洗干净了。这一切都开始加起来。从噪音中出现了一种模式。
然后是一场汽车追逐。Hans 被发现驾驶着他母亲的本田车,在奥克兰山区进行了一场疯狂的追逐,躲闪和蜿蜒,试图摆脱追踪。他弃车而逃,穿过街区,消失在夜幕中,表现得像个有罪的人,被……
警察追捕,一个有事情要隐瞒的人。这对警察来说已经足够了,对吧?他们宣布 Hans Reiser 是嫌疑人,Nina 失踪了,媒体都在关注此事。闪光灯闪烁,麦克风伸向脸庞,随着公众审查的加剧,压力也越来越大。Hans 确实找到了他的律师,律师试图淡化证据。他称之为证据不足和间接证据。Hans 只是一个电脑高手。他有点古怪,但他不是杀人犯。
但警察知道他们抓到人了。他们只是在等待谜题的最后一块拼图到位。他们正在等待 Hans 崩溃并认罪,并带他们找到 Nina。但 Hans 不会说话。对他来说,真理并非一成不变。真理是一个等待赋值、等待更改、更新和递增的变量。随着调查的继续,一个问题悬而未决。Nina 在哪里?他们会找到她吗?
或者 Hans,这个革命性文件系统的架构师,会成为他自己逃脱的架构师吗?因为没有 Nina,他们只有间接证据。快进到 2007 年奥克兰的审判,尸体仍然没有找到,这是一个媒体狂欢。
检方有条不紊地陈述了他们的案情。他们向陪审团展示了 Nina 在消失前几个小时与孩子们一起购物的最后影像。他们出示了血迹证据,Nina 的血迹在 Hans 的家中,在他的车里。他们强调了他古怪的行为。他们一个接一个地传唤证人,每个人都描绘了一个有暴力倾向的人的形象。
辩方试图反驳这种说法。他们试图将 Nina 描绘成操纵者、不稳定的人,一个可能还活着、躲在某个地方惩罚他的女人。他们提到了她的婚外情,试图转移责任,制造合理的怀疑。他们谈论 Hans 的个性、怪癖和社交笨拙。他们说他不是杀人犯,他是一个程序员,好像所有软件开发人员都是这样的,好像我们都是这种暴力和危险的东西。
好像我们都很不稳定。然后 Hans 出庭作证。他穿着西装。他试图表现出镇定和清白。他讲述了他的故事。他讲述了他对真相的理解。他否认杀害 Nina。他说他不知道她在哪里。但在盘问的压力下,许多伪装都崩溃了。
他变得闪烁其词、居高临下和傲慢。他自相矛盾。他被发现撒谎。他承认犯有伪证罪。他承认隐瞒证据。他在回答关于他汽车失踪的副驾驶座位的提问时支支吾吾,提供了一系列不断变化的解释。是的,他的汽车座位不翼而飞,他无法提供任何真正的解释。车内浸透了水。看起来像是被擦洗和冲洗过。此外,车里和他的家里都有 Nina 的血迹。
他还随身携带护照和大量现金,放在腰包里。我的意思是,这都是间接证据,但是,拜托。他承认犯有伪证罪。他承认误导了陪审团。然后是丢失的硬盘。他在被捕前从电脑中取出了硬盘,并交给了他的律师。
然后是谋杀书籍。是的,谋杀书籍。《凶杀:一年中的杀戮街道》、《幕后:巴尔的摩凶杀案调查》(这本书最终导致了电视剧《火线》的制作),以及《谋杀杰作》,一本真实犯罪书籍。他用现金从当地一家 Barnes & Noble 书店一起购买了这两本书。他试图解释这些书,说他出于清白的傲慢而购买了它们。
这部分也许是真的,至少傲慢的部分是真的。他是一个聪明而自负的人,不关心别人,认为如果他制定了一个计划,如果他做了一些研究,他就能逃脱谋杀。甚至没有想过去当地书店购买所有关于谋杀的书籍以帮助制定计划的形象问题。然后是最后时刻的紧张气氛。宣判时间到了。陪审团做出了判决。有罪。一级谋杀。
Hans 被带走时大喊:“我一直是我所知道的最好的父亲。”这是最后一次努力来为不可原谅的行为辩护。Linux 社区正在关注这一切的发生,他们的反应各不相同。LWN.net(一个受人尊敬的 Linux 新闻网站)的编辑 Jonathan Corbett 撰写了一篇文章,分析了 Reiser 定罪的影响。
他谈到了 Reiser 的技术才能和创新理念,也谈到了他的缺点,他对社区其他成员的漠视,以及他总是正确的确定性。他承认这将是社区的损失,一个声音的损失,尽管它有缺陷,但它有一些独特而创新的东西要说。但在评论区,在在线论坛中,出现了不同的故事,一种原始的、未经过滤的、常常令人不安的反应。
因为有震惊,有不相信,但有时也有更黑暗的东西。一些评论关注技术影响。ReiserFS 会发生什么?Reiser4 会不会面世?其他人会接管这个项目还是会放弃?它会被其创造者的罪行玷污吗?有人谈到只是改名。与丑闻保持距离。
然后是笑话、黑色幽默、漫不经心的残忍以及人们希望他能够从监狱里继续开发他的文件系统。缺乏同理心,与事件核心的悲剧脱节。我的意思是,有些人确实对 Nina 和她的孩子表示了真诚的关心,但也有人非常担心对开源社区的影响,担心负面刻板印象,以及头条新闻大肆宣扬 Linux 开发人员是杀人犯。
社区领导人也保持沉默。他的遗产曾经是骄傲的源泉。现在却蒙羞了。他的才华曾经受到赞扬,但现在却没有人想谈论它。随着 Linux 社区努力应对所有这些余波,一个问题依然存在。当我们创建的代码,当我们构建的技术与人性的黑暗部分纠缠在一起时会发生什么?你该如何处理?
没有简单的答案,但仍然缺少一部分,故事中有一个巨大的漏洞,因为 Nina 的尸体没有找到。如果你相信 Hans,如果他的文件系统多年来一直为你服务良好,如果你看过他的 Google 演讲,如果你认为他是一个天才,一个值得敬佩的人,你可能会合理化一些事情。
他在证词中继续声称自己是无辜的,电脑人员可能很古怪,但我们不应该被认为是邪恶的,对吧?我认为有一段时间,有些人,像我这样的人,可能在高中不受欢迎,花了很多时间待在室内使用电脑,他们认同他的信息。他们认为也许 Hans 正在受到迫害,对吧?也许他只是被世界欺负的书呆子。
但随后是认罪协议。达成了一项协议,在 2008 年一个炎热的七月下午,一队警车蜿蜒穿过奥克兰山区,驶入红杉地区公园。他们带了一整个全副武装的突击队,他们的步枪扫描着灌木丛,一辆装有笼子的囚车里是 Hans,他被铐在他的律师身上。
他们到达一条路的尽头的一个偏僻停车场,Hans 带领他们沿着一条狭窄的鹿径走下去,空气中弥漫着松树和桉树叶的气味。Hans 停下来,指着一个地方。警官们交换了一下眼神,开始挖掘,他们找到了她,或者说是她的遗骸。由于他的合作,他的刑期被减为二级谋杀。所以 Hans 入狱了,他的遗产永远被这起罪行玷污了
但他的代码呢,他的创造呢?Reiserfs 和他的 Reiser4 的梦想呢,他相信会彻底改变 Linux 世界的文件系统呢?好吧,Reiser4 尽管具有技术创新,但它从未真正成功。这是一个复杂的文件系统,具有像“跳舞树”这样的插件架构功能,承诺灵活性和性能,但它也因其复杂性和其创造者的过去而负担过重。
Linux 社区已经对 Hans 的粗鲁个性和非传统的编码风格感到警惕,现在它正在努力应对他的罪行的影响。信任肯定破裂了,对该系统的热情减弱了。此外,在此期间,其他文件系统也受到了关注。Ext4 建立在 Ext2 和 Ext3 的熟悉基础之上,成为一个稳定可靠的选择。它成为许多发行版的默认选择。
这是一项集体努力,对吧?它有各种经验丰富的 Linux 开发人员一起工作,以使其工作并将其放入内核。Btrfs 以其高级功能和对数据完整性的关注而出现,并在寻求更强大和现代文件系统的用户中获得了一小部分追随者。而 XFS 以其大型文件的高性能而闻名,仍然是一个强大的竞争者。但 Reiser4 却停滞不前。它缺乏公司支持。
而且,与 ext4 不同的是,是的,只有一个,Hans,是它的幕后推手。从他的监狱牢房里,他推动它的声音就像耳语。他没有互联网。它迷失在这个快速发展的社区的喧嚣中。一位前 Namesys 员工接过火炬,继续推动它向前发展,甚至发布了一个新版本,Reiser 5。但没有 Hans 的动力,以及他名字上的污点,
而且没有社区的支持,该项目从未获得任何动力。随着岁月的流逝,Linux 内核的发展和社区的发展,Reiser FS 版本 3 被标记为已过时,即将被删除。曾经如此创新的代码,现在只是文件系统历史上的一个脚注。提醒人们,仅仅拥有技术才能是不够的。
真正的进步不仅需要代码,还需要合作、社区和对未来的共同愿景。现在被称为囚犯 G1008 的 Hans 和他的遗产,曾经是创新和文件系统的证明,现在完全被他的单一可怕行为所掩盖。但他收到一封信,询问他对 Reiser3 从 Linux 内核中删除的想法。
从他的监狱牢房里,他写信了。他给 Linux 内核邮件列表(他与之发生冲突的社区)写了一封近 7000 字的信,我找到的这封信,一封充满遗憾、反思和理解请求的信。现在的我做事的方式与当时大相径庭。他回顾了 Reiserfs 的早期,回忆了使其具有竞争力性能的斗争,
他承认了一个关键的失误,即未能承认他人的工作,并对没有欣赏他的团队以及其他失误表示遗憾。问题在于它没有使用内核社区中其他人编写的代码,人们并不真的喜欢他们的代码不被使用。人们希望感到被包含在内。我通过回应他们的社会需求来回应,好吧,回应得很糟糕。
他谈到了监狱的工作坊和他正在学习的课程以及冲突解决。他感谢 Edward Shishkin(发布 Reiser 5 的人),尽管他承认由于缺乏互联网访问而不知道其中有什么内容,但他鼓励社区支持该项目,将其成就与其自身受损的名誉区分开来。这是一封复杂的信。这是对一个与过去作斗争的人思想的一瞥,他以反思结束。
能为 Linux 用户提供哪怕是短暂的价值,都是我的荣幸。正确地说,这个故事应该是关于 Nina 的,对吧?是她失去了生命。但这里有一件事,一件让我讲述这个故事的事情,一件我认为应该说的事情。你的技术技能和你的社交技能一起工作。在大多数情况下,它们会相乘,也许在这里,在 Hans 这里,它们会相除。我不是说你的混蛋同事是杀人犯。
但这些事情,它们并非没有联系。Hans 难以产生同理心。坦白说,我有时也难以产生同理心,我知道还有许多其他人也有这种感觉。我希望 Hans 能够更好地理解他人并为他人着想。但我同时也希望我们都能在这方面做得更好。因为是的,回到我从妻子那里学到的东西,她如何发现我忽略的人身上的问题。好吧,我认为你与人互动的方式很重要。
你不能将艺术与艺术家分开,因为它们都联系在一起。正如这个案例所示,你办公室里的一些女性拒绝与之合作的同事,一个与我分享的真实故事,或者那个心胸狭窄但完成很多工作的人,我们不应该放过这些人。当我们为那些缺乏同理心而使他们变得危险的人辩解、辩护或团结起来时,我们不会对自己有任何好处。
是的,我的妻子有一种洞察伪装的能力,能够感觉到某人身上有什么不对劲。但我认为我们所有人都有这种能力,而我们却忽略了它。也许这就是我们在科技领域更需要的。少关注代码,多关注性格。了解人和他们的动机。因为最终,这一切都是相互关联的。即使 Hans 在他给 Linux 邮件列表的信中也提到了这节课。
当时的我在论文中展示了基准测试结果,表明 Reiserfs 比 xt2 快。现在的我将在论文的开头感谢他们比其他操作系统的文件系统更快,并感谢他们多年来使用他们的文件系统来编写我们的文件系统。没有这样做是我的第一个在 Linux 社区中严重的社会错误,而且这是完全没有必要的。
但是,俄罗斯的这个团队呢?他们是谁?他们的想法是什么?哪些关键工作应该归功于 Hans,哪些应该归功于这个未具名的团队?他们是如何忍受他具有挑战性的个性的?
我觉得这是这封信的真正目的。“在监狱里,我一直非常努力地发展我的社交技能,尤其是我的冲突解决和冲突避免技能。它改变了我。假设决定是从内核中删除 V3,我只有一个请求:在最后一个版本中,编辑自述文件以将 Mikhail Golula、Konstantin Shvashko 和 Anatoly Pinchuk 添加到贷方。
并删除我可能说过关于为什么没有给他们记功的任何内容。是时候放手了。这就是节目。Hans 的请求得到了批准。后来向 Linux 邮件列表发送了一封补丁电子邮件,更改了自述文件。Reiserfs 将于 2025 年从 Linux 中删除。但就目前而言,自述文件更好地反映了构建它所需的团队合作。因为人们不是孤立工作的。孤独的才华是不够的。
对于这一集,我深受 Hans 审判的无数报道的恩惠,尤其是 Henry K. Lee 在《推定死亡》一书中非常深入的报道,以及 Frederick Brennan 分享 Hans 的信件,以及网络档案的 Wayback Machine,因为这件事发生的时间并不久远,但似乎大多数关于它的网页都消失在了时间的流沙中。
这里引用的所有对话都是 Henry 的书、电子邮件或报纸或电视上发表的案件报道、审判记录或其他地方的精确引用。但我肯定有些地方错了,因为我只是一个四处点击、寻找有趣的东西、阅读网页然后告诉你我的想法的人。所以请原谅我的任何错误。我确定有一些。另外,感谢 Nina 的家人。我很抱歉你们不得不经历这一切。
我希望她的孩子们,Rory 和 Nino,有一个更光明的未来。感谢所有给我发送像 Linux 邮件列表链接这样有趣链接的人。感谢那些支持者们,他们让我坚持下去,尽管我现在有一份新工作,非常忙碌,我很难找到这些剧集真正需要的投入时间。
但是谢谢你们。谢谢你们。如果你想成为支持者,向你表示对节目的赞赏,请访问 coworkers.com/supporters。我们还有一个非常棒的 Slack 频道,你可以在网站上找到。直到下次,非常感谢您的收听。