拯救阿波罗14号!那些伟大太空计划背后的计算机工程师们

640?wx_fmt=jpeg

1971年1月31日,阿波罗14号发射。


外太空旅行近一周后的凌晨,回程中的阿波罗14号突然面临一个严峻的问题:它可能没办法正常降落了。


问题出在其计算机工程师Don Eyles编写的一个应急程序上,他必须在很短的时间内破解自己写出的程序。


事情的经过是这样的:


Don Eyles在登月舱Antares中设计了一个用于极端紧急情况的转换开关——Abort按钮。如果登月舱在下降到月球表面的过程中出现任何问题,宇航员可以随时推动转换开关,通知计算机反转发动机——将登月舱从月球上炸开,重新进入轨道。


但在阿波罗14号上,由于开关被意外堵塞,计算机收到了扭转登月舱航向的错误指令,而Eyles需要以最快的速度扭转这一切。


“我们必须编写一个新程序,来让计算机看不到切换,”Eyles说。


Eyles最终在登月舱降落前10分钟的时候完成了他的任务。他的解决方案中涉及了26组五位数的数据,经他的同事检查后由宇航员输入计算机,成功绕过了转换开关的代码。


这段惊现的故事出现在Eyles今年3月出版的回忆录Sunburst And Luminary中。在书中,他还回忆了自己作为多个NASA太空任务的计算机工程师时发生的故事,其中涉及到1969年第一次载人登月的阿波罗11号、1969年第一次精确登月的阿波罗12号以及刚刚提到的阿波罗14号。


640?wx_fmt=jpeg


麻省理工学院仪器实验室的“非主流”工程师


Eyles从小就喜欢设计和制作东西。尽管他后来在波士顿大学主修数学,仍对艺术仍有着深刻的兴趣。


20世纪50年代后期,上高中的他作为戏剧制作的技术人员,参加了一个“伟大的图书”读书俱乐部,并经常收听大都会歌剧院的广播节目。在波士顿大学,最令他难忘的课程之一是“一个中世纪的艺术课,让我设计哥特式建筑的外观。”


这种多样化的背景为他的职业生涯带来了很多好处,教会了他如何从不同的角度来看问题并解决问题。


1966年,Eyles在波士顿“破旧的Fenway社区”租了一套公寓。他没有具体的职业目标,也没有写过任何计算机代码,但他就是认为自己可能喜欢计算机编程,因为他“喜欢谜题”。


在一个闷热的天气里,他偶然发现了查尔斯河河岸附近的麻省理工学院仪器实验室(the MIT Instrumentation Lab)。


这个实验室在20世纪60年代末和70年代初致力于利用政府拨款开展大规模的开拓性项目:“建立登月的航行和导航系统”。这个项目也是其最着名的成就之一。


项目负责人有着科学界的传奇名字,比如Charles Stark“Doc”Draper,“惯性导航之父”;Hal Laning,1952年发明了第一个编译器的人,以及众多计算机编程书籍的作者George Cherry等等。


而Eyles也成为了其中的一员,就此开始了他航天工程工程师的生涯。


他负责月球着陆工作:“阿波罗任务中最复杂的,也是最危险的阶段”。月球着陆的设计工作面临一系列特别棘手的问题:月亮的“块状”引力场问题,在厚厚的月球尘埃云中如何降落的问题,以及未知地形的考验等等。


正如Eyles所说:“连汽车那么大的巨石都太小了,无法从轨道上拍出来。”


但Eyles和他的同事们最终还是将这些问题解决了,包括阿波罗14号的突发情况。


阿波罗14号顺利降落月球后,Eyles立即成为了名人。报纸和广播电台的记者不停地给他打电话,波士顿大学和麻省理工学院的校长也都给他发来贺信。


640?wx_fmt=jpeg


甚至他的身影也出现在了很多电视荧屏之中。“我还记得在1996年的一个电视剧中,一个演员扮演我一边走进实验室,一边说‘我要咖啡’。而事实是我要是真以他的语气说话,根本就不会得到任何东西。”这也让Eyles笑了很久。


而除了工作,Eyles还有很多“非主流”的想法和行为。


比如Eyles和他的朋友试图让办公室变得更美:把它漆成紫色、绿色和红色,而不是白色和棕色,尽管实验室维修人员对此表示了强烈抗议。


他也曾设计一个迷你时间胶囊:Led Zeppelin在波士顿茶话会上举行他们的第一次美国巡演,Erich Leinsdorf指挥了波士顿交响乐团,并在波士顿鱼码头的无名餐厅用餐。


