博客
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 855 篇
#2026-03 168#ai 112#llm 90#ai-papers 62#career 60#kubernetes 57#mindset 51#ai-platform 48#devops 45#security 43#deep-learning 35#performance 33#psychology 32#mlops 30#observability 29#2026-04 26#linux 24#database 23#robotics 22#rust 22#ai-agent 21#mcp 20#productivity 20#culture 19#evaluation 19#gpu 18#transformer 18#electronics 17#paper-review 17#pytorch 17#developer-tools 16#distributed-systems 16#engineering 16#learning 16#open-source 16#postgresql 16#rag 16#fundamentals 15#network 15#2026-08 14
RISC-V RVA23 规范 — 发行版已经抬高了基线,硬件却还没跟上 ♪ 可收听
RVA23 是 2024 年 10 月 21 日批准的 RISC-V 应用处理器规范,第一次把 RVA22 中原本可选的向量扩展(V)和虚拟化扩展(H)定为强制项。这件事之所以重要,是因为 RISC-V 的老毛病——碎片化:如果二进制发行版没有可依赖的公共分母,谁也没法把向量代码当默认项打包进去。Ubuntu 从 25.10 起把最低基线抬高到 RVA23S64,并在此基础上构建了 26.04 LTS,但截至 2026 年 7 月 16
2026-07-16 · 24 分钟阅读 #risc-v#rva23#ubuntu#toolchain#cpu-architectureRust 1.97 砍掉了 Volta 之前的 GPU — nvptx64 基线上调的内幕 ♪ 可收听
Rust 1.97(2026 年 7 月 9 日)把 nvptx64-nvidia-cuda 目标的最低要求提升到了 PTX ISA 7.0(需要 CUDA 11 及以上驱动)和 SM 7.0(Volta 及以上)。Maxwell、Pascal 两代 GPU 以及 CUDA 10 及更早的驱动,如今都不再是支持目标。本文梳理了实际改变的数字、编译器团队引用的三个具体缺陷(调试符号、原子操作顺序、target-feature 机制)、谁会
2026-07-16 · 18 分钟阅读 #rust#cuda#gpu#compiler#nvidiaTypeScript 7 正式 GA — 8~12 倍是真的,但有些人今天还搬不了 ♪ 可收听
2026 年 7 月 8 日,TypeScript 7.0 正式 GA。用 Go 重写的原生移植版不再是一个独立的二进制文件,而就是 tsc 本身 — 执行 npm install -D typescript 装进来的就是它。Microsoft 报告的整体构建速度提升是 8~12 倍,以 VS Code 代码库为例,从 125.7 秒降到了 10.6 秒。但标题背后藏着两笔成本。第一,TypeScript 6 里预告要废弃的东西全部变成
2026-07-16 · 27 分钟阅读 #typescript#compiler#tooling#build-systems#compile-times为什么 QUIC 在快速互联网上反而更慢 — 接收端 CPU 与尚未到来的内核 QUIC ♪ 可收听
QUIC 在握手延迟和丢包恢复上确实赢了。Google 在互联网规模上测得的搜索延迟下降 8.0%(桌面端)、视频卡顿率下降 18.0%,就是证据。可一旦链路变快,情况就会反转 — WWW 2024 的一项测量研究报告称,带宽达到 1 Gbps 时,Chrome 中的 QUIC 会比 HTTP/2 慢 45.2%,而真凶既不是常被指责的加密,也不是服务器,而是接收端客户端的数据包处理成本。本文分别用一手测量资料确认 QUIC 赢在哪里、
2026-07-16 · 30 分钟阅读 #network#protocol#performance#linux-kernelSQLite 的 WAL-reset 缺陷 — 一场潜伏了 15 年的数据损坏竞态 ♪ 可收听
2026 年 3 月 3 日,SQLite 开发者 Dan 发现并修复了一个数据竞态 — 它会在 WAL 模式下罕见地损坏数据库。这个缺陷存在于自 WAL 引入的 3.7.0(2010-07-21)到 3.51.2(2026-01-09)的所有版本中,并在 3.51.3(2026-03-13)中被修复。根源在于:wal-index 头部的一个字段 nBackfill,被两把不同的锁分别管着 — 递增发生在持有 WALCKPTLOCK 时
2026-07-16 · 29 分钟阅读 #sqlite#wal#database-internals#concurrency#data-raceRust 标准库验证行动找到的内存安全漏洞是 0 个 ♪ 可收听
由 AWS 和 Rust 基金会主导的 verify-rust-std 行动的成果论文,发表在 2026 年 NASA Formal Methods Symposium 上。作者们称之为"针对某个软件库所报告过的最大规模验证行动",这项工作生成了 16,748 个自动生成的证明工具(harness),其中 11,970 个通过,但在标准库中没有找到任何一个此前未知的内存安全漏洞。论文没有隐藏这个空结果,而是把它直接写进第 4.4 节的标
2026-07-16 · 42 分钟阅读 #formal-methods#rust#verification#memory-safety#testingReact Compiler 移植到了 Rust — 已合并的、尚未合并的,以及那个"10 倍"的数字 ♪ 可收听
2026年6月9日,将 React Compiler 移植到 Rust 的 PR 36173 合并进了 facebook/react 的 main 分支。461 个文件、超过 12 万行代码被加入,"作为 Babel 插件快 3 倍,转换逻辑本身快约 10 倍"这个数字很快就开始在生态圈里流传。但在 PR 正文里,作者 Joseph Savona 本人明确写道——"性能数字是 AI 得出的,我没怎么花时间去验证基准测试的设置"。本文只依
2026-07-16 · 28 分钟阅读 #react#rust#compiler#performance#frontendPySpark 4.2,Python UDF 默认搭上 Arrow — 类型强制转换225格里132格发生变化的故事 ♪ 可收听
2026年7月14日发布的 Apache Spark 4.2.0 通过 SPARK-54555 把 spark.sql.execution.pythonUDF.arrow.enabled 的默认值从 false 反转成了 true。厂商博客把这称为"无需重写代码就能获得更快的列式路径",但整个发布里都没有公开 Arrow 与 pickle 之间的速度对比数字。而真正的故事不是速度,而是类型强制转换。实际 diff 两份检入 Spark
2026-07-16 · 23 分钟阅读 #spark#python#arrow#data-engineering后量子证书为何还没到来 — ML-DSA 签名大小、10kB 之墙,与 Merkle Tree Certificates ♪ 可收听
在后量子迁移中,密钥交换(加密)已经推进了相当一部分,但证书与签名这一侧仍处在起跑线上。原因不在密码学,而在大小 — FIPS 204 规定的 ML-DSA-44 签名为 2,420 字节,远大于 ECDSA P-256 的 64 字节,而由于当今 Web 握手要携带 5 个签名和 2 个公钥,直接替换会让认证数据本身就超过一万字节。Cloudflare 在 2021 年的实测发现,证书链一旦多加超过 10kB,客户端与中间盒(midd
2026-07-16 · 32 分钟阅读 #security#post-quantum-cryptography#tls#webpki#certificates原生直方图已经 stable 了,为什么还不能打开 ♪ 可收听
2022年11月在 v2.40 中以实验特性登场的 Prometheus 原生直方图(native histograms),于2025年12月的 3.8.0 版本中转为 stable,而2026年7月1日发布的 3.13 是第一个以 stable 状态收录该特性的 LTS 版本。现有的 3.5 LTS 将于2026年7月31日停止支持,因此对走 LTS 路线的组织来说,现在正是真正需要做决定的时候。不过「stable」这个词所保证的范围
2026-07-16 · 26 分钟阅读 #prometheus#observability#native-histograms#metrics#monitoringRedis 8.8 的 Array 类型 — 自 Stream 之后首次新增的核心数据结构,以及 Valkey 没有的东西 ♪ 可收听
2026 年 5 月,Redis 8.8 与 Valkey 9.1 相隔六天先后发布。Redis 8.8 加入了 antirez 亲自打造的全新核心数据结构 Array — 一种面向「索引本身就带有意义」的数据(传感器的分钟级槽位、预订系统的座位号、文件的行号)的稀疏索引容器,配备 18 个命令、基于切片的稀疏编码、服务端聚合,乃至正则 grep。从 server.h 里的对象类型编号来看,这是自 Stream(5.0)之后首次新增的核
2026-07-16 · 23 分钟阅读 #redis#valkey#data-structures#performance#open-sourcePasskey 可移植性只到货了一半 — CXF 已成为标准,CXP 还停在 2024 年的工作草案 ♪ 可收听
FIDO 的凭据交换规范分成两份。定义「交换什么」的 CXF 已于 2025 年 8 月 14 日成为 Proposed Standard,2026 年 3 月 9 日还出了勘误(errata);但定义「怎么交换」的 CXP,至今仍停在 2024 年 10 月 3 日的工作草案上。那份草案自己写明「不打算作为任何实现的依据」「不具有任何官方地位」。然而 CXF 实际搬运的,是以 PKCS8 DER 编码的明文私钥,机密性则完全托付给了
2026-07-16 · 24 分钟阅读 #security#passkeys#webauthn#fido#standardsPython 3.15 的 abi3t — free-threaded 构建的 stable ABI 解决了什么问题,代价又是什么 ♪ 可收听
借助 PEP 779,free-threaded 构建在 3.14 摘掉了实验性标签,但在它成为默认构建的 Phase III 之前,除了解释器性能之外还横亘着一件事 — 分发。free-threaded 构建无法使用 stable ABI(abi3),导致 C 扩展作者不得不为每一种「Python 版本 × 线程模式」组合各自打出一份 wheel。PEP 803 用一个叫 abi3t 的 stable ABI 变体来填补这个缺口,目标
2026-07-16 · 19 分钟阅读 #python#free-threaded#cpython#concurrency#pep-703OpenTofu 1.12 的动态 prevent_destroy — lifecycle 静态约束松动之处及其代价 ♪ 可收听
Terraform 的 lifecycle 块按设计只接受字面量值。因为它是在构建依赖关系图的阶段处理的,此时还没到能求值变量的时机 — 这是 HashiCorp 官方文档给出的解释,而"让我们用变量"这个请求早在 2016 年就有了。OpenTofu 1.12(2026 年 5 月 14 日)把 preventdestroy 的求值从配置加载器移到了语言运行时,从而松开了这个约束;同一版本里还新增了 destroy = false 这
2026-07-16 · 18 分钟阅读 #opentofu#terraform#iac#devops#state-managementProtobuf Edition 2026 — 收紧的三个默认值,以及 protoc 首次强制的模式大小上限 ♪ 可收听
2026年7月13日,protobuf.dev 上发布了 Edition 2026 的公告,但早在四天前的7月9日,v36.0-rc1 就已经发布了。Edition 2026 没有新增任何语法,而是收紧了三个默认值 — 禁止命名冲突(STYLE2026)、STRICT 符号可见性,以及 protoc 历史上首次强制模式大小上限的 enforceprotolimits(每个消息 1500 个字段、每个消息 1000 个 oneof、每个
2026-07-16 · 26 分钟阅读 #grpc#protobuf#api-design#serializationParquet 2.13.0 的 nan_count 与 IEEE 754 total order — float 统计用 3 年 3 个月才修好的故事 ♪ 可收听
Parquet 的 min/max 统计,是让查询引擎跳过数据的机制。但在浮点数列上,这套机制已经悄悄坏了 10 多年 — NaN 在任何比较中都返回 false,因此会被排除在统计之外,结果就是包含 NaN 的页面,可能在查找大于 max 的值的查询中被整页跳过。这不是性能问题,而是结果错误的问题。2026 年 6 月 13 日发布的 parquet-format 2.13.0,通过引入 nancount 字段和一个叫 IEEE754
2026-07-16 · 25 分钟阅读 #data-engineering#parquet#columnar-storage#apache-arrow改变 LoRA 的 rank 就要跟着改学习率吗 — μA(2026) 划出的两种机制,以及这个测量结果的边界 ♪ 可收听
LoRA 中改变 rank 就必须重新寻找最优学习率的说法,和「用 1/r 缩放,学习率就与 rank 无关」的说法,在实务中同时流传。2026 年 2 月挂上 arXiv 的 μA(Maximal-Update Adaptation) 论文说,这两种说法都对 — 只是取决于你用的是哪种 α 约定、哪种初始化。本文梳理 μA 推导出的两种机制(η 与 rank 的 -1/2 次方成正比的情形,vs 与 rank 无关的情形),以及论文主
2026-07-16 · 28 分钟阅读 #llm#lora#fine-tuning#peft#trainingMySQL 9.7 之后的版本是 26.7 — 2026 年春天,MySQL 与 MariaDB 整理发布模型的方式 ♪ 可收听
2026 年 4 月 21 日,MySQL 9.7.0 以 GA 形式发布,这是自 8.4 之后近两年来第一次开启新的 LTS 分支;同一个月,MySQL 8.0 的 Extended Support 到期,降级为 Sustaining Support。随后在 6 月 16 日,Oracle 宣布把版本号切换为 YY.M 日历式版本号,于是 9.7 之后的创新版本不是 9.8,而是 26.7。MariaDB 在五周之后、5 月 29 日
2026-07-16 · 29 分钟阅读 #mysql#mariadb#database#versioning#devopsPostgres 19 的 pg_plan_advice — 一个长期拒绝提示的项目给出的妥协方案 ♪ 可收听
PostgreSQL 项目长期以来一直拒绝优化器提示(hint)。但在 2026 年 6 月 4 日发布的 PostgreSQL 19 Beta 1 中,Robert Haas 编写的 pgplanadvice 和 pgstashadvice 作为 contrib 模块被合并了进去。这不是 Oracle 式的提示 — 建议(advice)活在 SQL 之外,它不是替代规划器,而只是收窄搜索空间,用文档自己的话说,出来的"只会是核心规划器
2026-07-16 · 22 分钟阅读 #postgresql#query-planner#query-optimization#database#performanceAWS Lambda MicroVMs — 用 VM 隔离运行智能体写的代码,以及快照带来的新问题 ♪ 可收听
AWS 于 2026 年 6 月 22 日发布了 Lambda MicroVMs。这是把 Firecracker 微虚拟机当作服务来卖的产品,瞄准的市场很明确 — 按租户隔离运行用户或 AI 生成的代码。它把容器共享内核的问题挪到了 VM 边界上,并且用从预先制作好的 Firecracker 快照恢复、而不是启动,来消除启动延迟。可正是这个快照制造了另一种问题 — 从同一镜像启动的每一个 MicroVM,都从字节级完全相同的内存状态出发
2026-07-16 · 25 分钟阅读 #security#firecracker#microvm#aws-lambda#sandboxing