正文
玛格丽特的女儿劳伦(Lauren),也在这时候出生了。繁忙的妈妈玛格丽特不得不将小劳伦带去工作,让她睡在查尔斯河畔实验室的地板上,醒来的时候兀自玩耍。
当时的人们对于这样一个“工作狂妈妈”十分不理解。
“你怎么这么不顾你的小孩?”
玛格丽特并不在意。她热爱着她这份虽然不时枯燥,但却充满挑战和“神秘感”的工作。她也喜欢着实验室,喜欢每个人开的极客冷笑话,工作结束之后和每个人去喝酒。“就跟实验室里其他男孩子一模一样。”
而勤奋的玛格丽特,还会在喝完酒之后,忽然想起程序里的一个小错误,连夜飞奔回实验室修改。
由于出色的表现,玛格丽特获得了另外一个机会:加入MIT的Charles Stark Draper实验室,带领一个小团队,为NASA的阿波罗计划写软件。
在阿波罗的最初的预算报告中,
根本就没有“软件”二字
。不过后来,NASA意识到了软件的重要,逐渐把软件相关的团队扩大到了400多人。但玛格丽特依然是一个无名小卒。她负责的,大概是整个计划当中最不受重视的部分:
“万一”任务失败之后的后备方案
。但所有人都不重视,
觉得这不可能发生
。连这个部分的名字,都被称作“Forget it”。
“我想为整个系统中加入一旦人工出错之后的备用纠错方案,”玛格丽特说,“但是他们不同意。他们说,宇航员们都经过了严格的、完美的训练,‘绝对不可能出错’。”
也的确,那时候计算机的存储空间和计算能力都十分有限,决策者不希望有任何“累赘”的部分。玛格丽特无奈,只好在操作系统里做了一个备注,
“不要在飞行的时候选择P01模式”
。
但是,坏事儿还是发生了。阿波罗8号环绕月球的任务中,宇航员罗威尔(Jim Lovell)一时疏忽,按下了P01模式,
所有的巡航数据都被清空了,飞船分分钟迷路
。
接到休斯顿紧急打来的电话之后,
玛格丽特领着一群程序员,连夜奋战了9个小时,过了每一行代码,修复了这个问题,数据被重新上传上去。
阿波罗8号得以成功返航。
而真正的考验还在后面。随着登月计划紧锣密鼓的进行,美国政府和NASA都绷紧了弦,苏联就在背后,一刻也不能停止。玛格丽特加班工作的时候也越来越多了。而成就总是伴随着错误和风险——就在阿波罗11号历史性着陆月面的3分钟之前,忽然警报大作,
轨交雷达发来了大量的数据涌入电脑存储区,快把电脑弄崩溃了
。若是系统崩溃,飞船将毫无悬念地坠毁在月面,“人类的一小步”可能是一个大坑和两条生命。