ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

12人の怒れるプログラマ

»

 「お客様のなかにプログラマの方はいらっしゃいませんか」
 もしあなたが飛行機に乗っていて、こんなアナウンスが聞こえてきたらどうするだろうか。手を挙げる? それとも寝たふりを決め込み無視する?
 わたしは後者を選択した。寝てはいなかったが、まるっきりウソというわけではない。離陸して30 分、ようやくうとうとしかけていたところだ。昨夜はトラブルが重なったおかげで帰宅が遅くなり、今朝は家を出たのが早かったため、睡眠時間は3 時間未満。もともと飛行機の中ではあまり眠れるたちではないし、札幌に着いてからは、法事やら何やらでほとんど休む時間がない予定だ。この貴重な時間に少しでも睡眠を取っておきたい。わたしは奇妙なアナウンスを聞かなかったことにしようとしたが、残念ながらそうはいかなかった。おせっかいな夫と娘が両側から同時にわたしをつついたからだ。
 「ね、今の聞こえた?」
 「ママ、呼んでるよ」
 わたしは深い睡眠状態を装おうとしたが、娘に肩を揺さぶられ、仕方なくアイマスクを外した。
 「え、なに? よく聞こえなかったの」
 そうとぼけた途端、タイミング悪く、また機内アナウンスが流れた。気のせいか、さっきより焦燥度合いが高い。
 「お客様のなかにプログラマの方がいらっしゃったら、どうかお近くの客室乗務員までお声がけください」
 「ほら、ママ」娘は目を輝かせて促した。「呼んでるよ」
 「まあ」わたしは渋々、身体に巻き付けていたブランケットを外して立ち上がった。「わたしは確かにプログラマよね」
 通路に出ると、あちこちで数人の老若男女が立ち上がっているのが見えた。いずれも戸惑った顔をしている。わたしは前方から急ぎ足でやってきた若いCA に声をかけた。
 「すいません。わたし、プログラマなんですが」
 緊張した顔のCA は安堵を隠そうともしなかった。
 「ああ、よかった。本当に助かります。お名前を教えていただけますか」
 「星野アツコです。あの、プログラマを探しているんですか」わたしは確認した。「お医者様ではなくて」
 「はい。もちろんでございます」
 「航空業界のスラングか何かで、ドクターのことをプログラマと呼称してたりはしないですよね」
 「おくつろぎのところ恐縮ですが」CA はわたしの冗談を無視して言った。「少し、お時間をいただけないでしょうか」
 「まあ、わたしにできることでしたら」
 わたしはCA に誘導されて前方に進んだ。ギャレーとか呼ばれるカーテンで仕切られた区画の前で、ちらりと後ろを振り返ると、夫と娘が、がんばれ、とでも言うように、手を振っている。その横を、やはりCA に連れられて、何人かが通路を進んできていた。彼らもやはりプログラマなんだろうか。
 CA に案内され、わたしは急ぎ足でギャレーを通り抜け、生まれて初めてファーストクラス区画へと足を踏み入れた。乗客は、つまり正規にファーストクラスのチケットを購入した乗客は一人もいなかったが、通路に数人の男女が手持ち無沙汰な様子で立っていた。同じように名乗り出たプログラマらしく、わたしの姿を見ると、何人かが視線を投げてきた。CA は「少しお待ちください」と言い残し、また足早に戻っていった。
 一体、何が起こっているのか、とわたしは事情を知っていそうな人間を求めて、居合わせた人たちを見たが、返ってきたのは、戸惑いと好奇心の視線だけだった。
 ファーストクラスのシートは、広々としていて、さぞよく眠れるだろうと思わせる造りになっている。ここに座って待っていたらまずいかな、と誘惑に駆られたとき、再びCA が現れた。後ろに数人が続いている。わたしは何となく人数を数えてみた。CA とわたしを除いて11 人。CA は全員に「少々お待ちください」と言うと、ほとんど走るように前方のドアを開けて中に入っていった。
 「なんなんだよ」
 でっぷりと太った男が呟き、何人かが同意するような声を出した。
 すぐにカーテンが開き、CA が戻ってきた。背の高い制服を着た男性と、スーツ姿でメガネをかけた男性が一緒だ。制服の方が口を開いた。
 「みなさん、ご足労おかけして申しわけありません。副機長の遠藤と申します。こちらは警視庁公安部の児玉警部補です」
 「児玉です」メガネの男性は、警察手帳を顔の横に掲げた。「この飛行機は現在、少しばかり危険な状況にあります。それを排除するため、みなさんの力をお借りしたい」
 全員が息を呑んで、児玉警部補の顔を注視した。
 「先ほど、かねてからマークしていたテロリストの一人を、機内で拘束しました。詳細は明かせませんが、某国から秘密裏に偽造パスポートで入国し、搭乗したことがわかっています。名前はAとしておきましょう。どうして搭乗させたのかとか、そいつの目的は何なのかとか、そういうことはこの際、大きな問題ではありません。問題なのは、Aが、ある......装置を持ち込み、それを起動させたことです」
 「装置って何ですか?」あごひげを生やした男が訊いた。「もしかして爆弾ですか」
 ざわめきが生まれかけたが、児玉警部補が素早く手を挙げて押さえ込んだ。
 「騒がないでください。詳細は明かせないんです。とにかく、装置を停止させなければならない。しかも残り時間が潤沢にあるとは言えない状況です」
 「どうしてですか?」わたしは訊いた。「新千歳空港まであと90 分ぐらいですよね。そこまで待てないんですか?」
 「待てません」児玉警部補は首を横に振った。「おそらく30 分ほどで装置が、その、効果を発揮するからです」
 「つまり爆発するんですね」
 「そうは言っていません。結果として何が起こるのかは問題ではありません。装置が効果を発揮したら、それを知っても無意味になるからです」
 「それで」髪の半分が白くなっている初老の男性が焦れたように訊いた。「私たちに何をせよとおっしゃるんですか?」
 児玉警部補は副機長に頷いた。副機長は何かを差し出した。
 「これです」
 10 インチAndroid タブレットだった。フレームが太い機種で、白い文字でロゴが入っているがかすれていて読めない。液晶画面には何かのアプリが起動している。黒バックに白い文字のシンプルなウィンドウで、画面の下半分はソフトウェアキーボードだ。アプリのタイトルにはGNU nano 4.6 と表示されている。その下には......

