0612
緊張すると口下手になる癖がいまだに治らず、ずっと苦労している。しかもどちらかというと言わないほうがいいことを言ってしまう方向に。逆ならまだよかった。
サンドピクチャーシミュレイタの実装をやらせている。なんか、意外とそれっぽくなるなと思うが、気泡の動きとか物理的なリアリティをちゃんとやろうとするとだんだん難しくなってくる。でも計算量は意外とネックにならなさそうだ。まあまだ全然わからないが。
寝ます。
緊張すると口下手になる癖がいまだに治らず、ずっと苦労している。しかもどちらかというと言わないほうがいいことを言ってしまう方向に。逆ならまだよかった。
サンドピクチャーシミュレイタの実装をやらせている。なんか、意外とそれっぽくなるなと思うが、気泡の動きとか物理的なリアリティをちゃんとやろうとするとだんだん難しくなってくる。でも計算量は意外とネックにならなさそうだ。まあまだ全然わからないが。
寝ます。
Seizaデスクトップアプリのリファクタリングを進めさせているが、どうもうまくいかない。いや、おそらくはリファクタリングとしては成功しているのだろうが、一向に読めるコードにならない。読めることを目標にする限り、AIにガンガン書かせる開発手法にはある程度の規模に限界があるのかもしれない。しない場合はその限りではない。
これどうしようかな。デスクトップアプリという野望を一旦捨てるか?まあでも動いてはいるし、読むことのほうを捨てる方がいいか。いいのか?まあいいか。
あとサンドピクチャーシミュレイタを作りたいな〜と思ったのでFableに投げている。こんな粒子と流体のシミュレイションなんて真面目にやったら絶対無理だろと思っていたが、固まっている部分はセルオートマトンにするなどの工夫である程度それっぽくできるらしい。マジ?まあお手並み拝見といこうじゃないの。
寝ます。
Claude Fable 5は、たしかに何か違う感触がある。ツイッターで使っている人の感想によればGPT5.5よりコーディングが得意らしいが、今はまだCodexへの指示役としてしか使っていない。それでも全体設計の見直しなどをさせるとこれまで見つけられていなかった問題点をちゃんと指摘してくるので、役に立っている。
ただ、auto modeで使おうとすると、コマンドの安全性判定をFableでやろうとしてなぜか失敗する不具合があるようだ。これはClaude Codeのバージョンを上げれば直るのかもしれないが、brewで入るバージョンはちょっと遅れているので正式にFableに対応したバージョンを使えるのはまだ先になりそうだ。auto modeでなければ動くので、今は仕方なく都度許可をしている。
寝ます。
Nintendo Directで東方紅魔郷のリメイクとSwitch移植が発表された。そんなことあるんだの2乗。
シューティングゲームは苦手なので別にいいのだけど、楽曲が全部新アレンジらしいというのはアツい。
東方紅魔郷は、まだ実家にいた高校時代に、D言語の処理系のコードを無謀にも読もうとしていた記憶に結びついている。エンジニアたるもの一度はプログラミング言語を作ってみたかったから、そのための勉強のつもりだった。xyzzyというemacs-likeなコードエディタで、コードジャンプはなかったか、あったとしても限定的で、慣れないCだかC++のコードを追っていくうちに、たぶんレキサだかなんだかの実装、つまり、文字列を一文字ずつ走査して、ここからここまでは数値リテラルで、みたいな処理にたどり着いて、これなら理解はできるぞ!と嬉しくなった思い出がある。だからといってそこから理解が深まったとかはなく、結局それ以上先には進めなかったけれど。曲の中では「亡き王女のためのセプテット」が好きです。
東方永夜抄もやがてリメイクされるんだろうか?それは楽しみだ。恋色マスタースパークをまた聴きたい。
SeizaのリファクタリングをClaude Codeに提案させているけど、やっぱ日本語はなんか腹立つし、どうも要領を得ない。根源的な部分を考えることから逃げている気がする。そうこうしていたら新モデルFable 5が発表されたので試してみたところ、こっちはいきなり問題点に切り込んできたので、ちょっと期待している。ただこれサブスクプランで使えるのは今月中旬までだけで、その後は別料金になるらしい。商売がうまくていらっしゃるな。
寝ます。
引き続きあんまりやる気がないが、Seizaのコードリーディングなどをする。結局テキストエディタを丸ごと自作している(絶対にそんなことをすべきではないが……)のでコードが多くなってしまっているのだが、イマイチ整理されていないのでそこをまとめるリファクタをお願いした。GPUIからの入力ハンドリング、テキストレイアウト、入力補完、シンタクスハイライト、ローカルデータモデルとの同期、サーバーとの同期、などなど。
寝ます。最近子の寝かしつけに悩んでいたのだが、ツイッターで流れてきた寝かしつけメロディを試したらアッサリ寝たので、勝ったかもしれん。
う〜ん、やる気出ないにゃんね〜。
バナッハ・タルスキの定理って、まあ球をバラしてこね回すと2個になります!っていうとなんか凄そうだけど、別に実数なんて(0, 1)と$\R$に全単射があるような代物なんだから、よく考えると球が増えること自体はそんなに驚くようなことでもないような気がする。とChatGPTに訊いたところ、まあそうは言っても分割の仕方こそ変だけど写像自体は全然変じゃない等長変換だけでおかしなことになるのは凄いし、3次元より下では起きないのも変だよね、とのことだった。ふーん。
寝ます。
最近はシステム設計面接の教科書を読んでいる。経験の圧倒的な不足を感じる。このくらいのことはスラスラ出てこなかったらAIには勝てない。出てきたところで勝てはしないけれども。
コーディングにせよ設計にせよ、LLMはいろんなベストプラクティスを教えてくれるけれども、「なんか……結局イマイチだったな……」という経験は、ベストプラクティスほどにはWeb上で共有されていない可能性もあり、そうした部分がまだヒトの優位性であり得るだろうか。それとも、そのくらい自力でカバーできるくらいLLMは賢いのだろうか。
ソフトウェア開発それ自体を強化学習タスクとしてファインチューンされるLLMだって当然考えうる(単純なものなら既にやっているだろう)が、長期間を経て生まれる設計の綻びを報酬に反映させることはできるだろうか。まあ、時間はかかるができるだろう。要件の追加変更を繰り返される中で最適な対応をし続けるゲーム。無数の多種多様なシステムがシミュレイタの中で1秒ごとに生まれては変化し消えてゆく。世界に存在するソフトウェアシステムの99.9パーセントはLLM訓練用の短命なダミーシステムとなるかもしれない。宇宙に進出する物体の圧倒的多数はヒトでなく計算機のためのエコシステムになっていくように。
何の話?
寝ます。
なんだか無気力で、ボーッとマンガを読んだりプログラミングの本を読んだりしている。そういう日があってもいいよね。
ソフトウェアの物騒な専門用語筆頭であるところの「(プロセスを)殺す」がしばしば話題になるけど、実際に言っているのを聞いたことがないなと思う。イマドキはみんな「killする」って言いません?物騒すぎるから。
英語で言うとなぜ物騒ではなくなるのかについては諸説ある(いま考えた)。まず「これは専門用語ですよ」という括弧に入れる効果がある。これはいわゆる意識高い系ビジネスパーソンがカタカナ語を乱発する現象とも関連していそうだ。それに加えて、便所を「トイレ」と呼ぶような種類の婉曲表現でもあるのだろう。直接名指したくないものを呼ぶとき、なぜか外来語を借りてくるという現象はしばしば見られるようだ。
寝ます。
「土人形と動死体」読んだ。印象としては「Self-Reference ENGINE」がパワーアップして帰ってきた!という感じ。なんかめっちゃ数学的構造の話するやん?感は「Boy's Surface」かもな。いいね。読めてよかった。
「頭の中にリンゴを思い浮かべる」時、自分以外の他人が何をイメージしているのかはなかなか比較が難しいが、僕の脳内イメージは相対的に貧弱なのではないかという気がしている。いわゆるアファンタジアというほどではないけれど、頭の中にリンゴの像を保持しておくのにはかなり集中力がいるし、集中していてもすぐ「リンゴがある」という設定や、色も大きさも輪郭も曖昧な記号にすり替わってしまう。
今風に言えばLLM的な思考なのかもしれない。コンテキストウィンドウに「リンゴがある」と書くことはできるし、必要であればそこからリアルなリンゴの視覚的イメージを思い出すこともできるが、それはずっとそこにあるわけではない。
しかし、これは誰しもそういうものだと特に疑問に思ってもいなかったが、それとも、普通の人は頭の中にキャンバスもあって、そこで筆算をしたり地図を回転させたりもしておけるのだろうか。よくわからない。
寝ます。