p.tatapa.org

p.tatapa.org

ると | @ruto@p.tatapa.org

コンピュータ関連、その他言葉遊びなどを書いてます。アイコンは「腕時計」。ヘッダー画像は2-3フィンガーツリー。

#いろいろなアドベントカレンダー

「朝起きたら台所にドリンクバーができていた。とりあえず『コーラ』とだけ書かれたボタンを押す。それがいちばん味が想像できたから」

プログラムに脆弱性があることをゼロ知識証明で示せるようにする、という研究。

https://dl.acm.org/doi/10.1145/3747589

LLVM中間コードやRISC-Vコードを元に、プログラムがある入力に対してある性質(未参照メモリの参照や、機密情報が公開された領域に置かれていることなど)を満たすことをゼロ知識証明で証明する。

まず、実行トレースのウィットネスを検証する検証器を作る(これは脆弱性を引き起す入力無しで作れるので、検証者側で作れる)。

次に、脆弱性を引き起す入力を使って、証明者が実行トレースのウィットネスを作成する。

そして検証者は実行トレースのウィットネスを検証する。

LLVM中間コードやRISC-VコードはMicroRAMという中間コードに変換してからゼロ知識証明の回路に変換する。

最適化のためにシンボリック実行などを活用する。

ゼロ知識証明でメモリ安全性侵害、情報流出、インタラクティブなネットワーク攻撃、DoSなどを表す方法を工夫している

TIL: “high and dry”は見捨てる、置き去りにするといった意味で、元々は船が陸に乗り上げた状態を指す。

OpenAIの開発者向けサイトのアクセス解析に使っているMixpanelが攻撃を受けて、開発者の氏名やメールアドレス等が流出したらしい。パスワードやトークン等は無事でパスワードの変更も推奨していないとのこと。

https://openai.com/index/mixpanel-incident/

Mixpanelの利用は停止したとしているけど、今後アクセス解析業者に氏名やメールアドレス等を渡すのを止めるとは現時点で書いていない。単純なアクセス解析であれば匿名IDでよいはずだけど、何に使っていたんだろうか。

全ての異なる位置じゃなくて全ての連続する位置で十分だった。

ヘンペルのボゴソート: 入力のリストをシャッフルする。入力のリストの順番を並び替えたリストのうちソートされていないものを列挙し、最初にシャッフルしたリストと同じものがあれば最初からやり直す。なければ終了する。

「入力のリストの順番を並び替えたリストのうちソートされていないものを列挙」する際、ソート処理そのものや、リストがソートされていることの判定は必要ないことに注意。具体的にはリストに含まれる異なる値の各ペアに対して以下を繰り返す: リストの中の2つの異なる位置を列挙し、ペアの値を逆順に置く。残りの場所は残った要素で全パターン列挙しながら埋める。(列挙には重複が含まれるがアルゴリズムの正しさには保たれる)

🎉 Unison 1.0 has landed!

After years of engineering, design, and community collaboration, we’re excited to announce this milestone!

Help us spread the word!
https://www.unison-lang.org/unison-1-0/

Google CloudのGemini APIの使用料が、21日分から取得できない? コンソールのレポートのグラフが途切れている。

国際暗号学会(IACR)の役員選挙では投票が暗号化されていて、結果の復号に3人の担当者全員の鍵が必要らしいんだけど、そのうち1人が鍵を紛失してしまってやり直しになったらしい。暗号学的。やり直し選挙では3人のうち2人分の鍵で復号できるようにしたらしい。秘匿性と可用性のトレードオフだ。

https://arstechnica.com/security/2025/11/cryptography-group-cancels-election-results-after-official-loses-secret-key/

https://www.iacr.org/news/item/27138

お店で「海と大地のサラダ」って洒落た名前のサラダがあるなと思ったら「海藻と大根のサラダ」だった。なんか1文字多いなとは思った。

LLM達に「Han Unificationのメリットとデメリット」を聞いたら、Gemini 2.5 Flashは漢の武帝による統一のメリットとデメリットを挙げてきた。

以前書いたジョークのまんまだ(正解はD)。 https://bsky.app/profile/cocoa-ruto.bsky.social/post/3l2jbbl2m242j

TIL: “aughts”は「ゼロ年代(2000年から2009年まで)」を差すことがある。ここでの“aughts”は「零」の意味。

@tadd 我々のGeminiやPixelはこんなにすごいんですっていう自社の記事の動画で無関係なひどい動画のサムネイルが出るのは広報としてダメなのでは。
たとえばこういう記事。
https://blog.google/technology/developers/gemini-3-developers/

問題点:
・公式ブログの場に第三者による騙し動画への動線があるのは、ブランドとして良くないのでは。
・記事としては途中の動画が終わったら記事の続きを読んで欲しいはずで、そこにアテンションの獲得に最適化した煽りサムネイルが表示されて流れが切れるのは良くないのでは。

GoogleのGeminiとかPixelとかの紹介ページで、埋め込まれたYouTube動画の再生後に全く関連がない酷いおすすめ動画が出てくるの、Googleとしてはこれで良いんだろうか。
(デスクトップとiPad Safariのプライベートウィンドウで確認済み。iPhoneやPixelでは画面が小さいので動画の下に小さいサムネイルが出てくるのみ)

良い嫌の日

YSH (Oils)は、デフォルトでpipefail相当(よりもさらに強力)かつSIGPIPEを正常終了として扱う。
https://oils.pub/release/latest/doc/error-handling.html

Nushellの場合、外部コマンドが失敗した場合は例外が起きるが、SIGPIPEは例外を起さない(バージョン0.98.0、2024年9月17日リリース)。 https://www.nushell.sh/blog/2024-09-17-nushell_0_98_0.html#non-zero-exit-codes-are-now-errors-toc

ただし、pipefail相当の設定はつい最近実験的機能として導入され、それまではパイプラインの最後のコマンドの失敗のみが例外となっていた(バージョン0.108.0、2025年10月15日リリース)。 https://www.nushell.sh/blog/2025-10-15-nushell_v0_108_0.html#pipefail-16449-toc

Elvishではこのあたりを特別扱いしてくれる。パイプラインのいずれかのコマンドが失敗した場合は例外となるが、途中のコマンドがSIGPIPEで失敗した場合は無視する。

https://elv.sh/ref/language.html#pipeline-exception

UNIXシェルバッドノウハウメモ: set -o pipefailとした上で、 if foo | grep -q bar ; ... とすると、fooがSIGPIPEを受け取ってifの条件が偽になる場合がある(fooがbarを出力してから、さらに別のwriteで何かを出力しようとしたとき)。

UNIXシェルバッドノウハウメモ: set -o errexit -o pipefail とした上で foo | head -n 10 とすると、fooがSIGPIPEで異常終了するので全体も異常終了する。

»