朝起きてデイリーの mswin ビルドを実行しようとしたら、zoxide の初期化で
Shim: Could not determine if target is a GUI app. Assuming console.
Shim: Could not create process with command '"C:\Users\hsbt\scoop\apps\zoxide\current\zoxide.exe" init --cmd j powershell'.
というエラーが出たので、scoop のなんかが腐ったかな、と scoop update * や scoop reset などを試しても全くダメで、それどころか git がないから scoop を入れ直せ、とか出てきてなんだこりゃとなって調べて gemini が提案する symlink の リモート/ローカルでの有効権限を以下のようにいじってもまるでダメ。
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
他にも sshd.exe の権限を administrator にしてみるとか、色々やってもダメで GitHub の issue を探してみると preview ビルドの時から踏んでいて、Windows Update で regression がそのまま降ってきたよ、というこれそのものの報告があった。
https://github.com/ScoopInstaller/Scoop/issues/6594
要は Windows Update で ssh 経由のジャンクションポイントの扱いが変わったらしく、それの余波で Scoop が爆死した、ということだった。流石にこれは Windows の方でなんとかしてもらうしかなさそうなので当面は ssh 経由ではなく直接ターミナルなどを開いて頑張ろうと思う。ほんとまいったなー。
いつからか一部のホストに ssh すると以下のような警告が出るようになった。
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
警告にある url を見たり、周辺情報を調べてると量子暗号化スイートに対応してないやや古い sshd に接続すると警告が出るらしい。とはいえ、じゃあ sshd をアップデートします、というわけにもいかず OS のバージョンそのものを上げないといけないとかですぐには対応できそうにもないので
Loglevel error
という感じに特定のホストだけログレベルを変えてエラーは無視することにした。サーバーのバージョンアップを頑張ろう。
bundler.io のエントリなど諸々が古いままなんだけど...という issue があり、そりゃまあ誰も面倒見てないからね...という感じだったので重い腰を上げて rubygems.org に migrate し始めた。
まずは blog エントリはただの markdown かつ、サイトの構成を細かくいじる必要が一切ないのでエントリ全部をエイっと移動してから middleman に html の meta refreash で redirect するようにした。この辺、middleman が本当に使いにくいところで、redirect するには index.html でやらないとダメってところなんだよなあ。config.rb とかでサクッとやらせてほしい。
次は guides を引っ越そうとかと思ってるけど、こっちは Directory index 的な表示のところも工夫しないとダメなのでもうちょい考えないとダメそう。guides.rubygems.org もこれはこれでやや古いので頑張らないとなあ。
bundler の lockfile から SBOM を生成するプラグインの bundler-sbom に without で development や test を除外したいんだけど、という issue がきたので copilot に作らせた。
https://github.com/hsbt/bundler-sbom/pull/5
これくらいだとあっさりできてしまうけど、そろそろコードベースがやばい感じになってきてるので copilot ぶん投げでどこまで行けるかなあ。bundler の plugin は引き続き全部を Agent にぶん投げてやっていこうと思う。
rdoc に GEM_HOME が複数あって、それぞれに rdoc がインストールされている、という摩訶不思議環境の時に warning がうるさいのだけど、という issue ができてたので、GEM_HOME を無効にして Ruby インストール時のデフォルトで使われる GEM_HOME から rdoc をアンインストールせよというアドバイスで
$ GEM_HOME= gem uninstall rdoc
というのを伝えたのだけど、実はこれは GEM_HOME のディレクトリを組み立てる時に空文字を使って組み立ててしまってエラーになるのだった。
https://github.com/ruby/rdoc/issues/1609#issuecomment-3918980576
正しくは unset とか set -e を使ってちゃんと消すというのが必要になる。こういうの本当に紛らわしいから最初のやり方でもちゃんと無効化されるようにしてしまっていい気がするんだけど、非互換の提供になってどっかで困る人が出てくるかなあ。うーん。
今週は Matz がいなかったもののいつものメンバーでおしゃべりしていた。
RubyKaigi の proposal 採択されました〜とか Date を Ruby で書き換えてみました、とか GitHub がついに pull request を非表示にできるようにした、とか最近の話をしていた。
メモリに続いて NVMe が値上がりしていてなんなんだ!という話とか。それにしてもしょうもない画像や動画を生成するために PC が買えませんとか、本当にしょうもないと思う。
nobu とは C 拡張を含む gem をビルドするときに warn が表示されないのは不便だねえ、どこで何をすればいいかねえ...とか。結局 gem i でワラワラだしたところでユーザーは何もできないので、開発中に開発者に出さないとダメじゃね?ということで rake-compiler 案件かねえというところで時間切れ。
フォールアウトのシーズン2が公開されていたので全部見た。
https://www.amazon.co.jp/gp/video/detail/B0CJPB6V2D/
シーズン1に比べるとゲーム内の要素?が多分に多いらしく、よくわからないネタ満載だった印象のまま終わってしまった。ラストもまだ続くような感じだったけど、何がどうなってどうなった?は分からなかったなあ...。
ちょっと前になるけど JRuby の実装を取り込んだ syslog-0.4.0 をリリースした。
https://github.com/ruby/syslog/releases/tag/v0.4.0
これで JRuby と実装を共通化して挙動が同じなって良い、というのは良いのだけど Ruby の方では C 拡張があるという前提なのでこれがそのまま JRuby にスライドすることで C 拡張がないよ、という warn が出て困るというのがすぐに起きてしまった。
https://github.com/ruby/cgi/issues/108
これ、自分は何をどうすればいいのか、はわかるんだけど JRuby が何をしているのか、がよく分からないんだよなあ...。いつかはちゃんと直さないとダメだけど一旦後回し。