2025-10-03

41 篇热帖

1. Signal Protocol and Post-Quantum Ratchets (signal.org)

Signal 协议与后量子棘轮

Signal 协议是为数十亿用户提供端到端加密的通信标准。为应对未来量子计算机可能带来的威胁(特别是“先收集,后解密”攻击),Signal 引入了稀疏后量子棘轮,将其与现有的双重棘轮结合,形成三重棘轮协议。此升级旨在不损害现有前向保密后向安全保障的前提下,实现抗量子安全性,且对用户无感知。

问题背景与现有安全机制

  • 量子威胁:现有协议依赖椭圆曲线密码学,该密码学不具备抗量子性。未来的量子计算机可能破解这些密钥,破坏通信安全。
  • 现有保护:Signal 双重棘轮通过哈希函数(抗量子)提供前向保密,通过椭圆曲线迪菲-赫尔曼密钥交换提供后向安全。棘轮机制确保密钥只能单向更新,即使当前密钥泄露,也能保护过去(前向保密)和未来(后向安全)的消息。
  • 先前改进:PQXDH 协议在会话建立阶段加入了抗量子秘密,以保护会话初始材料,但无法保护会话持续过程中的密钥更新。

解决方案:三重棘轮与 SPQR

  • 核心思路:在运行现有双重棘轮的同时,引入一个额外的后量子棘轮。两个棘轮独立运行并生成密钥,最终通过密钥派生函数混合,形成最终的消息加密密钥。攻击者必须同时破解椭圆曲线和后量子密码才能获得有效密钥。
  • 后量子棘轮工具:采用密钥封装机制,特别是标准化的ML-KEM算法。与迪菲-赫尔密钥交换不同,KEM 需要有序、不对称的消息交换(发送封装密钥,接收密文)。
  • 设计挑战:直接集成 KEM 会带来问题:密文尺寸大(>1000字节 vs. ECDH的32字节)会增加带宽成本;在处理离线、丢包、乱序及恶意中间人干扰时需保持鲁棒性。

SPQR 的关键技术设计

为高效、安全地集成 KEM,SPQR 采用了以下设计:

  1. 状态机管理:通信双方维护状态机(如 StartingA, SendEK, SendingCT),协调密钥交换数据的发送与接收,确保协议有序进行。
  2. 带宽优化与抗干扰
    • 问题:直接发送完整大尺寸的封装密钥和密文不现实。
    • 擦除码分块:将大块数据(如封装密钥)拆分为多个小块,并使用擦除码技术。接收方只需收到任意足够数量的分块即可重构原始数据。这解决了丢包和乱序问题,并迫使恶意中间人必须丢弃几乎所有分块(导致明显的服务中断)才能成功干扰,大幅提高了攻击成本。
  3. 高效密钥交换(ML-KEM Braid):通过深入分析 ML-KEM 算法流程,将其分解为多个可并行传输的阶段。例如,将封装密钥的部分(如种子和哈希值)先发送,允许接收方提前开始生成密文的大部分,从而充分利用消息的发送能力,在更短时间内完成秘密共享,同时避免过早生成过多未使用的密钥材料而损害安全性。

部署策略与兼容性

  • 透明升级:对用户而言,使用体验无变化。升级将在后台自动完成。
  • 渐进式部署:采用异构推出策略。新客户端首次与旧客户端通信时,SPQR 数据附带在消息中但不用于加密。若对方不支持,则仅在此会话的初始阶段回退到不使用 SPQR。此降级机制受消息认证码保护,可防止恶意降级,且仅在会话开始时发生一次,之后即锁定。
  • 未来计划:待所有客户端均支持新协议后,将强制要求所有会话使用 SPQR,淘汰旧会话,实现全覆盖。

正确性与安全性保障

  • 形式化验证:协议设计早期就与学术界合作,并使用 ProVerif 进行建模和证明,确保其具备所需的安全属性。
  • 实现验证:使用 hax 工具将 Rust 实现自动翻译为 F* 语言,并在持续集成中证明:核心功能正确性、函数前后条件满足、整个代码库无恐慌。这确保了实现的健壮性和与形式化模型的一致性。
  • 持续保障:形式化验证集成到开发流程中,每次代码提交都会运行验证,确保质量不随迭代而下降。

总结

Signal 通过引入 SPQR 构建三重棘轮协议,在保持现有顶级安全标准的同时,前瞻性地为通信提供了量子安全保护。该方案设计精巧,注重效率(控制带宽开销)和鲁棒性(抗恶意干扰与丢包),并通过严谨的形式化方法保证了从协议设计到代码实现的可靠性。此次升级对用户透明,但为应对未来的量子计算威胁奠定了坚实基础。

2. Niri – A scrollable-tiling Wayland compositor (github.com)

Niri 是一个专为可滚动平铺设计的 Wayland 合成器。

核心布局特性:

  • 窗口在水平方向上排列于一条无限向右延伸的带状区域上。打开新窗口不会导致现有窗口调整大小。
  • 每个显示器拥有独立的窗口带,窗口不会“溢出”到相邻显示器。
  • 工作空间是动态的,在垂直方向上排列。每个显示器都有一套独立的工作空间,并且始终存在一个位于最底部的空工作空间。
  • 工作空间布局在显示器连接或断开时会尽可能保持。当一个显示器断开时,其工作空间会迁移至其他显示器,待其重新连接后,工作空间将自动移回。

主要功能特性:

  • 为可滚动平铺从头构建。
  • 具有类似 GNOME 的动态工作空间。
  • 提供“概览”功能,可缩放查看所有工作空间和窗口。
  • 内置截图界面。
  • 支持通过 xdg-desktop-portal-gnome 进行显示器和窗口屏幕投射,允许在投射中屏蔽敏感窗口,并支持动态更改投射目标。
  • 支持触摸板和鼠标手势。
  • 可将窗口分组为标签页。
  • 布局可配置:包括间距、边框、支撑区域和窗口大小。
  • 支持渐变边框(兼容 Oklab 和 Oklch)。
  • 支持窗口和图层外壳表面的背景模糊。
  • 支持动画效果及自定义着色器。
  • 支持配置文件实时重载。
  • 兼容屏幕阅读器等辅助功能。

项目状态与兼容性:

  • Niri 已稳定,适合日常使用,许多用户已在日常使用。
  • 多显示器:核心设计功能,支持混合 DPI。
  • 分数缩放:支持,且 Niri 的所有界面元素保持像素完美。
  • NVIDIA 显卡:似乎可以正常工作。
  • 浮动窗口:从 Niri 25.01 版本开始支持。
  • 输入设备:支持数位板、触摸板和触摸屏(暂无触摸屏手势)。
  • Wlr 协议:支持大部分重要协议(如 layer-shell、gamma-control、screencopy)。
  • 性能:注重性能优化,可在老旧硬件上运行。
  • Xwayland:从 Niri 25.08 版本开始通过 xwayland-satellite 集成支持。
  • 项目灵感来源于 GNOME Shell 扩展 PaperWM,旨在实现更彻底的显示器分离。
3. Litestream v0.5.0 (fly.io)

Litestream v0.5.0 版本摘要

Litestream 是一个为 SQLite 提供实时备份与恢复能力的开源工具,作为后台进程运行,能拦截 WAL 检查点并将其流式传输至对象存储。此次 v0.5.0 是一次重大更新,重点引入了基于 LTX 文件格式 的新架构,提升了性能并支持高效的时间点恢复(PITR)

核心更新:LTX 文件格式与时间点恢复

  • LTX 格式 来源于 LiteFS 项目,它基于事务而非原始数据库页进行备份。LTX 文件表示有序的页范围,并支持压缩:通过去除重复页,可将多个 LTX 文件合并为一个。
  • 层级压缩策略:Litestream 自动执行压缩,形成三层结构(30秒、5分钟、1小时窗口),平均只需少量文件即可恢复至任意时间点。
  • 这一格式解决了旧版基于页的备份在恢复时需逐页处理、效率低下的问题,显著加快了恢复速度。

架构简化与改进

  • 移除“代”(Generations)概念:旧版本中,当 Litestream 失步时会创建新的备份“代”。v0.5.0 改用单调递增的事务 ID(TXID),使得时间点查找更简单、无需跨代搜索。
  • 单副本限制:每个数据库仅允许配置一个副本目标,以简化架构并避免多副本可能产生的冲突与同步问题。
  • 配置兼容性:配置文件向后兼容,但命令和输出中引用的标识已从 generation/index/offset 改为 TXID,litestream wal 命令更名为 litestream ltx

技术优化与扩展

  • 底层库升级:LTX 文件现在按页压缩并保留索引,支持后续的页级操作(未来可用于查询任意时间点数据)。
  • 构建依赖改进:移除了 CGO 依赖,采用纯 Go 实现的 modernc.org/sqlite 库,简化了跨平台编译。
  • 新增副本类型:支持 NATS JetStream 作为副本目标,为已有 JetStream 环境的用户提供了方便。
  • 客户端升级:更新了 S3、Google Storage、Azure Blob Storage 客户端至最新版本,并适配了更新的 S3 API。

未来展望

  • 正在开发 Litestream VFS 用于读副本,该功能将允许即时启动数据库副本并直接从 S3 读取页面,后台逐步完成数据水合,进一步提升读取性能。

此次更新使 Litestream 在备份效率、恢复速度及架构简洁性上均有显著提升,继续降低了在 SQLite 上构建可靠全栈应用的门槛。

4. Why did Crunchyroll's subtitles just get worse? (animebythenumbers.substack.com)

Crunchyroll在近期裁员后,其服务出现了新集延迟上线、音轨错误、排版失误等问题。更关键的是,平台在新季度动漫中对其字幕风格做出了明确的负面改变,影响了观看体验。

行业动态与观众趋势:

  • 八月番剧排名显示,《One Piece》因动画化漫画高光时刻重返前十,《Sakamoto Days》因制作质量提升而排名上升。
  • 《水魔术师》和《Clevatess》等作品观众量高但网络讨论度低,反映了“观看量”与“社交媒体热度”不成比例的现象。
  • 更新后的《鬼灭之刃:无限城》全球开画票房对比图显示,法国是日本媒体(尤其是漫画)的传统进口大国,南美国家也展现出深厚的动漫受众基础。
  • 一项研究指出,动漫的流行部分源于其作为易于获取的新IP,区别于西方媒体中常见的重启与续作。

Crunchyroll字幕质量下降详解:

  • 过去的优势: Crunchyroll曾长期使用Aegisub软件进行精细的字幕排版,包括:为不同说话者使用屏幕不同位置、采用带描边和阴影的粗体字幕以提升可读性、对屏幕上的文字(如招牌、课本内容)进行本地化翻译,以增强观看体验。这是其区别于Netflix等竞争对手的关键。
  • 现在的变化: 自2025年秋季新番开始,Crunchyroll的新作字幕全部采用类似Netflix的简化风格:最多两行字幕、不处理多人同时对话的排版、仅对关键文字做最小化翻译(甚至会提前切断对话字幕)。所有新作均呈现此风格。
  • 可能的原因: 有传闻称Crunchyroll已停止使用Aegisub。文章推测原因可能包括:为了方便统一向其他平台(如Crunchyroll on Prime Video)分发字幕;为了降低使用专业软件和进行精细排版的人力成本;或仅为遵循行业通用标准以简化开发流程。
  • 负面影响: 这种标准化字幕牺牲了细节和清晰度。精细排版对于理解剧情至关重要(例如对话密集或含有视觉文字的场景)。如果Crunchyroll停止此工作,主流平台中将再无一家提供此类质量的字幕,绝大多数动漫观众的体验将下降。
  • 与盗版的关联: 虽然短期内不会导致盗版激增,但这种降低服务质量的行为会为支持盗版的论点提供借口。鉴于动漫盗版率本身就很高(据Muso研究占电视盗版的近28%),此类行为显得尤为不智。

