惊心动魄的登月时刻,这位女程序员拯救了所有!

1969 年 7 月 20 日,“阿波罗 11 号”飞船登月,宇航员尼尔·阿姆斯特朗(neil armstrong)成功踏上月球表面,标志着人类第一次踏上月球,完成重要的一步:“这对个人来说是一小步,对人类来说却是一大步。
2019 年 7 月 20 日的今天,正是人类登月 50 周年。
这两天,apollo-11的源码项目一直占据 github 热榜第一,截至发稿,已获得 37,000+ 个star。
其实 apollo-11 并非是冲着在这 50 周年才开源,早在 2014 年便有第一次的代码 commit,并在 2016 年开源。目前已累计超过 300 次commit,有近5000 个 fork。
这些代码是阿波罗11号制导计算机(agc)中指令模块(comanche055)和登月模块(luminary099)原始代码,这个项目的目的是存储阿波罗 11 号原始代码。
不重要的登月代码才开源?
可能会有人认为,能开源的登月代码应该不算是重要的代码。实际上并不是的。那么 agc 究竟是什么?
阿波罗制导计算机(agc)于上世纪 60 年代由美国国家航空航天局(nasa )开发,主要用来控制阿波罗宇宙飞船上的导航与制导系统。
阿波罗号太空船实际上是两种不同的航天器,分为指挥舱(cm)和登月舱(lm)。指挥舱是用来让三名宇航员登上月球,然后再接回来。登月舱是用于承载两名在月球行走的宇航员,而第三名宇航员则留在指挥舱中,绕月球轨道运行。
所以说在人类第一次登月的三位宇航员里,只有前两位宇航员阿姆斯特朗和巴兹·奥尔德林(buzz aldrin)真正地在月球行走,第三位迈克尔·科林斯(michael collins)则是坐在飞船里执行任务。
无论是否有宇航员的协助,每个航天器都需要能够在太空中航行,因此需要有一个“制导系统”。该指导系统由麻省理工学院的仪器实验室开发,这个制导系统的一个重要部分是阿波罗制导计算机——“agc”。
在阿波罗任务中,有两个 agc,一个用于指导舱,一个用于登月舱。这两个agc 是相同且可互换的,但它们运行不同的软件,因为航天器执行的任务是不同的。
此外,由 agc 运行的软件随着时间的推移而发展,所以在后来的任务中使用的agc 软件(如 apollo 17)与早期的任务(如 apollo 8)略有不同。
所以说,这份源码还是很重要的。
在该项目里,还列出当时参与编写这些代码的程序员:
正因为有了这些程序员,我们才完成在科学上重要的“一大步”。
惊心动魄的登月时刻
这位女程序员拯救了所有
阿波罗 11 号登月的过程并不如阿姆斯特朗登月时那“轻松”的一步,而是惊险万分!如果没有这位女程序员,可能就阿波罗就无法成功登月了。
她就是玛格丽特·希菲尔德·汉密尔顿(margaret heafield hamilton),在美国媒体 it world评选“在世的世界上最伟大程序员”中,玛格丽特排名第一。
一开始为了贴补家用,玛格丽特成为实验室临时编码员,后因工作出色,被推荐去了 nasa。
当时她带领团队为阿波罗登月计划做后备方案,由于大家是奔着成功去的,所以她负责是最不受重视的部分:万一任务失败之后的后备方案。
但玛格丽特依然认真地用模拟器模拟飞行状态,检查系统漏洞。
可没想到阿波罗 11 号飞船准备正式登陆月球前几分钟,雷达发来的大量的数据涌入计算机存储区,让系统近乎崩溃,飞船将在月球坠毁,宇航员已做好牺牲的准备。
幸好有玛格丽特编写的后备方案软件抗住了压力:在大量错误数据突然涌入,计算机不堪重负是因为进行了一系列不必要的计算,事实上最重要的资源应该用在安全登录上,其他不重要的任务将终止。
这就是她后来提出的“异步处理”概念。
正因为有了这样优秀严谨的程序员,人类才能完成第一次登月。后为了表彰她在登月计划中的贡献,奥巴马授予她“自由奖章”。
所以在我们纪念人类登月 50 周年之际,别忘了给我们优秀的程序员点赞。

GPU引擎增强了超声检测到的大脑运动计算
AI加持下的语音助手会改变我们的生活方式
小米Max2在怎么样?小米Max2评测:媲美平板电脑的小米Max2、除了大屏,配置、续航、价格都有亮点
三星未来三年海投220亿美元 展开对人工智能领域的研究
嘉园环保成上海环博会焦点,为绿色环保打开新思路
惊心动魄的登月时刻,这位女程序员拯救了所有!
介绍TVS管原理特性和参数,并分析一下散热选取
双十一投影仪推荐买哪款好,这款投影仪家用之选
了解放大器噪声如何影响ADC信号链中的总噪声
基于以太网通信的医疗监控系统设计概述
佛山机器人江湖风云涌动,未来值得期待
220V LED灯泡的制作,内部电路结构就很简单
电子工程师DIY:LED立方
区块链和人工智能如何解决信息网络中的深度伪造问题
CD4011B构成的声光控触摸延时节电开关电路
从比特币角度浅析区块链
环形变压器中铁芯的作用
薄膜表面瑕疵在线检测仪的检测方法是怎样的
用GAN生成音乐成功了!GANSynth是一种快速生成高保真音频的新方法
解决数据中心能耗问题的电力技术