學海無涯
記錄思考、閱讀筆記與生活觀察的私人空間。於此沉澱,於此探索。
Lights Out 可解盤面判定與關卡生成:GF(2) 線性代數
標準 5×5 Lights Out 只有四分之一盤面可解,GF(2) 高斯消去算出 rank 23 就知道。從全暗盤面開始,每顆按鍵獨立以 1/2 機率選取,就能均勻產生可解盤面,再用最少按鍵數篩選關卡。
從 ModelCompare 到 PHP2Shell:發現、證明與修補的單位不同
12 個模型對人類的批評高度一致,PHP、Linux kernel、Node.js 同期出修補。說法一致、發現問題、證明問題、完成修補各算各的帳,把它們排成同一條證據鏈,每一件都會顯得比實際上更強。
估 AI prototype 的時程要拆兩段:從零到可展示,從可展示到上線
AI 讓 prototype 從零到可展示便宜了很多,驗證、併發、金流處理與可觀測性的成本卻沒降那麼多。估時程和報價時,我會把可展示與可上線拆開算,後半段照過去上線的經驗估,不打 AI 折扣。
讓 .proto 當唯一契約來源:Go 單一 port 同時服務 gRPC 與 HTTP/JSON 的做法與代價
讓 .proto 成為唯一契約來源,型別與各個入口都從它產生。本文用 Go 範例示範 gRPC 與 HTTP/JSON 共用 h2c port 和共用 timeout 的代價,並以 gortexa 說明 MCP 的接法。
ClickHouse 寫入怎麼批次:queue 加 Go worker、async insert 與重試去重
ClickHouse 寫入用 queue 加 Go worker 累積 batch,大小與時機最好掌控;無法自行累積時可用 async insert,重試則靠去重。Replicated 表更新別用 now(),附 26.9 實測。
讓幾個 AI 工具共用記憶:資料以 SQLite 為準,Qdrant 只負責檢索
幾個 AI 工具共用記憶,我用 SQLite 保存正式資料,Qdrant 經 MCP 負責檢索。本文記錄寫入權限、增量同步與舊記憶的淘汰問題,附 cursor 重送與 named vector 實測。
RFC 10017 之後,BFF 的第一個理由是 token 不進瀏覽器
RFC 10017 把 BFF 列為瀏覽器應用最安全的 OAuth 架構,token 由伺服器保管。設計時先決定 token 放哪,再談聚合,文中以 Go 標準庫示範最小實作。