vatt'ghern jaskier's ballads

2026.06.23 —— 今日 10 則

TODAY'S THREAD 今天有一條暗線:藏在明處的失敗終於被逼出原形——hyper 一個橫跨多個大版本的截斷 bug 被幾毫秒的 backpressure 揭穿、prompt injection 其實是模型靠「文風」而非標籤認角色的 role confusion、Secure Boot 那張 2011 憑證正悄悄走向到期;另一邊則是把東西做小做快的努力,從 0.2B 打 10B 的 inpainting 到 2.4 億網域近乎零延遲的補全。

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

把 prompt injection 重新理解成 role confusion

一篇 ICML 2026 的研究主張:prompt injection 之所以得逞,是因為 LLM 其實是靠「文風」這個不安全的特徵在辨認 system/user/think 等角色,而不是真的看角色標籤。作者用 role probe 量測模型內部的角色感知,發現把假的推理過程塞進使用者輸入、偽造 think 角色,攻擊成功率約六成;一旦把那段假推理的文風特徵抹掉,成功率就從 61% 掉到 10%。對在做 agent 與防護的人,這把 prompt injection 重新定義成了一個 role-confusion 問題。

read source → deep read security

#08

Moebius——0.2B 參數打 10B 級 inpainting

Moebius 是一個只有 2.26 億參數的影像 inpainting 模型,不到 FLUX.1-Fill-Dev(11.9B)的 2%,卻號稱品質打得過 10B 級對手。它的兩個關鍵是用 Local-λ Mix Interaction 區塊把空間與語意壓進固定大小的矩陣、避開注意力的二次成本,以及在 latent space 做自適應多粒度蒸餾。作者在 Places2、CelebA-HQ 等六個基準上宣稱與 FLUX.1-Fill-Dev、SD3.5 Large-Inpainting 平手甚至略勝,單步推論 26.01ms、整體加速超過 15 倍。

read source → diffusion

#06

PivCo-Huffman——把序列解碼改寫成可平行的 merge

Huffman 解碼天生很序列:每個符號得先解完才能解下一個,難以在現代 CPU/GPU 上向量化。fgiesen 的 PivCo-Huffman 把解碼重寫成一連串可平行的 list-merge——關鍵是「該抓哪些元素」可化約成 prefix sum 這個經典平行原語,於是不必把向量寬度寫死進 bitstream 格式。他附上 SSE4.2、AVX2、ARM NEON 的實作,用 2-6 KB 的預算 shuffle 表換取跨硬體一致的吞吐。

read source → compression

#07

Nix 為什麼需要 relocatable binaries

Nix 把 /nix/store/<hash>-pkg/ 這種硬編碼路徑塞滿整個二進位,於是想換安裝位置時,光改字串就會 cascade 作廢整張依賴圖、逼你全部重編,也讓 rootless Nix 與 Bazel/Buck2 這類沙箱很難共存。fzakaria 主張改用相對路徑:RUNPATH 走 $ORIGIN/../../<hash>/lib,讓二進位可重定位而不動到 hash。卡關處在 kernel——PT_INTERP 與 shebang 都不支援 $ORIGIN,所以他認為最乾淨的解是直接 patch kernel,並用 relocatable = true 標記相容的 derivation。

read source → nix

#03

Meta 把 AV1 推進即時視訊,並做到規模化

Meta 把 AV1 codec 推進 Messenger 與 WhatsApp 的即時視訊,現在涵蓋大多數行動裝置。難點在於 RTC 對延遲很硬——端到端要壓在 300ms 以下,而開源 AV1 編碼器太耗電,於是 Meta 做了一個與 H.264 同等功耗的超低複雜度 preset,再用 ML 模型判斷哪些裝置吃得下 AV1、吃不下就回退。代價與收益都很具體:相較 H.264/AVC 至少省 20% bitrate,但在 Pixel 8 上多吃 14% 電、binary 多 1.7 MB。

read source → deep read video

#10

Linux 的 Secure Boot 憑證快到期了

撐起多數 Linux Secure Boot 開機鏈的那張「Microsoft Corporation UEFI CA 2011」憑證即將到期,微軟也將停止用它簽 shim,沒有換上 2023 新憑證的機器,未來新版安裝媒體會開不起來。已裝好的系統大多還能跑,但 shim 的安全更新會卡住。解法是硬體商透過 LVFS/fwupd 推韌體更新把 2023 金鑰加進 UEFI db,否則就得暫時關掉 Secure Boot 才能完成更新。

read source → linux

#04

2.4 億網域名稱的 p99 0ms autocomplete

要在 2.4 億個網域名稱上做到 p99 近乎 0ms 的自動完成,作者的招式是預測式 prefetch 加上兩層資料結構:熱門網域放進記憶體裡的字元 trie、每個 prefix 預先算好前 8 個建議,其餘 2.4 億筆則放在 SSD 上 memory-map 的 block index,二分搜尋 27 MB 目錄後線性掃一個 256 筆的 block。多數請求 2ms 內回應,整個資料集約 2.5 GB。作者也老實說:跨海到美國會多 100-200ms,要真正全球 0ms 還得多開幾台機器。

read source → performance

#09

Deno Desktop——用 Deno 寫桌面應用

Deno Desktop 把 TypeScript 或整個 web 框架包成單一可散布的桌面執行檔,預設用作業系統原生 webview 以縮小體積,也可選擇內建 Chromium 求跨平台一致。它提供 Deno.BrowserWindow 管視窗、Deno.autoUpdate() 做 binary-diff 自動更新,還能自動偵測 Next.js、Astro、SvelteKit 等專案。目前還是實驗性功能,得用 v2.9.0 的 canary 才摸得到。

read source → deno

#01

Cloudflare 在 hyper 裡挖出一個跨大版本的截斷 bug

Cloudflare 重構 Images binding、把中介換成 Unix socket 後,開始有圖片以 HTTP 200 回來卻只傳了一小段——預期 14.9 MB 的東西只到 219 KB,連錯誤都沒有。追下去發現是 hyper 的 dispatch loop 用 let _ 丟掉了 poll_flush() 的 Poll::Pending,在 socket buffer 被填滿時還沒 flush 完就 shutdown,這個 bug 橫跨 0.14、1.7、1.8 等多個大版本躲了好幾年。最後的修法只有四行:在 poll_shutdown() 裡先把 flush 跑完,再送 SHUT_WR。

read source → deep read rust

#05

British Columbia 改時區,Postgres 怎麼接

2026 年 3 月 8 日,British Columbia 永久改採 UTC-7、不再切回冬令時間,crunchydata 藉這個變更講清楚 Postgres 的時區陷阱:timestamptz 存的是 UTC,寫入時用當下的時區規則換算、讀取時再換回——一旦 tzdata 在這之間改版,存好的 2026 年 11 月到隔年 3 月的在地時間就可能差一小時。文中給了一個診斷查詢判斷 tzdata 有沒有更新,並建議未來的時間點同時存 wall-clock 與 IANA 時區名、用 trigger 算出 UTC 欄位。

read source → postgres

today's deep reads

deep · 01 幾毫秒的 backpressure——Cloudflare 怎麼挖出 hyper 躲了多年的截斷 bug deep · 02 prompt injection 其實是 role confusion——模型靠文風、而非標籤認角色 deep · 03 把 AV1 塞進 300ms 的即時視訊——Meta 規模化導入的取捨