p.tatapa.org

p.tatapa.org

ると | @ruto@p.tatapa.org

プログラミング(関数型言語とJava多め)、その他言葉遊びなどを書いてます。アイコンは「腕時計」。ヘッダー画像は2-3フィンガーツリー。

現在位置(エリア)をゼロ知識証明で示したいという動機からIEEE 754準拠の浮動小数点数をzk-SNARKの回路として実装したという論文。NaNや無限大や非正規化数も実装したらしい。

https://www.computer.org/csdl/proceedings-article/sp/2025/223600a057/21B7R3HsGK4

元々の緯度経度の真正性を示せない(付録でも触れられている)ので微妙なのだけど、IEEE 754をzk-SNARKの回路として実装しましたというパワーで微妙さを吹き飛ばしている。範囲チェックやXORやAND等は普通に実装すると回路が大きくなるから表引きにするとか、座標計算から三角関数を排除するとかして、証明がSnapdragon 7+ Gen 2のAndroidで0.256秒で作れたとのこと。

LLMがそれ自身について語っていることを信頼してはいけない、ってLLMが言ってた。

最近の若い人はWindows XPをほとんど触ったことがないらしい。Windows 8が2012年なので人によっては7もあやしいか。

Material 3 ExpressiveのGmailらしき画面で、アイテムをスライドしたときに出てくるボタンは、従来はアイテムの下にあるものがアイテムをスライドしたことで見えるようになる、という構造だったのに、Material 3 Expressiveでは角丸ボタンがなんか同じレイヤで出てくるみたいな感じになっていて気持ちわるい。Materialじゃない。

https://blog.google/products/android/material-3-expressive-android-wearos-launch/

他にも全体的に角丸四角と半径が違うカプセルや円が混ざっていて気持ちわるい。

ボタンを大きくするという考えは良いけど、密度が低くて間延びした感じだし、その割に窮屈な印象を受ける。

https://m3.material.io/blog/building-with-m3-expressive

Material 3 Expressiveのページにある棒グラフが酷くて、棒グラフが角丸四角とカプセルと三角形の組み合わせでできている。それでこの87 %というのは角丸四角の端なのか、カプセルの端なのか、三角形の端なのか測ってみたところ、どれでもなかった。カプセルの途中部分になっていた。

https://storage.googleapis.com/gd-prod/images/24c0550a-85d5-4c4e-a2f5-5a1b68d18d98.799a99c1196c2fd4.webp

https://design.google/library/expressive-material-design-google-research

その下にある棒グラフも先端が丸くなっていて、しかも数値に対応する部分が丸の先端でも丸くなり始めるところでもない。

これはウェブページ上だけでなく、実際のアプリでも使われるらしい(しかもこちらは下も丸い)。

https://blog.google/products/android/material-3-expressive-android-wearos-launch/

iPhone 16の背面カメラ周辺の盛り上がってる部分のカーブはiPhone本体の角のカーブと合っていない気がする(Appleの角丸はちょっと前から円弧でなくなってるんだけど、カプセル型の場合は円弧になってる?)。Proの角丸四角は合ってる気がする。

@tadd 他人が歌った歌をそのまま再生するタイプのロボならそうだけど、楽譜を元に歌うのであれば上演権及び演奏権(第22条)なのでは。

結局エレコムのフラットLANケーブルは何bps出るんだろうか?

https://www.itmedia.co.jp/news/articles/2505/12/news125.html

C# でx.Foo()がnullかどうかで分岐するときif (x.Foo() is Foo foo)って書いてたんだけど、これだとx.Foo()の型が変わってもコンパイルが通ってしまって良くない。かと言ってif (x.Foo() is {} foo)はちょっと暗号的過ぎる(ここで言う{}は空のプロパティパターン)。イディオムだと言ってしまえばそれまでであるけど。if (x.Foo() is not null foo)とか書けないものか。あるいはif ((var foo = x.Foo()) != null)とか。

ちなみにif (x.Foo() is not null and var i)は参照型ではうまくいくっぽいけど値型の場合はダメっぽい。

今週の進捗は、エラーメッセージにファイル名と行番号を出せるようにしたり、コードを整理したり、表の列や行のサイズを調整できるようにしたりでした。

僕はいま、昼下がりの公園を散歩している! お日様って暖かいなぁ…

TIL: 「満足な豚より不満足な人間の方が良い」の逆: 「宁为太平犬,莫作乱离人」(太平の世の犬になる方が乱世の人間になるよりましだ)。戯曲『拝月亭』の一節らしい。 https://zh.wikisource.org/zh-hans/%E5%B9%BD%E9%96%A8%E8%A8%98#%E7%AC%AC%E5%8D%81%E4%B9%9D%E5%87%BA%E5%81%B7%E5%85%92%E6%93%8B%E8%B7%AF

ロボットが学校に行くフィクションは多いけど、音楽の時間に著作権で保護されている歌は歌えない、というネタは既にあるんだろうか。今のLLMは著作権で保護された歌詞などは出力しないように調整されている。HALがDaisy Bellを歌ったのもきっと著作権が切れているからに違いない。
という前フリをした上で「歌って」ってLLM達にお願いしたらClaude 3.7 Sonnetは一旦拒否した上で「Daisy Bell」の歌詞を表示してくれた。ノリがよい。

ゴジラ対メカガンダム

コードをぐっとにらむと、ひずみというか力というか物理的ポテンシャルというかが感じられて、コードをその勾配に沿って滑らせていって動かなくなるとこまで行けばコードはあるべき姿になっている。

コードをぐっとにらむことに勝るプログラミングテクニックはないにゃー。あるとしたらフォーマルメソッドぐらいだにゃー。

C#の例外処理ってどうやるものなんだろうか。

Javaの場合アプリケーションで補足すべきでないErrorと通常のExceptionが分けられているし、RubyもStandardErrorとそれ以外で区別されている。一方C#ではそのような区別は無いっぽい。

そうかといって投げる可能性のある例外の明示が型などで強制されている訳でもない。

雰囲気で例外処理するしかない?

「『人と話すのは難しい』という発話は『人と話すのは難しい』という意味ではなく、『私はある特定の会話で失敗しました』という意味となる」

・Gemini 2.0 Flash: 否定(様々な場合がある)

・Claude 3.7 Sonnet: 同意

・GPT-4.1: そのようなことが多い(ポール・グライスの「会話の含意」を出しながら)

・Sonar Pro: そのようなことが多い

現在のフランス国王は現在のフランス国王だ。

本当に美味しい10円玉は本当に美味しい。

Internal Server Error (内なるサーバーエラー)

»