0517
デスクトップアプリの作成を続けている。/goalをいまさら試したらずっと自動で動き続けるようになった。Webフロントエンドの機能を完コピするように頼んでいるが、明日の朝にはどうなっているかしら。
寝ます。なんかちょっと調子悪いな。
デスクトップアプリの作成を続けている。/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対応したのだ。まだ具体的なことは何もわかっていないが、これで育児記録を読み込んで、ブラウザで解析して、授乳などのタイミングで音を出すと、たぶん楽しいので。おしゃれなエフェクトもつけたい。なぜ?
寝ます。
Seizaとぴよパースの開発を並行している(Codexが)。SeizaはモバイルからのUXがterribleだったので、iPhoneシミュレイタで動作確認させながら修正させた。いいねこれ。
ぴよパースは一応実装できているのだけど、公開のための準備を躊躇っている。公開のパッケージリポジトリにpublishしたことが実はあまりないので、作法がよくわからない。まあわからなければチャピ公に訊けばいいのだが。
寝ます。
この世〜は〜 でっかい Human-in-the-Loop
発話・記述された言語はどうしても線形にならざるを得ないが、思考は必ずしもそうではなく、また話題全体の構成も非常にしばしばそうではない。それを発話・記述するために無理矢理線形にする必要があり、理解する側は線形になったそれを再構成する必要もある([de]serialize!)。しかし、線形でないままコミュニケイションできたらどうか。たとえばマインドマップを投げ合って会話することは可能か。
現代の技術はそれを可能にするかもしれない。マインドマップを投げ合う会話はあまりにも面倒だが、音声入力とLLMを使えば、雑多にしゃべったことをいい感じの木構造に整理することができるかもしれないし、受け取った側もいい感じにそこに枝葉をつけて送り返すことができるかもしれない。
そもそも、コミュニケイションの手前、自分の関心事を整理するために、もっとマインドマップ的なアプローチをとるべきかもしれない。それは以前だったら面倒なことだったが、LLMのある時代には、テキスト表現可能なフォーマットさえ決めてしまえばどうにでもなることであるように思われる。テキストほど線形でなく、分散表現ほど抽象的でもない、木構造あるいはグラフ構造によって、自分の思考を表現する試み。
アイデアはいろいろ思い浮かぶのだが、いちいち実現している時間がない。いや、そんなの昔から当たり前にそうだったが、なまじ頑張れば手が届きそうな気がするのが精神の健康によくない。
寝ます。
Seizaのコードを見てたらなんか全然読めないな?と思ったのでリファクタリングを要求している。とりあえず、アプリケイション層を単独でちゃんと読めるようにエントリポイントをはっきりさせたい。AIは自分が読める(?)からってユーティリティや内部モジュールと外部から呼ぶエントリポイントを平気で隣に置く。こういうのがエンジニアの経験値ってやつなのか?
あとぴよログパーサ(ぴよパース)をクレートに切り出そうとしている。なんか、使えるとうれしいと思ったので。せっかくだからWASMにコンパイルしてJSからも呼べるようにしたい。これは自分で使う用。
でもこれ真面目に考え始めると普通に多言語対応の話になっちゃうし、それは手に余るなあ。とりあえず日本語だけでいいや。
寝ます。