アルト Prototype Alto
アルトのバイナリーを見て気が付いたことが何点かある。
一つ、ヘッダー部分に書かれた「Palo Alto Research Center」という羅列。この文言に見覚えがあった。
軽くネットで検索を掛けてみると、ゼロックス社のパロアルト研究所を意味するものらしい。
ゼロックスといえば複写機のイメージが強いが、コンピュータ全般の研究に熱心な企業でもあるらしい。
その研究所の歴史を紐解いてみれば、「ALTO」というコンピュータの名が随所に出てくる。
ALTOは1972年頃作られた、グラフィックユーザインターフェースのOSを装備した試作機のようだ。
CPUはNOVA1220、イーサーネット機能が標準装備されているなんて、時代を先取りしたマシンと言える。
二つ目はある程度覚悟していたことだが、電子の精霊は機械語で構成されている。
人間がプログラムを組みやすい言葉を開発言語とすれば、機械語はCPUが理解しやすい命令の集合体だ。
例えば人間が理解しやすいC言語で簡単なプログラム。
hello, worldという文字列を表示させるだけのプログラムだと以下のようになる。
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
C言語の場合、コンパイルという機械語への変換を行い、CPUが実行可能な形式に変換する。
だがその変換には多大な無駄があり、機械語ネイティブで書かれたものより処理スピードが遅いのだ。
人間にとって融通が利く言語は、機械にとっては害悪になってしまうってことだ。
例えるなら『ああでもない、こうでもない。とりあえずhello,worldと表示して』って感じだろう。無駄なルーチンが出来てしまうのだ。
「どう? やれそう?」
春日野さんがもう一つ椅子を持ち寄り、横に並んでモニターを見つめる。
肘と肘が触れ合うが、彼女はさして気にする様子はない。――ってか、こっちが気になって仕方がない。
「うん、ウイルスを活動停止に追い込むのは簡単。感染した部位を書き換えれば、動かなくなるから……」
ウイルススキャンソフトからパターンファイルを拝借し、アラバスターを検索すれば感染場所は特定できる。
問題はその後だ。欠けた部位をどう埋めるか、それが問題だ。
「残念ながらアトランダムに書き換えられたデータは復旧出来ない」
ピースの揃ったパズルは時間を掛ければ完成する。だが失われたピースを埋める方法は無い。
それにアルトのファイルサイズはかなり大きい。機械語を解析して埋めていくしかないが、ハンドアセンブルでは時間が掛かりすぎる。
春日野さんは椅子の背もたれに体を預け、勇気付けるように背中をポンと叩いてくれた。
「アルトはね、こないだまでプチ家出していてね。その間秋篠くんのパソコンに潜んでいたらしいわ」
「……俺のパソコンに?」
「シンクレアが画像ファイルを好むのと同じく、アルトはC言語のソースが好きらしいの」
画面の中、言葉を発することの出来ないアルト。俺の方をジッと見つめ、コクコクと頭を下げている。
「ちょっと待て、もしかしてちょっと前にファイルがごっそり消えたことがあったけど、アレって……」
「アルトが食べたのね。秋篠くんの書いたソースってとっても美味しいらしいわよ」
一週間ほど前のこと、軽量化したカーネルや、最適化したドライバーの類がごっそり消えたのだ。
あの時はへこんだ。目の前が真っ暗になったからな。
「ハードディスクがイカレたのかと思ったが、まだアイツは使えるってことか……」
「ふうん、ポジティブな思考をするのね」
話し込んでいるうちに、アルトの感染部位が明らかになった。
お尻かじり虫は一つしか見えないけど、実際は十箇所以上食いつかれている。人間だったら即入院コースだ。
ウイルスの増殖を司る部位らしき場所に、適当な16進数を打ち込んで保存する。
「これで感染が広がることはないだろう」
「意外と簡単なんだ?」
最近のウイルスはほとんどがOS命令に依存していて、ちょっとパソコンを囓ったアマチュアでも作れてしまう。
だがアラバスターってのは前時代的なウイルスだけど、メモリーへの読み込みや書き込みを改ざんしまう優れものだ。
ゴミみたいなファイルサイズにそれだけの命令を詰め込んでいるし、プログラムも理路整然として隙がない。腕利きの仕事だな。
「こういう精密機械みたいなプログラムは、歯車一個噛み合わなくなっただけで動かなくなるんだ」
そういったことが起こらないよう、緩く適当にプログラミングするのが今のトレンドらしい。
画面を見るとお尻かじり虫の顔が青くなっている。アルトのステータス表示って面白い。
「コーヒー」
「はぁ? なによいきなり」
「こういう時には砂糖を四つ入れた、檄甘コーヒーを飲むと頭が冴える」
「コーヒーなんて無いわよ。私、飲まないもの」
「じゃあ、それに匹敵する甘い物を……、どうか……、私めに……」
春日野さんは軽く舌打ちをし、椅子を蹴飛ばして立ち上がる。
そしてキッチンへ姿を消し、しばらくして何かを手に戻ってきた。
「はい! 甘いもの!」
トンと机に置かれたのはミカンの缶詰だった。
「缶のまま来客に出すか? しかもフォークじゃなくて割り箸?」
「秋篠くんの唾液まみれになったフォーク、いつか私が口にするのよ。おぞましいじゃない」
「ツンキャラで腐女子の上に潔癖症かよ?」
そういってみたものの、ミカンの缶詰は大好物だった。
箸でミカンを掻き込み、缶に口を付けて汁を吸う。うーん、酸っぱ甘い。
「春日野さんも食う?」
「餓死する寸前でも断るわ」
一人で缶詰を独占するなんて、少々心苦しかったのだが、いらないというのなら底までさらってしまいますか。
再び箸でミカンを掻き込み、缶に口を付けて汁を残らずいただいた。
春日野さんは貪り食う俺など眼中に無く、画面の中にいるアルトを見つめ嘆息した。
「バックアップでもあれば治してあげられるのに……」
その一言が天啓のように思えた。
食いかけの缶を机に置き、MACのブラウザーを起動させた。
「バックアップならある」
大量にファイルが無くなって、ハードディスクがぶっ飛んだと勘違いした。
その時残ったファイルを救出するために、オンラインストレージに待避させていたのだ。
検索サイトでオンラインストレージのサイトを検索、リンクを蹴ってログイン画面を表示させた。
「待避したファイルの中に、アルトのバックアップがあれば……」
バックアップしたファイルの一覧がゆっくり表示され、もどかしい時間が過ぎていく。
ファイル総数六千二百。その一覧をファイルサイズ順に並べ直した。
「ビンゴ!」
ファイル名はALTO。感染後のファイルサイズと近似値のものが表示された。
春日野さんは口をパクパクさせ、俺の手を取ってブンブンと振り回す。
涙ぐんでいるように見えるのは気のせいか。
「こういう所はいい奴なんだよな……」
「なんか言った?」
さっきの涙が嘘だったかのように、ジト目で俺を睨み付ける。
俺は呆れて首を振り、アルトのバックアップをダウンロードし始めた。
アルトのバックアップをダウンロードし、欠損したデータの修復作業を行う。
左の画面には生きているアルト。右の画面はバックアップデータのバイナリーダンプがある。
全文検索での差分抽出を行い、一文字一文字を手打ちで修復していく、集中力と根気のいる作業だった。
気を利かせて買って来てくれた缶コーヒーに口を付け、人心地付いた頃にはすっかり日が暮れてしまっていた。
「気軽にカットアンドペースト出来ないのが辛いわね」
ダウンロードしたファイルはアルトそのものといえるものだったが、そのファイルは整然としたデータであり、それ自身が精霊化するようなことはなかった。
その違いは何か分からないけど、やはりただの記号の集合体ではないということだ。
もしそのデータを丸まま上書きすれば、治療どころかアルトに悪影響を及ぼす可能性がある。そのために手打ちでデータを修復している。
「このメインルーチンは慎重に修復した方がいいね。かなり複雑なことをさせているみたいだから……」
バイナリーエディタを操作して、複雑と表現した部分を表示させる。
「数字の羅列にしか見えないけど……」
「横にアスキー変換された表示があるだろう? どうやら聖書の外典かなにかの一文みたいなんだ」
その英文を検索エンジンに食わせてみたところ、アザルヤの祈りと三人の若者の賛歌が引っ掛かった。
なぜそんな文字列がメインルーチン、人間でいえば心臓部といえるところに書かれているのかは分からない。
だがこの文章を一文字でも消去すれば、アルトは消えてしまうと直感した。
「アルトは一つの行動を行う時、必ずアザルヤの祈りと三人の若者の賛歌を詠唱しているってことだ」
「不思議な力が働いているってこと?」
何かを願う力というのは、もの凄いパワーを秘めている。
霊感の強い者はそんな雑念に非常に敏感で、人の多い場所などでは体調を崩してしまいやすい。
特に苦手なのが初詣の参拝。人の願いが渦巻いていて、粘質な空気を纏っている気がしてくる。
アルトは聖書の一文を何度も読むことで、不思議な力を得たのではないかと予測している。
メインルーチンってことは、瞬時に数百、数千回は詠唱可能だ。小さな力が蓄積されたとしてもおかしくない。
「もしかして電子の精霊は、礼拝に行けなかったプログラマーが生み出したのかも知れないな」
「……意外とメルヘンな考え方をするのね」
ふと春日野さんの肩に座るシンクレアと目が合った。
彼女の中にもそういう何かが働いているのだろうか。中をちょっと覗いてみたい気がする。
「あと一時間ほどで修復出来ると思うけど、夜も遅いし、明日もう一度出直そうか?」
春日野さんは軽く目を瞬かせ、ふと思い当たったようにポンと手を叩く。
「あっ、そういう気遣いはしなくていいわ。私って親のいない子だし、ここには一人で暮らしているから」
そういえば部屋の中も,別の家族を匂わせるものは何一つ無い。
リビングに大きな机を置いたりしているのも、語らいあう家族がいない反動なのだろうか。
「ごめん……」
「秋篠くんには帰りを待つ人がいるでしょ? ちゃんと連絡しておきなさいよ」
机に置いた携帯を手に握らせる。
手渡された携帯を操作しながら、チラリと横目で彼女の様子を窺う。
頬杖を付いて見守る彼女は、どんな男でも魅了してしまいかねない優しい表情をしていた。
婆ちゃんに電話で連絡してみると、先に寝ているから適当に帰ってこいと言われた。
春日野さんは台所に立って夕食を作り始め、一人残されたリビングで修復作業に没頭する。
一文字一文字ミスの無いように打ち込み、切りのいいところでアルトへ保存する。
画面の中にいるアルトには、もうおしりかじり虫は取り付いていない。
元気を取り戻しつつある彼女は、今にも画面を飛び出しそうな勢いで動き回っている。
「もうちょっとだからな。ジッとしてろよ」
俺の言葉が理解できるのか、彼女は画面越しにこちらを向いて、コクンと頷く。
なかなか聞き分けのいい子だ。どこぞの小魚とは大違いだ。
そう思った途端、肩に乗っていたシンクレアが尾ビレをピチッと跳ね上げた。
「……お前はエスパーか」
「アキシノの考えていることなんて、すぐ分かっちゃうんだから」
さすが腐っても精霊。人間の考えていることなんてお見通しってことか。
「っていうか、なんで俺の肩に乗ってるんだ?」
「アキシノがミスタイプしないか見張ってるの。こういう作業は二重チェックが大切なんだから」
言っていることはもっともだが、尾ビレを振って威嚇するのは止めて欲しい。
どうも急き立てられている気がして、落ち着かない気分になる。
だがシンクレアが肩に乗ってからというもの、集中力が半端無く跳ね上がっている。
画面のドット一つまで見える感覚っていうか、画面上の16進数の羅列が頭に流れ込んでくる。
目を閉じていても文字が打ててしまう。不思議な感覚だった。
その感覚に身を任せてタイプスピードを速める。
雨だれ打ちだったキータイプは淀みない連弾に変化し、あっという間に一画面分の修復を完了する。
そして目の前にハンバーグカレーとサラダが並べられた時には、一時間はかかると思われたアルトの修復が完了してしまった。
シンクレアは画面の中に飛び込み、アルトと二人で画面の中を動き回っている。
「スクリーンセーバみたいだな」
「妹に世話を焼くお姉さん気取りね。きっと」
春日野さんはスプーンとフォークを手渡し、隣に座って黙々とカレーを食べ始める。
促されるままカレーを一口食べ、思わず頭上にビックリマークが飛び出した。
「うっ、美味い」
作りたてのカレーなのに、一晩寝かせたようなまろやかさがある。
具は角が残っているけど、ちゃんと中まで火が通っていて、スプーンをあてがうとホロリと崩れる。絶妙の火加減だ。
上に乗っけられたハンバーグも挽肉から手ごねしたものだし、短時間でこれだけのものを作れるなんて。
「春日野さんてもしかして天才?」
「圧力釜があれば、誰でも十分くらいで作れるわよ」
サラリと言ってのけるが、道具は正しく使って本領を発揮する。謙遜している姿が妙に格好良く見える。
フォークでプチトマトを刺して口に運び、あることを思い出して春日野さんを見つめる。
「俺の使用したフォークなんておぞましいんじゃなかったか?」
「使い終わったら捨てようかと思ってる」
彼女は真顔で毒を吐き、その真実味溢れるセリフにガックリとうなだれる。
「うそよ」
「は? 今なんと?」
彼女は無言のまま返事をしないが、どことなく照れ臭そうな顔をした。
どこと言われれば困ってしまうが、ミリレベルで照れ臭そうにしているのが分かる。
これがデレ期だとすると悲しくなってくるが、春日野栞は間違いなくツンデレであると思われる。
食事を終え、春日野さんと並んで洗い物を済ませる。
タダ飯をいただいた恩義を返すのは皿洗い。これは昔から決まっているセオリーだ。
使ったフォークとスプーンが食器乾燥機に入れられたのを見て、ほんの少しホッとした。まだデレ期は過ぎ去っていないらしい。
食後には必ず飲むと紅茶を用意し、再び机に座った時には二十時を回っていた。
二人並んでモニターの前に座り、画面の中でオセロに興じるアルトとシンクレアに目を移す。
「秋篠くん、アルトを呼んでみて」
春日野さんは妙にシリアス口調。彼女しか知らない何かがあるのだろう。
俺は生唾を飲み込んで呼吸を整え、照れくささ半分で指示に従った。
「――アルト」
黒の手駒を持っていたアルト。声の主を探してキョロキョロと首を振る。
そして俺と目があった瞬間、弾けるような笑顔を見せて、画面の外へと飛び出した。
手のひらを大きく開いた程度の体躯。カゲロウのような薄い羽根を羽ばたかせ、俺の鼻先で大きな目を見開いた。
「秋篠くん、警戒させないように手を、そっと……」
ゆっくりと手を動かして、アルトの目の前に差し出す。するとアルトは俺の手のひらで羽根休めをし、大きな欠伸を一つした。
アルトはそのまま俺の小指に移動し、細い糸のようなものを取り出して結び始める。
くすぐったい感覚を堪えながらその様子を眺めていると、糸を結い終えて、俺の手の甲へそっとキスをした。
「……春日野さん、これはどういう?」
「求愛行動らしいわ。その糸はエンゲージリング、永遠の愛を誓う証」
「きゅ、求愛って!」
「秋篠くんがいなかったら彼女は死んでいたでしょうし、彼女には命を助けてくれた王子様に見えるんじゃないかしら。キュンキュンよね?」
「キュンキュンって……」
アルトは手の甲を軽く蹴って、俺の肩へ飛び移る。その途端視界がグラリと揺れた。
目の前にあるパソコンからは数字が溢れ出し、ポケットに入れた携帯から情報が流れ込んでくるのが分かる。
「な、なんだ、これは……」
「さすがパソコンオタク、もうシンクロしたんだ。適応が早いわね」
春日野さんは画面からシンクレアを呼び出し、自分の肩に乗せる。その途端、パソコンや携帯と同じように、彼女の体から数字が溢れ出した。
「私と秋篠くんが見ているのはコンピュータ達と同じ、ビット化された0と1だけの世界」
春日野さんの姿に重なる0と1の数列は、気を抜くと見えなくなってしまうほど希薄なものだった。
「二年のキャリアを持つ先輩が、優しく指導してあげるわ」
春日野さんが俺の手に触れると、ショートでもしたかように火花が飛んだ。
その途端、体から意識が離れ、パソコンのネットワークカードを通ってモデム辿り着いた。
「どう? 最初だから変な気分でしょ」
「…………体から離れて、意識だけが別の場所にいる感じ。気持ち悪い」
「一般的には幽体離脱って言うらしいわよ。ちょっと近所を散歩しましょうか」
春日野さんは俺の手を引いて、モデムを通過。光ファイバーケーブルを通って、電話会社らしき機械室に辿り着いた。
ここは春日野さんの家から一番近く、信号の損失が少ない電話局に違いない。
「これがDNSサーバ、私の家にグローバルIPをくれる子なの」
アクリルの扉越しにサーバを指差す。中にはクラスター化されたサーバが重ねてラックマウントされている。
そして物言わぬまま指を動かして、スイッチングHUBへ。そこからケーブルを辿るようにルーターへと導いてくれる。
「ここから外に出るんだ」
「この先は電話局同士がつながるネットワーク。みんなが共有している電脳世界はその先にある」
だが春日野さんは踵を返し、別の19インチラックへと歩いて行く。
「ここはまた別の世界。プライベートネットワーク」
「専用回線のことか? 会社間を繋いだりしている……」
一般家庭と同じように、会社も固有の回線契約をして、拠点通信に利用している。
だが会社の機密をインターネット網で垂れ流すわけにはいかない。
ダークファイバーという、未使用の光ファイバーを利用して通信を行い、別のネットワークを構築して通信を行っているのだ。
同じ光ファイバーの束を利用しているけれど、一般回線とは物理的に別の経路で通信する。非常にセキュリティの高い通信設備だ。
「そんな回線に入り込めるのか?」
「ルーティング制御やファイヤーウォールなんて、シンクレア達の力なら、容易く突破出来る」
総毛立った。
昼間に見せてくれた携帯会社へのハッキング行為は、巷に溢れかえっているアングラツールの延長かと思っていた。
だがこうまで自由にネットワーク上を行き来出来れば、どんな不正行為だって可能になる。
「帰ろう、春日野さん……」
「よかったわ、秋篠くんがマトモな人で……」
彼女はやんわりと微笑むと、俺を引っ張ってスイッチングHUBに潜り込んだ。
そして再び目を開けると、春日野さんのリビングに戻り、椅子に座ったまま嫌な汗を掻いていた。
春日野さんは重ねていた手をそっと動かし、カップを手にして紅茶を啜る。
さっきまで鬱陶しいくらいに見えていた0と1の数列が、今は全然見えなくなってしまっていた。
全身から感じる疲労感。どうやら幽体離脱というのはかなり体力を消耗するらしい。
「私ね。シンクレアと出会って、ああいう世界を知ってしまったけれど、悪用したことは一度もないわ」
ハッキングがすでに犯罪行為なのだが、彼女のいう悪用の範疇ではないらしい。
「実感していると思うけど、精霊の力を借りるのは体力を削られる。使いすぎると倒れてしまうくらい……」
「確かに……。学校でマラソンさせられた時くらい、ヘトヘトに疲れてる」
春日野さんはニヤリと意地悪い笑みを浮かべる。
「だから仲間が増えて助かったわ。一緒にがんばろう」
「は?」
「治安維持活動」
彼女はそう言ってマウスを手に、ブラウザーを起動させる。
表示されたのは『電脳探偵 シンクレア』という痛いページだった。
「ネットのトラブルを解決します?」
「私、同人を廃業して、これを本業にして暮らしているの。秋篠くんは助手ってことで」
スタッフ紹介ページには既にアキシノ(coming soon)と掲載されていた。
いや、俺だけじゃなくアルトの名も……。
「不満なの? じゃあ『電脳探偵 シンクレア&アルト』でいいでしょ?」
「いや、名前の問題ではなく……だな」
それから一時間に及ぶ勧誘活動は、保険のおばちゃん真っ青のスッポンぶりだった。
疲れ果てた俺は渋々了承し、明日から春日野さんの仕事を手伝うことになった。