结论: 文章认为,Crunchyroll此次字幕风格的转变是以牺牲核心观众体验为代价的降级行为,与其宣称的“粉丝优先”理念相悖。如果持续下去,动漫观看的一个重要品质维度将会丧失。

5. OpenAI's H1 2025: $4.3B in income, $13.5B in loss (www.techinasia.com)
# 摘要:Tech in Asia 组织信息的 JSON-LD 结构化数据

提供的 JSON 内容是一个 JSON-LD(Linked Data)片段,用于描述 **Tech in Asia** 这一组织的结构化数据。其主要目的是为了搜索引擎优化(SEO)或网络应用中的数据标准化,以便机器(如搜索引擎爬虫)能够准确识别和提取组织信息。

## 结构分析
- **`@context`**:指定为 `http://schema.org`,表示该数据遵循 Schema.org 的词汇表标准。
- **`@type`**:设置为 `Organization`,表明实体类型为组织。
- **`name`**:组织名称为 "Tech in Asia"。
- **`url`**:组织的官方网站链接 `https://www.techinasia.com/`。
- **`logo`**:组织的标志图像 URL `https://static.techinasia.com/assets/android-chrome-192x192.png`。
- **`sameAs`**:一个数组,列出了组织在社交媒体或其他平台上的官方页面链接,包括 Facebook、Twitter(现为 X)、Google+、LinkedIn 和 Instagram。

## 关键功能
- **数据标准化**:通过 Schema.org 的标准格式,确保组织信息在不同平台和工具中的一致性和可解析性。
- **增强搜索可见性**:搜索引擎可以利用此结构化数据在搜索结果中显示丰富的信息片段,如组织名称、标志和社交链接。
- **机器可读性**:便于自动化系统(如网络爬虫或数据聚合工具)提取和整合组织信息,提升数据互操作性。

此 JSON-LD 片段通常嵌入在网页的 `<head>` 或 `<body>` 部分,作为元数据的一部分,以支持网站的技术优化和用户体验。
6. Where it's at:// (overreacted.io)

AT协议URI解析指南

本文详细介绍了如何解析at://协议下的URI,将其指向的JSON数据定位到具体的物理服务器。该协议由许多服务器共同构成一个“大气层”网络,其中每个数据片段都拥有一个唯一的at:// URI。

核心解析过程