src1.png
 「Python だ」誰かが驚いた声で言った。
 確かにPython のソースだった。クラスの中にいくつかのメソッドが定義され、初期化後に呼ばれている。
 「これじゃあ何やってるのかわかりませんね」背の高い女性が言った。「何なんですか、これ」
 「それが」児玉警部補は顔をしかめて答えた。「停止プログラムのようです」
 わたしを含めたプログラマたちは一斉に首を傾げた。児玉警部補は時計を見ながら早口で説明した。タブレットは機体のどこかに仕掛けられた"装置"に機内Wi-Fi で接続されている。Aはこの道では名が通ったプロだが、何らかの強迫観念に取り付かれてでもいたのか、彼、または彼女が作る"装置"の起動や停止は、必ず何かのアルゴリズムを経由するようになっているのが通例だった。
 「アルゴリズム?」大きなメガネをかけた中学生ぐらいの男の子が訊いた。「クイックソートみたいな?」
 そんなところです、と児玉警部補は頷いた。妙なところで生真面目さを持つAは、過去に作成した装置には必ず停止手段を用意していた。今回が例外であるとは考えにくい。離陸直後、Aは自分の身に法執行機関の手が伸びていることに気付いたらしく、停止プログラムの削除に取りかかった。児玉警部補がAの手を押さえたのは、その数秒後だった。すぐにタブレットを取り上げられたため、プログラムの完全な消去には失敗したが、一部を消去して保存することには成功した。そのすぐ後、Aは一瞬の隙をついて、所持していた薬物を飲み、現在は海より深い昏睡状態に陥っている。
 「ちょっと待てや」茶髪の男が怒りの声を上げた。「警察、ちょっと不手際すぎへんか? なんでそんなことが可能だったん?」
 「その経緯には、いろいろな事情と、複数の不幸な偶然がありますが、それを話している時間はないし、それを知ったところで、事態の解決に役立つとは思えません。私が引退して20 年ぐらいしたら出版されるかもしれない手記をお読みいただくか、2 時間ドラマの題材になったら視聴していただくかしてもらえると助かります。とにかく、その消えてしまった部分を復元してもらわなければなりません」
 その言葉に、プログラマたちは、首を伸ばしてタブレットを覗き込んだ。
 「消えてしまったって」わたしはソースを指した。「これは完結してるじゃないですか」
 「そうですね」初老の男性が同意した。「実行したら動くんじゃないのか」
 「これ撮影していいですか?」中年男性が、児玉警部補に断って、自分のスマートフォンでタブレットの画面を撮影した。どこかで会った人のような気がするが思い出せなかった。
 「こっちじゃねえの?」タンクトップ姿の若い男が、持っていたマドラーでソースをつついた。「このp1() からp8() で呼んでるメソッド」
 みたところ最終行のSender().transmit(ss.p8()) が最後の処理のようだ。わたしがそう言うと、児玉警部補は頷いた。
 「そっちのソースは残っていたので、スクリーンショットを地上に送って分析させました。そこで装置にデータを送信していることは確かです」
 「それが停止信号ですか?」わたしは訊いた。
 「地上の分析班からの結果をそのまま読みますね。メソッドtransmit() が装置に停止信号を送信していることは、ほぼ確実だと思われる。引数として受け取っているのは2 次元の数値配列であり、メソッド内でJSON 形式に変換した上で送信している。処理自体は装置側で行われているため、当該メソッドから推測は不可能である。これでわかります?」
 「ということは」Tシャツ姿の若い女性がソースを指した。「このits なんちゃらってメソッドで、その2 次元配列を作ってるってことですね。ソースは、このGS なんちゃらの中ですかね」
 「開いてみるか」閉じているのではないかと思うほど目が細い男性が言い、児玉警部補を見た。「これ閉じますよ」
 児玉警部補が頷くのを見て、細い目の男性はタブレットを引き寄せ、指を走らせた。慣れた手つきでキーを押し、エディタを閉じる。ウィンドウには$ のプロンプトが表示された。やはりAndroid をLinux に化けさせるアプリTermux 上で、nano エディタによってPython ファイルを開いていたようだ。nano の存在は知っていたが、使ったことはなく、ファイルの閉じ方もわからない。知っている人が乗り合わせていて幸運だった。

