現在位置(エリア)をゼロ知識証明で示したいという動機から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秒で作れたとのこと。
Material 3 ExpressiveのGmailらしき画面で、アイテムをスライドしたときに出てくるボタンは、従来はアイテムの下にあるものがアイテムをスライドしたことで見えるようになる、という構造だったのに、Material 3 Expressiveでは角丸ボタンがなんか同じレイヤで出てくるみたいな感じになっていて気持ちわるい。Materialじゃない。
https://blog.google/products/android/material-3-expressive-android-wearos-launch/
他にも全体的に角丸四角と半径が違うカプセルや円が混ざっていて気持ちわるい。
ボタンを大きくするという考えは良いけど、密度が低くて間延びした感じだし、その割に窮屈な印象を受ける。
Material 3 Expressiveのページにある棒グラフが酷くて、棒グラフが角丸四角とカプセルと三角形の組み合わせでできている。それでこの87 %というのは角丸四角の端なのか、カプセルの端なのか、三角形の端なのか測ってみたところ、どれでもなかった。カプセルの途中部分になっていた。
https://design.google/library/expressive-material-design-google-research
その下にある棒グラフも先端が丸くなっていて、しかも数値に対応する部分が丸の先端でも丸くなり始めるところでもない。
これはウェブページ上だけでなく、実際のアプリでも使われるらしい(しかもこちらは下も丸い)。
https://blog.google/products/android/material-3-expressive-android-wearos-launch/
ちなみにif (x.Foo() is not null and var i)は参照型ではうまくいくっぽいけど値型の場合はダメっぽい。
という前フリをした上で「歌って」って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: そのようなことが多い