$ cat blog/

$ cat blog/entry_001.md

最初のコンパイル — アセンブラしか知らなかった男が、Webサービスを作るまで

First Compile — From Assembly-Only to Building Web Services

첫 번째 컴파일 — 어셈블리만 알던 남자가 웹 서비스를 만들기까지

2026-03-26 entry_001 ./origin/

MOV AX, 0001h — すべてはここから始まった

自分のキャリアの最初の1行は、アセンブリ言語だった。

異機種メーカー間の汎用コンピュータ通信プロトコル。データ転送ドライバ。特殊大型機械の制御プログラム。ハードウェアに最も近い場所で、数十年間コードを書いてきた。プロジェクトマネージャーになり、アナリストになり、開発部技術本部長を務め、そして定年を迎えた。

たとえば、ハードディスクのドライバ。セクタを読み出すだけでも、こんなコードを書いていた。

;=============================================
; HDD Read Sector — INT 13h ディスクリード
; AH=02h: セクタ読み出し
; DL=80h: 第1ハードディスク
;=============================================
disk_read:
        MOV     AH, 02h         ; 機能: セクタ読み出し
        MOV     AL, 01h         ; 読み出しセクタ数 = 1
        MOV     CH, 00h         ; シリンダ番号(下位8bit)
        MOV     CL, 02h         ; セクタ番号(1始まり)
        MOV     DH, 00h         ; ヘッド番号
        MOV     DL, 80h         ; ドライブ番号(80h = HDD0)
        MOV     BX, OFFSET buffer  ; ES:BX = 読み込み先バッファ
        INT     13h             ; BIOS ディスクサービス呼び出し
        JC      disk_error      ; CF=1 ならエラー処理へ
        RET

disk_error:
        MOV     SI, OFFSET err_msg
        CALL    print_string    ; エラーメッセージ出力
        HLT                     ; システム停止

buffer  DB  512 DUP(0)          ; 1セクタ = 512バイト
err_msg DB  'Disk read error', 0Dh, 0Ah, 0

レジスタに値をセットして、BIOSに割り込みをかけて、キャリーフラグでエラーを判定する。メモリのアドレスを1バイト単位で管理する。これが自分の「プログラミング」だった。HTMLの <div> とは、まるで別の世界だ。

退職した日、デスクの上にはもう端末がなかった。数十年間、毎日向き合っていた画面が消えた。するとふと、奇妙な静けさがやってきた。

> SYSTEM HALT
> 40 years of service completed.
> What do you want to compile next? _

HTML? 聞いたことはある

現役時代、Web技術にはまったく触れなかった。HTMLは「タグで囲むやつ」、CSSは「見た目を変えるやつ」、PHPは「サーバーで動くやつ」。それぞれ名前と一行説明くらいは知っていた。だが、一度もコードを書いたことはない。

JavaScriptに至っては「ブラウザの中で動く、なんか緩い言語」くらいの認識だった。アセンブラでレジスタのビットを操作していた人間にとって、動的型付け言語というのはどこか信用ならないものに感じられた。

だが、プログラミングの本質 — 問題を分析し、構造を設計し、手順に落とし込む — は言語が変わっても同じだ。40年間やってきたことだ。

コードは1行も書けない。でも、40年間設計してきた。

AIとの最初の会話

定年後、急速に発展するAI技術に興味を持ち始めた。1年以上かけて研究した。大規模言語モデルがコードを書けるということは知っていた。だが、最初は半信半疑だった。

ある日、試しにAIに聞いてみた。「PHPでユーザー認証を作りたい。JWTを使って、HTTP Onlyクッキーで管理する設計にしたい」と。

返ってきたコードは、動いた。正確に言えば、9割は動いた。残り1割にバグがあった。だが、そのバグの場所は自分にもわかった。ロジックの流れは読める。変数名も関数名も意味がわかる。データの流れが見える。

その瞬間、理解した。

> REALIZATION: AI can write code. I can architect systems.
> CONCLUSION: We are the perfect team.
> STATUS: Compiling new career... ██████████ 100%

設計書を書くように、Webサービスを設計した

通信プロトコルを設計するように、APIのエンドポイントを設計した。データ転送ドライバを書いたときと同じように、データベースのスキーマを設計した。制御プログラムの状態遷移図を描いたときと同じように、ユーザーの認証フローを設計した。

言語は違う。環境は違う。だが、「設計」という行為は同じだった。

こうして、68歳の元インフラエンジニアとAIによる共同開発が始まった。最初のプロジェクト名は「kitemir.jp」。AIファッション診断とバーチャル試着のWebサービス。ファッションとテクノロジーの交差点に、40年分の設計経験を注ぎ込む。

これは、その記録の最初のページだ。

$ git init life-story
$ git add first-compile.md
$ git commit -m "initial commit: the journey begins"
[main (root-commit)] initial commit: the journey begins
 1 file changed, 68 insertions(+)