src4.png
 GSInitialGoodBy.py ファイルが開かれると、わたしたちは一斉に呻き声を上げた。先頭に定義されているメソッドitsL8 () が、不自然に途切れている。

src3.png
 「なんじゃこの変数」タンクトップの男が腹立たしそうに言った。「a とかb とか。命名規則のポリシーってもんがねえのかよ」
 わたしもため息をついた。このソースの断片から、元を復元するなんて、無理もいいところじゃないか。変数がまともに命名されていれば、何のアルゴリズムなのか推測もできるかもしれないが。
 「これじゃムリですよ」中年女性が早々にギブアップを宣言した。
 さっきの中年男性がタブレットを覗き込むと、またソースを撮影し、そのまま後ろに下がった。近くのシートにもたれながら、撮影した画像をじっと見つめている。
 「ループが入れ子になってる」初老の男性が呟いた。「ここに出ているだけで四重だ。何か、総当たりっぽいな」
 「それぐらいわかるけどよ」タンクトップの男が突っかかった。「問題は何を総当たりで探してるのかってことだろ」
 「別の言い方をするなら、返り値が何の2 次元数値配列かってことだな」
 「何かヒントはないんですか」わたしは訊いた。
 「あるにはあるんですが」児玉警部補は申しわけなさそうに言った。「Aが昏睡する直前、じは......ある種の強い薬物を投与して、停止プログラムについて聞き出そうと試みたんです。残念ながらほとんどは罵声で、唯一、聞き出せた意味のある言葉が"イーキュー"という単語でした」
 イーキュー? 普通に考えれば、アルファベットのE とQ のことだろう。
 「EQ、ですか」中年女性が腕を組んだ。「パッと浮かぶのは、エラリークイーンですかね」
 「ああ、私も同じです」初老の男性が微笑んだ。「作家の名前ですが、探偵の名前でもありますね」
 「うーん、心の知能指数のことをEQ と略しますけど」Tシャツの女性が言った。
 「そいつプログラマなんだろ」とタンクトップの男。「だったらjQuery とかのイコールのことじゃねえの?」
 「イコライザーもEQ って略すね」太った男が言った。「関係ないか」
 「昔のゲームにエバークエストってゲームがあって、ファンの間じゃEQ って呼んでたな」
 「いや待てよ。そもそも、装置って英語でequipment じゃないですか」
 「それは、こっちの人が便宜上呼んでるだけですよ」
 「あ、そういえば英語の論文で、方程式をEq と略しますねえ」
 何人かはスマートフォンでEQ を検索しているようだが、めぼしい結果は得られなかったようだ。
 「メルセデスの電気自動車か何かのコンセプトをEQ って言ってるみたいですね」
 「うーん」中年女性が手を挙げた。「やっぱりわからないなあ」
 「地上に連絡はできるんでしょう? 誰かに聞いてみた方がいいんじゃないですか?」
 「それはすでにやっています」児玉警部補が言った。「うちの技術者に心当たりを探させましたが、今、みなさんに上げてもらったものばかりでした」
 「これ、適当な2 次元配列を作るようにソースを完了させてさ」タンクトップの男が提案した。「実行させてみたらエラーか何か返ってくんじゃねえ?」
 「それはどうかな」あごひげの男が反対した。「ぼくなら何回か間違えたらロックするように作るけどね」
 「やってみなきゃわかんねえじゃん」
 「やめておいた方がいいだろうな」初老の男性が言った。「ロックならともかく、間違えたとたんに、装置が効果を発揮するかもしれない」
 「じゃ、どうするんだよ」
 「他に何かないんですか」わたしは児玉警部補に訊いた。「EQ の他に情報は」
 「他ですか」児玉警部補は手帳をめくった。「聞き取れた単語らしいものはEQ だけでした。それは二回繰り返されたので、間違いはないはずです。うちの技術部の音声分析でも裏付けされています。他は、さっきも言ったように罵声ばかりで」
 「一応、教えてもらえますか」
 「そうですね」児玉警部補の額にしわが寄った。「知るかボケ、ggrks、ソースに全てがある、頭悪いなお前、草だぜ、と、こんなところです。単なるうなり声や奇声は除いていますが」
 ggrks は「ググれカス」だろうが、後は単なる罵声だ。ソースに全てがある、というのは何だろう。ソースを見ればわかる、ということだろうか。
 「タイムリミットは?」誰かが訊いた。
 「はっきりはわかりませんが、着陸予定時刻より前のはずです」
 「どこかの空港に緊急着陸できないんでしょうか」背の高い女性が訊いた。「海上にでも。急げば、全員脱出できると思いますが」
 「それは最初に検討しましたが、予定のコースから大きく外れた場合、装置はそれを感知して予定を早めてしまう可能性が高い、ということが判明したので。あなた方が解決できなければ、そのような設定がないことに賭けざるを得ませんが」
 わたしはもう一度タブレットを見た。ソースに全てがある、か。確かにトラブル対応のときなど、ソースを丹念に読むことが、最終的な問題の解決につながることが多い。ソースには、仕様も処理もバグも全てが含まれている。だが、この不完全なソースからは、何も読み取れそうにない。
 それでもわたしはソースを眺め続けた。さっきから、何かが、喉に刺さった魚の小骨のように、わたしの無意識に訴えかけていた。経験上、こういうときのカンは無視しない方がいいとわかっていた。ときに周辺視野で捉えた一見して無意味な情報が、大きな意味を持つことがある。
 「どうにもお手上げだな」太った男性がため息をついた。「こいつにリーダブルコードでも読ませてやりたいよ。変数名やメソッド名はちゃんと意味がある名前にしとけよな」
 itsL8()、crazyLilthingCalledluv()......crazy やCall は英単語だ。何か意味があるのか。それとも太った男性が言うように、でたらめにキーボードを叩いて付けたメソッド名なんだろうか。
 「俺はもうギブアップだ」タンクトップの男が投げ出すように言った。「緊急着陸に一票。そっちの方がまだ可能性あるぜ。こんな中途半端なソースの切れ端で、何もわかりゃしねえよ」
 「残念だが私もお手上げです」初老の男性も同意した。
 「私も」と中年女性が追随した。
 他のプログラマたちも、躊躇いながらも、同じ意味の言葉を次々に口にしていった。どの顔にも悔しさが刻まれている。中学生の男の子でさえ、得意のゲームがクリアできなかったときのような顔だ。
 「10 人が緊急着陸に同意ですか」児玉警部補も無念さをにじませた声で言った。「残りのお二人はどうですか。ええと、あなた......」
 「もう少しだけ」わたしはソースを見つめながら答えた。「あと5 分だけ考えさせてもらえますか」
 「5 分で何かわかるんですか?」中年女性が苛立ったように言った。「私は子供と一緒なんです。5 分待って時間切れになったら......」
 「わたしだって夫と娘が一緒です」
 「だったら......」
 「不毛な争いはやめましょう」児玉警部補が制止した。「そっちのあなたはどうですか?」
 児玉警部補が顔を向けたのは、スマートフォンで画面を撮影した中年男性だった。議論に参加せず、スマートフォンを見ながら、手帳にペンを走らせていた。
 「すいません」中年男性は顔を上げて静かな声で言った。「もう一度、最初のソースを開いてもらえますか」
 すでにタブレットを放り出していた細い目の男性は、周囲を一度見回した後、肩をすくめて手を伸ばし、ShutdownHello.py を開いた。

