
失われたアポロ10号用のプログラム、ドキュメントや変更履歴メモ、チェックサムなどを元に再現 46
ストーリー by hylom
これはめちゃくちゃ大変そうでは 部門より
これはめちゃくちゃ大変そうでは 部門より
Anonymous Coward曰く、
あるヴィンテージコンピューティング愛好家が、失われた「Apollo Guidance Computer(AGC) 」のアポロ10版を再現することに成功したそうだ。AGCはアポロ計画における月着陸ミッションのナビゲーションなどに使われたもので、アセンブリ言語で書かれていたという。オリジナル・ソフトウェアは、人類初の月面着陸となるアポロ11号のリハーサルテスト(アポロ10号自体がアポロ11号のリハーサルテスト)で失われた。
宇宙飛行エンジニアのマイク・スチュワート氏は、その失われたプログラムを再現する面白い方法を見つけ出した。それは古いバージョンのプログラムを印刷した物から転写するという方法だ。まず1735ページ分の印刷物から外部の協力者の手を借りて手打ちでソースコードを転写。しかし、そのままではバージョンが古いままなので、NASAの変更メモや新しいバージョンのプログラム、そして最近発見されたACGで実行されたチェックサムの資料をもとに修正をかけた。その結果、プログラムの再現に成功したとしている(YouTube、Virtual AGC Home Page、GitHub、YouTubeその2、Slashdot)。
大昔に通った道 (スコア:5, 参考になる)
プログラムが雑誌に印刷されていた時代、プリンタのフォントや印刷の関係で
どうしても判別できないものをチェックサムから求めていたことがあります。
あの時代を知る人にはチェックサムから復元するのは普通のことかもしれない。
# Aと4、8と0あたりは鬼門だった記憶
Re:大昔に通った道 (スコア:3)
プログラムがソノシートで配布されていた時代、きちんと復元できた試しがない自分が通りまーす。
当時、レコードプレイヤーの問題か、テープレコーダーの問題かも切り分けできなかった…。
Re: (スコア:0)
ウチはできましたよ。
ソノシートからテープにダビングしてからでなく、まずはソノシートの出力をそのまま読ませてから
テープにセーブしていました。
Re:大昔に通った道 (スコア:1)
PiO付録のソノシートは結構いけましたけど、
パソコンサンデーの副音声はついぞ成功しなかった…
好きでやっているんでしょうけど (スコア:0)
好きでやっているんでしょう、それに別にあやつけようという気はありませんが
このいにしえのプログラムと作業になにかいま、価値を見出すことができるとしたら、
どんなことがあるでしょうか
(初学者の教材として公開された実績のある宇宙船システムプログラム?とか)
Re:好きでやっているんでしょうけど (スコア:3, 参考になる)
愚者は経験に学び、賢者は歴史に学ぶってやつではないかと。
Re:好きでやっているんでしょうけど (スコア:1)
魔法使い=立童貞
賢者=不惑童貞
大賢者=天命童貞
Re: (スコア:0)
人は歴史から学ばないという言葉が脳裏をかすめました。
Re: (スコア:0)
あ、それ、賢者=自分=ビスマルクのことだから
一般論じゃないから
> このいにしえのプログラムと作業になにかいま、価値を見出すことができるとしたら、
一般論でいえば、びっくりニュース以外の価値はない
とくに歴史や学問に無縁のド民みたいな連中には関係はない
再現したプログラムに価値があるとすれば、当時の技術背景、つまり技術的制約だな、を熟知した賢者がこれを読んでアポロ技術者の考えを理解すること
これが賢者が読むことではじめて生まれる、歴史的学問的価値なのである
Re:好きでやっているんでしょうけど (スコア:4, すばらしい洞察)
日本では何度か考古学ブームっぽいことが起きていて、それがなければ保存されていなかった可能性の高い遺跡がいくつもある。
いくら学術的に貴重で価値が高くてもそれを守れるかどうかは世間の関心にも左右されるので、専門家以外にはどうでもいいで終わらせるものではない。
「賢者が読むことではじめて生まれる」なら、それを読める賢者が現れるまで維持する仕事というのも現実にあったりする。
Re: (スコア:0)
> いくら学術的に貴重で価値が高くてもそれを守れるかどうかは世間の関心にも左右されるので、専門家以外にはどうでもいいで終わらせるものではない。
トーシロの俺様を満足させるのも専門家のご奉仕ってか?
俺はお前らに、専門家に敬意を払うならトーシロを脱却するか黙っていろと言ってるんだけど、開き直るんなら救いようがないな
Re:好きでやっているんでしょうけど (スコア:2, すばらしい洞察)
そう受け取りたいならご勝手に。
いくら専門家が大事だと訴えても世間の無関心で失われたものはたくさんあるし、専門家も永遠に生きられるわけではないので後進の専門家を育てる必要がある。
トーシローの中から次世代の専門家が生まれるのを何もせずに待っていれば、その分野そのものが死に絶えることもありうる。
そういう危機感もなしに専門家以外が関わるなと言う方が開き直りに見えるな。
Re: (スコア:0)
貴方が敬意を微塵も抱けない人だという事だけはよくわかった。
Re: (スコア:0)
トートロジーっすね
Re: (スコア:0)
そりゃ馬鹿な発言や態度に敬意は抱けないわな
> 俺もお前らが態度をあらためれば即座に敬意を抱くぜ
ちゃんと敬意を抱くと宣言してある
> 貴方が敬意を微塵も抱けない人だという事だけはよくわかった
あのさあ、あんたはそれを言ってなにかどうかなると思ってるのか?お前が溜飲下げるためだけだろ?具体的な反論よこせよ
ついでにこっちに書く
> by Anonymous Coward on 2020年06月18日 13時10分 (#3835615)
> トートロジーっすね
で、具体的な内容に反論ないんだな?できないんだな?
Re: (スコア:0)
「敬意を抱け」みたいな具体性のない主張に具体的な反論があると思ってるのか…
Re: (スコア:0)
横レスだけど
・天才(ないし専門家)以外の発言は却下する
・発言者が天才(ないし専門家)であるかどうかは俺の主観で決める
→俺の主観にそぐわない意見は却下する
って感じで議論拒否してるように見えるので何言っても無駄に感じるかな、と。
あとトートロジーってのはそこそこ具体的な「指摘」だと思うよ。
言い回し違うだけの発言は無言と大差ないので反論もつかない。
Re: (スコア:0)
後世の人がビスマルクの言ったことをかっこよく改変して、
さらに今までそれが生きのびているので、
一般論として受けとっていいんじゃないですかね。
少なくとも引用した人はそのつもりでしょう。
一般論でないと反論するなら、ビスマルクを持ち出すのは筋違いですよ。
Re:好きでやっているんでしょうけど (スコア:1)
経験に学ばない人って、同じ失敗を繰り返す人もそうですよね。
# Wisdom is the daughter of experience. (Leonardo da Vinci)
# トライ・アンド・エラーを繰り返すことが経験、蓄積になる。 独自のノウハウはそうやってできていく (井深大)
Re:好きでやっているんでしょうけど (スコア:2)
> # Wisdom is the daughter of experience. (Leonardo da Vinci)
ダ・ヴィンチの言葉なら、イタリア語だったのでは(ラテン語はそれほど
得意じゃなかったぽいし)
わざわざ英語にするなら、日本語にしてもらったほうが読みやすいです。
Re: (スコア:0)
これは申し訳ございません。参考にしたサイトが英語で書いてあったもので、そのまま書いてしまいました。
# やっぱり学がないとこういうことから襤褸が出ますね。
Re:好きでやっているんでしょうけど (スコア:2)
遺跡、遺物の修復作業のようなものですかね。
直接的ではなくて、それを元にした別の将来の研究に役立ちそう。
Re:好きでやっているんでしょうけど (スコア:1)
歴史的価値、だな。
10万年前の落書きなら、へたくそな落書きでも歴史的価値があるのだ。
アポロぐらいのプロジェクトならプログラムでも歴史的価値は生じるんじゃなかろうか。
※後世の歴史家が研究するため、という価値もあるかもしれない。後にならないと価値が分からんことあるからね。
ってのと、この復元手順自体が面白い、っていう価値があるね。
特にチェックサムってーのが面白いなぁ。軽微な間違いは検出できるから直せたってことよね。
Re:好きでやっているんでしょうけど (スコア:2, 興味深い)
しばらく前に見たけど、総当たりじゃなくて変更履歴とチェックサムで追ったんじゃなかったかな。
前のバージョンではこう書いてある、変更履歴と同じ内容は未来のバージョンではこう、合わせたら
こうなって、その結果のバイナリのチェックサムが記録と一致したとか。
Re: (スコア:0)
https://ja.wikipedia.org/wiki/歴史 [wikipedia.org]
Re: (スコア:0)
人類を月に送り込むシミュレーションゲームで使ったら面白いかも
Re: (スコア:0)
無事に到着すると、月の土地の権利証が貰えますか?
Re: (スコア:0)
失敗した人はここから買って下さい。
https://www.lunarembassy.jp/ [lunarembassy.jp]
Re: (スコア:0)
失われつつあるテクニックだと思います。
具体例を1つ挙げると、メモリ制約が非常に厳しいシステムの場合、
AGCシステムのテクニックを参考にすることで、
1ランク下のMCU採用が可能となり、コストダウンができるかもしれません。
近年、ローエンドの組み込み系であっても、フルアセンブラのプロジェクトは稀なので、
この手の知見は、年々ロストテクノロジーとなりつつあります。
しかも、このAGCシステムはコード全体で72KBしかありませんが、マルチタスク可能であり、
更にUNIXのシェルに相当する機能まで備えています。
また、中々目にする機会のない動作実績のある宇宙産業のコードですので、品質の高さも期待できます。
特に組み込み屋さん
Re: (スコア:0)
そういうものはちゃんと教科書などの文献があって安いものから学ぶものです
失われた実例からしか学べないと考えるのは馬鹿の証です
Re:好きでやっているんでしょうけど (スコア:2, すばらしい洞察)
教科書にのっているような「綺麗な」議論ではなくて
現実の制約のもとに、実稼働するものとして具現化されたモノとしての価値ってものがあるかと。
教科書に乗るような事柄だって、大量の試行錯誤からエッセンスを抜き出したもの。
Re: (スコア:0)
エッセンスだから現実に適用できるんだな
それ以外はロマン主義者の馬鹿のたわごと
Re:好きでやっているんでしょうけど (スコア:2)
実際問題として、教科書などの文献にまとめられず失われてしまう知識や技能ってあるのです。
それも、取捨選択の結果じゃなくて、単にそこまでの情報パスが無かったという理由で。
インターネットで自由自在の現在と冷戦下の国家機密の多重障壁の当時を一緒にしちゃいけません。
もちろん、そうやって明らかになったものが取捨選択の結果やっぱり捨てられちゃうかもしれませんが。
それはそれとしても、ある程度技能を身に着けた人にとっては他人のコードが良くも悪くも教材になるってのは知られた話だと思うのですが。
Re: (スコア:0)
> 実際問題として、教科書などの文献にまとめられず失われてしまう知識や技能ってあるのです。
そういう失われた真理があるという考えはロマン主義というのです
ムー大陸の超科学とおなじオカルトです
アポロは名前の通り科学プロジェクトだからそんなものはありません
失われたコードにあるのはせいぜいどうでもいいようなアドホックなテクニックだけです
料理屋のレシピのような科学でないものは、店主が隠したまま死ぬかもしれないが
Re:好きでやっているんでしょうけど (スコア:1)
そもそも論として、この手の技巧に頼ってやってたことって、今は、コンパイラなどの自動最適化で殆どできちゃうことですからね。
何しろ、開発ホストマシンの資源というのがターゲットよりも膨大に大きくて、自動最適化技術や理論の進歩も凄まじい訳で。
そこら辺をわかっていて、この手の事を必ず学ぶべきかどうかと言うと…。
学ばないよりは学んだほうがいいことは確かなんですけど…この手の技巧って、今では最終的な手段になる訳で、今はアルゴリズム的に素直な物を必要最低限だけ崩していく方がベター…。
Re: (スコア:0)
今となってはAGCや、それを作り出したテクニックそのものは役に立つものでもなんでもない。
もう「工芸品」なんですよ。「職人の技」を愛でて「いい仕事してますねー」。
そんな感じではないかと。
Re: (スコア:0)
命令の途中にジャンプしてオペランドをオペコードとして実行するようなコードはコンパイラじゃ吐かないですしね。
いまどきのCPUだと例外起こして実行できないだろうし、そもそもメモリが潤沢にある環境ではそんなコードは書くべきじゃないってのは重々承知なんですが、当時の色々な制限を勘案して職人技として見るってのはありますよね。
Re:好きでやっているんでしょうけど (スコア:1)
Re: (スコア:0)
秋葉原のコミックzinで売ってる技術系同人誌に、AGCとかアポロ計画のコンピュータシステムの解説本があるから、興味があれば買ってみれば?
Re: (スコア:0)
https://developers.srad.jp/story/12/01/20/0957238/ [developers.srad.jp]
ここでボロカスに言われた水城さんかな?
Re: (スコア:0)
https://shop.comiczin.jp/products/detail.php?product_id=8092 [comiczin.jp]
著者はその方ですね
Re: (スコア:0)
わざわざローエンドつかわなくても、組込み用中華ARMマイコン+Linuxでいいよ
安いのに高性能
Re:好きでやっているんでしょうけど (スコア:2)
「CPU 宇宙線」で検索!
ふつうの安い民生用ではダメそうだが。
Re: (スコア:0)
こういった遊びに価値が無い利益を生み出さないなら意味がない
みたいな考え方は文明人のする事じゃないですよ
古文漢文歴史の授業嫌いだったでしょ?君?
今自分だけが気持ち良ければ良いならアメリカに行って黒人と一緒に略奪でもして楽しんだらいい
土人同士で意気投合出来るでしょう
Re: (スコア:0)
疑問に疑問で返すのは反則でしょうけれど。
取り組んでいる人を遠巻きに眺めて、その取り組みに価値があるかないかとあれこれ頭を巡らせることにどんな価値や益があるのでしょうか?
(価値とか正義とか科学的とか善とか悪とか、あくまで無菌室での相対的な事柄なのにさも現実における唯一絶対のような風情を醸し出してくる言葉が役に立つ場面はあるのだろうか?)