月面着陸コードの余白に記されたジョーク
人類の野心と厳密なエンジニアリングの偉業であるApollo 11の歴史的な月面着陸は、予想外に砕けた表現を含むソフトウェアに支えられていました。Apollo Guidance Computerのソースコード、特に月着陸船用の「Luminary099」リリースには、重要なフライトルーチンの合間にエンジニアたちの遊び心あふれるコメントが隠されています。
着陸レーダーを調整する宇宙飛行士に対し、「PLEASE CRANK THIS SILLY THING AROUND(この馬鹿げたものを回してくれ)」といった指示がガイドとなる、緊迫した降下シーンを想像してみてください。その直後、アンテナのチェックを行うコンピュータには、「SEE IF HE'S LYING(彼が嘘をついていないか確認しろ)」という懐疑的なメモが表示されます。
降下ループのさらに先では、エンジニアのAllan Klumppに言及した「Allan Klumpp SAYS GIVE UP TO EIGHT PASSES(Allan Klumppは最大8回まで試行せよと言っている)」というコメントがあります。このメモは、システムが中止する前に複数回の試行を許可するルーチンに添えられています。こうした人間味あふれるタッチは、人類最大の技術的飛躍の背後にいた人々の個性を垣間見せてくれます。
「Burn, baby, burn」は実際のフライトルーチンだった
Apollo Guidance Computerのソースコードにおけるミッションクリティカルな操作は、思いがけずコメディのような様相を呈していました。エンジニアたちは、エンジン点火に「OFF TO SEE THE WIZARD(魔法使いに会いに行く)」、ルーチン自体には1960年代のDJ Magnificent Montagueにちなんで「BURN_BABY_BURN_BABY_BURN_BABY_BURN」といった名前を付けていました。着陸後、座標表示には「NOW LOOK WHERE YOU ENDED UP(さあ、どこに着いたか見てみろ)」というタグが付けられました。
月面降下のApollo Guidance Computerソースコードにある「TEMPORARY, I HOPE, HOPE, HOPE(一時的なものだといいのだが)」というコメントは、不注意ではなく、文書化された製造上の変更であることを示しています。特定の課題に対処するためのこの修正は月まで運ばれ、緊迫した環境下であってもソフトウェア開発が動的かつ反復的な性質を持つことを強調しています。MITのエンジニアであるAllan Klumppは、降下ループに関する「Allan Klumpp SAYS GIVE UP TO EIGHT PASSES」という記述で名前が登場します。
再起動システム「ENEMA」には、「POO people」に相談するようにという警告が添えられていました。これは排泄物に関する言及ではなく、コンピュータのアイドルプログラムであるProgram 00(P00)を指しています。障害や復旧ルーチンにも、同様に個性的な名前が付けられていました。
- BAILOUT
- WHIMPER
- POODOO
- CURTAINS
これらの非公式なラベルは、Apollo 11のクルーとその画期的なマシンに託された計り知れない責任に対する、ブラックユーモアあふれる対比となっていました。
サーモスタットとの比較に隠された深刻なエンジニアリングの偉業
オープンソースとして公開されたこれらの遊び心あふれるコメントは、現代のサーモスタットよりも性能の低いハードウェアでミッションクリティカルなソフトウェアを構築するという、深刻なエンジニアリングの偉業を覆い隠しています。Apollo Guidance Computer(AGC)はわずか1.024 MHzで動作し、RAMは約2,048ワード、ROMは36,864ワードでした。コアロープメモリとして知られるこのROMは手作業で物理的に織られており、ソフトウェアの変更は文字通り配線のやり直しを意味しました。
Apollo 11の月面降下中、AGCは有名な1201および1202アラームを発生させました。これらは致命的なエラーではなく、着陸レーダーからのデータによってコンピュータが過負荷状態になったことを示すものでした。優先順位に基づいたエグゼクティブ機能のおかげで、AGCはインテリジェントに優先度の低いタスクを破棄し、不可欠な誘導機能を保護しました。
壊滅的な障害を防ぐために設計されたこの堅牢なアーキテクチャは、AGCの成功の礎となりました。MIT計装研究所でソフトウェアエンジニアリングチームを率いたMargaret Hamiltonは、このフォールトトレラントシステムの開発に尽力しました。彼女の功績は、当時生まれたばかりの「ソフトウェアエンジニアリング」という分野の先駆けとなり、今日でも不可欠な原則を確立しました。この歴史的なApollo Guidance Computerのソースコードの詳細については、GitHub - chrislgarry/Apollo 11-11: Original Apollo 11 11 Guidance Computer (AGC) Source Apollo Guidance Computer source codeリポジトリをご覧ください。
この記事が気に入ったら、毎朝同じようなものをメールで受け取れます。
1日1通 · 2クリックで解除 · サードパーティのトラッキングなし
手書きのアーカイブからGitHubのタイムカプセルへ
デジタル化の取り組みにより、この歴史的なソフトウェアが日の目を見ることになりました。Ron Burkey氏のVirtual AGCプロジェクトは、アーカイブ資料を綿密に書き起こし、手書きの文書を機械可読なテキストに変換しました。その後、2016年にChris Garry氏がこの書き起こしをGitHubで公開したことで、インターネット接続環境があれば誰でもApollo 11 Guidance Computerのソースコード全体にアクセスできるようになりました。
オープンソースとしてのアクセスは非常に貴重なものとなりました。現在、愛好家や専門家はオリジナルのアセンブリを検証し、Apollo Guidance Computerのソースコードのすべての行を精査することができます。この共同レビュープロセスは、元の文書のスキャン画像と照らし合わせることで書き起こしの誤りを修正するのにも役立ち、歴史的な正確性を保証しています。
結局のところ、コメントはApollo 11 11を支えた優秀なエンジニアたちを人間味あふれる存在として描き出し、極度のプレッシャー下での彼らの人柄を明らかにしています。しかし、真の驚異はジョークではなく、AGCのアーキテクチャそのものにあります。この堅牢なシステムは、原始的なハードウェアにもかかわらず、過酷なミッションを巧みにナビゲートしました。これは、その設計と開発者たちの創意工夫の証です。
よくある質問
Apollo 11のガイダンスコンピュータのコードはどこで読めますか?
Apollo 11のガイダンスソフトウェアのデジタル化されたバージョンは、chrislgarry/Apollo-11 GitHubリポジトリで公開されています。
Apollo 11のコードの面白い点は何ですか?
エンジニアたちは、「PLEASE CRANK THIS SILLY THING AROUND」や「BURN_BABY_BURN」といった、不敬なコメントや記憶に残るルーチン名を残しました。
Apollo Guidance Computerの性能はどの程度でしたか?
動作周波数は約1.024 MHzで、約2,048ワードの消去可能なメモリと、36,864ワードの読み取り専用コアロープメモリを備えていました。
Apollo 11のコンピュータは1201および1202アラームから回復しましたか?
はい。優先順位に基づいたエグゼクティブ(OS)が、過負荷時に優先度の低いタスクを切り捨てる一方で、重要なガイダンス作業を維持しました。

