盆栽
まあできないことはありつつもREPLを書いた。
他にも色々やりたいことがあって、一つ一つは小さいのだが、無限にコードを書いてしまう。これが盆栽か。
やりたいことをひたすらやってしまう。正確にはAIさんと一緒に...。
AIさんいるのって、一人親方OSSとしてはやっぱり革命的な感じがしてきた。だって、OSSって、そもそもちょっとデカくなったりやりたいことが複雑になったら一人じゃ全然やりたいこと無理で(壮絶に実装速度が早い一部の人だけが「完成」に至る)、質を担保するのも無理なんだけど、そこでまともに使えるようにするには何をすべきかわかってる人であればAIに大体やらせて、わずかな隙間時間に確認と調整をすればいいってことになる。
とはいえ「何をすべきかわかってる人」でないと、AIに書かせたコードを自分で運用しきれないし、そもそも実装も効率悪い回り道ばかりになって単にお金が溶けていくし、電気も使われ、二酸化炭素濃度も増えていく...。
なので本物のソフトウェアエンジニア力やアーキテクト力が求められますよ、という意見は、そうですねと思った。ソフトウェアエンジニアリングやアーキテクチャの勉強をしていこう。地球のために。
念願叶った
やっとブラウザのPlaygroundができた。
mruby-compiler2 を使っていて、ブラウザで動かすにはEmscripten等でsetjmpをエミュレートする必要があったので、wasm32-unknown-emscripten で動かしている。しかし、ちょっと基盤を作ったらあとはCopilot(Claude Sonnet 4.5)によっしゃオラっと書かせて終わった。
コードは毎回一からコンパイルしてVMを作っている。
mruby/edgeは連続でコードを読み込めない(ぇ...)のでそろそろその辺のサポートをしなければ...。
あとは、デザインをもっとこう、Claude感を軽減させたいんだけどどういうプロンプトがある?
UzumibiでやっとJSON APIが...
良かったですね。
流石にserdeとの連携は面倒では... と思っていたが、超簡単にできたし、なんなら `to_json` 定義したらそれを使ってくれるようになった。
`Rc<RefCell<&mut T>` なんて型を使っていいということも知らなかった。ていうかこの型何? 想定したようには動いてるけど...。
やっぱRustの本ちゃんと読まね〜とな。
mruby/edge 1.1.0
1.1.0 にする前に 40個ぐらいのメソッドを実装した気がする。幾つだ?
で、mruby自体の命令は85%ぐらい実装済みだったはず。細かいところも徐々に対応できてきた。そろそろmrubyテストスイートに挑戦かなあ。
それはそれとしてAIの恩恵を享受している。というっても難しい話ではなく、僕が風呂に入ったり家事をやっている間に、指示をすれば標準ライブラリやらなんやらを実装してくれるので、あまりにも便利というだけの話...。子育て世代なら、寝かしつけの間にも実装してくれるだろう。できたコードはもちろん全部読んでる。ちゃんとメソッドの補完とかができないらしく、雰囲気でコンパイルできないコードを書いてくるんで...。
しかしこんなに勢いよくコードが出てくると確かにQAに不安がある。テストも書かせたが、一つ一つ細かく動かしたかと言われると。
とにかく、OSSひとり親方には良い時代なのかも? gfxさんやmizzyさんの足元にも...アレですが。
ついに
色々日程を固められるようになったので、函館行きの飛行機やホテルを予約した。
はやく行きてえ…。
可能なら俺の書いた最高のソフトウェアの話もしてえ…かな。