src2.png
 「ひでえな、このでたらめメソッド名」タンクトップの男が嫌悪感をこめて吐き捨てた。「うちの会社でこんなソース書いたら、軽くどつかれるぜ」
 「でたらめじゃないんだよ」
 全員の視線が中年男性に集中した。児玉警部補が勢い込んで訊いた。
 「どういうことですか? ええと......」
 「東海林と申します」中年男性はソースを見ながら言った。「このメソッド名は略語が多用されているんです」
 わたしたちは中年男性からタブレットに視線を移した。
 「to を2、you をU と略すあれです。たとえば最初のheaven4e1 の4 はfor だと思います。続くe1 はeveryone ではないでしょうか」
 「そっか」茶髪の男が弾んだ声を上げた。「ってことはよ、heaven4e1 は、heaven for everyone ってことか」
 「そうです」東海林さんは頷いた。「im5ingslightlyMAD の5 はgo の略で5ing はgoing ですね。となるとその前のim はI'm でしょう。MAD が単語だとすると、I'm going slightly mad となります」
 「そういう法則だったんですか」Tシャツ姿の女性が手を打ち合わせた。「ということは、whowants2live4E は......Who Wants to Live Forever ですね」
 落ち込み気味だったバイタリティが一気に活性化したように、プログラマたちはソースを読み解くことに熱中し始めた。
 「u_r はu ブランクr か。u r はYou are だったから、u_r_myBF は、You're My Best Friend か」
 「da はthe の略でcamps はchampions だとすると」タンクトップの男が歌うように笑った。「おいおい、We Are the Champions だよ」
 「なんと」初老の男性が驚きの声を上げた。「これ、全部クイーンのシングル曲じゃないか」
 何人かが急いでスマートフォンで検索をかけ、ソースと見比べはじめた。そのため解析作業は一気に進んだ。
 「luv ってlove の略か。ってことは、luvofmylife はLove of My Lifeだな」
 need_ur_luving2nite はNeed Your Loving Tonight、iwasborn2luvU はI Was Born To Love You、no1butU はNo-One but You と次々にメソッド名の由来が特定された。icantlive_wslashU の特定に少し時間がかかったが、with を、w/ と略すことを誰かが発見し、I Can't Live With You だと判明した。itsL8 はIt's Late だ。わたしは思わず唸った。ポリシーがないどころではない。Aという人間は、彼、または彼女なりのポリシーを持って命名しているではないか。
 「一歩前進しましたが」児玉警部補はメモを取りながら言った。「肝心の停止プログラムの方の手がかりはなさそうですね」
 「EQ だね」男の子が大人びた仕草でメガネを直した。「Q はクイーンのことだろうけどE がわかんないな」
 「クイーンにKiller Queen という曲があるけど」初老の男性が言った。「Killer とE は関連がないですね」
 E か。わたしはソースを見た。本当かどうかしらないが、警察には現場百編という言葉があるらしい。同じようにプログラマはソースを何度も読む。わたしは細い目の男性に頼んで、もう一度、GSInitialGoodBy.py を開いてもらい、途中で途切れたitsL8() を穴が空くほど見つめた。2 次元の配列を返すメソッド。何の配列なんだろう。
 わたしはスクロールしてもらった。ロジックらしいのはitsL8() だけで、他の11 個は乱数生成しかしていない。ShutdownHell クラスのコンストラクタで呼ばれているheaven4e1() 、im5ingslightlyMAD() 、whowants2live4E() の3 つにしても生成した乱数を返しているだけだ。どう見ても存在している必然性がないメソッド群だ。何のために11 個のメソッドをわざわざコーディングしたんだろう。単にクイーンの曲を使ったメソッドを定義したかっただけ? いや、そんなはずはないだろう。
 わたしの隣から覗き込んだTシャツの女性が呟いた。
 「全部で12 個のメソッドか。あたしたちも12人。まるでこうなることを予想していたみたいですね。偶然でしょうけど」
 その瞬間、全てのパズルがカチリと音を立てた組み合わさった。
 「それだ」わたしは叫んだ。「ソースに全てがある。その通りです。12 個のメソッド。トランプのクイーンは12。それがヒントだったんです。E はEight、つまり8 です」
 東海林さんが指を鳴らした。
 「8 クイーン問題」
 「8 クイーン」児玉警部補が訊いた。「なんですか、それは」
 8 クイーン問題は、チェス盤の上に互いに利かない場所にクイーンの駒を配置するパズルだ。新人プログラマの勉強用の課題として出されることもある。チェス盤は8×8 マス、つまり2 次元配列だ。

