2026年 01月 21日

オッドタクシー面白かった。

z.ai に一瞬金払ってみようかなと思ったがメインクレカそのまま入れたくないな、ということから楽天プリペ発行してみたり(サブスク不可だった)、Revolut 入れてみたりまでして結局やってない

39歳

2006年から開発のバイトはじめてるから20年ぐらい仕事としてプログラム書いたことになるっぽい。あんまり誕生日に日記書いてないので、単に遡ると20代終了までにいきついてしまった。そして内容的にはほとんど何も変わってない。ただじわじわ不健康になっていっているだけ。

働き方を変えないといけない気がしてる。子どもの進学タイミングがマイルストーンになりそうと言い訳しつつゴールポストを動かしてしまいそう、40歳か、43歳か、45歳か。45歳だと子どもが成人年齢になってしまう。

LLMでコード書けるのは楽しすぎる。手が早いだけの人の価値はふっとんでしまったなと思う。自分は自分のことをレゴブロック積み上げて最速で形を作ってるだけという自覚があるので、コーディングエージェントは直接的に競合する相手のはずだけど、なんか全然そこに危機感はない。さっさともっと賢くなって完全に仕事奪えやという気持ちがある。

つまり逆に現状のコーディングエージェントでは全然性能が足りない。「すごい、こんなにはやくできたぞ! スゲー」というのと「は? こんなこともできねーのかよ。ゴミだな」というのを毎日繰替えしてる。ただコーディングエージェントなしにはもう戻れない。

2026年 01月 20日

ギターの練習さぼりまくり。モチベが著しく低い。たまに弾くと楽しい。そしてサボってから弾くと指が痛い。

モチベとは関係ないがボリュームPOTの調子が悪く、何度か分解解体してバネ圧高めたり接点を#10000ぐらいでやすったり、接点復活剤かけたりしてる。一時的にはよくなるんだけどなあ。買い替えるのがいいんだろうなあ。

しかしサウンドハウスで500K Aカーブを買おうと思うと980~1300円とびっくりする値段 (と思ったけど380円ぐらいのもあるな)。ブランドモノなのか? 秋月だと60円。 どうするかなあ。元々ついてたのは ALPS のやつ。

jQuery 20周年……???

skills とか subcommands とかいまいち整備する気にならんのだよなあ。

と一回書くとやる気になるはず

このサイト開くと、便利情報として右上に IPv4 か IPv6 か表示するようにしてあるんだけど、ここに今繋いでる HTTP のバージョンも出すようにしてみた。

/.ip としてシンプルな情報を出すエンドポイントが前からあるのでここに足しただけ

      "/.ip":
        header.set: "Cache-Control: private"
        mruby.handler: |
          lambda do |env|
            ipv6 = env["REMOTE_ADDR"].include?(":")
            proto = {"HTTP/2" => "h2", "HTTP/3" => "h3"}.fetch(env["SERVER_PROTOCOL"], "")
            [200, {'content-type' => 'text/plain'}, [ "#{ipv6 ? 'IPv6' : 'IPv4'} #{proto}" ]]
          end


直接関係ないけど、h2o からproxy.reverse.url のバックエンドに直接こういう変数を入れたカスタムしたヘッダを送るのはあんまり簡単でなさそう? http_request 使うぐらい?

うーなんか静的ファイルの配信がおかしい。途中で切れたりする。リロードすると再現したりしなかったり。おかしすぎる

うーん

proxy.zerocopy: ALWAYS

をコメントアウトしたらいったん再現しなくなった。

もうバックエンドの最適化でやることがないので、無用な複雑性だとは思いつつもページ全体のキャッシュ処理をするようにした。

ファイルシステムだと競合処理がどうしても不安なので、SQLite バックエンドではあるけど、これでも10倍ぐらいはやい…… (314req/sec → 3039req/sec) ただし静的ファイルは 12930req/sec

ログイン(自分)の状態だと常にキャッシュ無視なので壊れてても気付けない。非同期ジョブが全部終わった段階で関連キャッシュをクリアしている

2026年 01月 19日

むちゃくちゃ気が重い

Chromeの開発者ツールでそのプロトコルが選ばれた理由が表示されることに気付いた

ずーーーと「なんでh3にならんのかな〜」ということをやってたけど、この開発者ツールのプロトコルの部分にホバーすると理由が出るということにようやく気付いた。ただ出ないこともある

HTTPS レコードで勝った場合

`Chrome` used a `HTTP/3` connection due to the `DNS record` indicating `HTTP/3` support, which won a race against establishing a connection using a different `HTTP` version.

HTTPSレコードちゃんと使ってるんだ。

ただレースして勝ったから使っていると書いてある。従来のTCP接続も同時に投げているようだ。

おそらく初回接続だけで、次からは Alt-Svc 優先になると思われる。(シークレットウィンドウで初回アクセスするとこれになる)

Alt-Svc ヘッダで勝った場合

`Chrome` used a `HTTP/3` connection induced by an `Alt-Svc` header without racing against establishing a connection using a different `HTTP` version.

2回目移行の接続。こっちはレースしないで決め打ちで繋ぐんだなあ

microdata → JSON-LD

JSON-LD 全然好きではないが、microdata でやっていた構造情報を JSON-LD にのせかえてみた。どっちにしろたいした情報はないが……

microdata だと display: none な要素を使ってメタデータを埋めこむ必要がしばしばあって、これがDOMの構成要素を増やす要因になっていて気になっていた。

最近のChromeだとDOM要素多いとパフォーマンス悪化するぞと脅してくる。

HTMLとしては非常にシンプルになって気持ちよいけど、やっぱ microdata のほうが好きだなあ。