Skip to content

Index of /ja/2026/07/27/why-this-exists/

2026-07-27 10:13  1.5K

みんなが逃げ続けたページ

きっかけは、ブルータリズム系の WordPress テーマを売っているショップだった。Windows 95 のウィンドウ、CRT の走査線、System 6 の画面。よく出来ていて面白かった。そのあとネットワークタブを開いた。

灰色のダイアログの裏で動いていたのは、PHP と数十回のデータベース照会と jQuery と絵文字判定スクリプトとブロックライブラリのスタイルシートと oEmbed の探索だった。建築のブルータリズムは素材に対して正直であることのはずだが、これは重機の上に着せた衣装だった。

反論はすぐ思いつく。打ちっぱなしコンクリートも素朴ではない。型枠が完璧でなければならないぶん、仕上げをする面より精度を要求される。荒く見せることは高くつく。だから衣装だという批判はそれほど刺さらない。

それでも引っかかり続けたのは、同じギャラリーに衣装ではないサイトが何本かあったからだ。Text-Only NPR。ソーラーパネルで動く Low-Tech Magazine。あれらは薄く見えるように作られているのではなく、実際に薄い。思想と実装が一致している。

みんなが逃げていった先

先行事例を探すと大量に見つかった。そしてすべて同じ方向を向いていた。Apaxy、h5ai、PrettyIndex、IndexOf Enhanced、そして HEADER.html を置いて一覧を見られるようにする20年ぶんのチュートリアル。ひとつ残らず、Apache の一覧ページを別の何かに見せるために存在していた。

逆方向に走った者がいない。あのページは1995年からそこにあり、2026年の今も HTML 3.2 の doctype を吐き続けていて、業界のあのページに対する態度はずっと恥じらいだった。

ならば、そこへ向かって走る。ただし衣装は着ない。

実際にやったこと

WordPress の既定テーマはフロントページに約 76 KB の HTML を送る。テンプレート1枚でアセットのない最小構成でも 20 KB あり、そのほとんどは自分のものではなかった。このテーマは 8.8 KB を2リクエストで送る。JavaScript もWebフォントも画像ファイルもない。

そのバイトがどこへ消えているのかを突き止める作業が、結局のところ本当のエンジニアリングだった。詳細は別の記事に書いた。短く言えば、小さなテーマの大部分はテーマではない。

作業を正気に保った制約は、まったく別のところから来た。COBOL は値を入れる前に桁数を宣言する。mod_autoindex も NameWidth で同じことをする。i-mode の携帯はページを 10 KB に制限し、1バイトごとに読者へ課金していた。幅を先に宣言すること、越えてはいけない上限があること。ものを作るには良いやり方だ。

予想していなかったこと

忠実になぞりきった時点で、面白くなくなった。正確ではあるが死んでいた。ナビゲーションバーを足せば使いやすさは直るが、同時に趣旨が死ぬ。

出口はマニュアルの中にあった。HeaderName と ReadmeName は最初から mod_autoindex にあって、ディレクトリが一覧の上下に任意のHTMLを差し込める。90年代の FTP ミラーが個性を出していた仕組みそのものだ。発明する必要はなく、丁寧に読むだけでよかった。

結局それが全部だと思う。いま見ているこのページは、現代的なサイトに懐古フィルタをかけたものではない。何も足さなかったときに残るものだ。

Parent Directory

Index Of/1.0.0 Server at indexof.kbsr.co.jp Port 443