ディスカッション (11件)
宇宙探査機ボイジャー1号のシステム構成は、現代のエンジニアからすると信じられないほどミニマルです。メインメモリの総容量はたったの69KB(!)で、データのストレージにはなんと8トラックの磁気テープ・レコーダーが現役で使われています。この究極とも言える極小リソース環境で、45年以上にわたり過酷な宇宙空間を航行し、今なおデータを送り続けているという事実は、まさに組み込みエンジニアリングの極致と言えるでしょう。
「LinkedInが2.4GBのメモリを消費する」っていう投稿の隣にこれがあるの、マジで凹むわ。
その記事、LLMが書いたような文章ばっかりだな。かなり鼻につく。
スラスター修理のところが一番刺さる。2004年から止まってたスラスターを復活させるか、あるいは大爆発を引き起こすかっていうコマンドを送って、介入できないまま往復46時間も待ったんだぜ。ロールバックなし、監視ダッシュボードなし、ログのレイテンシは23時間っていう本番デプロイ。完璧にやり遂げたな。
この記事、一文ごとに改行されてるから、めちゃくちゃ気が散って読みづらい。
DockerやElectron、それにpadLeftが数千個入ったNPMプロジェクトが発明される前にボイジャー1号を打ち上げておいて本当に良かったよ。
『It's quieter in the twilight』っていう最高のドキュメンタリーがあるよ。今もボイジャーの両方のミッションを動かし続けている、高齢化して人数も減っているチームの話なんだ。
https://www.youtube.com/watch?v=F6L9Du_IFmI (https://www.youtube.com/watch?v=F6L9Du_IFmI)
名作「本物のプログラマはパスカルを使わない」に出てくるエピソードを思い出したよ。
本物のプログラマの中でも最高にカッコいい連中は、カリフォルニアのジェット推進研究所(JPL)にいる。彼らの多くは、パイオニアやボイジャーのOSを丸ごと暗記しているんだ。地上にある巨大なFORTRANプログラムと、探査機側の小さなアセンブリ言語プログラムを組み合わせて、信じられないようなナビゲーションや即興の修理をこなす。宇宙に出て6年後、土星付近でわずか10キロ幅のポイントに命中させたり、壊れたセンサーや無線機、バッテリーを修理したり迂回させたりする。噂では、ある「本物のプログラマ」がボイジャーの未使用メモリ数百バイトにパターンマッチングのプログラムを詰め込んで、木星の新しい衛星を探索・発見・撮影したらしい。
ガリレオ探査機の今の計画では、木星に向かう途中で火星のスイングバイを行う。この軌道は火星の表面から80プラスマイナス3キロ以内を通る。これほどの精度が求められるナビゲーションで、PASCALプログラム(あるいはPASCALプログラマ)を信用する奴なんていない。
この記事は風刺だからどこまで本当かは分からないけど、これまでの歴史の中で、探査機の保守担当者たちがこういう本当に素晴らしいことを成し遂げてきたのは事実だよね。
https://homepages.inf.ed.ac.uk/rni/papers/realprg.html (https://homepages.inf.ed.ac.uk/rni/papers/realprg.html)
ボイジャー1号と2号は、人類の科学的成果の中でも特にお気に入り。今の技術に比べれば比較的シンプルだけど(そこが魅力の一つでもある)、あんなに遠くにいて、ミッション終了予定からずっと経ってもまだ動いていて、通信もできるなんて。現代の技術が進歩しても、追いつくのに何十年もかかる。本当に素晴らしくて、刺激を受けるよ!
数GBもメモリを食いつぶすLinkedInとは大違いだね。