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: そのようなことが多い
ちなみにHaskellの場合SetはFunctorでないのでそのようなことはない。