Eyles甚至还成为了一名摄影师和雕塑家。他的作品包括古帝国的坠落系列、101种角度看ZAKIM大桥系列等等。


Don Eyles个人网站:

https://www.doneyles.com/supersymandala.html


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


640?wx_fmt=jpeg


Eyles还是坚持Consciousness III 的科学家和技术人员之一,他们崇尚个人自由和平等主义,主张自由发挥想象力,乐于探究太空探索的宇宙意义。


“电脑编程是一门很好的手艺,有朝一日会被提升为一门艺术。”Eyles说。


幕后的英雄们


事实上,在阿波罗登月计划中曾付出过艰辛努力并取得辉煌成绩的,绝不仅仅是Eyles一人。


比如负责“阿波罗”号计算机飞行软件的“代码女皇”玛格丽特·汉密尔顿(Margaret Hamilton)。


640?wx_fmt=jpeg


在人们还不知道软件到底是怎么一回事的时候,玛格丽特和她的同事们就开始为世界上第一部便携式计算机写代码了,同时,他们也创造了计算机编程的核心理念。


她所编写的 “阿波罗11号”登月项目计算机制导系统的源代码也在2016年被公布出来,这段以汇编语言编写的代码即便是对今天的程序员来说,也堪称教科书般的存在。


有趣的是,当时阿波罗号的工程师们在敲入这段代码时还加入了大量自己的吐槽。若按现在的视角再去品味,它们就像是上世纪60年代的那些计算机极客们留给我们的时间胶囊。


而软件工程这个由玛格丽特引领的概念,从人类登月开始,已经进入了我们生活的方方面面。


再比如曾提名第89届奥斯卡最佳影片的《隐藏人物》(Hidden Figures)中的原型玛丽•杰克逊(Mary Jackson)、凯瑟琳•约翰逊(Katherine G. Johnson)和多萝西•沃恩(Dorothy Vaughan)。这三位美国国家航空航天局(NASA)的黑人女性工程师都曾默默为美国的登月计划做出巨大贡献,但不被外界所留意。


640?wx_fmt=jpeg


1903年,莱特兄弟的第一架飞机试飞成功;1957年,第一颗人造卫星升空;1961年,人类第一次进入太空;1969年,人类第一次登上月球;2001年,首次太空旅游成功。近百年来,人类对于太空的探索始终不曾停歇。


而无数的人为之付出过不懈的努力,甚至是生命的代价。


这其中也包括Eyles,包括玛格丽特,包括无数计算机工程师们。


相关报道:

http://www.wbur.org/artery/2018/03/01/sunburst-and-luminary-review

https://www.rollingstone.com/politics/politics-news/don-eyles-extra-weird-looking-freak-saves-apollo-14-40737/


640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang web php,golang 适合做web开发吗