src5.png
 「その8 クイーンを出すのは」わたしの説明を聞いた児玉警部補は訊いた。「難しいんですか?」
 「それほどじゃありません。総当たりで探していくだけです」
 「ただ」東海林さんが顎を指でつまんだ。「正解は一つではないですね」
 「正解でありさえすればいいんじゃないでしょうか。数値配列ということはゼロと1 だと思います」
 「そうですね」東海林さんは同意した。「他に手がかりはないですし」
 「よし、それで行こうぜ」タンクトップの男が議論にけりをつけるように言った。「もう時間がねえんだぜ」
 全員が同意の声を上げた。児玉警部補はそれを確認した上で、わたしと東海林さんに言った。
 「あなたたちに賭けます。お願いします」

 ◇ ◇ ◇ ◇ ◇

 心臓をバクバクさせながら待っていたわたしたちは、"装置"の停止が確認された、との報告を受けて、小さな歓声を上げた。わたしは全身にびっしょり汗をかいていることに、初めて気付いた。
 「会社を代表してみなさんに感謝します」コクピットから出てきた機長が、わたしたちに一礼した。「いずれ十分な謝礼の連絡があると思います。さしあたっては、みなさんとみなさんのご家族は、到着までの短い時間ですが、ファーストクラスでお過ごしください」
 後日、実際に航空会社から、改めて感謝の言葉とともに、届けられた謝礼は、生涯、国内線が無料になるチケットというものだった。それを知った娘は、どうせなら国際線だったらよかったのに、と言った後、今度、沖縄行こうよ、とのたまった。
 生まれて初めて座ったファーストクラスのシートは、非常に快適だったし、サービスでふるまわれたシャンパン(未成年にはフルーツジュース)も美味しかった。固く口止めされたため詳しい事情は話せなかったが、夫も娘も思わぬサプライズに大喜びしている。滅多に口にできないシャンパンでご機嫌になった夫は、通路を挟んだ隣に座った初老の男性と仲良くなったらしく、洋楽の話で盛り上がっている。
 「おつかれさまでした」
 隣の列から声をかけられて顔を向けると、東海林さんが微笑みながらグラスを掲げていた。わたしは自分のグラスを上げて応えた。
 「EQ の意味に気付いたのはお見事でしたね」
 「東海林さんが略語に気付いてくれたおかげです」わたしは答えた。「あの、失礼ですけど、どこかでお会いしましたっけ?」
 東海林さんは小声で答えた。
 「実は私もそう思っていたんです。お名前、なんとおっしゃいましたっけ」
 わたしは名乗ったが、東海林さんは少し考えた後、首を横に振った。
 「人の顔と名前は覚えるようにしてるんですが、どうもお会いしたことはないようです。同じ業界ですから、どっかのイベントか何かですれ違ったのかもしれませんね」
 そうかもしれない。隣から袖が引っ張られたので、わたしは東海林さんに一礼してから娘に向き直った。娘は好奇心いっぱいの顔で囁いた。
 「誰?」
 「同じ仕事している人よ」
 「ふーん。プログラマってことだよね。何か知らないけど、ママ、すごいじゃん。ちょっと感心しちゃった」
 「ちょっとかよ」
 わたしは笑ったが、優雅に通路を歩いてきたCA に耳打ちされて口を閉じた。
 「申しわけありません。少々、お時間、いただいてよろしいでしょうか」
 今度はなんだ、と思いつつ、わたしは頷いて立ち上がった。CA は東海林さんにも囁き、わたしたちはCA についてコクピットの方へ向かった。
 カーテンをくぐると、副機長が待っていた。
 「お呼び立てして申しわけありません。実は児玉警部補と、拘束した例のAが消えたんです」
 意味がわからずわたしは副機長の顔を見た。東海林さんも狐につままれたような顔をしている。
 「消えたって、飛んでいる飛行機の中からですか?」
 「そうなんです。もちろんどのドアも開いていません。座っていた椅子にはこのメモが」
 副機長が差し出した紙片には、短い走り書きがあった。
 『東海林さんと星野さんに感謝を。またお目にかかれる日を楽しみにしています。S』
 わたしと東海林さんは顔を見合わせた。副機長は困惑した顔で囁いた。
 「こんなことを申し上げて、どうかしていると思わないでいただきたいのですが、あの児玉という警部補の顔がはっきりと思い出せないんですよ」
 そんなバカな。わたしは笑い声を上げかけたが、記憶にあるはずの児玉警部補の顔が、なぜかぼやけたイメージしか残っていないことに気付いて愕然とした。東海林さんもショックを受けている様子だ。
 沈黙したわたしたちの頭上に機内アナウンスが流れた。
 『業務連絡です、客室乗務員はセレクターレバーをアームドにして下さい』
 「もうすぐ着陸です」副機長は一礼した。「お席にお戻りください」
 わたしたちはファーストクラス区画に戻った。シートに座るとまたアナウンスが流れた。
 『この飛行機は、ただいまからおよそ20 分で新千歳空港に着陸する予定でございます。ただいまの時刻は午後12 時10 分、天気は晴れ、気温は28 度でございます。着陸に備えまして、皆さまのお手荷物は、離陸の時と同じように上の棚など、しっかり固定される場所にお入れください......』
 結局、眠れなかったな、とわたしは思いつつシートベルトを締めた。せめてあと20 分だけでも、とわたしは目を閉じ、シートに身体を沈めた。

