私はボーイングではありません。プログラマーの天才が巨大なメンテナンスの混乱を回避

Table of Contents

私はボーイングではありません。プログラマーの天才が巨大なメンテナンスの混乱を回避

誰、私?月曜日の朝にThe Register 紙がクラウドソーシングでお届けする読者の悪行や危機一髪の出来事を描いた物語「誰、私?」が再び戻ってきました。

「ピート」からの今日の告白は、1990 年当時、ボーイングの最高級機に乗っていた人たちの肛門を締め付けることになるだろう。

ピートは、Windows 3.0が主流で、サウンドカードは珍しく、CD-ROMはなおさら珍しかった時代に、マルチメディアの達人として活躍していました。彼は、英国の有名出版物のマルチメディアアドオンのコーディングに携わり、数々の賞を受賞しました。

当時はまだこの技術が黎明期だった頃で、ピートはサウンドカードを持たないユーザーでもミックスモードCDから音声が再生できるように巧妙なコードを書いていましたが、インデックスソフトウェアはWindows 3.0ではメモリリークがひどく、結局ベンダーは主任プログラマーを英国に派遣して問題を解決しなければなりませんでした。しかしピートは粘り強く取り組み、「おかげで私のCD-ROMはMacとWindowsで問題なく起動しました」。

大きなパイプ、写真はShutterstockより

大きなオランダ管から漏れているものをあまり注意深く見ないでください

続きを読む

彼の努力は見過ごされず、ベンダーに採用され、CD-ROM 発行ソフトウェアを Windows に移植することになりました。これが私たちの物語の始まりです。

「彼らのソフトウェアは、IBM RS6000 Unix ワークステーション上で動作し、主にボーイング 747 ジェット機のメンテナンス マニュアルに使用されていました」とピート氏は回想しています。

飛行機恐怖症の人、または飛行機恐怖症になるのではないかと恐れている人は、今すぐ目をそらした方が良いでしょう。

「彼らはRS6000を使って画面上でメンテナンスを行っていました。印刷されたデータは永久に保存されていませんでした」とピートは説明した。彼の任務はWindows 3.0への移植で、RISCマシンに加えて数台のマシンが作業用に与えられた。「オレンジ色のプラズマ画面でバッテリーも付いていない、重たい初期のラップトップと、確かコンパックのタワー型ワークステーションだったと思います」

ソフトウェアが完成し始めると、Pete は IBM に表示されたソース 747 CD-ROM からの出力と、Windows アプリケーションによって取得された出力を忠実に比較しました。

30ページほど進んだところで、WindowsアプリがRS6000アプリよりも多くのデータを表示するページにたどり着きました。図が2つ余分に表示され、テキストも1段落余分に表示されていました。数千ページもクリックしていくうちに、アプリが余分な図やテキストを表示する箇所がさらに見つかりました。

ああ、そうだ。

「何人かのマネージャーを呼んで確認してもらいました。生産管理ソフトにマニュアルがすべて表示されていないのを見て、彼らは顔面蒼白になったんです。」

まさにその通りです。結局のところ、これは当時のボーイング社の主力機である747の開発に携わっていたエンジニアたちが使用していた資料だったのです。図表や文章の一部が欠落していたのは、決して理想的とは言えませんでした。

すぐに非難が飛び交い始め、ピートが何らかの方法で「複雑な図表や文章をソフトウェアで追加した」のではないかと示唆する者もいた。

当時 Windows 3.0 API を使ってプログラミングしなければならなかった人なら誰でも、装飾を加えずに何かを垂直に保つだけでも十分困難だったと認めるでしょう。

ボーイングとIBMにも電話がかかったが、ピートは彼らの反応を慎重に隠した。肯定的な反応ではなかったとだけ言っておこう。

「数日間のデバッグの後、RS6000で使用されていたIBM Cコンパイラの最適化バグであることが判明しました」とピート氏は語った。「コールスタックが深くなりすぎた際に、ローカルC変数の格納に使用されていたレジスタが上書きされていたのです。」

そのため、すべてのテキストと図が表示されませんでした。

「RS6000 ソフトウェアは、コンパイルの最適化をオフにした状態でひっそりとアップグレードされました」とピート氏は付け加え、冷たくこう言った。「メンテナンスが不十分だったという報道は見ていません。」

ピートはもうすでに別の道を歩み始めており、現在はアフリカや東南アジアの恵まれないコミュニティがスマートフォンやデジタルサービスにもっとアクセスしやすくするためのプロジェクトに取り組んでいます。

しかし、「私は747の整備品質管理を実際に経験してから、数年間は747での飛行を避けていました。」

誰かの粗雑なコードのせいで、上司を説得して自分のせいではないと納得させた経験はありませんか?あるいは、自分のソフトウェアで飛行機に乗った経験はありませんか?もちろん私たちもそんなことはしませんが、Who, Me? 宛てのメールですべてを告白できるのです。

20年前、あなたはどこにいましたか? COBOLを必死にカットしたり、日付フィールドに重要なバイトを1、2バイト追加したりしていましたか? それとも、2050年まで持ちこたえ、爆発するかもしれないお手製のものを作っていましたか? 誰ですか? 私ですか? オンコールは、皆さんの忌まわしいY2K体験談も聞きたいと思っています。失敗寸前で難を逃れた話で、楽しいひとときをお過ごしください。®

Discover More