周刊-004期

记录一下这周看到的有趣的文章 作品

firefox的漏洞,让网站可以在隐私模式下也追踪你

FingerprintJS 团队在 Firefox 中发现了一个隐私漏洞:indexedDB.databases() API 返回的数据库名顺序不是按照创建顺序,而是内部哈希表(nsTHashMap)的迭代顺序决定的。这个顺序在浏览器进程生命周期内是稳定且确定的,且跨所有 origin 共享。

这意味着:

  • 任意网站都可以通过创建一组固定名称的数据库,然后调用 indexedDB.databases() 获取排序结果,将这个排序作为当前浏览器进程的唯一指纹(16 个数据库名就能产生约 44 位的熵)
  • 不同域名下的网站可以协同追踪用户——不需要 cookie、localStorage 或任何共享存储
  • 在 Firefox 隐私模式下,关闭所有隐私窗口后,只要 Firefox 进程未退出,这个标识依然存在
  • 在 Tor Browser 中,”New Identity” 功能也无法清除这个标识

Mozilla 已在 Firefox 150 / ESR 140.10.0 中修复(CVE-2026-6770),修复方式很简单:对 indexedDB.databases() 的返回结果做一次字典排序即可消除这个信息泄露通道。

对服务端开发的启示:这个漏洞的本质不是暴露了”数据”,而是暴露了”内部实现细节的确定性特征”。API 返回顺序这种看似无关紧要的细节,一旦它是全局状态(进程级别而非请求级别)且可被独立观测,就变成了一个旁路标识符。

对服务端开发中类似的坑:

  • 数据库查询结果不加 ORDER BY 时,返回顺序依赖存储引擎的内部实现,可能在多副本、版本升级时变得不一致,甚至泄露分片/分区信息
  • 自增 ID 作为对外暴露的标识符,会泄露数据规模和业务节奏

时序数据库的原理

作者是 opendata 时序数据库的开发者,系统讲了一遍时序数据库的核心数据结构。

三层数据模型:Sample(带时间戳的测量值)→ Series(带标签的向量)→ Query(对多系列做选择与聚合)

倒排索引:每个标签维护一个 posting list(包含该标签的所有 series ID)。查询时做 posting list 交集即可快速定位目标 series。作者特别介绍了 Roaring Bitmap——将 posting list 按高 16 位分块,稀疏块用数组存储、密集块用位图存储,兼顾空间效率与 SIMD 加速的集合运算。

前向索引:series ID → 标签定义的映射。关键的存储布局决策是 cluster key 选什么——按 series_id 排序会让跨散列磁盘读取放大;按 (metric_name, series_id) 复合键排序则能将同指标的数据聚在一起,大幅降低读取放大。

样本压缩:时间戳用”差分的差分”编码,恒间隔采样的差值趋近于 0,能做到平均 1 bit/采样点。测量值(float64)用 XOR 编码——相邻浮点数 XOR 后产生大量前导零,只存储前导零数量 + 有效位长度 + 有效位本身,能将 64 位压缩到平均 11 位。

Series Churn:Kubernetes 中每个 pod 部署都会生成新的 container_id 标签,导致 series 不断产生和消亡。解决方式是时间分桶(bucketing)——每个时间段维护独立的索引和 series ID 空间,旧数据定期合并以平衡读写和空间放大。

对服务端开发的启示

  • 浮点数编码的思维方式值得借鉴:不把数据看成独立的值,而是看成前一个值的增量。服务端日志系统、指标上报链路中,差值编码(delta encoding)是降低带宽和存储成本的高杠杆优化点
  • Roaring Bitmap 不只在时序数据库中有效——任何需要快速做大量 ID 集合交并差的场景(权限校验、用户分群、特征过滤)都可以用它替代内存中的 Set<int64>
  • 存储 layout 选择(cluster key)对读放大的影响可以差几个数量级,设计接入层缓存或 OLAP 数据表时,把”查询模式”前置到存储布局设计阶段比事后加缓存更根本

之前都是使用,没有想过底层是如何实现的

文章

黄仁勋和dwarkesh对谈播客的记录 60min

作者总结了黄仁勋最近的播客内容。看起来在美国人眼中,黄仁勋都是个典型的没有国界的资本家

7种原型语言

当今世界语言繁多,作者总结了7种语言的认知模式,以及其背后的原型语言,现在的语言都可以归为其中一种的发展

  • ALGOL 顺序执行 + 控制流
    大多数的常用编程语言来源,C++ Python Java C# Ruby Pascal JavaScrip
  • ML 函数 + 类型系统 + 递归
    OCaml Haskell
  • Lisp 代码即数据 + 宏改写语言
    Lisp Scheme Clojure
  • Prolog 逻辑推导
    Mercury
  • Forth 栈变换
    PostScript
  • APL 数组整体运算
    MATLAB NumPy R
  • Self 消息传递
    Erlang Smalltalk

深色模式的六个等级

作者介绍了多种实现深色模式的途径