(終)

 ◇ ◇ ◇ ◇ ◇

 エンジニアライフ12 周年ということで、頼まれてもいないのに、勝手に12 にちなんだお話を書いてみました。タイトルは法廷ものの傑作「十二人の怒れる男」からです。作者が観たのはヘンリー・フォンダ主演の映画版ですが、オリジナルはテレビドラマのようです。各国で同じ題材で映画化されていて、日本でも三谷幸喜が「12 人の優しい日本人」として演劇と映画にしています。
 連休のため、次週の更新はお休みとなります。

Comment(19)

コメント

匿名

面白かった

ケミ

待ってたからガッカリ

じぇいく

楽しく読ませてもらいました。
短編こそ書き手の力量が問われる。さすがです。

Aが昏睡する直前、じは......ある種の強い薬物を投与して
Aが昏睡する直前、実は......ある種の強い薬物を投与して

匿名

じぇいくさん 2020/09/14 09:35

最初はそう思いましたが
「自白剤」ではないかと・・

匿名

じぇいくさん
自白剤って言いかけたのを止めたから、じは……であってるんじゃないでしょうか?

匿名

Sは佐藤さんですね!

h1r0

乗り合わせたのが自分だったら墜落してたな

匿名

楽しい
それに勉強になる
アンドロイドでpython使えるんだ

