パスワードを忘れた? アカウント作成
14213791 story
NASA

失われたアポロ10号用のプログラム、ドキュメントや変更履歴メモ、チェックサムなどを元に再現 46

ストーリー by hylom
これはめちゃくちゃ大変そうでは 部門より

Anonymous Coward曰く、

あるヴィンテージコンピューティング愛好家が、失われた「Apollo Guidance Computer(AGC) 」のアポロ10版を再現することに成功したそうだ。AGCはアポロ計画における月着陸ミッションのナビゲーションなどに使われたもので、アセンブリ言語で書かれていたという。オリジナル・ソフトウェアは、人類初の月面着陸となるアポロ11号のリハーサルテスト(アポロ10号自体がアポロ11号のリハーサルテスト)で失われた。

宇宙飛行エンジニアのマイク・スチュワート氏は、その失われたプログラムを再現する面白い方法を見つけ出した。それは古いバージョンのプログラムを印刷した物から転写するという方法だ。まず1735ページ分の印刷物から外部の協力者の手を借りて手打ちでソースコードを転写。しかし、そのままではバージョンが古いままなので、NASAの変更メモや新しいバージョンのプログラム、そして最近発見されたACGで実行されたチェックサムの資料をもとに修正をかけた。その結果、プログラムの再現に成功したとしている(YouTubeVirtual AGC Home PageGitHubYouTubeその2Slashdot)。

  • 大昔に通った道 (スコア:5, 参考になる)

    by Anonymous Coward on 2020年06月17日 14時49分 (#3835028)

    プログラムが雑誌に印刷されていた時代、プリンタのフォントや印刷の関係で
    どうしても判別できないものをチェックサムから求めていたことがあります。

    あの時代を知る人にはチェックサムから復元するのは普通のことかもしれない。

    # Aと4、8と0あたりは鬼門だった記憶

    ここに返信
  • by Anonymous Coward on 2020年06月17日 14時46分 (#3835025)

    好きでやっているんでしょう、それに別にあやつけようという気はありませんが
    このいにしえのプログラムと作業になにかいま、価値を見出すことができるとしたら、
    どんなことがあるでしょうか
    (初学者の教材として公開された実績のある宇宙船システムプログラム?とか)

    ここに返信
    • by Anonymous Coward on 2020年06月17日 15時16分 (#3835048)

      愚者は経験に学び、賢者は歴史に学ぶってやつではないかと。

      • by Anonymous Coward on 2020年06月17日 16時19分 (#3835105)

        魔法使い=立童貞
        賢者=不惑童貞
        大賢者=天命童貞

      • by Anonymous Coward

        人は歴史から学ばないという言葉が脳裏をかすめました。

      • by Anonymous Coward

        あ、それ、賢者=自分=ビスマルクのことだから
        一般論じゃないから

        > このいにしえのプログラムと作業になにかいま、価値を見出すことができるとしたら、

        一般論でいえば、びっくりニュース以外の価値はない
        とくに歴史や学問に無縁のド民みたいな連中には関係はない

        再現したプログラムに価値があるとすれば、当時の技術背景、つまり技術的制約だな、を熟知した賢者がこれを読んでアポロ技術者の考えを理解すること
        これが賢者が読むことではじめて生まれる、歴史的学問的価値なのである

        • by Anonymous Coward on 2020年06月17日 21時08分 (#3835311)

          日本では何度か考古学ブームっぽいことが起きていて、それがなければ保存されていなかった可能性の高い遺跡がいくつもある。
          いくら学術的に貴重で価値が高くてもそれを守れるかどうかは世間の関心にも左右されるので、専門家以外にはどうでもいいで終わらせるものではない。
          「賢者が読むことではじめて生まれる」なら、それを読める賢者が現れるまで維持する仕事というのも現実にあったりする。

          • by Anonymous Coward

            > いくら学術的に貴重で価値が高くてもそれを守れるかどうかは世間の関心にも左右されるので、専門家以外にはどうでもいいで終わらせるものではない。

            トーシロの俺様を満足させるのも専門家のご奉仕ってか?
            俺はお前らに、専門家に敬意を払うならトーシロを脱却するか黙っていろと言ってるんだけど、開き直るんなら救いようがないな

            • by Anonymous Coward on 2020年06月17日 21時49分 (#3835324)

              そう受け取りたいならご勝手に。

              いくら専門家が大事だと訴えても世間の無関心で失われたものはたくさんあるし、専門家も永遠に生きられるわけではないので後進の専門家を育てる必要がある。
              トーシローの中から次世代の専門家が生まれるのを何もせずに待っていれば、その分野そのものが死に絶えることもありうる。
              そういう危機感もなしに専門家以外が関わるなと言う方が開き直りに見えるな。

              • by Anonymous Coward

                貴方が敬意を微塵も抱けない人だという事だけはよくわかった。

              • by Anonymous Coward

                トートロジーっすね

              • by Anonymous Coward

                そりゃ馬鹿な発言や態度に敬意は抱けないわな
                > 俺もお前らが態度をあらためれば即座に敬意を抱くぜ
                ちゃんと敬意を抱くと宣言してある

                > 貴方が敬意を微塵も抱けない人だという事だけはよくわかった
                あのさあ、あんたはそれを言ってなにかどうかなると思ってるのか?お前が溜飲下げるためだけだろ?具体的な反論よこせよ

                ついでにこっちに書く
                > by Anonymous Coward on 2020年06月18日 13時10分 (#3835615)
                > トートロジーっすね
                で、具体的な内容に反論ないんだな?できないんだな?

              • by Anonymous Coward

                「敬意を抱け」みたいな具体性のない主張に具体的な反論があると思ってるのか…

              • by Anonymous Coward

                横レスだけど
                ・天才(ないし専門家)以外の発言は却下する
                ・発言者が天才(ないし専門家)であるかどうかは俺の主観で決める
                →俺の主観にそぐわない意見は却下する
                って感じで議論拒否してるように見えるので何言っても無駄に感じるかな、と。

                あとトートロジーってのはそこそこ具体的な「指摘」だと思うよ。
                言い回し違うだけの発言は無言と大差ないので反論もつかない。

        • by Anonymous Coward

          後世の人がビスマルクの言ったことをかっこよく改変して、
          さらに今までそれが生きのびているので、
          一般論として受けとっていいんじゃないですかね。
          少なくとも引用した人はそのつもりでしょう。

          一般論でないと反論するなら、ビスマルクを持ち出すのは筋違いですよ。

          • by Anonymous Coward on 2020年06月17日 18時28分 (#3835210)

            経験に学ばない人って、同じ失敗を繰り返す人もそうですよね。
            # Wisdom is the daughter of experience. (Leonardo da Vinci)
            # トライ・アンド・エラーを繰り返すことが経験、蓄積になる。 独自のノウハウはそうやってできていく (井深大)

            • > # Wisdom is the daughter of experience. (Leonardo da Vinci)

              ダ・ヴィンチの言葉なら、イタリア語だったのでは(ラテン語はそれほど
              得意じゃなかったぽいし)
              わざわざ英語にするなら、日本語にしてもらったほうが読みやすいです。

              • by Anonymous Coward

                これは申し訳ございません。参考にしたサイトが英語で書いてあったもので、そのまま書いてしまいました。
                # やっぱり学がないとこういうことから襤褸が出ますね。

    • 遺跡、遺物の修復作業のようなものですかね。
      直接的ではなくて、それを元にした別の将来の研究に役立ちそう。

    • by Anonymous Coward on 2020年06月17日 14時52分 (#3835031)

      歴史的価値、だな。

      10万年前の落書きなら、へたくそな落書きでも歴史的価値があるのだ。
      アポロぐらいのプロジェクトならプログラムでも歴史的価値は生じるんじゃなかろうか。
      ※後世の歴史家が研究するため、という価値もあるかもしれない。後にならないと価値が分からんことあるからね。

      ってのと、この復元手順自体が面白い、っていう価値があるね。
      特にチェックサムってーのが面白いなぁ。軽微な間違いは検出できるから直せたってことよね。

      • by Anonymous Coward on 2020年06月17日 15時02分 (#3835041)

        しばらく前に見たけど、総当たりじゃなくて変更履歴とチェックサムで追ったんじゃなかったかな。
        前のバージョンではこう書いてある、変更履歴と同じ内容は未来のバージョンではこう、合わせたら
        こうなって、その結果のバイナリのチェックサムが記録と一致したとか。

    • by Anonymous Coward
    • by Anonymous Coward

      人類を月に送り込むシミュレーションゲームで使ったら面白いかも

    • by Anonymous Coward

      このいにしえのプログラムと作業になにかいま、価値を見出すことができるとしたら、
      どんなことがあるでしょうか

      失われつつあるテクニックだと思います。

      具体例を1つ挙げると、メモリ制約が非常に厳しいシステムの場合、
      AGCシステムのテクニックを参考にすることで、
      1ランク下のMCU採用が可能となり、コストダウンができるかもしれません。

      近年、ローエンドの組み込み系であっても、フルアセンブラのプロジェクトは稀なので、
      この手の知見は、年々ロストテクノロジーとなりつつあります。

      しかも、このAGCシステムはコード全体で72KBしかありませんが、マルチタスク可能であり、
      更にUNIXのシェルに相当する機能まで備えています。

      また、中々目にする機会のない動作実績のある宇宙産業のコードですので、品質の高さも期待できます。

      特に組み込み屋さん

      • by Anonymous Coward

        そういうものはちゃんと教科書などの文献があって安いものから学ぶものです
        失われた実例からしか学べないと考えるのは馬鹿の証です

        • by Anonymous Coward on 2020年06月17日 20時05分 (#3835263)

          教科書にのっているような「綺麗な」議論ではなくて
          現実の制約のもとに、実稼働するものとして具現化されたモノとしての価値ってものがあるかと。
          教科書に乗るような事柄だって、大量の試行錯誤からエッセンスを抜き出したもの。

          • by Anonymous Coward

            エッセンスだから現実に適用できるんだな
            それ以外はロマン主義者の馬鹿のたわごと

        • 実際問題として、教科書などの文献にまとめられず失われてしまう知識や技能ってあるのです。
          それも、取捨選択の結果じゃなくて、単にそこまでの情報パスが無かったという理由で。
          インターネットで自由自在の現在と冷戦下の国家機密の多重障壁の当時を一緒にしちゃいけません。

          もちろん、そうやって明らかになったものが取捨選択の結果やっぱり捨てられちゃうかもしれませんが。

          それはそれとしても、ある程度技能を身に着けた人にとっては他人のコードが良くも悪くも教材になるってのは知られた話だと思うのですが。

          • by Anonymous Coward

            > 実際問題として、教科書などの文献にまとめられず失われてしまう知識や技能ってあるのです。

            そういう失われた真理があるという考えはロマン主義というのです
            ムー大陸の超科学とおなじオカルトです
            アポロは名前の通り科学プロジェクトだからそんなものはありません
            失われたコードにあるのはせいぜいどうでもいいようなアドホックなテクニックだけです

            料理屋のレシピのような科学でないものは、店主が隠したまま死ぬかもしれないが

        • そもそも論として、この手の技巧に頼ってやってたことって、今は、コンパイラなどの自動最適化で殆どできちゃうことですからね。

          何しろ、開発ホストマシンの資源というのがターゲットよりも膨大に大きくて、自動最適化技術や理論の進歩も凄まじい訳で。

          そこら辺をわかっていて、この手の事を必ず学ぶべきかどうかと言うと…。
          学ばないよりは学んだほうがいいことは確かなんですけど…この手の技巧って、今では最終的な手段になる訳で、今はアルゴリズム的に素直な物を必要最低限だけ崩していく方がベター…。

          • by Anonymous Coward

            今となってはAGCや、それを作り出したテクニックそのものは役に立つものでもなんでもない。
            もう「工芸品」なんですよ。「職人の技」を愛でて「いい仕事してますねー」。
            そんな感じではないかと。

            • by Anonymous Coward

              命令の途中にジャンプしてオペランドをオペコードとして実行するようなコードはコンパイラじゃ吐かないですしね。
              いまどきのCPUだと例外起こして実行できないだろうし、そもそもメモリが潤沢にある環境ではそんなコードは書くべきじゃないってのは重々承知なんですが、当時の色々な制限を勘案して職人技として見るってのはありますよね。

        • Lions先生をあまりdisらないでいただきたい
      • by Anonymous Coward

        秋葉原のコミックzinで売ってる技術系同人誌に、AGCとかアポロ計画のコンピュータシステムの解説本があるから、興味があれば買ってみれば?

      • by Anonymous Coward

        わざわざローエンドつかわなくても、組込み用中華ARMマイコン+Linuxでいいよ
        安いのに高性能

    • by Anonymous Coward

      こういった遊びに価値が無い利益を生み出さないなら意味がない
      みたいな考え方は文明人のする事じゃないですよ
      古文漢文歴史の授業嫌いだったでしょ?君?
      今自分だけが気持ち良ければ良いならアメリカに行って黒人と一緒に略奪でもして楽しんだらいい
      土人同士で意気投合出来るでしょう

    • by Anonymous Coward

      疑問に疑問で返すのは反則でしょうけれど。

      取り組んでいる人を遠巻きに眺めて、その取り組みに価値があるかないかとあれこれ頭を巡らせることにどんな価値や益があるのでしょうか?

      (価値とか正義とか科学的とか善とか悪とか、あくまで無菌室での相対的な事柄なのにさも現実における唯一絶対のような風情を醸し出してくる言葉が役に立つ場面はあるのだろうか?)

typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...