解析一个at:// URI需要三个关键步骤:

  1. 将“handle”解析为“身份”at:// URI的权威部分(如ruuuuu.de)是一个用户可更改的“handle”。为了获得稳定不变的标识,需将其解析为“身份标识符”(DID)。这可以通过查询DNS的TXT记录(_atproto.<handle>)或访问https://<handle>/.well-known/atproto-did端点来实现。得到的DID(如did:web:iam.ruuuuu.dedid:plc:fpruhuo22xkm5o7ttr2ktxdo)是用户数据的永久标识。
  2. 将“身份”解析为“托管服务”:获取DID对应的“DID文档”。该文档是一个JSON文件,包含关键信息:
    • alsoKnownAs:确认该DID声称拥有的handle。
    • verificationMethod:用于验证数据签名的公钥。
    • serviceEndpoint最重要的字段,指明了当前存储该用户所有数据的物理服务器地址(如https://blacksky.app)。
  3. 从“托管服务”获取数据:使用上一步获得的服务器地址,通过com.atproto.repo.getRecord API端点,并传入URI中的repo(handle)、collectionrkey参数,即可获取最终的JSON数据。

DID的两种类型

AT协议主要支持两种DID方法,它们决定了如何获取DID文档:

  • did:web:基于域名的DID。通过访问 https://<域名片段>/.well-known/did.json 获取文档。其身份控制与域名控制绑定,存在因域名失效而丢失身份的风险。
  • did:plc:由Bluesky指定,独立于任何域名的DID。通过访问公共的https://plc.directory注册中心获取文档。它避免了域名依赖问题,但身份更新需通过该注册中心进行。

重要概念:永久链接

使用handle的URI(如at://ruuuuu.de/...)是人类可读但脆弱的,因为handle可以更改。推荐使用DID形式的URI作为“永久链接”(如at://did:web:iam.ruuuuu.de/...)。因为DID是固定的,只要账户、记录或托管服务不被删除,该链接就不会失效。所有存储at:// URI的应用都应使用此规范形式,以确保数据间的逻辑链接稳定。

总结

解析at:// URI的本质是一个将用户身份(handle/DID)逐步映射到数据物理存储位置的过程:

  1. Handle → DID:通过DNS或HTTPS查询。
  2. DID → 托管服务器:通过获取DID文档。
  3. 托管服务器 → JSON数据:通过特定的API调用。

在实际开发中,可以使用SDK或依赖如pdslsQuickDID这样的解析缓存服务来简化此流程。了解这一底层机制,有助于理解AT协议如何将用户置于其数据权威的核心位置,并实现身份与托管的解耦,从而构建一个数据可移植的网络环境。

7. Indefinite Backpack Travel (jeremymaluf.com)

核心理念 自2015年起,作者践行极简主义,只保留能装入一个笔记本电脑背包的必需品。此生活方式有助于专注、节省开支、随时旅行并简化生活。

旅行方式

  • 单包旅行:最佳旅行方式,避免行李托运、排队等烦恼,实现轻松出行。
  • 生活节奏:为平衡生产力、财务与社交,现已在每个城市停留更长时间,进行更深度探索。
  • 装备哲学:优化物品的重量与功能,但反对旅行/徒步社区的消费主义。不追求昂贵品牌,合理预算即可达到相似效果。不存在“完美”装备。

装备清单

收纳与整理

  • 背包:Aer Slim Pack(9L),符合航空公司“个人物品”尺寸限制,内置AirTag防盗。
  • 洗漱包:Rains Pencil Case,容量适合旅行装物品。

科技产品

  • 电脑:MacBook Air M5 13"。
  • 手机:iPhone 17 Pro,双SIM卡(Verizon主卡 + T-Mobile eSIM备用)。
  • 平板:iPad Pro M4 11",用于绘图、阅读、作为第二屏幕。
  • 手表:Apple Watch S7,仅用作健康追踪。
  • 耳机:AirPods Pro 2,看重降噪功能。
  • 存储:256GB USB-C U盘,存放需要快速访问的本地文件备份。

充电设备

  • 充电器:Nomad 65W双口USB-C充电器。
  • 线材:1米编织USB-C线(用于iPhone/Mac/iPad/充电宝),1米Apple Watch充电线。
  • 充电宝:NeoSeek 20000mAh充电宝,45W功率,双USB-C口。
  • 适配器:国际旅行用通用适配器。

服装(分层系统)

  • 外套层:Montbell Plasma 1000羽绒服(极轻,可收纳)、Everlane帆布夹克(耐磨,极端天气防护,需穿着登机)。
  • 中间层:拉链连帽衫(因即将30岁,正在考虑替换为羊绒衫)。
  • 配件:Arc‘teryx手套、多功能美利奴羊毛围脖(可作面罩、眼罩等)。

服装(基础层)

  • 上衣:6件American Apparel混纺T恤,采用卷装收纳法防皱。
  • 袜子:6双Darn Tough美利奴羊毛袜,终身保修。
  • 内裤:6条Uniqlo Airism内裤。
  • 裤子:一条Western Rise AT长裤(正在寻找替代品),配Grip6皮带。
  • 短裤:Lululemon Pace Breaker 5英寸运动短裤(无内衬)。
  • 泳裤:Everlane泳裤。
  • :Nike Pegasus Trail 5跑鞋(非GTX版)。
  • :一顶简约棒球帽。

杂项

  • 钱包:RE:FORM RE:01超薄极简钱包,带磁吸AirTag仓。
  • 卡片:Amazon Prime信用卡。
  • 追踪器:Apple AirTag。
  • 证件:身份证件、保险卡、银行卡、应急现金。
  • 太阳镜:便宜的偏光镜。
  • 工具:True Utility钥匙型多功能工具(日常用于开瓶、开信)。
  • 雨伞:Montbell超轻雨伞。
  • 毛巾:Matador快干浴巾(备用)。
  • 文具:Moleskine空白本、Staedtler 0.05mm针管笔(绘图)、BIC圆珠笔(书写)。
  • 洗漱与急救:Rains笔袋中装有Marvis牙刷牙膏、剃须刀、除臭剂等洗漱品,以及一个Altoids急救盒(含创可贴、消毒用品、502胶、应急毯、驱蚊剂等)。
  • 其他小物:SIM卡针、iPhone拆机工具、AirPods替换套、备用AirTag电池、护照等文件。

户外装备

  • 理念:重体验而非极致减重,总重约1.8公斤。注重物品的打包体积与舒适度。
  • 帐篷:Lanshan 1超轻帐篷(性价比高)。
  • 睡垫:Thermarest NeoAir Uberlite超轻充气垫。
  • 头灯:Nitecore NU25 UL超轻头灯。
  • 炊具:Toaks 450mL钛杯、BRS-3000T炉头、钛勺、打火机、100g气罐,所有物品可收纳在杯中。
  • 水具:Sawyer Mini滤水器、两个1L Smartwater瓶(分别装净化水和原水)。
  • 睡袋:暂无。

更新与未来

  • 文章持续更新(最新2026年)。
  • 2026年5月背包失窃,正在更新装备。
  • 作者通过Instagram和YouTube分享生活。
8. Playball – Watch MLB games from a terminal (github.com)

Playball - 终端观赛工具摘要

核心功能

Playball 是一款命令行工具,允许用户在终端窗口中观看美国职业棒球大联盟(MLB)和世界棒球经典赛(WBC)的比赛实况。其设计初衷是为用户提供一种更隐蔽、便捷的观赛方式。

安装与运行

  • 安装方式:可通过 npm 全局安装(npm install -g playball)或使用 Docker 运行(docker run -it --rm paaatrick0/playball)。
  • Docker 特性:默认以美东时间显示,可通过 -e TZ=时区 环境变量调整时区(如 America/ChicagoAmerica/Los_Angeles 等)。

操作界面与快捷键

工具提供三种主要视图,通过快捷键操作:

  1. 全局视图

    • q:退出程序
    • c:跳转至日程视图
    • s:跳转至排名视图
  2. 日程视图

    • 方向键或 j/k/h/l:高亮选择比赛
    • Enter:查看选中比赛详情
    • p/n:切换前一天/后一天的日程
    • t:返回今日日程
  3. 比赛视图

    • ↓/j↑/k:滚动浏览比赛逐局记录

赛事支持

  • 默认显示 MLB 比赛,可通过命令切换至 WBC:
    • 永久切换:playball config sport wbc
    • 临时切换:PLAYBALL_SPORT=wbc playball
    • 切换回 MLB:playball config sport mlb

配置系统

通过 playball config 子命令进行设置,支持自定义显示颜色、关注球队等:

  • 颜色配置:可调整球数、击球结果、跑垒员等视觉元素的显示颜色,支持终端标准色和十六进制色值。
  • 其他配置
    • favorites:设置重点关注的球队(如 SEA,MIL
    • title:是否在终端标题显示实时比分(默认 false
    • live-delay:设置直播流延迟秒数(默认 0
    • sport:选择显示的联赛(mlbwbc

开发与贡献

项目源码托管于 GitHub,开发者可克隆仓库并运行 npm installnpm start 进行本地开发。项目欢迎社区贡献。

9. Fp8 runs ~100 tflops faster when the kernel name has "cutlass" in it (github.com)

性能现象观察

  • 标题指出一个性能现象:当内核(kernel)名称中包含"cutlass"时,FP8格式的运算速度提升约100 TFLOPS。

技术错误详情

  • 内容主体是一个 ValueError,具体描述为“广播中的布局不匹配”。
  • 错误信息对比了两种布局:
    1. 一个 SliceLayout,其父布局是 BlockedLayout,包含特定的线程、线程束和CTA配置。
    2. 另一个 SliceLayout,但其父布局是 DistributedLinearLayout,包含一组复杂的线性基向量。
  • 代码注释表明,问题源于变量 p 预期应得到一个“blocked layout”,但实际上却获得了一个“linear layout”。

问题推断与逻辑质疑

  • 编写者观察到此现象并提出了疑问:不确定为何会发生这种情况。
  • 编写者认为布局推断(layout inference)的机制理应优先尝试“blocked layout”,只有在失败后才回退到“linear layout”。当前结果暗示此逻辑可能未按预期工作。
10. The strangest letter of the alphabet: The rise and fall of yogh (www.deadlanguagesociety.com)

字母表中最奇怪的字母:Yogh的兴衰

文章探讨了英语拼写系统复杂性的一个独特案例——字母**yogh(ȝ)**的历史。英语拼写以混乱著称,存在大量不发音字母和一音多拼现象,而yogh的兴衰进一步揭示了这种复杂性的历史根源。

字母G的复杂起源

  • 英语书写的混乱可追溯至古英语时期,当时字母"g"的书写形式与现代不同。古英语使用岛屿体g(ᵹ),形似"z"与"3"的混合体,而卡洛林小写体g(即现代g)主要用于拉丁文书写。
  • 1066年诺曼征服后,诺曼抄写员将卡洛林小写体带入英格兰。此时英语书写一度停滞,当12世纪末重新开始书写英语时,抄写员面临新挑战:如何用现有字母系统记录已变化的中古英语发音。

Yogh的诞生与双重功能

  • **yogh(ȝ)**源自岛屿体g的变体,在中古英语(约1100-1450年)中承担了两个截然不同的发音:
    1. /j/音(如"young"中的y音):这是古英语"g"在元音前软化的结果(如"ᵹear"演变为"year")。
    2. /x/音(如苏格兰语"loch"或德语"Bach"中的喉擦音):这个音后来在英语中消失,但留下了"gh"拼写残余(如"night"、"daughter")。
  • 一个字母代表两个发音看似奇怪,但类似现象也出现在现代英语中:字母"c"可发/k/(cat)或/s/(city)音;"g"可发/g/(good)或/dʒ/(gem)音。这都源于腭化(palatalization)——后舌音在特定元音前被拉向前位发音。

Yogh的消亡

yogh最终从英语中消失,主要受以下因素影响:

  1. 替代拼写的存在:/j/音可用"i"或"y"书写(如"yourself"而非"ȝourself");/x/音可用"h"、"ȝh"或"gh"书写(后者成为标准)。
  2. 印刷术的普及:15世纪英格兰引进印刷术时,来自佛兰德斯的印刷机字模不包含yogh这个特有字母,因其制作成本高且已有替代方案。
  3. 苏格兰的特殊保留:苏格兰印刷商曾延长yogh的使用,利用其与"z"的书写相似性,在"lz"、"nz"组合中代表/ly/或/ny/音。这导致如今苏格兰姓氏如Menzies(发音如"Mingus")和Mackenzie(发音如"Mackenyie")中的"z"实际上源于yogh的遗留。

历史意义

yogh的兴衰展现了英语书写系统的历史层次:从盎格鲁-撒克逊的岛屿体书写,到诺曼征服带来的卡洛林书写传统,再到印刷标准化过程中的淘汰。它虽已消亡,却成为理解英语拼写复杂性的一个关键案例——现存于字母"G"的双重发音和"gh"的不规则拼写中。

11. Apple takes down ICE tracking apps after pressure from DOJ (www.foxbusiness.com)

苹果在司法部施压后下架ICE追踪应用

事件概述 苹果公司于周四从App Store下架了广泛使用的ICE追踪工具ICEBlock。此前美国司法部向苹果提出,该应用对执法人员构成安全威胁。司法部官员在总检察长帕姆·邦迪的指示下要求苹果移除该应用。

下架原因与官方立场 邦迪在声明中表示,ICEBlock的设计目的是“让ICE探员仅仅因履行职责而陷入危险”,并强调“对执法人员的暴力行为是不可触碰的红线”。她指出,司法部将继续竭尽全力保护联邦执法人员。此举发生在特朗普政府官员声称该应用(允许用户匿名报告ICE探员行踪)会危及探员安全并帮助庇护非法移民之后。

背景事件:达拉斯ICE办公室枪击案 围绕ICE追踪应用的争议在上月德克萨斯州达拉斯ICE办公室发生致命枪击事件后激增。这是一系列似乎针对移民执法官员的袭击中的最新一起。当局称,嫌疑人约书亚·贾恩在袭击前曾在手机上搜索ICEBlock等追踪应用。据称贾恩从屋顶向设施开枪,导致一名被拘留者死亡,两人重伤(其中一名32岁的伤者本周去世)。ICE代理局长马科斯·查尔斯在新闻发布会上指出,贾恩意图谋杀ICE雇员,且针对ICE探员的袭击事件“激增了1000%以上”,并称暴力言论是诱因。

应用开发者回应 ICEBlock创始人约书亚·艾伦对苹果的决定表示“极其失望”。他指责苹果“向威权政权屈服”,并坚称应用旨在“保护邻里免受当局持续施加的恐惧”。他反驳称,ICEBlock拥有超过110万用户,其功能类似于众包测速点的地图应用(如苹果自己的地图服务),并表示将全力抗争。

苹果公司声明 苹果在声明中表示,已根据执法部门提供的有关ICEBlock相关安全风险的信息,将其及类似应用下架,以维护App Store作为“安全可信应用发现平台”的宗旨。

12. I spent the day teaching seniors how to use an iPhone (forums.macrumors.com)

Honestly, I think Apple really needs to simplify the iPhone for the elderly. I know there are accessibility modes, but you don’t want to have to go through...

13. Basic Math Textbook: The Napkin Project (web.evanchen.cc)

《Napkin Project》是一本面向高等数学的入门教材,旨在提供从本科课程到研究生初级主题的概览。它以提纲挈领的方式介绍各数学分支的核心思想与魅力,内容比正式教科书简洁,但比通俗数学读物更精确,要求读者具备一定的证明经验。

项目状态 当前版本为1.6,遵循语义化版本控制规则,主要增加了若干新章节、大量勘误修正,并配有精美的封面插图。部分计划中的章节尚未撰写完成,许多章节仍缺少习题或解答。最新草稿可通过指定链接获取,源代码托管在GitHub上,并可自动编译生成。作者欢迎任何纠正、建议或评论,推荐通过GitHub提交拉取请求或议题进行反馈。

教材特点

  • 定位:为高等数学提供轻量且自足的介绍。
  • 内容:涵盖代数、拓扑、线性代数、表示论、量子算法、微积分、复分析、测度论、微分几何、代数数论、代数拓扑、范畴论、代数几何、集合论等多个领域(概率论部分标记为待完成)。
  • 风格:注重阐述“为什么”一个结论成立的直观解释,而非形式化证明;定义和定理陈述保持完整精确。
  • 访问方式:可下载完整PDF或按部分下载PDF(部分间超链接会失效)。此外,还提供按章节编号的流程图及自动生成的目录。

社区贡献 社区正在开展工作,为教材中的问题和示例提供人类可读的解答以及基于Lean4的形式化证明,相关资源已在线发布。

(注:原文未提及具体下载链接、GitHub地址及社区资源网址,故摘要中未包含。)

14. I turned the Lego Game Boy into a working Game Boy (blog.nataliethenerd.com)

这篇文章介绍了作者将乐高Game Boy套装改造为真正可工作的Game Boy项目的进展和技术细节。主要要点如下:

  1. 项目动机与背景:作者在乐高发布该套装时开玩笑地发推文,随后决定实际完成这个改造。凭借对Game Boy主板原理图的丰富经验(已建立主板扫描维基),作者认为该改造是可行的。

  2. 技术选择:选择使用MGB(Game Boy Pocket)的CPU而非原版DMG CPU,原因包括:

    • 两者功能相似
    • MGB CPU更便宜且更易获取
    • DMG CPU需要外部VRAM,而MGB CPU内置VRAM,更适合本项目有限的内部空间
  3. 设计与规划

    • 基于乐高官方套装的宣传图片进行测量和设计
    • 计划将Game Boy主板安装在乐高屏幕位置
    • 使用KiCad进行PCB设计并渲染3D模型
    • 电源电路采用了作者此前用于“Safer Charger”板的设计
    • 将电源开关改为软锁定电源按钮
    • 为按钮矩阵和音频添加了引出接口
  4. 实现与定制

    • 乐高按钮具有可按压特性,作者利用这一点实现了按钮功能
    • 使用定制的3D打印玩具积木部件连接乐高按钮
    • USB-C接口也采用类似的定制积木方式集成
    • 已制作出具有点击感的按钮原型
  5. 未来计划:作者目前正基于手中的乐高套装实物进一步优化PCB设计,并承诺将在项目完成后公开全部设计细节。可通过其Discord服务器跟踪项目最新进展。

该项目展示了如何利用经典硬件知识与现代制造技术(3D打印)实现创意硬件改造,在保留乐高外观的同时赋予其真正的游戏功能。

15. Social anxiety isn't about being liked (chrislakin.blog)

社交焦虑的本质:避免被讨厌而非追求被喜欢

  • 常见误解:社交焦虑常被解释为渴望获得他人喜欢,这似乎能解释焦虑者为何过度关注他人看法。然而,这种观点存在矛盾:焦虑行为(如退缩、减少社交)往往降低个人吸引力,显得非理性。

  • 核心观点:文章提出,社交焦虑的真正动机可能不是追求被喜欢,而是避免被讨厌。焦虑者通过特定行为(如减少存在感、避免风险)来规避负面评价、冲突或尴尬,这是一种风险规避策略。

  • 行为分析:社交焦虑者的典型行为(例如少社交、低自我主张)若目标是吸引人,则效率低下;但若目标是防止被讨厌,则显得合理。例如:

    • 避免出风头以减少失望风险。
    • 通过不突出自己来降低被视为失败或威胁的概率。
  • 类比支持

    • 财务不安全感:类似地,人们优先选择稳健投资以避免破产,而非追求高风险高回报,这与社交焦虑的避险逻辑一致。
    • 反信号理论:在亲密关系中(如朋友间玩笑),安全感的建立反而允许更自由的社交表达,说明社交焦虑可能源于对不安全环境的适应。
  • 重新定义症状:社交焦虑的症状(如社交回避)可能并非系统失败,而是成功适应的表现,旨在最小化负面结果。文章质疑人们是否长期误解了优化目标,强调社交焦虑是一种理性应对机制。

  • 总结:文章挑战传统观点,建议将社交焦虑视为避免被讨厌的策略,而非追求被喜欢的缺陷,从而更准确理解其心理机制。

16. Anti-aging breakthrough: Stem cells reverse signs of aging in monkeys (www.nad.com)

抗衰老突破:干细胞逆转猴子衰老迹象

研究概述

中国科学家通过基因工程改造干细胞,成功逆转了老年食蟹猴的多项衰老指标,包括认知功能、骨骼健康和全身组织老化。研究发表于《Cell》期刊。

核心发现

  • 认知改善:接受基因编辑干细胞(SRCs)治疗的老年猴子,在记忆力测试中表现显著优于对照组,且脑萎缩和神经退行性变得到缓解。
  • 骨骼再生:SRCs治疗逆转了年龄相关的骨质流失,改善了牙槽骨和全身骨骼健康。
  • 全身抗衰:在分析的61个组织中,超过50%的衰老相关基因表达异常被SRCs逆转,涉及大脑、心脏、肺、肾脏等多个器官。
  • 细胞层面机制:SRCs减少了衰老细胞(senescent cells)的积累,并降低了慢性炎症和DNA损伤等衰老标志物。

实验设计

  1. 干细胞改造:研究人员增强了人类干细胞中FoxO3蛋白的活性(该蛋白与长寿相关),使其能抵抗衰老相关的炎症和应激环境,制成“抗衰老干细胞”(SRCs)。
  2. 动物模型:选取19-23岁(相当于人类57-69岁)的食蟹猴,分为三组:
    • 生理盐水对照组
    • 普通干细胞治疗组
    • SRCs治疗组
  3. 治疗周期:每两周注射一次,持续44周(约相当于人类3年)。
  4. 评估方法:包括记忆测试(WGTA)、磁共振成像(MRI)、显微CT、基因表达分析和组织病理学检查。

关键结果

  • 记忆测试:仅SRCs组猴子表现出显著更高的记忆准确率,普通干细胞组与对照组无差异。
  • 脑部再生:SRCs治疗减轻了脑萎缩,并恢复了大脑结构连接至年轻猴子水平,尤其改善了前额叶皮质等与工作记忆相关区域的功能。
  • 组织再生:SRCs逆转了50%以上组织的衰老相关基因表达异常,而普通干细胞仅逆转约30%。再生效果最明显的组织包括海马体、输卵管和结肠。
  • 细胞衰老:SRCs减少了大脑、心脏和肺等多个器官中的衰老细胞数量,并降低了炎症和DNA损伤标志物。

科学背景

  • 干细胞在组织再生中起关键作用,但随年龄增长,其再生能力因慢性炎症环境而下降。
  • FoxO3蛋白(尤其FoxO3亚型)是已知的长寿基因,能帮助细胞抵抗应激。研究受“永生水螅”启发(水螅通过持续表达FoxO蛋白维持干细胞再生能力),通过增强人类干细胞的FoxO3活性来对抗衰老。

安全性与前景

  • 安全性:治疗期间未出现严重不良反应(如免疫排斥或肿瘤形成),SRCs还表现出潜在的肿瘤抑制特性。
  • 应用前景:若长期安全性得到验证,SRCs有望进入人体试验,为治疗阿尔茨海默病、骨质疏松症等年龄相关疾病提供新策略。
  • 局限性:长期效果仍需进一步评估,干细胞全身注射的致癌风险虽未观察到,但仍需谨慎。

数据来源

Lei, J., et al. (2025). Cell, 188(18), 5039–5061.

17. Anduril and Palantir battlefield communication system has flaws, Army memo says (www.cnbc.com)

美国陆军内部备忘录指出,由硅谷公司 Anduril 和 Palantir 主导开发的下一代战场通信系统(NGC2)存在严重安全缺陷,应被视为“极高风险”。该系统旨在连接士兵、传感器、车辆和指挥官,实现实时数据共享,是美国陆军通信网络现代化计划的核心。

主要安全问题包括:

  • 访问控制失效:任何授权用户均可无视权限级别或任务需求访问所有应用程序和数据,可能导致敏感机密信息被未授权访问和滥用。
  • 缺乏审计追踪:系统无法监控用户活动,无法记录操作日志,导致异常行为难以被发现。
  • 第三方应用漏洞:托管的第三方应用程序未经过陆军安全评估,其中一个应用存在25个高严重性代码漏洞,另有三款应用各含超过200个待评估漏洞。
  • 基础软件安全性存疑:陆军首席技术官备忘录称“无法验证软件本身是否安全”,存在敌方获得持续且无法检测的访问权限的可能性。

两家公司回应称,相关问题已通过常规开发流程解决。Anduril 表示报告反映的是过时情况;Palantir 则声称其平台未发现漏洞。陆军首席信息官表示,多数问题已在数周内修复,仅有一处应用存在待处理漏洞。

此事件引发了对硅谷“快速行动、打破常规”模式是否适用于关键军事装备的质疑。尽管系统在演习中展示了数字化火力的效率优势,但安全隐患凸显了快速开发与严格安全标准之间的张力。Palantir 股价受消息影响下跌7.5%。

两家公司均为新兴国防科技企业代表,旨在通过人工智能、无人机等技术革新美军能力。近期,Anduril 获得1.59亿美元订单开发夜视混合现实系统,Palantir 则拿到4.8亿美元用于战场分析AI工具“Maven”的合同。陆军预计下周可能批准Palantir云服务的“持续运营授权”,以加速软件更新部署。

18. FyneDesk: A full desktop environment for Linux written in Go (github.com)

FyneDesk (Tyde) 摘要

项目概述 Tyde(原名 FyneDesk)是一个基于 Material Design、使用 Go 语言和 Fyne 工具包构建的 Linux/Unix 桌面环境,旨在提供易用且易于开发的体验。

依赖项

  • 编译依赖:与 Fyne 工具包相同。
  • 运行时依赖(用于完整体验)
    • arandr(显示设置)
    • xbacklightbrightnessctl(笔记本亮度调节)
    • connman-gtk(Wi-Fi 网络配置) 注:缺少这些工具不会阻止运行,但会降低体验。

安装与运行

  1. 快速安装

    go install fyshos.com/tyde/cmd/tyde@develop
    

    安装后可通过 tyde 命令在“预览”模式下运行。

  2. 设置为可选桌面环境

    git clone https://github.com/fyshos/tyde
    cd tyde
    make
    sudo make install
    

    此操作将在登录管理器(如 LightDM)中注册 Tyde,用户注销后即可选择。

调试与测试

  • 可使用 Xephyr 工具在嵌套的 X 窗口内运行窗口管理器组件进行测试。
  • 如果在已有窗口管理器或不支持窗口管理器的系统(如 Windows/macOS)上运行,应用将启动为 UI 测试模式,窗口管理功能被禁用,窗口将在主桌面上打开。

稳定性保障 项目提供 tyde_runner 实用程序,用于管理意外事件(如崩溃),可在测试预发布版本时提高桌面环境的稳定性。安装命令:

go install fyshos.com/tyde/cmd/tyde_runner@develop

建议使用 tyde_runner 代替 tyde 命令以获得更稳定的体验。

设计与分发

  • 设计理念与抽象壁纸由 Jost Grant 贡献。
  • 对于希望将 Tyde 作为默认桌面环境的发行版,项目建议一同打包配套应用(如匹配外观的显示管理器 fin)。
19. In Praise of RSS and Controlled Feeds of Information (blog.burkert.me)

RSS:对抗算法操控的信息自控方案

文章批评当前互联网内容消费被封闭平台和黑箱算法主导,导致用户体验恶化。作者提出,早于算法推送和社交媒体的RSS(简易信息聚合)是一种优雅的解决方案,能让用户重获信息控制权。

算法推送的缺陷
作者以自身乐队在Facebook的经历为例,说明社交媒体算法优先考虑用户停留时间和广告收益,而非提供有序、有价值的信息。页面所有者需付费推广内容,用户则被混杂的“互动诱饵”淹没,无法只接收关键更新。这种激励机制错位,使算法推荐难以适应个人真正需求。

RSS的核心优势
RSS是一种标准格式,允许网站发布更新供用户通过阅读器订阅。其优势包括:

  • 用户自主控制:用户可自由选择订阅源,信息按时间倒序排列,无算法干预。
  • 信息质量与专注:内容通常更长篇、深入,阅读界面统一且无广告干扰,避免被评论区或推荐文章分散注意力。
  • 灵活分类管理:用户可将订阅源分文件夹管理(如“Fun”、“Reads”),按心情或主题浏览。
  • 离线阅读支持:部分阅读器可自动抓取内容,便于无网络时阅读。

RSS的现代使用建议

  1. 发现订阅源:网站通常提供RSS链接(图标或“feed”字样),也可将网址直接添加到聚合器中。
  2. 选择工具:入门可用The Old Reader或Feedly等免费服务;进阶可自建FreshRSS等实例。移动端推荐试用多个应用(如FeedMe)以找到体验最佳者。
  3. 优化管理:定期清理不感兴趣的订阅;为订阅源分类;利用书籍/星标功能;订阅大网站的细分分类(如单独订阅科技版块)。
  4. 高级用法:部分网站(如arXiv)提供复杂RSS API,可按关键词过滤内容。例如通过查询LLM和multilingual来跟踪AI研究。
  5. 探索推荐源:可参考聚合列表(如100个热门RSS订阅)或通过博客互相推荐发现新内容。

作者强调,RSS让用户成为信息的主人,避免算法扭曲和平台绑架,虽需主动维护,但换来了长期自主、清晰的信息摄入体验。

20. Babel is why I keep blogging with Emacs (entropicthoughts.com)

作者最初羡慕简单的静态网站生成器,考虑编写自己的2000行代码博客引擎,但最终选择继续使用Emacs中的Org模式进行博客写作。主要原因在于Org模式的Babel功能,它提供了强大的代码执行和嵌入能力,远超一般标记语言。

Org模式的HTML导出过程虽然复杂,涉及超过20,000行代码(包括ox-html.el、ox-publish.el、ox.el和org-element.el),作者并不完全理解其内部机制,但Babel的便利性弥补了这一不足。Babel允许在文档导出时运行代码块,并将输出(如表格或图像)直接显示在发布内容中。它支持代码会话,使代码块可以复用先前定义的变量;还允许在标记文本和代码之间注入变量,实现无缝集成。此外,Babel支持多种编程语言,作者主要用R进行绘图,这使得数据、插图和文本的同步调整变得简单高效。

作者认为,虽然自己实现Babel的功能需要多个月的时间,且当前工作流程显得复杂,但Babel提供的集成功能不可或缺,因此决定继续使用Org模式进行博客创作。

21. Gemini 3.0 Pro – early tests (twitter.com)

文章标题:Gemini 3.0 Pro – early tests

内容加载出现错误。提示信息表明,此问题可能由隐私相关的浏览器扩展导致,建议禁用相关扩展后重试。

22. Microsoft CTO says he wants to swap most AMD and Nvidia GPUs for homemade chips (www.cnbc.com)

核心摘要:

微软首席技术官(CTO)兼人工智能执行副总裁凯文·斯科特表示,微软的长远目标是在其数据中心内主要使用公司自研芯片,以减少对英伟达(NVIDIA)和AMD等主要供应商的依赖。

主要内容:

  1. 战略目标:斯科特明确表态,微软的长远计划是让自研芯片在其数据中心占据主导地位。目前,微软数据中心主要依赖英伟达和AMD的GPU,选择标准是“最佳性价比”。但公司正朝着自主设计整个数据中心系统的方向发展,以便针对特定AI工作负载优化计算、网络和散热。

  2. 自研芯片进展:微软已于2023年推出面向AI工作负载的 Azure Maia AI加速器Cobalt CPU。公司目前正在研发下一代半导体产品,并已公布用于解决芯片过热问题的新型“微流体”冷却技术。

  3. 战略动因:此举旨在降低对外部供应商的依赖,并打造更贴合自身需求的高效能产品。谷歌、亚马逊等其他云巨头也在采取类似策略。

  4. 行业背景:当前AI需求激增,导致算力严重短缺。斯科特称这是“巨大的供应危机”,并指出自ChatGPT发布以来,构建足够算力的速度一直跟不上需求。微软、Meta、亚马逊和Alphabet等科技巨头今年已承诺超过3000亿美元的资本支出,其中大部分用于AI投资以应对需求。

23. Blender 4.5 brings big changes (lwn.net)

Blender 4.5 LTS 于2025年7月15日发布,是4.x系列的最终功能版本,支持期至2027年。此次发布聚焦于质量提升,并为即将到来的Blender 5.0奠定基础。

渲染后端现代化与性能优化

  • Vulkan后端成熟:Vulkan后端功能与性能已接近默认的OpenGL后端,但因对超大网格支持不足等问题仍未设为默认。其并行执行模型有望提升视窗性能。
  • EEVEE Next改进:实时渲染引擎EEVEE Next在阴影渲染(如引入法线偏移控制)和修复光线泄露方面获得改进,视觉准确性提升。
  • 核心性能提升:纹理加载采用延迟多线程处理,速度提升超一倍;着色器编译实现并行化(兼容Vulkan与OpenGL),降低了延迟;启动时间也因优化而缩短。
  • 工作流优化:属性编辑器支持自定义选项卡可见性;资源浏览器在显示和缩略图生成等方面得到增强。

节点系统整合与功能扩展

  • 跨系统统一:Shader Nodes、Compositor Nodes 和 Geometry Nodes(包括Grease Pencil节点)共享更多通用节点(如数学运算、程序化纹理),工作流更为一致。
  • 几何节点增强:新增“Set Mesh Normal”节点,允许通过字段程序化控制网格法线,实现更精细的表面着色控制。
  • 新增点云对象:点云作为一种新的对象类型被引入,支持运动图形、物理模拟(如粒子系统)、颗粒材料和3D扫描,拥有完整的编辑工具并能在EEVEE和Cycles中高效渲染。

面向Blender 5.0的展望 开发者已开始专注于计划于2025年底发布的Blender 5.0,其将带来重大变更:

  • 新功能:支持将场景标记为资产以便直接调用;Grease Pencil工具新增动态模糊效果;Wayland下的Linux视窗支持HDR。
  • 文件格式变更:.blend文件格式更新以支持存储超过数亿顶点的超大网格,新格式与4.4及更早版本不兼容,但可在4.5 LTS中加载。
  • 编辑改进:编辑模式下的对称操作可靠性与UV映射的视窗同步问题得到改善。

Blender 4.5 LTS可从官网获取官方构建版本,也可通过Flathub或Snap Store安装。同期,使用Blender制作的演示游戏《DOGWALK》也已免费发布。

24. Which table format do LLMs understand best? (www.improvingagents.com)

本文通过实验探究了不同数据表格格式对大型语言模型(LLM)理解能力的影响。研究指出,选择合适的格式对于RAG系统的准确性和推理成本至关重要。

实验方法

  • 数据集:包含1000条合成的员工记录,每条记录有8个属性。
  • 问题:针对这些数据生成了1000个随机问题,要求模型提取特定信息。
  • 模型:使用GPT-4.1 nano。
  • 格式:测试了11种不同的数据表示格式,包括JSON、CSV、XML、YAML、HTML、Markdown表格、Markdown键值对(Markdown-KV)、INI、管道分隔(Pipe-Delimited)、JSONL和自然语言。
  • 特点:为了测试模型极限,实验向模型一次性传入了大量记录且未重复表头。

主要发现

  1. 格式显著影响理解能力:不同格式的模型回答准确率存在显著差异。
  2. 性能最佳格式Markdown-KV(一种使用“键: 值”对的Markdown格式)表现最好,准确率达到60.7%
  3. 性能最差格式CSVJSONL表现不佳,准确率分别仅为44.3%和45.0%。常用格式可能对系统准确性产生不利影响。
  4. 准确性与令牌成本的权衡:高准确率通常伴随着更高的令牌消耗。Markdown-KV格式使用的令牌数是CSV格式的2.7倍。图表显示,更多令牌通常与更高准确性相关,但并非线性关系。

实用指导

  • 如果经常使用表格数据,应测试将数据转换为不同格式是否能提升准确性。
  • 准确性优先的场景下,Markdown-KV是一个很好的默认选择。
  • 当需要在可读性和成本之间取得平衡时,可以考虑Markdown表格
  • 应避免默认使用CSVJSONL,因为它们可能会损害系统准确性。

局限性

  • 模型与提供商:实验仅测试了OpenAI的GPT-4.1 nano,其他模型可能偏好不同的格式。
  • 数据内容与结构:仅测试了一种结构简单的扁平表格数据,结果可能因数据模式、结构(如嵌套数据)而异。
  • 表头处理:实验中使用了较大的表格且未重复表头,这对于需要表头的格式(如CSV、HTML表格)可能不利。更小的表格或重复表头可能会提高准确率。
  • 问题类型:测试问题仅限于提取特定字段的值,其他类型的问题可能需要进一步研究。

总而言之,输入数据的格式对LLM的性能有重要影响。简单的格式转换有时是提升基于LLM系统准确性的有效方法。

25. The Faroes (photoblog.nk412.com)

法罗群岛(2025)概览

法罗群岛是丹麦与冰岛之间被世界遗忘的“孩子”,由18个小岛组成,年均日照时间全球最少。常年多雨多风,气候恶劣。政治上归属丹麦,但精神上保持独立,拥有独特的北欧文化。岛上羊的数量是人口的两倍,色彩鲜艳的房屋紧贴悬崖而建,天气在短时间内可从狂风暴雨骤变为晴朗平静。

群岛位于冰岛、挪威和苏格兰之间,直面北大西洋天气系统。经数百万年风暴与海浪的雕琢,形成了高度超过400米、直插入海的壮丽玄武岩悬崖海岸线,地貌陡峭,几乎没有平缓沙滩,草地边缘便是数百米的垂直岩壁。

天气变幻莫测,时而浓雾弥漫,时而风雨交加,转瞬又云开雾散,呈现惊人景致。

羊是群岛的“原住民”,在此自由漫步已逾千年,数量远超居民。“法罗”名称即源于古语中“羊”与“岛屿”的组合。这些羊完全野生放养,常出现在悬崖边等极具画面感的位置。

当地传统草顶小屋以桦树皮和土壤为基,任其长草,起到隔热和防水作用。草皮生长迅速,偶尔需打理,传统方式便是将羊放到屋顶吃草。

群岛北部的卡尔斯岛尖端坐落着卡卢尔灯塔。徒步需向土地所有者支付少量费用,路径多为自然形成的羊道,无护栏、无标识,充满原始挑战。接近灯塔的路线尤为险峻,需沿刀锋般的山脊行走,两侧皆是陡坡。

该岛也是2021年电影《007:无暇赴死》中反派巢穴的取景地,男主角詹姆斯·邦德在此迎来结局。

26. Who needs Git when you have 1M context windows? (www.alexmolas.com)

文章摘要:当拥有100万token上下文窗口时,谁还需要Git?

本文讲述了作者在RevenueCat公司工作时的一次经历。作者在改进LTV(用户生命周期价值)预测模型时,经过数据清理和多次试验,成功将核心指标提升了5%,但未及时提交代码。在随后将研究代码重构为生产代码的过程中,模型性能反而下降了2%。由于未使用Git进行版本控制,原始的高性能代码丢失,无法复现。

在尝试复现失败后,作者意识到开发期间一直有大语言模型(Gemini-2.5-Pro,具备100万token上下文窗口)的辅助。他尝试向AI助手询问最初提供的代码文件,意外地成功找回了实现5%性能提升的原始脚本。

文章以此为例,指出大型语言模型的超长上下文记忆能力在某些场景下可以作为意外的“版本管理”工具,保留了开发过程中的完整信息。但结尾也隐含反思,这并不能替代良好的版本控制实践,而是展示了AI工具在软件开发中可能带来的额外价值。

27. Email immutability matters more in a world with AI (www.fastmail.com)

摘要

AI写作的兴起:当前,AI技术被广泛集成到各类产品中,其写作能力日益强大,使得区分人类与AI生成内容变得困难。AI写作工具可视为自动完成功能的延伸,但功能更为强大。

电子邮件的不变性价值:在AI时代,电子邮件作为个人电子记忆的载体,其不变性变得尤为关键。与可被AI修改的网页不同,电子邮件一旦发送,内容无法被修订,这为用户提供了可靠的参考点,确保历史记录的真实性。这类似于《1984》中的“真理部”概念,但电子邮件避免了被篡改的风险。

个人案例与态度:作者举例其儿子在大学期间拒绝使用AI撰写作业,强调通过自主学习构建知识和技能的重要性,体现了对AI工具的审慎态度。Fastmail公司及其许多客户也对AI工具持警惕态度,但承认它们是工具,需要适应并理解其影响。

Fastmail对AI的使用政策:公司允许用户使用AI工具操作Fastmail账户(如电子邮件、日历、联系人),但需遵守服务条款,不影响系统性能。员工使用AI工具时,必须遵循严格的隐私保护原则:

  • 数据保护:遵循所有数据保护、保密和隐私政策,确保供应商(如反滥用和客服支持)的AI使用持续保护客户数据。
  • 工作问责:任何AI生成的写作或代码必须由人类审查和理解,并经过常规复核流程。
  • 偏见意识:主动识别AI输出中的偏见或幻觉。
  • 人类权威:确保所有自动化工具决策都有人类申诉路径。

未来展望:Fastmail将继续秉持自2016年以来公开阐述的原则,作为数据管理者,确保用户数据的所有权,并帮助用户以自选方式使用数据,同时维护良好的互联网公民身份。

28. 10k pushups and other silly exercise quests that changed my life (wjgilmore.com)

10000个俯卧撑与健身历程总结

背景与动机

2025年初,作者因体重超标、体能低下、久坐办公(担任CTO工作)而决心改变健康状况。受父母健康问题警示,希望为子女树立榜样,同时寻求简单易行、可融入日常碎片时间的锻炼方式。最终设定“一年内完成10000个俯卧撑”的核心目标。

执行方法

  • 工具:使用Google Sheets记录每日俯卧撑数量及日期,通过“打卡”建立持续激励。
  • 灵活性:允许分组完成(如初期每日30个分4-5组),不要求连续完成。
  • 渐进提升:从每日平均30余个逐步增至后期单日最高600个。

关键里程碑与进展

  • 初期(1-4月):适应期,月均完成200-1000个。期间戒除快餐、减少酒精摄入。
  • 突破期(5-8月):月均完成1000-2000个。加入跑步(累计超100英里)、骑行及力量训练,组织社区“5/15/500挑战赛”(跑5英里、骑15英里、完成500次自重训练)。
  • 达成与延伸(9-10月):9月21日累计完成10000个俯卧撑。同期备战半程马拉松,10月以2小时27分完赛。
  • 持续发展(2025年末-2026年):全年累计完成12034个俯卧撑。2026年设定新目标:卧推自重10次、完成30英里超马、15000个俯卧撑、10000次深蹲。

配套生活改变

  • 饮食:彻底戒除快餐,减少加工食品,研究避免微塑料与重金属污染(如选用第三方检测蛋白粉)。
  • 习惯:减少酒精(改为低卡啤酒)、每日拉伸提升柔韧性、购买运动手表精准记录跑步数据。
  • 社群:带动家人、邻居参与运动,受文章启发开发者创建了“push10k”记录应用。

成果与影响

  • 体态变化:肌肉量增加,腹肌显现,衣物尺码缩小。
  • 体能提升:5K个人最佳从39分钟提升至27分钟,完成半马、10K等多项赛事。
  • 健康指标:精力充沛,自信心增强,意外获得同行称赞(被称“认不出来”)。
  • 数据洞察:全年仅38%天数完成训练,9%天数超过100个,证明碎片化积累的有效性。

核心心得

  • 简单目标+持续记录能建立正反馈循环。
  • 生活方式改变(饮食、作息)与锻炼同等重要。
  • 接受过程中的中断,聚焦长期趋势。
  • 社群支持与趣味性挑战可提升坚持动力。
29. Digital ID – The New Chains of Capitalist Surveillance (theslowburningfuse.wordpress.com)

数字身份:资本主义监控的新枷锁

数字身份的本质:历史延续的监控工具

数字身份并非中立创新,而是身份认证作为权力工具历史的延续。从中世纪农民需书面许可离开庄园,到殖民地的通行证制度,再到南非种族隔离时期的通行证法,身份认证始终服务于国家与资本的监控、控制和规训需求。数字身份(如生物识别扫描、算法验证、数字令牌)只是这一历史的最新迭代,其规模与复杂性带来了更深远的危险。它并非解放,而是锻造了新的枷锁,将我们更紧密地束缚在监视、排斥和剥削的体系中。

运作逻辑:资本与国家权力的扩张

数字身份的建设并非为了民众,而是为了延伸已掌控我们生活者的权力。其核心逻辑在于:

  • 生活接入的围栏化:医疗、住房、就业、福利、旅行等基本生活要素日益依赖数字检查点。没有正确的身份验证,个人将被排除在外,生存本身变为一系列由算法验证授予的许可
  • 监视资本主义的扩张:每次扫描、刷卡或登录都产生数据,这些数据被存储、追踪并货币化。数字身份将人简化为数据流,喂养微软、万事达卡、埃森哲等深度参与全球身份倡议的公司利润。
  • 劳动规训的强化:将福利支付、工作许可或银行接入与数字身份绑定,为国家和企业提供了胁迫民众的新工具。例如印度的Aadhaar生物识别系统因指纹验证失败,已导致数百万人无法获得口粮和养老金。
  • 监视的日常化:通过将数字检查点嵌入日常生活(如进入建筑、登录服务、获取医疗),监视变得常规化,控制被无缝融入存在本身的功能中。

全球实施:排斥与控制的尖锐案例

  • 印度Aadhaar系统:作为史上最大的生物识别ID系统,它在减少腐败的说辞下,实则因指纹识别失败将数百万贫困及农村人口排除在食品配给和养老金之外,甚至导致饥饿死亡。
  • 欧盟数字身份钱包:在宣称“公民自由”的同时,Eurodac数据库存储寻求庇护者的指纹以执行驱逐。数字身份成为对特权阶层的无缝流动,对移民的枷锁。
  • 非洲数字ID项目:在“金融包容”的幌子下,世界银行与跨国公司资助的数字ID项目与移动货币系统绑定,更多是为了扩张债务市场并将人口纳入剥削回路,复制了殖民时代的资源掠夺和劳动规训逻辑。
  • 新西兰与澳大利亚:在安全与便利的语言下试用数字驾照和面部识别技术,但这两国拥有庞大的民众数据库,且历史上存在对原住民和政治活动人士的监视与压制。数字身份强化了既有的种族化和政治控制模式。

国家与企业的共谋结构

国家是这些发展的中心,但非单独行动。数字身份基础设施被外包给科技巨头和咨询公司(如ID2020全球数字身份倡议是微软、埃森哲、Gavi和万事达卡的合作)。这种国家权力与企业资本的融合创造了一个难以抵抗的技术官僚体制——不仅是政府索要数据,更是全球企业将控制嵌入日常生活基础设施的网络。

抵抗的可能性

监视与控制系统从未完全绝对,但抵抗需要集体反抗,因为个人无法在生活依赖数字验证时单独退出。

  • 揭露便利的谎言:数字身份营销依赖于人们相信它符合自身利益。通过揭示其监视、排斥和牟利功能,可打破其“中立技术进步”的叙事。
  • 与受排斥者团结:当机器拒绝人们获得食物或医疗时,团结要求社区介入。互助网络、食物分发和草根医疗能削弱国家对生存权的垄断。
  • 直接行动:监视基础设施可通过物理破坏、数字黑客行动或泄露国家与企业勾结的文件等方式被中断。
  • 拒绝监视常规化:我们必须对每个新检查点、每个新生物识别系统的试验、每个新数据库的建立保持愤怒。权力最大的胜利不是控制我们,而是说服我们接受控制是自然的。

数字身份是资本主义监视与国家控制的前沿,它深化剥削、排斥弱势群体,并将生活的方方面面整合进利润与支配的机器。身份认证始终是权威工具,数字身份是其迄今最精密的形式。反对数字身份的斗争不是对纸质文件时代的怀念,而是捍卫免受持续监视、验证和数据化的生活可能性本身。

30. Using Deno as my game engine (explodi.tubatuba.net)

文章标题:使用 Deno 作为游戏引擎

本文讲述了作者为其项目 Microlandia(一个注重极端细节模拟的城市建造游戏)选择并迁移到 Deno 技术栈的历程与思考。

项目背景与初始目标

  • 项目起源:Microlandia 是一个多年间多次重写和搁置的个人项目,灵感源自《模拟城市》,但核心目标是打造一个模拟机制极其详尽、基于真实世界数据的城市建造游戏。
  • 设计哲学:与原版《模拟城市》利用玩家预期进行“暗示”不同,作者希望尽可能精确模拟变量(如医疗成本、居民预期寿命、房东贪婪度等),数据来源于社会学研究。
  • 初始技术选择:项目最初使用 Go 语言,看重其处理大量数据的效率和生成独立可执行文件的能力(支持本地运行及未来的局域网多人游戏)。

面临的挑战与技术转型

  • Go 语言的瓶颈:作者在实现 3D 视图(渲染大量建筑)和复杂数据可视化UI(直方图、新闻报告、互动地图等)时遇到困难,缺乏成熟的图形和UI库,开发效率低。
  • 探索新方案:作者权衡了使用商业引擎(如 Unity)和开源 Web 技术,最终被 Deno 的特性吸引:
    • Web 技术整合:可利用 Three.js(3D渲染)和 React(UI和数据可视化)的优势。
    • 本地化与打包:Deno 的 compile 功能能将应用编译为跨平台可执行文件,结合 webview_deno 库,可将 Web 技术栈打包成本地应用,避免了 Electron 的臃肿。
    • 工具链完整:Deno 内置 SQLite 客户端(存储游戏数据)、WebSocket 协议(服务器与客户端通信)以及格式化、打包、Lint 和测试等开发工具,减少了对 npm 依赖的依赖。

迁移至 Deno 的收获

  • 高效开发工作流:使用 VS Code 与 Deno 扩展进行服务端调试,配合 Vite 实现客户端热更新。支持有状态游戏的热重载,提升了开发体验。
  • 全栈 TypeScript 优势:服务器(模拟逻辑)和客户端(React UI)共享类型定义和工具,数据结构变更能无缝贯穿前后端。
  • 简化发布:最终将游戏打包成单一可执行文件,仅需少量调整即可支持 macOS 和 Windows。

未来展望与现状

  • 潜在顾虑:作者承认技术栈可能存在性能不及 Go、仍部分依赖 Web 生态等问题,但认为 Deno 提供的高效工作流能使自己更专注于核心的模拟逻辑开发,而非纠缠于图形或 UI 的实现难题。
  • 当前状态:Microlandia 现已作为免费原型发布,并已登陆 Steam 平台。
31. Why I chose Lua for this blog (andregarzia.com)

为什么我选择Lua来构建这个博客

背景与问题

作者之前使用基于Racket的静态网站生成器(使用Pollen)运行博客,但系统过于复杂,增加了摩擦,阻碍了博客的活跃。因此决定重写为更简单的动态博客系统,面临选择技术栈的困境。

技术栈选择考量

  • JavaScript的劣势:尽管作者最熟悉JavaScript,但认为其生态系统(Node.js、NPM等)变化太快,依赖容易过时、损坏或不兼容,导致长期维护困难。许多开发者面临类似挑战,需频繁更新代码库以跟上变化。
  • 其他语言问题:类似问题也存在于其他语言(如Ruby),虽然变化速度较慢,但维护仍需额外工作。

选择Lua的原因

  • 演化缓慢:Lua版本迭代慢(如从5.1到5.4变化很小),相比其他语言,长期稳定性高。
  • 简单轻量:Lua只需C89编译器即可运行,易于集成和理解,适合小型项目。
  • 依赖少:Lua生态系统(如Luarocks)依赖较少,作者能自主实现功能,减少外部依赖。
  • 可维护性:选择Lua旨在构建一个长期(10-20年)可维护的系统,无需追逐框架更新。

博客系统实现方式

  • 架构:采用旧式CGI脚本,每个请求一个进程;使用SQLite数据库存储数据,Mustache模板生成HTML。
  • 功能实现:作者自己编写了核心库(如CGI库、Microformats提取等),依赖约10个,仅用于博客需求。
  • 设计哲学:系统保持简单,功能模块化,避免复杂依赖,所有逻辑可牢记于心。

长期维护与反思

  • 目标:系统随时间推移变得更小、更简单,而非更复杂;Lua的灵活性和“工具箱”特性允许作者专注于功能实现。
  • 个人经验:作者自2001年博客以来,多次技术栈变更,从Racket到Lua的转变更安全,内容得以迁移;强调博客应是实验和编程的自由空间,避免技术疲劳。
  • 建议:构建博客时应考虑维护时长,选择“无聊”但可靠的技术栈(如Lua),确保长期可持续性。
32. Webbol: A minimal static web server written in COBOL (github.com)

Webbol: 使用COBOL编写的最小化静态Web服务器

概述

Webbol是一个使用COBOL语言(具体为GnuCOBOL编译器)编写的极简静态Web服务器。它旨在演示COBOL在现代系统编程任务中的适用性。

主要功能与特性

  • 文件服务:从当前工作目录为静态文件提供服务。
  • MIME类型检测:自动识别并设置常见文件类型(如.html, .css, .js, .png, .jpg等)的Content-Type。
  • HTTP状态码:支持返回200(成功)、403(禁止访问)、404(未找到)和413(请求体过大)状态码。
  • 安全性:内置路径遍历攻击防护,阻止包含..的请求,仅允许访问当前目录及子目录下的文件。
  • 日志记录:请求日志清晰,记录完整的HTTP头信息。
  • 默认文档:对根路径/的请求默认返回index.html文件。

技术要求与安装

  • 依赖项:GnuCOBOL (cobc) 编译器、兼容POSIX的操作系统(如Linux、macOS)以及make工具。
  • 安装GnuCOBOL:提供了在macOS、Ubuntu/Debian和Fedora/RHEL系统上的安装命令。
  • 构建:从仓库克隆或下载代码后,在项目目录中执行make命令进行编译。使用make clean清除构建产物。

使用方法

  1. 在希望提供服务的文件所在的目录中运行编译后的可执行文件./webserver
  2. 服务器默认在8080端口启动。
  3. 通过浏览器或curl等工具访问http://localhost:8080/即可获取文件。
  4. Ctrl+C停止服务器。

项目结构

项目采用模块化设计,主要文件包括:

  • config.cpy:服务器配置(如端口)。
  • socket-defs.cpy, http-structs.cpy, file-structs.cpy:数据结构定义。
  • path-utils.cbl:路径验证与清理。
  • mime-types.cbl:MIME类型映射。
  • file-ops.cbl:文件读取操作。
  • http-handler.cbl:HTTP请求/响应处理。
  • webserver.cbl:主服务器程序。

配置

可以通过编辑config.cpy文件中的SERVER-PORT值来修改服务器监听端口,修改后需要重新编译。

已知限制

  • 单线程:一次仅能处理一个请求。
  • 无SSL/TLS:不支持加密连接。
  • 文件限制:最大服务文件大小为64KB;仅支持文本文件(行顺序文件组织)。
  • 功能缺失:不支持缓存、压缩、范围请求或部分内容。

许可与致谢

该项目已置于公共领域。其目的是展示COBOL用于现代系统编程任务的能力。

33. Stdlib: A library of frameworks, templates, and guides for technical leadership (debuggingleadership.com)

Stdlib: 技术领导力框架、模板与指南库

Stdlib 是一个社区策划的实用资源库,旨在帮助技术领导者解决实际挑战。它收录了大量经过实战检验、可立即应用的框架、模板和指南。该资源库持续根据社区反馈和新兴最佳实践更新内容。

以下是从其庞大目录中精选的资源示例,主要涵盖以下关键领域:

1. 决策制定与战略 资源强调避免过度工程化,推崇“简单至上”的决策文化。例如,指出在晋升中,构建过度复杂的系统比交付最简单的有效方案更易获得认可,这激励了复杂性而非判断力。同时,资源探讨了“根因分析”的局限性,认为真正的失败存在于各相关因素之间的关系,而非单一组件。战略被定义为建立内在一致的优先级,要求团队在不确定时果断聚焦,而非犹豫不决或过度承诺。

2. 流程效率与团队管理 资源指出,许多问题源于沟通不畅而非编码困难。跨团队协作的延迟往往源于组织边界造成的沟通壁垒,是“康威定律”的体现。优秀的管理者通过理解工作难度、明确重点、保持对团队动态的认知并主动为团队屏蔽干扰来减少“紧急事件”。建议通过持续询问“当前最大的三个摩擦点是什么?”来发现和解决隐藏的摩擦。此外,当管理者成为瓶颈时,其首要任务应是解除他人的障碍,而非满足于被需要。

3. 沟通与冲突解决 资源强调领导者即兴评论可能被放大为组织策略。有效的冲突解决需回溯到观点分歧点,转换视角以理解对方,然后共同寻求中立解决方案。在沟通中,使用“校准问题”迫使利益相关者看到约束,镜像技术术语以鼓励深入解释。将隐喻作为“翻译工具”,帮助非技术人员理解技术权衡。同时,要区分即时回复与需要深思熟虑的信息,避免造成“紧急文化”。

4. 职业发展与工程文化 资源指出,长期充当团队的“救火队员”虽显积极,实则是职业陷阱,会导致工作被固化和隐形化。工程品味是产品思维、系统思维和质量意识的综合校准,源于经验模式匹配。随着角色转变,与任何人有效合作的能力变得至关重要。资源还反思了编程文化从重视工艺学习到将代码视为一次性工具的转变,并探讨了管理层级扁平化和IC(个人贡献者)薪酬上升背景下,担任工程经理角色的风险。

5. 创新与适应性变化 资源讨论了在AI时代,产品感知(同理心、模拟技能、战略思考等综合能力)将成为产品专家的关键职业护城河。AI辅助开发正在改变软件经济学,亲自编写代码对于把握竞争拐点可能再次变得重要。同时,SaaS的定价模式正从基于席位的订阅转向基于结果的收费,AI代理使这种转变在经济上变得可行。

6. 技术债务与系统思维 资源指出,大型系统在数十年间会演变成数千个相互脱节的模块。提前进行工程设计本可减少90%的复杂性,但处理依赖关系需要无人愿做的协调。关于时间的常见误解会在生产代码中导致真实缺陷。构建可靠的AI应用关键在于可观测性、评估和系统性迭代,将AI工程视为实证发现过程。

总结 Stdlib 作为技术领导力的综合资源库,汇集了来自不同视角的深刻见解。其核心主题是:在快速变化的技术环境中,卓越的领导力依赖于清晰的决策、高效的流程、真诚的沟通、持续的学习适应能力,以及在工程复杂性与业务目标之间取得平衡的智慧。

34. What makes 5% of AI agents work in production? (www.motivenotes.ai)

核心观点:绝大多数AI智能体在生产环境中失败,原因并非模型能力不足,而是围绕模型构建的上下文工程、安全、记忆设计等系统架构尚未成熟。成功的5%智能体共同特征在于:将AI定位为人类的辅助工具,并构建了可靠、可审计、符合信任机制的系统。

成功智能体的关键要素

  1. 上下文工程,而非简单提示

    • 将上下文视为可版本化、可测试的特征工程,而非简单的文本输入。
    • 采用双层架构:结合向量搜索的语义层与基于元数据(如文档类型、时间戳、权限)的元数据层,确保检索相关且结构化的知识。
    • 避免“索引一切”或“索引不足”的误区,进行选择性上下文剪枝、验证与可观测性
  2. 解决查询理解难题

    • 自然语言到SQL(Text-to-SQL)在生产中极难成功,因为业务术语具有领域特异性。
    • 成功方案包括:建立业务词汇表和术语映射、使用带约束的查询模板、部署验证层以捕获语义错误,并建立反馈循环持续改进。
  3. 安全、治理与权限控制

    • 安全与权限是部署的关键障碍,必须实现:
      • 输出溯源:追踪输入如何影响输出。
      • 行级、基于角色的访问控制:不同用户即使提问相同,也应获得权限差异化的输出。
      • 统一元数据目录,在索引和查询时嵌入访问策略。
  4. 信任与人类在环设计

    • 信任是广泛采用的核心障碍,尤其涉及敏感决策(如财务、医疗)。
    • 成功的智能体定位为助手而非自主决策者,设计人类在环流程,提供易于验证和覆盖的反馈循环,确保行为一致、可解释、可审计。
  5. 记忆系统的设计决策

    • 记忆是分层设计决策(用户、团队、组织层面),影响隐私、用户体验和系统性能。
    • 最佳实践是将记忆抽象为独立的上下文层与行为层,实现版本化和可组合性。
    • 需权衡个性化与隐私,避免过度个性化引发用户反感。
  6. 多模型编排与路由

    • 生产环境通常使用多模型架构,根据任务复杂度、延迟、成本、数据合规性等因素进行路由。
    • 例如,简单查询使用本地小模型,复杂推理调用前沿模型,并可能引入双模型冗余(评判+响应)进行验证。
    • 模型选择策略本身可以随时间学习优化。

未来方向与建议

  • 缺少的基础设施:可移植、用户控制的安全记忆层;系统化的上下文可观测性工具;替代脆弱Text-to-SQL的高层语义业务逻辑层
  • 交互模式:自然语言适合降低复杂工具的学习曲线或处理探索性、情感化任务,但需与GUI控件结合,让用户选择交互方式。
  • 构建者应思考的五个问题
    1. 应用的上下文预算是多少?
    2. 记忆的边界如何设定(用户/团队/组织)?
    3. 能否追踪输出的溯源?
    4. 使用单一模型还是多模型路由?
    5. 用户是否信任系统处理敏感数据?
  • 未来优势将取决于上下文质量、记忆设计、编排可靠性和信任用户体验,而非单纯的模型访问权限。
35. How we are building Audacity 4 (www.youtube.com)

提供的文章内容与标题不符。标题为《How we are building Audacity 4》,但内容显示的是YouTube网站的标准页脚信息(包括简介、版权声明、隐私政策等链接和版权符号),并未包含任何关于Audacity 4音频编辑软件开发计划、进展或技术细节的实际内容。

因此,无法根据提供的内容生成关于Audacity 4开发过程的准确摘要

如需获得相关摘要,请提供与文章标题《How we are building Audacity 4》对应的实际文章正文。

36. Delimited continuations in lone Lisp (www.matheusmoreira.com)
# Lone Lisp中的定界续体实现总结

## 功能概述
Lone Lisp 新增了定界续体(delimited continuations)支持,这是一种强大的控制流机制,为异常处理和生成器等功能奠定了基础。

## 实现背景与挑战
- **迭代问题**:Lone 最初缺乏控制流能力,只能通过函数调用实现迭代(如 `each` 原语),这暴露了其在程序流程控制方面的局限性。
- **目标转变**:从改进迭代机制转向实现更通用的控制流,需要获得对调用栈的控制能力。
- **关键障碍**:Lone 是递归树遍历解释器,调用栈由 C 编译器管理,无法直接操控。

## 技术实现路径

### 1. 重构求值器:采用显式控制求值器
- **灵感来源**:SICP 第 5.4 章描述的显式控制求值器。
- **核心改动**:将递归求值器改造为基于寄存器和栈的显式控制机器。
- **求值逻辑**:
  - 自求值表达式(数字、布尔等)直接返回。
  - 符号在环境中查找。
  - 列表表示函数应用,通过栈保存执行上下文,逐步处理操作符和操作数。

### 2. 解决原语递归调用问题
- **问题**:原语(C 函数)需要回调 Lisp 求值器,导致 C 栈与 Lisp 栈交织,阻碍栈控制。
- **解决方案**:将原语改写为**状态机**。
  - 原语通过“步骤”值与机器交互,返回步骤值告知机器下一步操作。
  - 机器完成操作后恢复原语执行,避免 C 栈累积。
  - 实现了控制反转:原语配置机器行为并返回,由机器驱动后续执行。

### 3. 实体化与操控栈
- **栈结构**:栈不仅存储数据,还存储机器执行步骤(栈即代码,构成“当前续体”)。
- **早期应用——`return` 原语**:
  - 在函数调用前压入函数分隔符。
  - `return` 通过展开栈至最近的分隔符实现提前返回。

### 4. 实现定界续体
- **核心概念**:定界续体类似可恢复的异常——`throw` 捕获续体,异常处理器可调用续体恢复执行。
- **关键原语**:
  - `control`:压入续体分隔符和处理器函数,执行主体表达式。
  - `transfer`:
    1. 定位续体分隔符,捕获从分隔符到栈顶的所有栈帧,存入堆内存(创建续体对象)。
    2. 重置栈至分隔符位置(相当于重入 `control`)。
    3. 调用处理器函数,传入值和续体。
- **续体的调用**:
  - 续体作为可应用对象,应用时将捕获的栈帧压回当前栈顶,恢复机器状态,传入值继续执行。

## 代码结构要点
- **机器状态**:使用栈帧(`stack_frame`)保存表达式、环境、步骤等信息。
- **续体对象**:包含帧计数和帧数组的堆分配结构。
- **原语状态机**:通过 `switch(step)` 和返回步骤值控制执行流。

## 意义与扩展性
- 定界续体为实现异常处理、生成器、协程等高级控制结构提供了基础。
- 实现展示了在树遍历解释器中实体化和操纵执行栈的可行方案,避免了字节码转换。
37. Europe Can No Longer Ignore That It's Under Russian Attack (www.worldpoliticsreview.com)

欧洲已无法忽视正遭受俄罗斯攻击。仅在过去两周内,三架俄罗斯武装军机进入爱沙尼亚领空,19架俄罗斯军用无人机侵犯波兰领空,另有一架俄罗斯军用无人机飞越罗马尼亚上空。此外,丹麦多处机场因无人机目击事件而关闭并导致航班取消,德国上空也发现了不明无人机。

自2022年俄罗斯全面入侵乌克兰以来,欧洲已不再是和平大陆。显然,这场战争不会仅限于乌克兰境内。

这不仅仅是无人机问题,也不仅仅是过去几周的事。国际战略研究所(IISS)的一项近期研究追踪了俄罗斯对欧洲的非常规战争,发现过去十年中针对“能源、交通、银行、金融市场基础设施、医疗、供水、数字基础设施及政府设施(包括军事设施)”的袭击。

欧洲正面临来自俄罗斯的混合威胁,包括领空侵犯、关键基础设施攻击等,这表明俄罗斯对欧洲的敌对行动是系统性且长期的,威胁范围已远超乌克兰战场。

38. Why most product planning is bad and what to do about it (blog.railway.com)

产品规划为何常失败及应对之道:问题驱动开发

核心观点

多数企业的产品规划陷入形式主义、僵化或被动响应,而非真正高效驱动产品发展。作者公司Railway在用户增长至170万+后,曾尝试OKR等方法,但发现其更适合制造业和销售等目标明确的领域,对于需要创造性的软件工程工作,OKR易导致目标设定困难、缺乏灵活性,并催生大量无效讨论。

问题根源

  1. 规划方式不当:常见三种低效模式——大型仪式性会议、因功能缺失而紧急响应、依赖创始人直觉。
  2. OKR的局限性
    • 适用于有明确二元目标的场景,但对如“提升转化率”等开放式目标效果不佳。
    • 需要组织具备优秀的目标设定能力,对工程师等创造性角色挑战大。
    • 一旦承诺季度OKR,调整余地小,可能导致资源错配。
  3. 项目候选制的缺陷:Railway曾采用项目候选列表,但随着团队扩张至200人,出现以下问题:
    • 讨论时间过长。
    • 员工易对自提案解决方案产生情感依附,若被否决易挫伤积极性。
    • 需额外会议协商,占用工程时间。
    • 难以应对跨团队、跨季度的大型项目(如Railway Metal)。

解决方案:问题驱动开发(Problem Driven Development)

核心理念:聚焦于清晰定义问题,而非过早进入解决方案。通过每季度4天的集中流程,实现高效规划。

流程概览

  • 持续收集问题:在规划周前开始,鼓励员工仅描述问题,不附带解决方案。
  • 四天季度规划
    1. 第一天(独立提交):各团队(产品工程、平台、物流)独立列出问题,填写标准化模板。
    2. 第二天(内部优先级排序):各团队在闭门会议中独立对问题进行优先级排序(P0为生存风险、P1为本季度必需、P2为锦上添花),并标记争议点与外部依赖。
    3. 第三天(跨团队协调):讨论依赖冲突、确认团队产能(考虑现有任务、值班、休假等),必要时调整优先级或识别招聘需求。
    4. 第四天(公开承诺):全员审核最终问题列表,确认无误后为每个问题指定直接负责人(DRI),公开承诺。之后再针对问题撰写RFC寻找解决方案,并转化为具体任务。

关键优势

  • 避免方案过早绑定:防止因情感投入而导致对方案的执着,聚焦问题本质。
  • 提升效率:各团队先独立排序,减少会议中的实时谈判消耗。
  • 自然暴露依赖:跨团队问题的依赖关系在协调阶段清晰显现,避免季度中途出现阻碍。
  • 灵活应对容量:根据实际人力安排规划,确保承诺可行性。
  • 减少形式主义:流程简洁,注重实际交付而非过程表演。

总结

Railway的“问题驱动开发”通过明确问题边界、团队独立优先排序、公开承诺的方式,取代了传统规划中常见的仪式性讨论和僵化目标设定。该方法帮助公司在规模扩张过程中保持了高交付速度,其核心在于建立一种安全提出问题、不过早陷入解决方案的文化。作者建议其他团队可借鉴此流程,并预告将开源相关模板,同时强调规划流程本身也需持续迭代优化。

39. California needs to learn from Houston and Dallas about homelessness (www.governance.fyi)

加州应向休斯顿和达拉斯学习应对无家可归者问题

问题现状与对比 加州(尤其是旧金山和洛杉矶)无家可归者问题严重,公共空间秩序崩溃。2015年至2022年,洛杉矶县无家可归人口激增56%,而休斯顿同期下降32%。加州以全国12%的人口承载了28%的无家可归者,旧金山的无家可归率几乎是休斯顿的20倍。加州已投入超过270亿美元用于解决此问题,但效果不佳。

核心差异:系统架构 根本区别在于系统性架构。德州城市(休斯顿和达拉斯)构建了有效的运作体系,而加州则构建了无效体系却耗资巨大进行维持。

  • 德州模式:通过纪律严明的系统,大规模地永久性解决无家可归问题,使街头营地消失。其目标是让城市恢复宜居。
  • 加州模式:采取权宜之计,导致问题在不同街区间迁移而非解决,造成持续的不稳定。

德州系统的成功要素

  1. 统一的“骨干”组织:指定单一实体(如休斯顿的“无家可归者联盟”、达拉斯的“住房前进”)拥有真正的权力——控制资金、管理统一数据系统、并对众多合作机构执行绩效标准。董事会由资源控制者(如慈善、企业、政府领导)而非服务提供者主导,确保战略协调。
  2. 中央化战略,分散化执行
    • 统一准入与数据:所有人通过同一评估流程进入住房系统,所有合作方使用同一数据系统,使绩效透明可比。
    • 明确的绩效指标:如每美元住房安置人数、从准入到安置的时间、保留率。
    • 执行灵活性:案例经理和非营利组织在如何提供服务方面拥有自主权。
  3. 运作流程:街头外展团队接触营地居民→统一评估并按脆弱性评分排序→住房资源匹配优先级最高的对象→案例经理负责寻找公寓、谈判、协调混合资金(联邦、地方、私人)支付入住成本。
  4. 成果:休斯顿自2012年以来已安置超过33,000人,保留率达90%,无家可归率低至每10万居民52人。达拉斯试点项目在100天内安置了107名长期无家可归者。

加州系统的缺陷

  1. 碎片化与僵化:允许44个不同的“关怀连续体”采用不兼容的方法,数据系统割裂。同时,却对非营利组织的人员配置和服务结构施加僵化的合规要求,导致系统既无法大规模协调,也无法灵活适应本地情况。
  2. 重清扫,轻安置:如旧金山米慎区的案例,耗费200天调动多部门力量清理街道,但结果只是将危机从一个街区转移到另一个街区,且无法回答被清场者是否得到了永久安置。缺乏统一数据系统来追踪结果。
  3. 低效且危险的外包:将街头管理外包给监督不足的承包商(如“城市炼金术”),部署缺乏安全保障的工作人员在可能有暴力个体的环境中执行行为规范,导致工作人员面临风险(已有至少三名员工在执勤时被枪击),且承包商抵制透明度和问责。
  4. 结构性瓶颈
    • 住房短缺:加州面临350万套住房的结构性缺口,建造成本极高(洛杉矶单套支持性住房平均成本60万美元以上),且法规(如限制性分区、CEQA诉讼)阻碍住房建设。
    • 资源错配:9个州机构管理41个无家可归者项目,尽管人均花费远高于德州,但无法转化为成果。
    • 非营利产业复合体:许多无家可归服务非营利组织在结果导向不足的环境中运作,政治关系比绩效更重要,存在管理不善和财务问题,且倾向于追求活动指标而非关键结果指标(每美元安置人数)。

加州困境的根源 加州拥有统一的民主党控制和巨额资源,却选择了保护组织利益而非构建有效系统。从纵容营地生长到纽森的强硬清理令,两种方式都导致了永久的不稳定——要么无限期管理问题,要么强行迁移而非解决。

德州模式的脆弱性与启示 德州模式也面临挑战:高度依赖联邦资金(易受政策风向影响)、住房市场压力增大、政治意愿可能消退。但其构建的系统至少为应对挑战奠定了基础。

给加州的启示 加州不应照搬具体项目,而应学习其系统能力

  1. 指定拥有资金、数据和绩效标准实权的单一骨干组织。
  2. 强制实施统一的准入和数据系统。
  3. 混合灵活资金(联邦、地方、私人慈善)。
  4. 在绩效框架内给予执行自主权。
  5. 只有在住房安置能力建立后,才进行营地清理

结论是:加州有足够的政治优势和资源来构建此类系统,但选择了舒适的失效模式。德州城市在条件有利时构建了有效的基础设施,而加州从未构建任何足以成功的基础。问题在于,加州居民还要忍受多少年生活质量下降,才会要求政客停止糟糕的工作,开始建立能够实现甚至超越德州城市所证明的成果的系统?

40. Mister Macintosh (2004) (folklore.org)

“Macintosh先生”创意起源与实现(2004)

史蒂夫·乔布斯在Macintosh开发期间,常造访Texaco Towers查看进度。某个夜晚,他突发灵感提出“Macintosh先生”的概念:一个神秘小人隐居于每台Macintosh电脑中,偶尔在用户下拉菜单时意外出现——他靠在菜单边缘挥手致意后便迅速消失,使用户难以确认是否真实见过。

乔布斯设想将此设计为隐藏彩蛋,约每千至两千次菜单操作出现一次,并在手册中植入相关传说,制造虚实难辨的趣味性。工程师们对此创意感到兴奋,并开始讨论具体实现方案。

然而,由于系统软件需压缩至64KB的ROM中,随着开发推进空间日益紧张,最终无法容纳Macintosh先生的位图资源。工程师并未放弃,转而设计了名为“MrMacHook”的内存地址机制:菜单显示软件会检查该地址是否存有例程,若有则调用该例程在菜单框内绘制图像,并通过返回值判断是否执行了绘制操作。此方案允许应用程序或系统模块自行实现Macintosh先生或类似隐藏角色。

文中提到,尽管留下了技术接口,但不确定是否有人真正基于“MrMacHook”实现过Macintosh先生或其他有意义的隐藏功能。该创意最终未能正式集成到发布版系统中,却体现了早期Macintosh团队对用户体验趣味性的探索。

41. Solveit – A course and platform for solving problems with code (www.answer.ai)

Solveit:代码解决问题的课程与平台

核心概念

Solveit是由fast.ai团队开发的一门课程和一个配套平台,旨在教授一种基于迭代和深度理解的问题解决方法。该方法灵感来源于数学家George Polya 1945年提出的四步问题解决框架:

  1. 理解问题:明确要解决什么。
  2. 制定计划:将问题分解为可管理的小步骤。
  3. 执行计划:逐步实现并验证每一步。
  4. 回顾反思:考虑其他方案并总结经验。

它强调小步骤、快速反馈和持续反思,与依赖AI一次性生成代码的“氛围编程”形成鲜明对比。

平台特点与AI的角色

Solveit平台专为支持这种工作方式而设计:

  • 共享上下文:AI(如平台内置助手)与人类在同一界面工作,能看到相同的代码、笔记和输出,使AI成为真正的迭代伙伴。
  • 对话工程:用户可以编辑、整理和优化与AI的对话历史,避免错误上下文影响后续交互,保持AI回复的质量。
  • 学习模式设计:平台通过代码默认输入、分步引导、手动确认AI代码等设计,鼓励用户主动学习和控制,而非被动接受AI输出。
  • 快速反馈循环:类似于Jupyter Notebook的交互式环境,便于逐步测试代码片段,快速验证想法。

应用场景与目标

该方法不仅适用于编程,还可扩展到Web开发、系统管理、写作、业务和学习等多个领域。Solveit平台本身已被用于日常开发、部署(包括平台自身的基础设施)、法律合同起草等工作。

与AI协作的哲学

课程主张有节制地使用AI辅助

  • 当遇到不懂的小步骤时,可以向AI寻求帮助。
  • 但用户应理解AI给出的每一段代码,将其作为学习机会,避免积累“技术债务”。
  • 目标是通过刻意练习,使人类技能与AI同步甚至超越AI的发展速度,最终提升个人能力。

课程与注册

为期五周的课程将由Jeremy Howard等讲师带领,内容涵盖问题解决方法论、平台使用,并包含Eric Ries关于坚持愿景的创业见解。注册截止日期为2024年10月20日,但若名额已满可能会提前关闭。