育野

一つの手掛りから一気に正解にたどりつく爽快感,良いですねぇ.
映画「12 人の優しい日本人」,先週NHK BSで放送してたからそれかと思いました(未見).オリジナルは私もヘンリー・フォンダ版です.最近リメイクされてたような(未見).

匿名

星野さん、ちょい役も含めると一番登場してる??東海林さんとどっちかな。

例によって記憶操作のおかげで、どこに入るかわからないエピソード:D
佐藤氏には移動する能力は…?あるいは、記憶操作で実はAとSは機内にいる?笑

リーベルG

じぇいくさん、どうも。
「じは」は、何人かがご指摘の通り、「自白剤」の言いかけです。

Y

ルルイエが浮上しかけたのかな?

匿名

東海林さんと同じ飛行機に乗り合わせるなんて、
偶然にしても、と思う。

dai

>「知るかボケ、ggrks、
Aは、「じーじーあーるけーえす」と呻いたのか??
「ググレカス」と呻いたのを ggrks とメモしたとしたら、
警部補も「ググレカス」と発音するだろうし??

匿名

「じは」で思い出すのが、
ブラちゃんの「おも」…

あしの

おもしろかったです~
10周年の際の「10人いる!」も相当に面白い短編でしたが、今回もお見事でした。

匿名

daiさん>
Aが外国人だとするとググレカスとは言わないのでは。
日本で「ググレカス」と言われていることを知っていて揶揄するようにggrksと言ったんじゃないですかね。

dai

匿名さん、
外国人は「知るかボケ」「草だぜ」とは言わないんじゃないでしょうか?
状況も昏睡する直前、まともな意識がない中で、「じーじー・・・」は不自然かなと。

さな

daiさん


「10人いる!」のときの送り込まれたスニーカーの発音(cron 、ping )を思い出したんですけど、このAもネットの情報をただ記憶させられただけなのではと思いました。
だから、「ggrks」を文字通り「じーじー…」と発音したのかなあ、と。
「ググれカス」って読み方知らないとそう発音できないですからね~

コメントを投稿する