代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。
什么是《代码英雄》
代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。
本文是《代码英雄》系列播客《代码英雄》第四季(4):软盘 —— 改变世界的磁盘的音频脚本。
导语:软盘是计算机领域最伟大的突破之一。它以一种盛行几十年的格式助推了软件行业的发展。在某些情况下,它保存了曾经被认为是永远失去了的珍宝。
在软盘出现之前,计算机背负着打孔卡和磁带缓慢前行。Steven Vaughan-Nichols 描述了软盘所带来的巨大变化。Dave Bennet 解释了对永久存储(和便于邮寄)的需求,如何导致了第一批 8 英寸驱动器的出现。George Sollman 回顾了他是如何受命制造出更小的软盘的,以及哪些意想不到的来源激发了他的下一个设计的灵感。而当 Sollman 把它展示给 自制计算机俱乐部 HomeBrew Computer Club 时,这一季的几位常客请他展示更多的内容。接下来发生的事,就众所周知了。
Matthew G. Kirschenbaum 指出,软盘在一些意想不到的地方仍然在使用。Jason Scott 和 Tony Diaz 告诉我们他们是如何将一些源代码从“跑腿网络”中带到云端的。
00:00:00 - Saron Yitbarek:
Jordan Mechner 是个收藏爱好者。他是《 空手道 Karateka 》和《 波斯王子 The Prince of Persia 》等游戏的开发者。他精心保存下了开发过程中的一切细节,比如日记、素描和情节提要等所有的一切。因此,当他找不到自己保存的某样东西时,多少会让他有点吃惊,而这也确实是一件大事。
00:00:26:
早在 2002 年, Mechner 就在做《 波斯王子:时之沙 Prince of Persia: The Sands of Time 》的开发。程序员们希望将该游戏的经典版本作为复活节彩蛋加入到他们的 PlayStation 2 版本中。因此,他们向他索要原始的源代码。但是当 Mechner 查看他的归档时,他找不到这份源代码了。他四处寻找。这份源代码是在他的老旧 Apple II 上写的,他肯定自己保存过的这些代码,消失了。
00:00:58:
快进 10 年。Mechner 的父亲正在打扫房间,有一个看上去很破旧的鞋盒藏在壁橱后面,里面装着一堆满是灰尘的 3.5 英寸旧软盘。其中一张被标记为“《波斯王子》的源代码。版权所有 1989 年”,括号里用全大写字母写着 “原版” 一词。这份丢失了很长时间的代码,终于被找到了。它在那个盒子里待了四分之一个世纪,然后像考古发现一样被发掘出来。
00:01:36:
但那是 2012 年。他要怎样把信息从那些旧磁盘上取出来,数据是否还完好无损?事实上,现在去挽救他的工作已经为时已晚了吗?
00:01:54:
挽救(保存)我们的工作,现如今这个过程经常是自动发生的。随着程序定期向云端推送内容,我们再也无需费心去手动保存东西了。事实上,全新的一代人甚至不知道那个保存图标表示什么意思。旁注:这不是自动售货机。
00:02:16:
但是几十年来,保存、存储和传输我们的数据都必须使用某种物理介质。当个人计算机革命开始后(我们在有关 Altair 8800 的上一集中讲过),有一项技术成为了保存的代名词 —— 软盘。如今看起来这是如此的简单。但是软盘改变了我们的历史进程,因为它们帮助将 微型计算机 microcomputer 转变成了 个人电脑 personal computer 。
00:02:50:
我是 Saron Yitbarek。这里是《代码英雄》,一档来自 红帽 Red Hat 的原创播客节目。
00:02:58:
让我们暂且把 Jordan Mechner 发现软盘的故事搁在一边。我们之后会回过头来谈论它。首先,我想先了解一下软盘最初是怎样诞生的,以及近 40 年以来它是如何成为技术界如此至关重要的一部分的。
00:03:18:
我们的第一站是 1890 年。在电子计算机出现之前,就已经有了机械的电子计算设备。数据输入输出的方法是通过一美元钞票大小的打孔卡实现的。电子计算机在上世纪 50 年代问世时,IBM 用 80 列 12 行的打孔卡进行了标准化。所打的孔就会形成一种字符,没有打孔则意味着另一种。
00:03:50:
长期以来,这些打孔卡是数据输入的主要方式。但是为更大、更复杂的程序处理数以百计的打孔卡非常麻烦。必须要有一种更好的方法来保存和传输数据。
00:04:08:
紧接着是 20 世纪 50 年代问世的纸带。要了解纸带如何在个人计算机的起源中扮演了核心角色,请收听我们的上一集节目。纸带与打孔卡具有同样的用于读取数据的打孔方式。但是因为这都在一卷纸带上,人们没必要担心卡片会混起来。它可以携带更多的数据,并且使用起来更快。但是随着微型计算机容量的增加,存储程序需要越来越多的纸带。就像打孔卡一样,纸带最终遇到了它的瓶颈。
00:04:47:
让我们进入到磁带阶段。其关键成分是聚酯薄膜,一种坚韧、有弹性的材料,表面涂有磁性氧化物来使得磁带能够记录。每盘磁带的九条磁道最多可以存储 175 MB。这在上世纪 50 和 60 年代是一件大事。10.5 英寸卷轴的磁带驱动器成了企业的标准配置。
00:05:11 - Steven Vaughan-Nichols:
但是磁带的问题在于,尽管其很方便将大量数据从一个位置移动到另一个位置,但要在磁带上搜索以找到某些特定的东西着实不易。我们会使用磁带在微型计算机和大型机上安装软件,但是对于小型便携的数据或者涉及数据交互的事情,磁带确实没那么好用。
00:05:40 - Saron Yitbarek:
这位是 CBS Interactive 的特约编辑 Steven Vaughan-Nichols。当然,磁带可以存储更多的数据。但是它太大、太慢了。确实,这仅仅在大型机领域可行。又一次,需要有一个更好的存储方法了。
00:05:58:
更好的方法出现在 1956 年,当时 IBM 推出了其首个 磁盘驱动器 disk drive —— IBM 350 磁盘存储单元。它是 305 RAMAC 大型计算机的组成部分,这台机器整整占满了一个房间。这位是前 IBM 磁盘和存储产品工程师 Dave Bennet。
00:06:23 - Dave Bennet:
存储在核心内存中。事实上,RAMAC 中的磁盘存储设备是第一个允许随机访问给定的记录的存储设备,而不是磁带驱动器。
00:06:39 - Saron Yitbarek:
很有趣。那款磁盘驱动器差点没有问世,因为它威胁到了 IBM 的打孔卡生意。但是这个项目最终还是获得了批准。问题在于,该驱动器包含由固体金属制成的磁碟。RAMAC 重达一吨,它必须由叉车搬运,并且用大型货运飞机运输。这不是最方便的存储方式,但除此之外,还有更好的解决方案。
00:07:10 - Dave Bennet:
尽管 软盘 floppy disk 最初是为了满足一个新需求而开发的。原因在于有一种中间类型的存储方式。最初的存储方式是计算机代码,然后是计算机内存,即工作内存。但是随着 System 360 的出现,它们之间出现了一类新的内存,它们称之为 固件 firmware 。在 System 360 中,有着独特的各种形式的固件技术,要么是一种特殊的打孔卡,要么是一种所谓的 转换器只读存储 transformer read-only storage 。
00:07:51:
但是,新的需求是在半导体技术瞬息万变的时代,从这些技术转向半导体技术。这意味着在切断电源后,半导体中所存储的内容都会消失。因此,必须要有一种再次充入的方式,在电力恢复后将程序存回到内存中,以加载所谓的 微程序 micro program 或 中间存储器 intermediate memory 。
00:08:28:
对这种设备的需求是导致软盘驱动器发展的原因。
00:08:37 - Saron Yitbarek:
因此在 1967 年,一小队由 David Noble 领导的工程师开始着手开发一款廉价的系统,用于将这些微程序载入到大型计算机。他们项目的代号是 “Minnow”。
00:08:53 - Dave Bennet:
Noble 能想到的所有东西,包括各种形式的打孔卡、盒式磁带,他都亲自实验了一遍。我不知道他还实验过什么。但是他想到了使用基于柔性磁盘的廉价磁盘驱动器,和成本非常廉价的只读机制。
00:09:19 - Saron Yitbarek:
Minnow 团队希望能够把他们的微程序邮寄到需要加载它的各个地方。因此这款用于发送该程序的产品必须足够耐用,才能够在不损坏其数据的情况下实现邮寄。这是某种外壳包装方式。
00:09:38 - Dave Bennet:
现在,为了使它能够被邮寄,他们实际上必须要做的是,把它放进一个相当坚固的塑料容器里。实际上,他们会在磁盘还放在这个塑料容器(像一个信封、塑料信封)里的时候读写该磁盘。当磁盘上有涂层而且有一个刚性的磁头时,必定会有磨损。而一旦有磨损,就会产生磨损颗粒。
00:10:06:
他们所遇到的问题是,随着磨损颗粒的堆积,会引起雪崩效应。这些颗粒会充当额外的磨料。然后很快,颗粒散在那里,记录轨道会被磨损,就不再能用了。
00:10:28:
参与该项目的一个名叫 Herb Thompson 的家伙非常聪明,他提出了一项方案,该方案基于 3M 卖给家庭主妇用于家具除尘的家用除尘织物。他在信封和磁盘之间放了这样的一张布。这种材料吸收了磨损颗粒,并将其嵌入到除尘织物中,从而防止了雪崩效应,真正解决了这个问题。
00:11:00 - Saron Yitbarek:
柔性 8 英寸聚酯薄膜磁盘,甚至可以称它们为 软盘 floppy disk 。它完全被装在一个很薄但是很坚固的信封中,并带有再利用的除尘装置。总之,它很容易被拿起,也很容易邮寄。每张新的软盘有 80 KB 的存储容量,可以容纳与 3000 张打孔卡相当的数据量。这是存储容量上一个巨大的飞跃。
00:11:29:
IBM 在 1971 年发布了他们的 8 英寸软盘。Minnow 团队做得很好,但他们不知道有多好。他们的突破即将演变成一种完全改变游戏规则的技术。
00:11:49:
IBM 的直接访问存储产品的负责人是一个名叫 Alan Shugart 的人。 Minnow 项目是他的宝贝。 Shugart 很有个性,天生具有企业家精神。他的日常制服是夏威夷衬衫,从来不穿夹克和领带。在发布 8 英寸软盘不久后,Shugart 离开了 IBM,并于 1969 年加入了 Memorex,然后在 1973 年成立了自己的公司 Shugart Associates,专门从事计算机外围设备。
00:12:23:
Don Massaro 从 IBM 就跟随 Shugart,他成为了 Shugart Associates 的运营副总裁。在那工作了几年之后,Massaro 收到了一个名叫王安的人的需求。他是 王安电脑公司 Wang Laboratories 的负责人,这是当时领先的计算机公司之一。王安想出了一种磁芯存储器的方法,这是计算机在未来 20 年内使用的方法。
00:12:51:
当 1975 年王安接触 Massaro 时,他给了 Massaro 一个挑战。当时 Shugart 的一名工程师 George Sollman 还记得这件事。
00:13:03 - George Sollman:
王博士说:“我真的很想做小型商业系统和文字处理器,但是现在的磁盘驱动器 —— 你的 8 英寸大的磁盘驱动器太大了。我们需要几个小型的存储设备。它们可以被安置在 CRT 显像管旁边,但我们不能用 8 英寸大的,因为磁场会破坏图像。”因此,他认为我们可以采用 8 英寸的软盘并且把它缩小。我们知道必须设计出低成本而且可行的东西来。我们整理了一张普通老套的挂图来描述它是什么,然后拿回来和王博士见了面。王博士说:“我喜欢它,但是你不能在里面使用交流电动机,因为这会扭曲图像。”
00:13:52 - George Sollman:
所以他说:“为什么不找找看谁在制造磁带机的电动机,比如通用汽车公司?”因此,我们回过头来,实现了一些很小的电动机,这些电动机适合微型软盘,可以驱动皮带,并转动软盘。
00:14:10 - Saron Yitbarek:
George Sollman 必须确定这种新软盘的规格,它应该变得有多小,以及应该容纳什么。
00:14:19 - George Sollman:
我们所做的是,查看了当时所有的磁带机,并计算了它们的平均尺寸。完成了全部的工作后,最终选择了 5.25 英寸的软盘尺寸。我们知道我们可能只有一次机会。我记得那是在王博士把 Don 和我拉进他办公室时说的:“我给你们看一下,你们的磁盘驱动器装在我们的新文字处理器上。”他们还想向我们订购大量的磁盘驱动器,有 10000 个。因此这就好像,哇,我们成功了。
00:14:54 - Saron Yitbarek:
现如今,在历史上的技术传说中,有关 5.25 英寸这一尺寸是如何形成的,有几个不同的说法。一种说法是让软盘比口袋的尺寸大,以避免不幸的弯曲和折断。最受欢迎的民间版本是,Al Shugart 在酒吧里喝了几杯酒,然后当他弄脏了一块恰巧 5.25 平方英寸的酒吧餐巾纸时,灵光一动。这位是 Teri Shugart,Al 的女儿。
00:15:26 - Teri Shugart:
他喜欢喝酒,我可以告诉你的是,他所创办的所有公司的大部分计划都确实是在酒吧里做出的。因此,这件事并非不可能,实际上很可能就是这样。
00:15:43 - Saron Yitbarek:
但是,真正改变了 Shugart 和他团队的游戏规则的,坦率地说也是改变了所有计算机历史的关键时刻,是 George Sollman 和 Don Massaro 决定在自制计算机俱乐部展示他们的 5.25 英寸软盘。
00:16:00 - George Sollman:
有一个自制计算机俱乐部的会议在斯坦福的线性加速器中心的会议室举行,离我们住的地方大约有一英里。因此,我们带了我们的微型软盘过去并做了演示,观众里有个名叫 史蒂夫•沃兹尼亚克 Steve Wozniak 的家伙,他想就我们的产品和我谈谈,并说:“我得让某些人关注到它。”
00:16:24 - Saron Yitbarek:
演示之后,George 和 Don 回归了他们的常规事务,但是几天后,在办公室里,Don 把他叫到了一边。
00:16:33 - George Sollman:
并说道:“你是营销人员,你应当保持前厅整洁,George。”然后我说:“嗯,Don 你想说什么?”他说:“我们的前厅里有个流浪汉,我们应该把他弄出去。”所以我走了出去,和这个家伙握了握手。他有着一双最为锐利的眼睛,我又和他聊了一会儿,他的谈话非常有趣,他说:“我想和你去实验室看看 Steve 说的这个东西是什么。”我不知道这样是否合法,但他是我所遇到过的最有趣的人之一,很显然他有着很高的智商和极大的好奇心,他就是 史蒂夫•乔布斯 Steve Jobs 。
00:17:19 - Saron Yitbarek:
史蒂夫•乔布斯讨厌苹果早期计算机中的盒式磁带驱动器。它们总是出现故障,要花很长时间大费周折获取信息。对于 Apple II,他想要一个软盘驱动器,史蒂夫•沃兹尼亚克想要制造它,但尺寸是关键因素。必须缩小软盘的尺寸,从而使得这款计算机更能吸引消费者。因此,在 1997 年圣诞节假期的两周时间里,沃兹尼亚克靠着天天吃麦当劳开发了原型。在新的一年的 拉斯维加斯 Las Vegas 消费电子展 Consumer Electronics Show 之前及时完成了。
00:17:57:
沃兹尼亚克很喜欢开发那款软盘驱动器,并将其描述为他参与过的最好的工程。乔布斯雇佣了 Shugart 来制造 Apple 软盘。Disk II 成为了 Apple 的主打产品,助推了 Apple II 计算机的销售并改变了行业。这位是 Steven Vaughan-Nichols。
00:18:20 - Steven Vaughan-Nichols:
如果你买了一台 Apple II,Disk II 是一个很快就会大受欢迎的选择。确实,你可以将史蒂夫•乔布斯誉为将软盘驱动器引入到个人计算机领域的人。人们正在运行名为 CPM 80 的操作系统,实际上还有数十家小型制造商和一些像 DEC 之类的大型制造商在制造 CPM 80 计算机,而所有这些计算机都使用 5.25 英寸的软盘驱动器。然后,当 IBM 在 1981 年推出第一台 IBM PC 时,每个人都清楚这不再是一个业余市场了。
00:19:04:
这是一个真正的商业市场,而这将由新流行的 5.25 英寸软盘驱动器驱动。
00:19:14 - Saron Yitbarek:
软盘和个人计算机革命是共生的。它们一个驱动着另一个,反之亦然。它们一起进化。由于有了软盘,公司可以编写程序,将程序复制到磁盘里,然后通过邮寄或在商店里出售。它对早期个人电脑的作用就像应用商店对智能手机的作用一样,为开发人员提供了便利。事实上,软盘使得软件行业成为可能,并且随着这些软件程序变得越来越大、越来越复杂,软盘再一次发生了变化。1981 年, 索尼 Sony 推出了将软盘缩小到 3.5 英寸的新版本。
00:19:59:
较小的同类产品用硬塑料包裹,并内置金属遮板,以防止灰尘进入。它们更加坚固,可以存储更多的数据。有趣的是,尽管它们的外壳很硬,但它们仍被称为软盘,而当苹果公司在 1984 年发布其新 Macintosh 计算机时,又一次使得 3.5 英寸软盘成为新标准。
00:20:25 - Steven Vaughan-Nichols:
好吧,我们都知道 史蒂夫•乔布斯 Steve Jobs 和 史蒂夫•沃兹尼亚克 Steve Wozniak 。像 Shugart 这些软盘驱动器的创造者,却不是家喻户晓的名字,但是他们所做的工作绝对至关重要。如果没有他们的话,个人计算机被采用的速度将会慢得多。我无法想象,如果没有这些早期的驱动器,个人计算机革命会如何发生。它使得数据输入输出计算机比其它方式更容易。
00:21:06 - Saron Yitbarek:
由于软盘尺寸适中且易于分享,因此它们具有一种社交性,就像早期的社交媒体形式一样。你可以和人们见面并交易软盘。这是在人们可以轻松访问调制解调器、互联网尚未出现之前的事情。人们分享装满了程序的软盘,就像分享装满 Cyndi Lauper 曲目的混合磁带一样。而且这种数据传输的方式甚至有个名字,即 跑腿网络 Sneakernet ,从字面上看,你必须用你的双脚将数字信息从一台机器传输到另外一台,而人们在这些分享的磁盘上所存放的内容可以是任何东西,当然有软件,但是还有更多,尤其是随着新兴的数字创作工具的出现。
00:21:55:
Jaime Levy 是上世纪 80 年代后期那些新兴的数字创作者之一。她如今是 南加州大学 the University of Southern California 的教授,也是《UX Strategy》的作者。
00:22:07 - Jaime Levy:
我当然也认为这很神奇,你可以在软盘上制作出交互式的、非线性的东西。我当时正在制作后来被称之为 磁盘杂志 diskzine 的杂志。那是在桌面出版的同一时期。我想当时 PageMaker 已经问世。人们刚购买了 Macintosh,正逐渐被吸引到数字技术上来。
00:22:32 - Saron Yitbarek:
此前从来都没有人听说过交互式的杂志,甚至连 Jamie 也没有,但是她结合了动画、艺术、声音以及交互式界面,并使得它们适合放在软盘上。她制作了一堆副本,将它们打包并运送到了当地的一家书店。
00:22:48:
在大多数情况下,人们没有 Macintosh 甚至不能看它们的内容,他们不知道上面有什么。所以我说,在这里放 10 个副本,你拿一个回家看看,如果喜欢它的话,就把它们卖出去。他们会把它们放在前台,因为它们没法很好地被放在架子上,然后立即就有人买了它们。只要有 Mac 的人走进那里,看到这个东西只要 6 美元,他们就会说:“是的,我想要那东西。”
00:23:15:
书店里不断售空。Jaime 收到了来自世界各地的来信,并且开始引起了全国媒体的注意。不久后,她通过邮购贩卖她的磁盘来做生意。然后,她作为界面设计师的职业生涯开始了。她的故事是软盘和跑腿网络力量的证明。曾经有一段时间,你可以使用单个 160 KB 的软盘驱动器运行一个完整的操作系统,但是到了上世纪 90 年代中期,你需要多张软盘才能运行任何东西,文件变得越来越大,而把软盘从你的计算机来回放入和取出实在是很烦人。
00:23:57:
1998 年,iMac 成了第一款不带软盘驱动器的个人计算机,这是一个不祥之兆。当调制解调器变得越来越好,互联网更加易于使用,人们从软盘转移到了更新的存储技术,比如 CD ROM,从 CD 我们又转到了 DVD、SD 卡、USB 闪存驱动器。回过身来,我们的身后有一整个废弃的存储技术坟墓。现如今,我们有了云。可怜的老软盘,它们不再有机会了。但是,重要的是,软盘仍然苟延残喘。它们有持久的生命力。首先,仍然有供初学者使用的“保存”图标。
00:24:43:
人们仍然有着装满了它们的鞋盒。实际上,事实证明,软盘是最具弹性的技术之一。你可能会惊讶地发现它们仍然被用来维护 美国洲际弹道导弹系统 the US Intercontinental Ballistic Missile System 等遗留机器。直到最近,该系统一直依赖于 8 英寸的软盘驱动器。 Matthew Kirschenbaum 是 马里兰大学 the University of Maryland 的英语和数字研究教授。
00:25:17 - Matthew Kirschenbaum:
因此,有一个关于美国空军从其核指挥和控制系统中逐步淘汰 8 英寸软盘的故事正在流传。伴随着的是人们在导弹发射井中将软盘插入某种老式大型计算机中的照片。我认为着实令人惊讶,因为看到某些东西,比如核武器仍然通过 8 英寸软盘控制着。政府、军方最终将淘汰这些系统。我当然认为那是一件好事,但也要记住,作为存储介质,软盘往往非常耐用且具有弹性。它们的面积密度低,这意味着与当今的硬盘驱动器相比,它们相对粗糙或低保真。实际上,这使得它们更具弹性,也更可靠。由于年代久远,它们也是那些计算机系统的过时之处。具有讽刺意味的是,它们可以更好地保护我们免受当今以病毒、黑客攻击和类似形式出现的网络威胁。人们所使用的术语是“ 气隙 air gap ”,软盘没有以任何方式连接到互联网,并且可以将其视为非常理想的安全功能。即使这使得人们有些许不安。但它们被使用了这么长时间,并不完全是没道理的。
00:26:53 - Saron Yitbarek:
当然。现在看软盘,它们看起来很脆弱,而且有点儿可笑,但是借助正确的设备,几十年前的磁盘如今仍然可以被读取。谁知道在那些数据被检索时能发现什么样的宝藏呢。
00:27:09 - Matthew Kirschenbaum:
几年前,有新闻说发现了十几张 Andy Warhol 的图片。实际上这些图片是 20 世纪 80 年代 Andy Warhol 在一台 Amiga 计算机上创造的。
00:27:26:
他得到了一台 Amiga,并进行了实验,开始将其用于他的一些艺术作品,所得到的图像被保存到位于 匹兹堡 Pittsburgh Warhol 博物馆的软盘上。 卡内基·梅隆大学 Carnegie Mellon University 的一个团队抢救了这些文件,所以现在我们又有 Andy Warhol 的十几件艺术品。
00:27:53 - Saron Yitbarek:
说到宝藏,是时候了解一下 Jordan Mechner 和他丢失多年的源代码到底发生了什么了。前情回顾, Jordan 丢失了《 波斯王子 Prince of Persia 》的源代码。多年之后,他的父亲在壁橱后面发现了一个鞋盒,里面装着一堆满是灰尘的 3.5 英寸软盘。其中一张被标记为“源代码”,但是源代码真的在那张磁盘上吗?他能够恢复他《 波斯王子 Prince of Persia 》作品吗?
00:28:23:
为了找到答案,我们和 Jordan 招募的拯救源代码小组的两个成员进行了交谈。Jordan 联系的第一个人是 Jason Scott,他是 互联网档案馆 Internet Archive 的放养档案管理员。
00:28:38 - Jason Scott:
这可能行得通,但也可能不行,但是你总是希望能对最坏的结果做好准备。我认识一个人,他的名字叫 Tony,而 Tony 与苹果公司的关系非常密切。他对他们无所不知。我称他为“Apple II 耳语者”。
00:28:59 - Saron Yitbarek:
通过一个长期运行的 IRC 频道,Jason 找到了 Tony Diaz,并招募了他来担任这份工作。 Jordan 邀请了这对计算机考古学家到他位于 Hollywood Hills 的家中。Tony 将一堆装备装进了卡车的后部,准备从 Oceanside 长途开车到洛杉矶。
00:29:19 - Tony Diaz:
我拿了几套闲置的 Apple IIe 系统,打包装箱,各种东西装满了半个皮卡车斗,并且还有用于读取困难的软盘的改装磁盘驱动器和各种类似的工具。磁盘驱动器控制器的功能有所不同,还有一些更为现代化的计算机上的东西,有些可以帮助处理软盘(如果有必要的话)。是的,把它们全部装载起来然后上路。
00:29:43 - Saron Yitbarek:
在 Jordan 的起居室里。Tony 建立了一个令人印象深刻的由老式 Apple II 计算机和 3.5 英寸磁盘驱动器组成的阵列。然后 Jordan 把一个装在塑料袋里的鞋盒拿了出来,就仿佛它是个圣杯一样。这个圣杯周围有橡皮筋,以防止鞋盒盖子掉落。
00:30:03 - Tony Diaz:
我曾多次遇到这种情况,刚刚打开旧的磁盘盒,它们都有同样的那种霉味。我不知道该怎么说,这很难描述,但是对于那些曾经在海军舰船上的人来说,它们气味相同,和你去到飞机后面闻到的都一样。软盘有它自己的独特的,那个词怎么说来着,光泽。
00:30:25 - Saron Yitbarek:
Tony 取出了几个磁盘,看看它们的状况。如果需要的话,他准备着取下保护套,并用 Joy 洗碗皂清洗它们。这些磁盘已经很久没有转动过了。因此,他把手指放在中间,摇晃了一下并旋转了一下,以检查是否发霉。然后他和 Jason 分成了两队。
00:30:49 - Jason Scott:
我要去做 磁通量读数 flux reading ,也就是磁信息,从软盘上拉取下来每一个磁性波动信息,这会产生非常巨大且难以解码的软盘镜像。这样的想法是,如果发生其他任何错误或者我们在某种单一方式受到阻碍,那么未来我们能够使用这些信息。
00:31:16:
Tony 知道这些磁盘上的信息是什么,他在计算机上使用实用工具来读取磁盘,就像早在 1990 年时候那样,这些数据对他来说是有意义的。我们去找那些很明显是标准文件副本的磁盘。试图确保在我们知道面对的是什么之前,我们不会处理任何只有单张的磁盘。这些最初的简单磁盘上的一些是诸如 《Death Bounce》之类的东西。这是他制作的一款从未问世的游戏,还有 Asteroids Clone。它们能运行,我们能够在机器上玩它们,他看着他几十年来都没想起来过的游戏,它们正运行良好。
00:32:06 - Saron Yitbarek:
到目前为止,一切都很顺利。现在轮到被标记着《 波斯王子 Prince of Persia 》的那张磁盘了。Tony 开始分析它,并且意识到它是一个硬盘驱动器的备份,被分成了五份放在了五张软盘里。他需要把整个东西重新整合在一起。
00:32:23 - Tony Diaz:
因此,要想还原这些镜像,你必须有一个与写入时大小相同的硬盘驱动器卷。当然,我带来了硬盘,但是怎么可能正好有完全相同的大小呢?因为你并不见得总能这么巧。没关系,我将在我的卡上创建了一个 10M 的分区,并制作了这些磁盘的副本,然后告诉它是从 10M 的驱动器上进行的备份。我们继续还原它,然后得到了一个完美的硬盘驱动器,装满了待查看的源代码文件。
00:32:50 - Saron Yitbarek:
重大的发现出现在当他们完成了第一个目录并查看文件的时候。
00:32:55 - Tony Diaz:
是的,就是它。Merlin 文件,它们都以 “.s” 结尾,还有 OBJ 文件,用于编译或汇编时 —— 都在这里了。哦,我的天哪,它有如此之多的不同版本,我们不得不把这些弄清楚,但是所有人的头基本上都转向了右后方的显示器和计算机上,多少有点儿沉默,好吧,让我们来瞧瞧这上面有什么?那个呢?我记得这个。
00:33:20 - Jason Scott:
当他开始这么做,并且我们开始滚动浏览那张磁盘上的文本文件,Jordan 立即识别出来它们是他的原始源代码。因此,即使我们知道我们有了重大发现,我们也还是继续浏览所有的磁盘,以确保我们不会错过一些其他的版本。在我们发现的东西中,有《波斯王子》中其他正在进行的工作,他曾尝试过不同的图形等等。
00:33:48 - Saron Yitbarek:
令人惊讶。当团队看到可识别的源代码文件那一刻,长长地松了一口气。《波斯王子:时之沙》已经从时间的流沙中获救。不过他们的工作还没有完全完成。
00:34:09 - Saron Yitbarek:
Jason 将抢救回来的代码上传到了 GitHub,世界各地的粉丝立刻就能获取到它。这件事的消息已经散布出去,人们登录并等待着。
00:34:22 - Tony Diaz:
我们那天的主要目的是尽快将其上传到 GitHub 上的一个仓库里。我们一直都连接在同一个 IRC 聊天室,有各种各样的人问我们问题。“这是什么?你看到的是什么?你获得了什么?”而且我们在进行时得到了现场反馈。
00:34:38 - Jason Scott:
曾开发过《 毁灭战士 Doom 》和《 雷神 Quake 》的 John Romero 说,他在看源代码时学到了一些技巧,而其他一些人当然完全搞不懂他们在看什么,因为在 20 世纪 80 年代后期所写的代码和今日相比相当不一样。事实上他逐个字节地移动内存,试图清理空间以使得“精灵”看起来像预期的一样。那是完全不同的一个世界。
00:35:09 - Saron Yitbarek:
自从 2012 年那重大的一天以来,《波斯王子》的源代码一直被研究、分享、评论和珍藏。这里是 Matthew G. Kirschenbaum 的一些总结。
00:35:23 - Matthew Kirschenbaum:
这是另一个例子,有关我们会认为是数字文化、有点像当今艺术作品的方式,我们当下的创造性表达方式。很多东西都被锁在了这些陈旧过时、满是灰尘的软盘里,但是凭借一点运气和工程学工作,发生了一些我们如何把东西弄回来的非常了不起的故事。
00:35:49 - Saron Yitbarek:
如今,“保存”图标是我们中的一些人离软盘最近的地方,但是当你们看到它时,我希望你们能够记住,它是这段神奇历史的一部分,我们不应该将其视为理所当然。这是一段有关分享和拯救我们所创造的东西的历史,一段有关保存的历史。
00:36:09 - Saron Yitbarek:
《代码英雄( Command Line Heroes )》是红帽( Red Hat )的一档原创播客节目。请到 redhat.com/commandlineheroes 查看我们的软盘研究笔记。顺便说一句,如果我们保存了这一集(大约 51.5 MB ),我们估计它会占用 36 张 3.5 英寸的软盘。我是 Saron Yitbarek,直到下一次,继续写代码吧。
附加剧集
从打孔卡和纸带到软盘并不是简单的事情。听听王安的故事,他推动了计算机存储技术的发展。
什么是 LCTT SIG 和 LCTT LCRH SIG
LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。
欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。
via: https://www.redhat.com/en/command-line-heroes/season-4/floppies
作者:Red Hat 选题:bestony 译者:JonnieWayy 校对:wxy
本文由 LCRH 原创编译,Linux中国 荣誉推出