克劳德4.6~4.7之间的系统提示词差异

作者整理了 claude 两个版本间的系统提示词差异

AI Agent 的成本提升

AI 可能更强的同时更贵

文章中通过分析 METR 的图标,指出

  • AI 能完成的任务长度在指数提升
  • 但是完成这些任务的成本也很可能在指数提升
  • 甚至用于衡量的单位:“人类等价小时” 的成本也在上升

核心指标 “人类等价小时” 成本指的是:完成任务的总成本/该任务对应的人类平均时间长度

比如 模型能完成人类两小时完成的任务(50%成功率),成本=40块,对应的小时成本为:20块/小时

数字向下:从第一原理看创新、资本和通货紧缩(30min)

作者指出:创新与资本驱动的“好通缩”是经济进步的自然结果,而非灾难。作者以此批判央行对通缩的恐惧与通胀迷思,主张诚实货币下价格应持续下降。

量子计算机不会威胁 128 位对称密钥

作者是前GoTeam 的安全负责人。他引用了相关安全方面的论文和计算,得到了128位的对称密钥,不会像当前所用的非对称加密密钥一样,在量子计算机时代被轻易攻破的结论

神话模型正在摧毁Anthropic的公信力

作者读了神话模型相关的公开信息,发现媒体对安全能力大肆宣扬的“数千次”这种定量的描述,在原始的模型卡中并未提供,反而是在宣布神话模型和启动 glasswing 的网站上有对应的描述。而 galsswing 中的合作企业也没有在安全方面有任何定量的表态:比如发现了多少次不同等级的漏洞。除此之外作者还发现 anthropic 的文章中也有自相矛盾的部分:模型找到的攻击方式中,使用rce漏洞是已经修复了的,去除这两个已经修复了的漏洞后成功的有效攻击率从 72.4% 降到了 4.4%

怎么听歌识曲?

简单来说就是将音频进行傅里叶变换,将频谱中高亮的点找出来,然后再到服务器里去进行匹配。除此之外还有不同的优化,比如记录多个频率之间的间隔,以此再进行查询,降低噪声的干扰

国际能源机构:2025 年是太阳能占据主导地位的第一年

IEA 发布 2025 年全球能源趋势报告,确认 2025 年是太阳能主导的第一年:太阳能发电增量是”有史以来任何能源中最大的”,目前占全球发电量 8% 以上,覆盖了电力需求增长的三分之二。电池储能也快速增长(新增 110GW)。可再生能源增速已超过总需求增长,使得碳排放增速放缓至仅 0.4%。IEA 因此宣布”世界已进入电力时代”。霍尔木兹海峡的关闭可能会进一步加速各国脱离化石燃料。

Async的承诺和成果

文章回顾了异步编程的三波演进:

  1. 回调解决了 C10K 的线程资源问题,但引入了回调地狱和控制流反转;
  2. Promise 改善了可组合性和错误处理,但引入了一次性限制和静默错误吞噬;
  3. async/await 让线性异步代码看起来像同步代码,是最强的人文工程学胜利,但引入了函数着色问题——导致生态系统碎片化、新的”futurelock”死锁类型,以及”顺序陷阱”(await 让代码看起来是顺序的,掩盖了本可并行的依赖关系,程序员需要手动分析并显式并行化)。

一些语言(Go 的 goroutine、Java 的 Loom、Zig 的 Io 接口)选择了绕过这些问题的不同路径。

为什么大公司中充斥着屎山代码?

大公司屎山代码的根本原因不是工程师能力不足,而是大部分代码变更由”初学者”完成——员工平均任期短、频繁换组,每次都要重新熟悉代码库。”老手”虽能通过代码审查缓解问题,但这一过程完全非正式且老手总是过载。大公司有意将工程师视为可互换资源,优先考虑灵活调配能力而非长期深耕单一系统的生产力。个人工程师无力改变这种动态,被迫在陌生代码库中赶工,屎山代码是这种组织权衡下的必然结果。

资讯

  • OpenAI 中负责 Sora 和助力科学研究(医学、数学……)的工程师已离职

摘录

公司签订为期 3 年的企业协议。第 1 年打折(比如 100 万美元),第 2 年加价(200 万美元),第 3 年全价(300 万美元)。
他们将 300 万美元报告为 “ARR”,尽管他们现在只收取了 100 万美元:客户可以在 12 个月后选择退出!
AI创业公司的arr骗局

你的利润,就是我的机会
jeff-bezos 亚马逊创始人

工具、资源

  • AI语法警察
    能够展示你的文章中那些标志性的 AI 语法

  • Docker Sandbox
    docker 推出了沙盒系统,对于 agent 而言,比 vm 更轻更快,同时能支持 agent 跑自己的 docker

  • 直接和模型交互的网页
    一个样例:直接让模型随着你的交互,动态生成网页


周刊-004期
https://www.yikakia.com/weekly-004/
作者
Yika
发布于
2026年4月26日
许可协议