這週反覆出現同一個動作:把一個沒人質疑過的「預設」抓回桌上,要它拿出理由——從被治理流程按停的 CPython JIT、被數據翻案的 rsync 怒火,到在 SQLite 慢 14 倍的 UUID 主鍵,這週的文章都在問同一句話:這個我們以為理所當然的東西,憑什麼?
第 23 週 —— 預設值被要求舉證
這週的主軸
六月二日到七日,六天十八篇 deep story 散在五個 domain 上,但有一條線把它們串得很緊:這週的文章特別愛跟「預設」過不去。不是去報導新東西,而是把一個被當成背景、沒人會多看一眼的預設值——一個語言功能、一句社群共識、一個資料庫慣例——拉到燈下,要它重新舉證。這條線在週日(06/07)收得最緊,一天之內三篇都在做同一件事。
CPython 的 JIT 被 Steering Council 按下暫停鍵是最制度化的一例:一個已經併進 main、跑了好幾個 release 的 experimental JIT,被治理層要求補一份 Standards Track PEP、給六個月窗口,否則直接從 main 移除。「它已經在那裡了」不再是它能繼續待著的理由——預設要重新證明自己值得是預設。
「Claude 真的讓 rsync 變多 bug 了嗎」把同一個動作用在社群輿論上。一則 Mastodon 貼文的指控在五月引爆怒火,這篇 investigation 沒有跟著情緒走,而是把「Claude 讓事情變糟」當成一個可否證的假設來打:定義 sev/10c(每十個 commit 的加權嚴重度)、拉 git 歷史、算出實際數字——最後翻案。預設的結論被要求拿出證據,證據卻不在它那邊。
連最硬的工程慣例也沒躲過。UUID 主鍵在 SQLite 慢 14 倍戳破的,是「拿 UUID 當主鍵很正常」這個幾乎沒人會多想的預設:在 SQLite,主鍵就是實體儲存順序,隨機 UUID4 逼出一連串 B-tree 頁面分裂,插入直接慢一個數量級——直到 UUID7 把時間前綴塞回去,順序才被救回來。同一個慣例,換個儲存引擎,預設就崩了。
個別亮點
blqsort是本週純效能密度最高的一篇。把 quicksort 的 partition 從 if 分支改成用 0/1 推進指標、消掉 branch misprediction——代價是多搬大約一倍的資料,但對 trivially-copyable 型別,實測仍比 std::sort 與 pdqsort 快上一截。這是經典的「多花一個便宜資源換回一個貴的」交易,貴的那個是分支預測器。
Gemma 4把多模態收進一個 backbone:影像、音訊不再各掛一顆 encoder,而是淺投影直接進主幹,再用 QAT 把整顆壓進 16GB——目標是讓本地 agent 真的跑得動。encoder-free 這個方向這季開始密集出現,值得單獨追一條線。
Meta 對整個 region 真的拔電,把機房斷電當成一個可以排進行事曆的測試項目。文章最有價值的是兩類復電死結的命名——Ouroboros(服務 A 要 B 先起、B 又要 A 先起)與 Boomerang——這種「你以為會自己復原」的預設,只有真的斷一次才驗得出來。
Elixir 1.20 把 set-theoretic gradual typing 設成語言預設:零註記推論,用 union/intersection/negation 描述型別,再靠 dynamic() 配 narrowing 把 verified bug 攤在編譯期。一個動態語言把「型別檢查」從 opt-in 變成預設,是這週少數往「加上一層預設」反方向走的例子。
RGB 該除以 255 還是 256是本週唯一的 web/color 文章,也是最哲學的一篇:8-bit channel 正規化到 [0,1],除 255 端點精確、除 256 可以化簡成 shift 對 SIMD 友善——六個維度攤開後,答案不是二選一,而是「看這個 channel 在 pipeline 的哪個位置」。連「除以幾」這種小事都沒有理所當然的預設。
本週動向
把這週和上週(05/26–06/01)放在一起量,最意外的發現是:幾乎沒動。五個優先 domain 全部擠在 16.7% 到 21.8% 這個窄帶裡——最大的變化只是 ai 從 23.1% 微退到 21.8%(−1.3 pp),systems 反向從 20.9% 補到 21.8%,其餘三個 domain 的位移都在 1 pp 以內。這是一個「形狀沒變、內容在換」的週:版面比例穩得反常,真正的位移發生在更細的 tag 層。
tag 這層就熱鬧多了。上週出現三次的 vector-search 這週直接掉到零——Notion 連續兩週上榜,但題目從上週的 vector-search 換成了這週的 data-residency,同一家公司、不同的工程焦慮。security 從三次退到一次;另一頭,llm-inference 這個 tag 本週新出現三次(KVarN 的 KV cache 量化、DeepSeek 在 MI300X 的 bring-up、roundup 裡的零散幾則)。domain 的盤子沒換,盤子上的菜換了一輪。
每個 domain 一區,上週(淡)/本週(實)各一條 bar
本週五個 domain 分布變化不超過 1.3 pp,ai 微降最多,整體形狀幾乎沒動。
一週的形狀
六天、六篇 roundup、十八篇 deep story。Archetype 分布:technical-deep-dive 7 篇、narrative 5 篇、explainer 3 篇、investigation 2 篇、comparison 1 篇。technical-deep-dive 依舊最強勢,但這週的 narrative 衝到五篇——CPython JIT、Cloudflare 開機、DeepSeek bring-up、Notion 地區化、Meta 拔電——反映「把一件事的來龍去脈講成一個故事」這種敘事姿態在這週特別密集。domain 上 ai 與 systems 各五篇、backend 四篇、infra 三篇、web 一篇。
18 篇 deep story × 6 天(06/02–06/07),每天三篇
六天、十八篇 deep story
本週六天十八篇 deep story,technical-deep-dive 七篇最多,narrative 五篇,ai 與 systems 各五篇並列。
下一週可能展開的線索
CPython JIT 那份六個月窗口開始倒數——Standards Track PEP 要嘛在這段時間內補上,要嘛 JIT 從 main 退場。下週值得看的不是 PEP 本身(六個月不會這麼快),而是 Faster CPython 團隊與 Steering Council 的第一輪公開往返;這種治理拉扯通常在裁決後一兩週內就會浮上 discuss.python.org。
另一條:encoder-free 多模態這週只有 Gemma 4 一篇扛,但這個方向(把 modality encoder 拆掉、淺投影直接進 backbone)正在從研究往產品線滲。其他幾家的 open-weight 模型若跟進,六月中下旬應該會出現第二、第三篇可以對照著拆的案例——到時候就有得比了。
這週的落點——「預設」是工程裡最舒服的東西:它讓你不必每次都重新想一遍。但這週的文章一篇接一篇地提醒:預設只是「上次有人想過、這次沒人再想」的省略,它不是真理。當儲存引擎換了、治理流程介入了、有人真的去拔了電,那些被省略的問題就會一次討回來。六天、十八篇——這週做的事,就是把省略號重新展開成問句。