AI 的边界与人的表达
这组文章都在说一件事:AI 看起来像“懂了”,但很多时候只是把上下文、格式和统计规律拼得很像。它能帮忙,但离真正理解还很远。
- 今夜,大模型从世界消散:文章把大模型比作每次对话都会“失忆”的人,说明 LLM 本身没有持续记忆,所谓连续对话主要靠外部系统把历史内容重新塞回上下文。作者也指出,持久记忆、主动行动和“人格”更多是工程包装,成本高,且容易被提示词注入破坏。
- Spotify 的 AI DJ 蠢得离谱:作者用古典音乐检验 Spotify 的 AI 搜索,结果发现它连交响曲多乐章这种基本结构都处理不好,曲目排序和关联也很乱。文章借此质疑“AI 很聪明”的宣传,指出平台对复杂内容的理解仍很浅。
- 自治软件翻译的运作机制:AI 自动翻译代码这件事,关键不只是“翻过去”,而是能不能靠测试证明行为一致。文章认为现在的模型更像高效助手,还离不开人设计测试、不断回归验证;但在旧系统迁移、跨平台重写上,已经开始有实际价值。
- 让我慢慢了解真实的你,连同你的缺点与不完美:作者反对用大模型替自己“润色”写给别人的话。理由很简单:错误、语气、停顿,本来就是人与人理解彼此的一部分;一旦全交给模型,文字是更顺了,人反而更远了。
底层系统与网络工程
这几篇更偏硬核:一篇讲穿透 NAT,一篇讲反作弊,一篇讲轻量并发,一篇讲树莓派系统支持。重点都很实在,都是把老问题做得更稳、更省、更能用。
- 最优雅的 TCP 打洞算法:文章提出一种更简洁的 TCP 打洞办法,用时间戳和确定性端口生成来减少双方交换元数据的复杂度。它依赖较精确的同步和非阻塞套接字,在支持端口映射保持的路由器上更容易测试和复现。
- 内核级反作弊是怎么运作的:文章系统梳理了 Windows 内核反作弊的常见做法,包括监控进程和线程、检查驱动、扫描内存、识别注入和钩子等。它也点出一个现实:这类方案确实有效,但代价是极高权限带来的隐私和安全风险。
- SBCL Fibers——轻量级协作线程:SBCL 正在加入用户态 fibers,用更小的栈和更低的切换开销来处理高并发任务。文章给出的测试显示,在 HTTP 服务器等 I/O 密集场景下,它比传统线程模型更省内存,也能拿到更高吞吐。
- Raspberry Pi 5 上的 Fedora 44:Fedora 44 Beta 已开始支持 Raspberry Pi 5,基本覆盖启动、网络、图形和常见桌面环境。虽然 NVMe、音频和部分硬件功能还不完整,但对想把 Pi 5 当作正式 Linux 机器来用的人,这已经是明显进展。
编程语言、数学与图形工具
这一组文章提醒人:工具看起来“怪”或者“保守”,往往不是因为作者偷懒,而是底层约束真的复杂。
- Show HN:Han——一门用 Rust 编写的韩语编程语言:Han 用韩文关键字写程序,编译器用 Rust 实现,并支持 LLVM、解释执行、REPL 和 LSP。它不只是个噱头项目,也是在试着回答一个老问题:编程语言能不能更自然地贴近本地语言和文化。
- 为什么 Mathematica 不把 sinh(arccosh(x)) 化简掉:这篇文章解释了符号计算里一个常见疑惑:有些式子看上去能化简,系统却不肯动。原因在复数范围里并不简单,反函数和平方根都牵涉分支切割;如果不先说清变量范围,贸然化简反而可能出错。
- Bezier 曲面的切片处理:文章用很直接的办法讲清楚了如何把 Bezier 曲面按参数递归切开,同时保持原来形状不变。对做建模、可视化或编辑器的人来说,这是一种很实用的几何处理思路。
开源规则与技术史
一篇谈法律如何逼开源项目做不想做的事,一篇回看 1980 年代的聊天机器人。放在一起看,会发现技术问题常常也是制度问题、文化问题。
- 不老 Linux——献给所有年龄成谜的人类的软件:Ageless Linux 公开反对加州要求操作系统收集年龄信息的法案,认为这类规则会把合规成本压到开源项目头上,却未必真能保护儿童。它不是普通发行版,更像一次故意发起的法律和产品抗议。
- 走进 Dialector:一窥电影人 Chris Marker 于 1988 年打造的聊天机器人:文章回顾了 Chris Marker 在 1988 年做的聊天机器人 Dialector。它不像今天很多产品那样强调效率和规模,而更关心语言、记忆和人与机器之间的对话感,读来像是在提醒我们:聊天机器人这件事,本来就不只是工程题。