今週は原神の Ver 6.x こと Luna シリーズの最後のバージョンアップがあったのでプレイ開始。サンドローネ自体は既に引いていたのだけど、1回すり抜けるし、強化するために八重巫女も引いておくかと回してみたらこっちもすり抜けてジョジョことリオセスりが出るというすり抜け。最終的に4回も天井近く回してカツカツになってしまった。
サンドローネ、期間限定のイベントクエで各種ストーリーの回収があったけど、これは恒常にしてもいいのにねえ。内容はとても良かった。期間限定の方のミニゲームは一旦スルーして後で。
キャラをゲットして早々に最近のキャラについてくるミニイベントを開始できるようになっていたものの、ストーリーを終わらせてからの開始がおすすめ!とあったので、回り道してからスタートしていた。後ろにエンドコンテンツの一つのボスキャラを見つつのお茶会というのがシュールだけど、ストーリーを楽しみたい自分としてはなかなか良かった。
広大な月エリアの探索はまた後で。
ゲームをプレイして、飯でも食べるか、というタイミングの時に父親から電話が来て祖母が亡くなったとの事だった。享年102歳。
5月の下旬に入院して、そのときは持って月末、という話があり5-6月にかけての予定を全てキャンセルなり、色々していたのだけど特に何事もなく時間がたっていて、お盆にぶつかったら行くのしんどいなー...とか何とか言ってる矢先だった。
7/6が友引なので 7/5-6 という日程はないだろうと 6-7 だから北海道の葬儀に参加できるかと聞かれたので、二つ返事で行くと答え妻と一緒に再びあらゆる予定、ネットスーパーの受け取りなどをキャンセルし、飛行機、レンタカー、ホテルの順序であれこれ手配をしていた。飛行機はともかく、レンタカーがないと行くのは不可能なのだが、何とか空いていたので良かった。
父親から電話がかかってきてからの記憶はほぼないのだけど、この日はカナダから日本に引っ越してきた Ruby コミッタの Peter と鮨を食べに行く予定だったので高輪ゲートウェイへ。飯の前にミズノに行ってゴアテックスのスニーカーを買っておいた。
Peter は日本語勉強中ということだったので「今日は日本語しか話さんぞ」と宣言してから、私生活やら Ruby の開発やら色々話して勉強になった。というか、父親と息子、とまでは言い過ぎだけどそれに近いくらい年が離れているのに、Peter は立派だなあと最初から最後まで感心してしまった。
昨日アップデートした bugs だけど、Datadog をもう少し使い倒した方がいいな、ってことで claude と壁打ちしながら今現在無効だけど、有効にした方がいい設定は何?というのを壁打ちしながら片っ端から有効化していた。
あと、サービス名を適当につけた結果、Datadog の Service とログ drain の名称に差分があり、そのせいで claude が毎回ミスったり、メモリを見て修正という感じだったので、未来に向けては今直すのが一番最速ということで昔のデータがロスになったとしてもえいやっと全部揃えてリネーム、かつ親子関係を作ってデータを作り直すことにした。
後最後に、datadog gem と heroku の dyno, scheduler の組み合わせが絶望的に悪くて、build フェーズで datadog gem を読み込むけど agent がないからログに通信エラーが記録される、dyno を起動するときも ある tracing は boot.rb の時点では取れないからエラーになる、タグがこの時点ではないから、rake だと〜が動いてないから、みたいな感じでゴミログが記録されて邪魔なのでこの機会に徹底的に潰してしまった。
これで claude に「なんかエラーがないか見て」というときに「〜は既知のエラーなので除外」みたいなしょうもない処理がなくなって欲しい...。
psych に YAML 1.2 対応してくれ、という要望は多いものの libyaml は 1.1 準拠で 1.2 はあったりなかったり、という状況だった。で、Psych で 1.2 対応する、としても Ruby レイヤで何かする必要があり、互換性とかどうすんのと悩ましい問題があったので libfyaml という 1.2 に準拠している C ライブラリを psych で libyaml と差し替えて動くようにしてみた。
https://github.com/ruby/psych/pull/805
これ自体は Fable 5 ではなく Opus 4.8 で、設計を用意して、あとは作って、で出てきたものに対して牧さんが使っている claude のレビュー skill を Ruby と C にアレンジしたものでレビューさせて、あとは自分が使っている agy でのレビュー、4本のレビューを突合させて指摘の修正、もう一周、みたいな感じで直したものでマージしてしまった。
もう少ししたらこれを Psych 6.0.0 としてリリース予定だけど、パフォーマンスとかは全然ダメで emit は2倍くらい遅い。YAML 1.2 に完全準拠というのが目的の人向けの機能になるけど、なんかそれっぽく動いているので興味がある人は使ってください。
7/1 の夕方のうちには発表されていてけど claude の Fable 5 が朝から使えるようになっていたので、claude desktop をアップデートして使ってみた。
weekly のリミットがガンガン減っていくのは前も体験した通りだけど、今回から Fable 専用の weekly リミットのゲージが新設されていて、この日だーっと使ってみたら15%くらいの消化だった。月曜にリセットがあり、Max で無制限利用できるのも 7/8 まで、という感じなので、このペースならもっと使い込んでも良さそうな気がする。
以下のような function で呼び出せる
c() {
open "claude://code/new?folder=${${1:-$PWD}:A}"
}
claude スキームかつ、code というパスがあるのを知らなかったけど、claude 自身にターミナルから引数つけて呼び出せないの、と聞いたらサクッと回答が来たので zshrc に入れといて、でできた。。
tmux とか何かでターミナルで頑張るというのをほぼやってなくて claude desktop の機能で十分だったものの、あるリポジトリの開発をすぐにやりたい、というときに不便だった問題がこれで解決したと思う。残る何かと言うと env をうまく渡す方法がないというところかなあ。クレデンシャルを claude に見えないように渡すには
$ export FOO=... ; open /Applications/Claude.app
とやらないとダメで、アップデートしてリスタートした後などに環境変数が見えません、とかあると途端にだるくなるので何とかして欲しい。
Redmine 7.0.0 がリリースされた、というのを見かけたので bugs.ruby-lang.org の方もアップデートしておいた。
https://www.redmine.org/news/161
今までは、自分でパッチを書き出してアップデート、ということをやってたけど claude + Fable 5 にデプロイで使っている ro-6-1 と upstream の stable-6.1 の差分を学習して、同じものだけど stable-7.0 に適用した ro-7-0 を作って、でほぼ完成したので何も困ることがなかった。
ついでに postgresql も 16 から 17 にアップグレードしておいた。リリース後も Datadog MCP を使って、エラーが出てないかみておいて、で出てないので大丈夫です、って感じであっさり終わってしまった。便利な世の中になったと思う。