0520
Codexを動かしているとmacが重くなるのは、同じディレクトリを開いているVSCodeが再インデックスをしまくるからっぽいことに気づいたので、VSCodeを止めることにした。マシになったか?それはよくわからない。Codexは大規模リファクタを終えてきたらしいが、これでコードはいよいよ読めなくなった。読みやすい設計にしてくれることを祈るしかない(しかし、何のために?もう読む日なんか来ないのでは?)。
寝ます。
Codexを動かしているとmacが重くなるのは、同じディレクトリを開いているVSCodeが再インデックスをしまくるからっぽいことに気づいたので、VSCodeを止めることにした。マシになったか?それはよくわからない。Codexは大規模リファクタを終えてきたらしいが、これでコードはいよいよ読めなくなった。読みやすい設計にしてくれることを祈るしかない(しかし、何のために?もう読む日なんか来ないのでは?)。
寝ます。
CodexがずっとUIを書いている。Zedを参考にアーキテクチャを設計してくれと頼んだらそれらしいことを延々やってくれているが、見ている側はつまらない。しかも作業中はずいぶんCPUを食うので(なぜだ?)他の作業ができるわけでもない。これは何らかの対策を考えたほうがいいな。対策?もう一台MacBookを買うこと以外に何かあるのか?
特に書くことないので終わります。
CodexがUIを作っていく。ゴール機能のおかげなのか、5時間くらい走り続けている。まあただ、pre-commitとかでいちいちテスト回してるからコンパイルが多くて遅いというのはあると思う。Goとかのほうがいいのか?
しかし、GPUIはどういうアーキテクチャのフレームワークとして機能するのか僕はよくわかっていないので、何がどうなっているのかは正直知らない。Elmっぽいのか?
この2ヶ月、ずっとAIにコードを書かせ続けて、プログラミング言語に対する執着からかなり解放されてきた気がする。もうどうせ自分で書きもしないし読みもしないのだから、ただただ効率よく開発できる言語であればよい。効率というのは、テストのしやすさや静的検査の強さやコンパイル速度なども含まれる。
ただまあ、それはAIが好き放題やれる環境(今風に言えばハーネス)が整っている前提あってこそではある。でもそういう環境って後からはなかなか作りにくいのよね。
寝ます。
デスクトップアプリの作成を続けている。/goalをいまさら試したらずっと自動で動き続けるようになった。Webフロントエンドの機能を完コピするように頼んでいるが、明日の朝にはどうなっているかしら。
寝ます。なんかちょっと調子悪いな。
これといって何もしてない。Seizaのネイティヴ化を進めているが、まだまだ道は遠い。本当に現時点で十分なUXを実現できるのか?というのは大いに疑わしいのだが、試してみないことにはわからない。あとRustでUI書くときのパターンとかもよく知らないが、そういうのはCodexがなんとかしてくれ。
五月祭が爆破予告で中止になったらしい。爆破予告ってコスパというか非対称性が高過ぎるなと思う。予告する側はどんな方法でもとにかく予告すればいいし、された側はどんなにふざけていても黙殺するという選択肢がとりづらい。決闘みたいにちゃんとした予告のプロトコルを定めればいいと提案している人がツイッターにいたが、確かにそうなのかもしれない(本気で爆破するつもりなら予告しないでやるほうが確実なのだから、プロトコルに従わない予告を無視することで上昇するリスクというのは実はそんなに高くないと考えられなくもない そんなことはない)。
おふざけの爆破予告なら無視したらいいじゃん、という感覚は、実際の爆破がそれなりに大変だという前提に支えられているが、もし電話一本で爆破をデリバリーできる爆破 as a Service(爆aaS)があったら、すべての爆破予告に真面目に取り合わざるを得ないだろう。そしてまあ、技術というのは基本的にはそっちに近づけていくものでもあり、技術者倫理〜。
今年に入って、AIによる脆弱性報告が急激に話題になっているような印象だが、同じように最先端AIに真剣に検討させたら物質世界の脆弱性もポロポロ見つかって、まだ誰も思いついていない犯罪の手口が次々に構成されたりするのだろうか。それとも、数千年も文明をやっていればそういった脆弱性は発見され尽くすものなのだろうか。あまりそんな風には思われないが、しかし物質世界というのは良くも悪くも結局(ソフトウェア技術と比べると)たいしたレバレッジが効かないので問題になりにくいという可能性もある。
寝ます。
ぴよリズムの音ズレはやっぱりBluetoothヘッドセットのせいだった。仕方ないので音ゲーのタイミング調整機能みたいなやつをつけて調整できるようにした。音はいろいろ調整して、まあまあの組み合わせを見つけたけど、結局そんなに面白くないなと思った。たぶん公開もしないし、あとで実装だけ読んで勉強しよう。ブラウザで音を出すAPIとか触ったことないからどんな感じか知りたい。
Seizaは、なんか結局ウダウダ言ってる暇があったらやれよの精神でGPUIアプリの実装を始めてしまった。まあとりあえずは簡単なAPI呼び出しをするだけのものを作らせる。それと、Webと違ってスクショ取ったりDOMを取ったりというのはできないので、それをできるようなインターフェイスを先に用意する。これがないと見た目が一生デバッグできない。
寝ます。
これといって進捗がない。ぴよリズムはどうにも音ズレが気になるので調べさせている。250msもズレているのだが、これはBluetoothヘッドセットの問題かもしれないな。明日ちゃんと有線で試すか。
Seizaの次の一手が思いつかない。いや、不完全なところはたくさんあるのだが。ぴよパースとぴよリズムやってたら忘れてきた。やっぱ寄り道するとよくないね。
Zed Editorのために作られたUIフレームワークであるgpuiがちょっと面白そうだった。モバイルは無理だけど、どうせモバイルでそんな複雑なことしないし、デスクトップアプリをこれで作ってもいいかもしれない。いや、そんな日が来るのか?
寝ます。
ChatGPTと、「ChatGPTの文章ってなんか独特のキモさがあるよね」という会話をした。不毛な推測に終わると思っていたが、ChatGPTから「比喩の借金(metaphor debt)」という概念が提出され、これは少しなるほどと思った。要するに、比喩表現というものは当然喩えているもののイメージを文章に持ち込むので、逆にそのようなイメージを必要としない場面でわざわざ比喩表現を使わないのが人間の文章だが、統計的言語モデルにはそういう感覚がないので、使えそうなら使ってしまって、持ち込まれてきたイメージの解決をしない、ということを指して「比喩の借金を返さない」と表現したものらしい。確かに、ChatGPTはすぐになんでもかんでも「手触り」とか言いたがる(手なんかないのにね!)が、これは手や触覚のイメージを文章に持ち込んでいて、人間はその身体性(雑な言葉!)に関して何らかの解決、始末をしたいと思うし、その見込みがなければそういう比喩を使わないのかもしれない。比喩版の「チェーホフの銃」といってもいい。
まあでも、別にそんなこともないかも。こと「手触り感」に関しては、単にお前は手がないだろ、という違和感が先に立つだけかもしれないし。ただ、いずれにせよ、ChatGPTはどこか人間の言語を補間もしくは外挿したような言葉遣いをしてくるという直観はあって、その正体は気になるなと思う。
ぴよリズム(ぴよログのデータを音にするやつ)は、一応それらしきものが動きはするのだが、Codexにも僕にも音のセンスがないため出来はイマイチ。これあんま深追いしてもいいことないかもな。
なんかもうアマプラでレンタルできたので「プロジェクト ヘイル・メアリー」を観た。本当に第1章が1分で終わっている!(実際は3分くらいはあるが、全然原作とは違う)他にも全体的にめちゃくちゃ端折られていて、原作勢としてはどうしても邪念がちらつくのだが(そういう前評判なしに観てたらけっこうガッカリしたかも)、それはそれとして、やっぱり映像で観れてよかったなというシーンばかりでよかった。
そろそろ寝ます。
ぴよログのデータを元に音を出すやつ作っている。LLMには音はわからないと思うのでその辺は自分で試さなければならないだろう。まあ別にそんな真面目にやるようなことではない。公開するのかもよくわからないし。
これはただ音を流すだけじゃなくどうせならタイミングよくタップする音ゲーにするのもいいなと思ったが、まあそういうのは誰かそういうの好きな人に任せる。育児は音ゲー(だったらもっと楽なんだよな)。
piyoparseのwasmバイナリが1MiBあるのはさすがに許容できないので、regexを外して自前のパーサに置き換えている(Codexが)。これで100kiBくらいまで縮むようなので、まあそれならいっかという感じ。ただ当然正規表現と比べると可読性は厳しいので、そこをどうするか相談中。
まだ寝ない。子を連れて毎日散歩に行くのを毎日渋っていたら(出不精なので)、怒った妻がカレンダーに繰り返し予定として登録してしまった。
ぴよログのエクスポートファイルをパースするやつ作った。
https://github.com/necocen/piyoparse
WASM版をJavaScriptから呼べるようにしてあるけど、これはViteとかからは使えるけどNode.jsからそのまま呼べるわけではないらしい(よくわかってない)。その辺の対応はあとでやるつもり(Codexが)。
あと結局日本語しか対応していない。単位系もメートル法のみ。こういうの、やってやれないことはないけど、aPIも煩雑になるし、誰かやりたい人がやってくれたらいいやと思う(AIがやってくれるとしてもわざわざやりたくないことはあるのだという発見)。そんなに真面目にサポートできないしね。
で、すでに動いているぴよログダッシュボードはこれに置き換えるんだけど、それより次はこれを音にするソフトウェアを書いてみたい(そう、今年のテーマは音を出すことなので!)。ブラウザで動かすためにわざわざ切り出してWASM対応したのだ。まだ具体的なことは何もわかっていないが、これで育児記録を読み込んで、ブラウザで解析して、授乳などのタイミングで音を出すと、たぶん楽しいので。おしゃれなエフェクトもつけたい。なぜ?
寝ます。