使用go语言来做web开发,是非常方便的。如果不使用框架,仅仅使用net/http包,也能快速开发一个web应用。但是,官方包不支持RESTful风格的API,所以我们依然还是需要选择一个框架来帮助我们进行开发。 (推荐学习&#xff1…

我又花了28个小时分析了一下各省二类疫苗采购公示数据

1前 言距离《我花了14个小时找了一下长春长生们究竟卖到了哪里去》发出来已经过去了4天,过去的几天里,每天晚上我都在搜集和整理数据,终于把之前没做完的工作做的差不多了。现在做一个大致的总结,分析相对粗略,大家见…

mysql 中 end like,MySQL 这三道必问面试题,你都会吗?

来源:JAVA面试精选据群友面试反馈,整理了3道MySQL面试题,对很多人可能是小菜一碟,对这些熟悉,有更好的理解的话,可以留言补充,不断完善我们的题库。MySQL查询字段区不区分大小写?MyS…

[重磅] 如何更好地实现服务调用和消息推送

第四届阿里中间件性能挑战赛是由阿里巴巴集团发起,阿里巴巴中间(Aliware)、阿里云天池联合举办,是集团少有的工程性品牌赛事。大赛的初衷是为热爱技术的年轻人提供一个挑战世界级技术问题的舞台,希望选手在追求性能极致的同时,能深…

linux下安装配置apache+php,linux下安装apache与php;Apache+PHP+MySQL配置攻略

linux下安装apache与php;ApachePHPMySQL配置攻略时间:2019-10-09 20:041.apache在如下页面下载apache的for Linux 的源码包http://www.apache.org/dist/httpd/;存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。命令列表:c…

开发怼产品,天经地义?大惊小怪?

最近,又有一件轰动程序员界的事情发生了,想必大家伙都已经奔走相告了。来回顾下事情的经过,1张图就能说明白了骚不?反正有句话叫「从技术层面出发,总归有办法实现的」,还有这么一句话叫「从技术角度出发&am…

php实现数据排序算法,PHP实现排序堆排序算法

这篇文章主要为大家详细介绍了PHP实现排序堆排序(Heap Sort)算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下算法引进:在这里我直接引用《大话数据结构》里面的开头:在前面讲到 简单选择排序 ,它在待排序的 n 个…

谷歌Edge TPU:将机器学习引入边缘,撬动边缘计算/IOT大“地球”

近期,谷歌在Cloud Next会议上推出其最新产品,Edge TPU芯片和Cloud IOT Edge软件,并将于10月推出Edge TPU开发套件。作为Cloud TPU的补充,目前Edge TPU仅用于推理,专为在边缘运行TensorFlow Lite ML模型而设计。Edge TP…

matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计

《matlab实验四函数编写与程序设计》由会员分享,可在线阅读,更多相关《matlab实验四函数编写与程序设计(8页珍藏版)》请在金锄头文库上搜索。1、实验四:函数编写与程序设计一、实验目的 1 . 掌握 M 文件的创建。2掌握函数的编写规则。3掌握函…

eclipse运行java快捷键,eclipse常用快捷键

eclipse常用快捷键eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。1. 【ALT/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为…

详解云计算、大数据和人工智能的区别与联系

今天跟大家讲讲云计算、大数据和人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成…

php phar包require报错,php,_很奇怪,php 引入了phar,但是报错,说Predis\Client类找不到?,php - phpStudy...

很奇怪,php 引入了phar,但是报错,说Predis\Client类找不到?require Predis.phar;use Predis\Client;ini_set(session.save_path, tcp://localhost:6379);ini_set(session.name, YMFSESSION);ini_set(session.save_handler, user);…

关于腾讯云丢数据事件的一些看法

事件回顾:创业公司“前沿数控”8月5日发文称,公司存放在腾讯云上的精准注册用户以及内容数据全部丢失,并且不能恢复,造成公司平台全部停运的状态。前沿数控表示,公司丢失的数据近千万元级,对此索赔1000余万…

Navicat for mysql备份与恢复

文章目录 一、Navicat for mysql备份1.打开navicat,找到备份2.点击新建备份,直接点备份3.备份完成 二、恢复数据1.删除表2.点击备份,选中备份文件,点击还原备份3.还原完成 三、其他命令四、视频演示总结 一、Navicat for mysql备份…

java mysql order by,java-使用LIMIT和MySQL进行ORDER BY

我在使用MySQL查询时遇到问题,在该查询中我得到了一个带有LIMIT 1的行.但是,将其与order一起使用时,它不起作用.在mysql工作台中运行的查询如下:select * from train twhere t.togId 1125and t.tilDato > 2013-12-20order by t.fraDato LIMIT 1;但是,当我通过ja…

一文详解微服务架构的数据设计

微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务这些方面。本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮助大家在构建微服务架构时,提供一个数据方面的视角:什…

java 不支持fork,grails不能运行fork模式解决方法

升级到grails 2.3.2之后,运行时报如下的异常:Exception in thread "main"Error |Forked Grails VM exited with errorjava.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at ../../../src/share/…

干货 | 数据分析的 7 个关键步骤是什么?

“数据科学家” 这个名号总让人联想到一个孤独的天才独自工作,将深奥的公式应用于大量的数据,从而探索出有用的见解。但这仅仅是数据分析过程中的一步。数据分析本身不是目标,目标是使企业能够做出更好的决策。数据科学家构建出的产品&#x…

java中挂起和恢复,应用程序“未能及时恢复”并挂起

事件标识符:6C33511B-7C9A-474C-B888-84A4FAFF6F91 CrashReporter密钥:93bbba4f690eb1b7638fa7a09a3ff3aa4e6872f4硬件型号:iPad2,1过程:Designer [5279]路径:/ var / mobile / Applications / 7AA5BF4A-007D-47F8-B1C…

Python 爬取了马蜂窝的出行数据,告诉你这个夏天哪里最值得去!

文章由数据森麟出品作者徐麟正值火辣的暑假,朋友圈已经被大家的旅行足迹刷屏了,真的十分惊叹于那些把全国所有省基本走遍的朋友们。与此同时,也就萌生了写篇旅行相关的内容,本次数据来源于一个对于爬虫十分友好的旅行攻略类网站&a…