阿波罗计划曾将 12 位人类男性送上月球,但在这群成功男人的背后,却站着一位真正的女神。 ▲关于阿波罗计划的一些秘密可能永远不会公开 今天,极客君就和你来聊聊那个时代的程序媛,那个时代的极客女神: 她的代码指引着他们准确飞向月球,又引导着他们平安返回地面——她就是玛格丽特·汉密尔顿(Margaret Hamilton),刚被授予美国的总统自由勋章。 ▲女神的阿波罗计划工作照 我们的女神一开始并不写代码,但为了供丈夫去读哈佛法学院,她就找到了一份临时的编码工作,地点是麻省理工学院的人工智能实验室。 和初代黑客比代码 那时,计算机领域的黑客文化正在该实验室孕育。 当黑客们正尝试让 TX-0 输出巴赫的旋律时,玛格丽特就在 PDP-1 上帮助气象学研究对大气进行建模;当黑客们在 PDP-1 上沉迷于《太空大战》游戏时,女神开始为美国空军的 SAGE 系统编写防空软件。 ▲PDP-1 电脑上的《太空大战》游戏 当黑客们的「午夜计算机改装组织」为 PDP-6 改装不兼容分时系统时,女神已经开始为阿波罗飞船编写导航软件,女神的女儿还要跟着她在实验室的地板上睡觉、玩耍。 ▲玛格丽特和她的阿波罗 11 号代码 当然,黑客们并非没有为女神添加麻烦,她气象项目的 Vortex 程序就因黑客们对计算机的改装而崩溃过。 不过,对于智力上的挑战,女神也能乐在其中、漂亮地回击,黑客们也会知趣地把改装工作做得更好。 「编」出完美的导航软件 尽管导航软件的代码量很大,atv,但真正的难题却是把代码变成可用的程序。 现在的程序员,把键盘敲出来的代码用现成的编译器编译一下就能运行,但当时的代码真要靠人们像结绳记事一样把代码的信息编织到内存中: ▲在当时的磁芯内存上“穿针引线”进行编码 线路穿过磁芯会生成信号,是为「1」;线路绕过磁芯则没有信号,是为「0」: ▲磁芯内存上的 「0」 和 「1」 把写好的代码编织成一个飞船可用的程序,需要数月的时间;一旦出错,返工的工作量之大就难以想象。 好在,阿波罗飞船的自动导航软件还是按期完成了。 地球轨道,阿波罗 7 号的测试里,导航软件运行得完美无瑕。 ▲阿波罗 8 号从月球轨道看地球 可在月球轨道,阿波罗 8 号的测试中,由于返程时宇航员一时疏忽,清空了所有巡航数据,飞船顿时失去了方向。 接到紧急电话后,玛格丽特连夜奋战,花 9 小时过完每一行代码,然后重新上传数据后,阿波罗 8 号终于成功返航。 ▲阿波罗 8 号飞船模型 真正的考验,还是随后的阿波罗 11 号,人类首次登月。 1969 年 7 月 20 日,休斯敦时间下午 4 点 14 分,阿姆斯特朗和奥尔德林正在登月舱内准备着陆。 ▲准备着陆月球 忽然,登月舱的报警器开始警告电脑过载。 原来,登月舱分离前,不知是谁犯了个低级错误,没有关闭登月舱的对接雷达,让电脑继续监视那个用不着的雷达。 (责任编辑:本港台直播) |