窓の内側
先日、Omarchy Night TokyoでDHH氏に会った。僕のThinkPadに、彼のサインがある。サインは名前を記すだけの行為だが、機械の表面に他人の痕跡が残ると、道具の所有者は少しだけ不明になる。ついこの間まで、OmarchyはRedditで見かける、変な名前のLinuxに過ぎなかった。Ubuntu、Zorinを経てFedoraを使っていた僕は、Linuxには前から興味があったが、Omarchyを選んだのはQuattoroの画面に惹かれたからだ。レトロテックとヴェイパーウェイヴ。その外装を見て、試しに入れてみた。ところが、インストールされたのは、見慣れたデスクトップの別の装飾ではなかった。僕は、窓の置き方を覚え直すことになった。
マウスで窓をつかみ、デスクトップの好きな位置に置く。その習慣は何十年も使ってきた身体の一部だった。Omarchyでは窓は固定され、操作はキーボードに移る。知らないキーの組み合わせを一つずつ覚えなければならない。最初は、画面の前で自分が異邦人になったようだった。だが、異邦人でいる時間は長くなかった。指が先に動き、意識がそのあとを追う。配置を考える手間が消えると、反対に、マウスで窓を動かす動作が余計なものに見えてくる。macOSまで、少し遠い場所に移った。習慣は、便利さを測る物差しでもあったらしい。僕の物差しそのものが、いつの間にか取り替わっていた。なぜ、この環境がこれほど自分に合うのか。その問いに輪郭を与えたのが、DHH氏のRails Worldでの講演だった。
二十年前、僕はRailsを身につけようとして挫折した。いま、そのRailsを作った人は「Rubyより好きなプログラミング言語は英語だ」と言い、コードの書き方より、作りたいものを伝える時代を語る。講演では、肖像画、カメラ、スマートフォンという写真の変化がたとえに使われた。肖像画には費用と時間が要る。カメラは写真を大衆に開き、スマートフォンは、撮るという行為をほとんど意識の外に置いた。作る費用が下がれば、作る人も、作られる物も増える。生成AIも同じように、制作の入口を広げるという。彼は、細部まで指示して返答を待つのではなく、エージェントに目的を渡し、出来たものを見て判断する仕事を語った。手でコードを書くことが開発の定義ではない。何を望み、結果を確かめるかもまた、開発の一部になる。講演の中でOmarchyは、その考えがコンピューター全体へ広がった例として現れた。OSを自分に合わせ、必要なら電卓や動画編集の道具、Markdownのプレゼンソフトまで作る。かつては手間に見合わなかった小さな不便が、エージェントによって修理の対象になる。アプリにコマンドラインの入口を設ければ、利用者のエージェントが複数のアプリを横断して動ける、という提案もあった。講演を聞いて、僕には別々だった二つのものがつながった。AIを使って作ること。そして、その作業場所を自分で整えられるOmarchy。二十年前に閉じた扉が開いたというより、扉だと思っていた壁に、別の通路が見つかったのだった。
その通路を歩いて、僕はFlolinrをOmarchy Pluginsに出した。昔からアウトライナーが好きだった。頭の中で増殖する考えを、指からキーボードへそのまま流し込む。人に見せるためではない。体裁のよいMarkdownを作るためでもない。自分の思考を、いったん外に置くための装置だ。そんな需要は、今も完全には消えていないはずだと思う。Flolinrという名前でブラウザー拡張などを作ってきたが、使ってもらう場所をどう作るかは分からなかった。Omarchy Pluginsにアウトライナーがないことに気づいたとき、僕の動機は単純だった。誰もいない場所の一番乗りになってみたい。謎の一番乗り。その欲望だけで、十時間ほど開発し、ThinkPadにサインを残した本人の作った環境で、プラグインを完成させた。先ほどPRが通り、公開された。
Flolinr — Omarchy Plugins Omarchy Plugins
公開されたばかりのプラグインを使う人がいるかどうかは分からない。日本からこの場所に投稿している人も、十人はいないのではないか。数えたわけではない。ただ、誰かが使うかどうかと、作ったという事実は、別の箱に入っている。僕は一つの道具を、使える場所まで運んだ。その達成感は、予想より大きかった。DHH氏には政治的発言への批判がある。僕も彼の意見や姿勢に賛成できない。しかし、意見への賛否と、技術や思想から受け取るものは、同じ秤に載せなくてよい。今、Omarchyでアプリを作ることが楽しい。この状態が続く確率を、彼は「p(bloom)」と呼ぶ。人類の破滅が訪れる確率は「p(doom)」だという。どちらの数値も、僕には測れない。測れないものを前にすると、人は落ち着かなくなる。僕も少しソワソワしている。だが、可能性の計算が終わるまで、作る手を止める必要はない。サインのあるThinkPadを開く。画面には次の窓が並ぶ。僕は、その一つにカーソルを置いた。