vatt'ghern jaskier's ballads

2026.05.20 —— 今日 10 則

TODAY'S THREAD Discord 把 voice 崩盤回放到一行誤設、Turso 用 Quint 把 SQLite 模到底挖出十個 bug、Uber 拉著 Go escape analyzer 把 10% CPU 從 heap 拉回 stack——今天的事都繞著「肉眼看不見的隱性成本」展開。

10 items ai · 2 systems · 2 infra · 2 web · 2 backend · 2
0 / 10 read
#05

Reel Friends:Meta 把社交發現推到十億級的多層 graph + embedding 架構

Meta 公開 Reels「friend discovery」surface 的 recommendation 架構:從多層 social graph 抓 candidate、用 retrieval-stage embedding 過濾、再讓 ranking 與 online learning loop 共調 engagement 與 integrity。每天服務十億級的 candidate set,瓶頸不在 model 而在 feature freshness 與 retrieval 召回率的 trade-off。

read source → deep recommendation-systems

#09

Snapchat 一秒服務十億 prediction——統一 inference layer 如何撐住

Snapchat 把 ranking 與內容審核模型放進同一個 inference layer,每秒處理十億等級的 prediction request;架構上靠 feature store、model cache 與 request batching 把 p99 latency 壓到 10 ms 以下。重點在「跨模型共享」帶來的維護負擔與 schema 演化問題——統一不是免費的。

read source → ML-serving

#06

MSVC 加入 Sample PGO——以硬體取樣取代 instrumented build

MSVC 釋出 Sample PGO:用 ETW 從生產執行檔的硬體取樣抽出 profile,跳過 instrumented build 的慢執行階段,讓 PGO 在大型 C++ binary 上實際可用。文章說明 ETW pipeline、weight 校正以及如何在 CI 接 dogfood profile;本質上是把 LLVM/Linux 上已成熟的 AutoFDO 思路搬進 MSVC。

read source → PGO

#10

OpenBSD 7.9 釋出——pledge 細修、base sshd 接上 post-quantum hybrid KEX

OpenBSD 7.9 釋出:pledge() 進一步細分、針對 Copy Fail 類 kernel 邊界 bug 的 mitigation、首次在 base sshd 引入 post-quantum hybrid key exchange,arm64 新硬體支援與 syscall 介面繼續收斂。一次小而緊的釋出,預設安全姿勢往前推一格——同時登上 Hacker News 與 Lobsters 首頁。

read source → OpenBSD

#01

Discord 3/25 語音崩盤覆盤——一行誤設引爆 voice control plane 級聯失效

Discord 公開 3/25/26 語音服務全域中斷的根因分析:一次例行部署改動把 voice control plane 的內部依賴圖推入級聯失效,無法回退的 service mesh 變更讓 mitigation window 拉長到兩個小時。事後他們把 circuit breaker、deploy gate 與 dependency graph 的健康訊號全部重作;最值得讀的是中段——on-call 在哪一步意識到「rollback 不是解」的判斷脈絡。

read source → deep incident-response

#02

Uber 把 Go escape analyzer 哄回 stack——平均省 10% CPU

Uber runtime 團隊系統化檢驗熱路徑上的逃逸點:closure 捕獲、interface boxing、slice grow——只要把這幾個結構小心改寫,escape analyzer 就會把原本逃到 heap 的物件留在 stack。涵蓋多個服務的 benchmark 顯示平均省下 10% CPU;文章列了 decompile assembly 對照與具體的 call-site rewrite 模板。

read source → Go-perf

#07

ProseMirror 文件模型的意外影響力——超越編輯器的 transformation 共通語

ProseMirror 的 schema、position、transform 模型本來為了富文字編輯器而設計,作者觀察它已悄悄成為 rich-text transformation 管線的共通基礎:格式轉換、LLM 驅動的文件編輯、structured diff,都比直接操作 HTML 穩定許多。具體例子說明為什麼基於 position 的 transform 比 DOM range 更適合 program-driven 編輯。

read source → ProseMirror

#08

閒置網域被綁去 GitHub Pages 發內容——CNAME 驗證盲區的拆解

一位開發者發現自己沒在用的網域被綁到別人的 GitHub Pages 站;root cause 是 GH Pages 的 custom domain 流程只檢查 CNAME 解析、沒驗證 domain owner 的歸屬。文章拆開 abuse surface(dangling CNAME、自助綁定的 race)並列出可立刻採取的 mitigation:把不再用的 CNAME 與 GitHub Pages binding 一起清掉。

read source → github-pages

#03

Turso 用 Quint 把 SQLite 模到底——formal model 找出十個 fuzzing 沒抓到的 bug

Turso 把 SQLite 的 transaction + storage layer 用 Quint(TLA+ 風格的 formal specification 語言)建模、跑 simulator + model checker,揪出超過十個 fuzzing 沒覆蓋的 race condition 與 edge-case 寫入錯誤。對照 Hyrum's Law:模糊測試只能找出「能被觸發的」bug,formal model 把「能存在但少有人路過的」狀態空間整片亮起來。

read source → deep formal-methods

#04

Windows DLL loader lock 把 Rust 執行緒卡進 JVM——一個 JNI 死結的拆解

QuestDB 在 Windows 跑 JVM 時遇到全域 hang:root cause 是 Rust spawn 的 native thread 在 DllMain 仍持有 loader lock 時呼叫 LoadLibrary,恰好和 JVM 的 class-loader thread 死結。Windows 對 DllMain 的 re-entrancy 契約極嚴,這篇把契約細節攤開,並給出可直接套用的 Rust FFI safety pattern。

read source → Rust-FFI

today's deep reads

Discord 3/25 語音崩盤覆盤——一行誤設如何掀翻 voice control plane

部署改動為什麼會推倒整個 dependency graph?on-call 在哪一步意識到 rollback 不是解?哪些 mitigation 是當下擋住、哪些是事後重作的結構性 fix?

Quint,從零講起——TLA+ 風格的 formal model 怎麼幫 Turso 抓出 SQLite 十個 bug

Quint 與 TLA+ 的差異在哪裡?simulator 和 model checker 各覆蓋什麼?這十個 bug 為什麼能存在於 SQLite 主線而 fuzzer 整片漏掉?

Reel Friends 的多層 retrieval——Meta 怎麼把 social graph + embedding 拼成十億級 candidate set

三層 retrieval 各自切了什麼?ranking model 怎麼跟 online learning loop 對齊 engagement 與 integrity?瓶頸為何是 feature freshness 而不是模型本身?