惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
S
Securelist
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Schneier on Security
Schneier on Security
Attack and Defense Labs
Attack and Defense Labs
Vercel News
Vercel News
腾讯CDC
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
量子位
S
Schneier on Security
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
T
Tenable Blog
PCI Perspectives
PCI Perspectives
MyScale Blog
MyScale Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
W
WeLiveSecurity
N
News | PayPal Newsroom
P
Proofpoint News Feed
O
OpenAI News
C
CERT Recently Published Vulnerability Notes
B
Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy

Agili 的 Hacker Podcast

Agili 的 Hacker Podcast 2026-07-25 Agili 的 Hacker Podcast 2026-07-24 Agili 的 Hacker Podcast 2026-07-23 Agili 的 Hacker Podcast 2026-07-22 Agili 的 Hacker Podcast 2026-07-21 Agili 的 Hacker Podcast 2026-07-20 Agili 的 Hacker Podcast 2026-07-19 Agili 的 Hacker Podcast 2026-07-18 Agili 的 Hacker Podcast 2026-07-17 Agili 的 Hacker Podcast 2026-07-16 Agili 的 Hacker Podcast 2026-07-15 Agili 的 Hacker Podcast 2026-07-14 Agili 的 Hacker Podcast 2026-07-13 Agili 的 Hacker Podcast 2026-07-12 Agili 的 Hacker Podcast 2026-07-11 Agili 的 Hacker Podcast 2026-07-10 Agili 的 Hacker Podcast 2026-07-09 Agili 的 Hacker Podcast 2026-07-08 Agili 的 Hacker Podcast 2026-07-07 Agili 的 Hacker Podcast 2026-07-04 Agili 的 Hacker Podcast 2026-07-06 Agili 的 Hacker Podcast 2026-07-03 Agili 的 Hacker Podcast 2026-07-02 Agili 的 Hacker Podcast 2026-07-01 Agili 的 Hacker Podcast 2026-06-30 Agili 的 Hacker Podcast 2026-06-29 Agili 的 Hacker Podcast 2026-06-28 Agili 的 Hacker Podcast 2026-06-27 Agili 的 Hacker Podcast 2026-06-26 Agili 的 Hacker Podcast 2026-06-25 Agili 的 Hacker Podcast 2026-06-24 Agili 的 Hacker Podcast 2026-06-23 Agili 的 Hacker Podcast 2026-06-22 Agili 的 Hacker Podcast 2026-06-21 Agili 的 Hacker Podcast 2026-06-20 Agili 的 Hacker Podcast 2026-06-19 Agili 的 Hacker Podcast 2026-06-18 Agili 的 Hacker Podcast 2026-06-17 Agili 的 Hacker Podcast 2026-06-16 Agili 的 Hacker Podcast 2026-06-15 Agili 的 Hacker Podcast 2026-06-14 Agili 的 Hacker Podcast 2026-06-13 Agili 的 Hacker Podcast 2026-06-12 Agili 的 Hacker Podcast 2026-06-11 Agili 的 Hacker Podcast 2026-06-10 Agili 的 Hacker Podcast 2026-06-09 Agili 的 Hacker Podcast 2026-06-08 Agili 的 Hacker Podcast 2026-06-07 Agili 的 Hacker Podcast 2026-06-06 Agili 的 Hacker Podcast 2026-06-05 Agili 的 Hacker Podcast 2026-06-04 Agili 的 Hacker Podcast 2026-06-03 Agili 的 Hacker Podcast 2026-06-02 Agili 的 Hacker Podcast 2026-06-01 Agili 的 Hacker Podcast 2026-05-31 Agili 的 Hacker Podcast 2026-05-30 Agili 的 Hacker Podcast 2026-05-29 Agili 的 Hacker Podcast 2026-05-28 Agili 的 Hacker Podcast 2026-05-27 Agili 的 Hacker Podcast 2026-05-26 Agili 的 Hacker Podcast 2026-05-25 Agili 的 Hacker Podcast 2026-05-24 Agili 的 Hacker Podcast 2026-05-23 Agili 的 Hacker Podcast 2026-05-22 Agili 的 Hacker Podcast 2026-05-21 Agili 的 Hacker Podcast 2026-05-20 Agili 的 Hacker Podcast 2026-05-19 Agili 的 Hacker Podcast 2026-05-18 Agili 的 Hacker Podcast 2026-05-17 Agili 的 Hacker Podcast 2026-05-16 Agili 的 Hacker Podcast 2026-05-15 Agili 的 Hacker Podcast 2026-05-14 Agili 的 Hacker Podcast 2026-05-13 Agili 的 Hacker Podcast 2026-05-12 Agili 的 Hacker Podcast 2026-05-11 Agili 的 Hacker Podcast 2026-05-10 Agili 的 Hacker Podcast 2026-05-09 Agili 的 Hacker Podcast 2026-05-08 Agili 的 Hacker Podcast 2026-05-07 Agili 的 Hacker Podcast 2026-05-06 Agili 的 Hacker Podcast 2026-05-05 Agili 的 Hacker Podcast 2026-05-04 Agili 的 Hacker Podcast 2026-05-03 Agili 的 Hacker Podcast 2026-05-02 Agili 的 Hacker Podcast 2026-05-01 Agili 的 Hacker Podcast 2026-04-30 Agili 的 Hacker Podcast 2026-04-29 Agili 的 Hacker Podcast 2026-04-28 Agili 的 Hacker Podcast 2026-04-27 Agili 的 Hacker Podcast 2026-04-26 Agili 的 Hacker Podcast 2026-04-25 Agili 的 Hacker Podcast 2026-04-24 Agili 的 Hacker Podcast 2026-04-23 Agili 的 Hacker Podcast 2026-04-22
Agili 的 Hacker Podcast 2026-07-05
Agili 的 Hack · 2026-07-06 · via Agili 的 Hacker Podcast

今天的内容跨度不小:从按钮设计里“情境性残疾”的实战案例,到 shadcn/ui 把默认组件库切到 Base UI 的争议,再到水母无疤愈合的细胞机制。Agili 的 Hacker Podcast 和你一起快速过一遍。

按钮只有一件事要做

iPhone 与 Nothing Phone 的旋转逻辑差异

iPhone 的图片旋转按钮会缓冲用户的多次点击,无论点击多快,都会依次旋转。Nothing Phone 则在第一次点击时给予触感和声音反馈,但动画期间忽略后续点击。作者认为这暴露了一个普遍问题——按钮不应让用户等待动画结束。

“情境性残疾”与“情境性高级用户”

“情境性残疾”指普通人在特定情境下(手拿满东西、光线不佳)会暂时难以操作界面。同理,“情境性高级用户”即使在轻度使用的界面中也可能需要快速批量操作,比如连续旋转多张文档照片。此时按钮的可预测性和即时响应比动画流畅更重要。

社区讨论:去抖动与立即反馈

物理按钮存在“接触抖动”,需要软件去抖动来避免误触发。但数字 UI 里的去抖动必须谨慎:如果按钮给了反馈(高亮、声音)却忽略操作,用户会困惑。理想方案是点击后立即进入“已确认”状态并禁用,直到动作完成。区分操作是否可重复恢复也很关键——旋转图片可以缓冲点击,而“提交订单”应该禁用按钮。Steve Jobs 曾因 PDF 滚动按钮忠实地缓冲执行了两次点击,导致演示中尴尬等待,暴露了动画不应成为交互瓶颈的问题。

shadcn/ui 默认组件库切换至 Base UI

从 Radix 到 Base UI 的迁移

shadcn/ui 宣布将默认组件库从 Radix 切换到 Base UI。Base UI 由原 Radix 团队基于积累经验重新开发,已稳定到 1.6.0,每周下载量超 600 万。社区数据显示新项目中 Base UI 使用率是 Radix 的两倍。Radix 不会被弃用,现有项目无需迁移,新项目可用 -b radix 参数继续使用。官方提供了 AI skill 辅助迁移,能保留自定义修改并生成迁移报告。

AI 写作风格引发争议

changelog 的大量短句、分段和“What's Changed”标题被多位读者认为明显出自 Claude 之手。一方认为这种“LinkedIn 风格”不尊重读者,读起来像套话;另一方觉得只要内容准确,用 AI 节省时间无可厚非。有人指出如果 AI 文本冒充人类说话就是欺骗。

其他更新与社区讨论

新功能包括 GitHub Registries(直接用 GitHub 仓库作为组件源)、聊天界面组件、shadcn eject 命令(内联 CSS 依赖)和紧凑风格 Rhea。社区对 shadcn 的 copy-paste 模式评价两极:支持者认为避免了传统 UI 库升级时的破坏,反对者认为版本升级困难、项目缺乏品牌差异。替代品推荐包括 Mantine、React Aria 和 Angular 生态中的 spartan.ng、Skeleton.dev。

水母如何在几分钟内愈合伤口

透明身体让愈合过程可见

芝加哥大学的 Jocelyn Malamy 研究硬币大小的透明水母 Clytia hemisphaerica。小伤口几分钟闭合,大伤口不到一小时,且不产生疤痕。水母没有免疫系统,不会发炎,也没有毛细血管再生来干扰基本修复。这使得科学家可以实时观察活体动物内部的细胞运动。许多伤口愈合的基础机制在不同物种中保守,这意味着水母上的发现可能带来更广泛的启发。

两步愈合机制

最新论文明确了机制:伤口边缘的细胞先伸出富含肌动蛋白的触角(lamellipodia),在基底层上爬行,把细胞拉向伤口。触角在后方形成肌动蛋白和肌球蛋白组成的缆绳(actomyosin cable),一旦触角覆盖基底层,缆绳就像钱袋口的绳子一样把伤口收紧。如果基底层有损伤,缆绳会把整个细胞拉过去同时清除碎屑。伤口太大时,整个上皮层集体抬起移动,直到触角相遇。这个系统能快速适应自然界各种伤口。下一步研究目标是基底层本身的修复过程,目前还没有任何生物体系中对此的清晰了解。

Organic Maps:专注隐私的离线地图

核心特性与治理争议

Organic Maps 由 MapsWithMe 原团队创建,基于 OpenStreetMap 数据,完全离线可用,无广告无追踪。截至 2025 年 12 月下载量达 600 万。2024 年出现的分支 CoMaps 源于治理争议:Organic Maps 背后的公司是营利性实体,关键决策由少数股东做出,部分服务器代码不再开源,捐赠被用于股东个人支出。CoMaps 承诺完全开源并改进了搜索等功能。

搜索与功能的用户反馈

搜索是用户抱怨最多的地方:不如 Google Maps 理解自然语言查询,商业场所数据更新不及时。但对地址导航和公共设施查询足够好用。与 OsmAnd 相比,Organic Maps 更简洁流畅但功能少;OsmAnd 功能强大但界面繁复。CoMaps 正开发从公开来源整合实时交通数据的功能。iOS 版轨迹记录存在掉点问题。用户可通过应用直接编辑 OSM 数据,更专注的编辑工具还有 StreetComplete。

Pandoc Lua 过滤器:更快、更深入的文档处理

Pandoc 从 2.0 版本起内置 Lua 5.4 解释器,编写过滤器不再依赖外部环境和 JSON 序列化开销。Lua 过滤器直接操作 pandoc 的抽象语法树(AST),避免了 JSON 读写和管道开销。对比测试中,Lua 过滤器转换 pandoc 手册用时 1.03 秒,Python 版用时 1.40 秒。过滤器文件返回以元素类型名为键的处理函数表,支持回退函数和遍历顺序设置。全局变量包括输出格式、解析选项和 LPeg 解析库,pandoc 模块提供元素构造函数和工具函数。文档提供了宏替换、代码块编译、生成表格等实际示例。有用户感慨 Pandoc 日益臃肿,不确定不同版本间 Lua 脚本的兼容性。

原子力显微镜:从探针振动到纳米级成像

MEMS 探针与隔振挑战

Applied Science 展示了基于 MEMS 的原子力显微镜(AFM),探针尖端集成 XYZ 位移和振荡器芯片,无需光学对齐。探针以约 9 kHz 频率敲击样品表面,通过检测振荡振幅变化感知表面高度,生成纳米级分辨率图像。系统对振动极为敏感,用花岗岩平板和内胎隔振后,轻轻敲击桌子仍会破坏扫描线。作者使用 Kronos 高速频闪系统以略低于 9 kHz 的脉冲光频闪,慢动作观看探针敲击动作。

细菌与银纳米棱镜的观察

从纳豆中分离的杆状细菌通过离心清洗后,用极稀明胶溶液固定到硅片上,旋涂干燥后 AFM 图像清晰显示细菌形态。样品必须干燥,因为 MEMS AFM 不适用液体环境。对银纳米棱镜的成像显示,随着光照波长增加,颗粒形状从无定形变为更方正,但差异不显著。视频核心探讨了激光制作的衍射光栅:AFM 和扫描电镜显示表面是平的,衍射来自折射率变化而非表面纹理。作者尝试电化学蚀刻来制造注塑模具,高分辨率扫描发现了微小凹坑,但尚未达到预期效果。

警惕针对作家的新骗局:假书俱乐部与假书评

骗局如何运作

针对作家的新一轮骗局使用 AI 生成的个性化邮件,冒充书俱乐部组织者或书评社区,以“聚焦费”“参与费”为名要求作者支付几百美元。真正的书俱乐部不会向嘉宾收费。记住 James D. MacDonald 的“雅各法则”:“钱应该流向作者”。骗子要求通过 PayPal 亲友付款、银行转账等难以撤销的方式支付。Victoria Strauss 亲自测试,发现对方邮件中人数前后矛盾,且回复暴露低劣英语水平。AI 生成的邮件语法完美但缺乏人情味,“完美而空洞的措辞本身就是巨大的警示”。

变种与假冒

骗子会冒充真实存在的 Meetup 书俱乐部,甚至伪造知名作家的推荐信。费用被伪装成“封面重新设计”或“聚会小食”以否认收费。最新变种包括“阅读挑战”骗局。付款渠道转向 Zelle、Cash App、Wise 等更难追回的方式。一位作者分享自己放弃营销、专注写作后反而消除了焦虑。

Meta 的 AI 水印:百万分之一的假阳性率?实际是四分之一

根本统计错误

Dr. Neal Krawetz 测试了 Meta 的 AI 水印算法 Stable Signature,发现宣称的 1/100 万假阳性率实际接近 1/4。分析 10,000 张随机图片后,450 张图片的 48 位签名在 6 位汉明距离内相同,理论值应为 1/2000 万。问题在于假设 48 位比特独立均匀分布,但神经网络输出的位高度相关,产生聚类和偏斜(56% 是 1,44% 是 0)。PCA 白化只能去除线性相关,无法消除非线性结构。

不只是 Meta 的问题

Google 的 SynthID 假阳性率实际约 1/20 而非 1/10,000,Adobe 的 TrustMark 假阳性率约 10%-20%。三家公司都犯了相同的统计错误。这些水印用于内部训练数据过滤勉强可用,但不适合法律证明、保险欺诈或监管合规。欧盟 AI 法案和加州 SB 942 正强制要求 AI 内容水印,而现有技术完全不达标。

《白鲸记》锻炼法:用经典文学压测你的应用

怎样做基准测试

生产力应用应该能流畅处理用户创作的内容。作者 Jesse Grosjean 用《白鲸记》全文作为基准:如果应用能流畅处理它,就足以应对日常需求。测试包括快速打开文件、滚动到底部和中间并调整窗口、全选剪切粘贴撤销重做、编辑中间部分内容检查延迟,最后查看内存占用。计算机很快,《白鲸记》相对这种速度来说很小——如果连这个都过不了,说明有深层问题。

社区回应

arjie 曾把文件绑定到 Zed 编辑器因为高亮快,但 M1 Max 上冷启动也要几秒。后来自写查看器发现计算机能瞬间处理多 GB 的 JSON 文件。Barrin92 提到 Logseq 对超过几千字符的文件自动进入只读模式,有用户抱怨连 1 MB 文本都扛不住。timclark 曾用《战争与和平》向 CEO 解释移动端 API 的浪费。zerr 提到 Winamp 能瞬间加载巨大目录并快速响应用户搜索。t_mahmood 用自己应用测试后推荐了 iced-rs 框架。

史密森尼的猫艺术收藏

史密森尼博物馆推出猫主题艺术精选,涵盖 Thomas Eakins 的油画、Gertrude Abercrombie 的自画像、日本浮世绘风格的《Cat with lantern》和中国画风格的《Cat, rock, and peonies》。一位评论者提到中国画家黄胄笔下的猫是其最爱。整个集合展示了猫如何跨越时间和地域,持续成为艺术创作的常见主题。

播客全文

女:Hello 大家好,欢迎收听Agili 的 Hacker Podcast,我是莓莓。

男:大家好,我是阿迪。

女:今天打算聊的话题跨度有点大,从一个按钮怎么转、到 AI 生成的水印到底靠不靠谱,再到水母怎么愈合伤口,当然也少不了咱们程序员离不开的那些开源库变动。阿迪,你最近有没有遇到过那种让你觉得“我真像个残障人士”的瞬间?我先说,我经常一手拿着咖啡,一手用大拇指刷手机,基本上是半个废人。

男:太有了。我以前觉得单手操作是手机设计的基本功,但实际情况是,很多 UX 设计根本没考虑过你只有半个拇指是自由的情况。这就跟今天要聊的第一篇文章讲的是一个味道,那个作者管它叫“情境性残疾”。

女:对,很有意思的一个概念。就是说我们其实不是在照顾一小部分人,而是每个人在特定场景下都会变成“残疾”。比如在太阳底下看不清屏幕、或者你手指湿了没法指纹解锁。文章具体是拿 iPhone 和 Nothing Phone 的照片旋转按钮举了个例子。

男:对。简单说,iPhone 上你连续点图片旋转按钮,点几下它最后就动几下。但在 Nothing Phone 上不一样,它点下去有一个震动反馈,告诉你“我收到了”,然后动画转起来,在这个动画结束前你再点它是没反应的。

女:我懂那种感觉。就是它明明给了我很确定的振动,但图标就是不动,我的大脑会在一瞬间自我怀疑:是刚才没按下去吗?还是手机坏了?

男:这就是核心问题。按钮给了你触感反馈和声音,做了一个“已注册”的承诺,但在行为上却忽略了你,这比不给反馈还让人困惑。有一种更好的设计模式是这样的:你点下去的一瞬间,按钮就应该立刻变灰或者高亮,明确进入一个“我已经收到指令,正在忙,别催我”的状态,然后才去执行动画。

女:这就相当于一个有礼貌的服务员,他看我招手,立刻朝我点个头,虽然手上正端着菜,但我知道他看见我了。可文章里提到,有些动画变成了目的本身,不让用户打断。这算是交互设计的一个通病吗?

男:这是一个很深的顽疾。很多动画本来是用于掩藏加载时间的,或者是过渡状态的润滑剂,但做着做着,开发者自己就爱上这个动画了,觉得必须看完才对得起自己的代码。文章引用了乔布斯的一个例子,他演示 PDF 滚动时,因为手速太快点了两下,系统忠实地把两次滚动都排队执行了,他只能尴尬地等在原地。

女:哈哈哈,机器很诚实。但最后作者给出的解决方案听起来挺简单的:永远不要强迫用户等待动画完成。如果非要等,至少第一时间用按钮状态告诉用户“我知道了”。

男:说起来简单,工程上其实是区分一个操作是不是幂等的。旋转图片,你多转几下最后再转回来就行,这种操作可以放心排队;但像下单付款这种按钮,就必须在点下去的一瞬间禁用,死都不能让你点第二下。iOS 系统设置里现在有“忽略重复”的辅助功能开关,其实就是给那些手抖的用户准备的系统级防呆设计。

女:嗯,这种辅助功能的出现,正好呼应了那个“情境性残疾”的说法。从单纯的拍照旋转,聊到对所有人的交互公平,这种延伸挺有意思。那接着,咱们聊点程序员更熟悉的,你最近是不是在鼓捣前端组件库?我听说 shadcn/ui 搞了一件大事。

男:对,shadcn 正式把背后的默认组件库从 Radix 切换到了 Base UI。得先说一下背景,Radix 团队现在去了 MUI,Base UI 这东西基本上是他们用 Radix 的经验从零重新打造的,底子更现代。shadcn 的观察数据还挺有说服力的,现在新项目用 Base UI 的已经是 Radix 的两倍了。

女:所以相当于整个社区“用脚投票”了。不过对老用户来说,应该也不用慌吧?

男:对,Radix 没有被弃用。你原来的项目放着不动完全没问题,如果开新项目想用 Radix,加个 -b radix 参数就行。而且他们给了一个 AI Skill 来辅助迁移,能在尽量保留你之前自定义修改的前提下,一步步替换掉组件。这块逻辑听起来挺顺的。

女:其实比起具体的切换,我更好奇的是,这篇文章发出来之后,大家好像聊得最嗨的不是代码,而是写这篇文章的方式。

男:哈哈哈,对。大家一眼就看出来那篇文章是用 Claude 写的。什么“What's Changed”的标题分段、大量的短句、一种特定的节奏。有些评论挺尖锐的,觉得发这种“AI代笔”到社区,感觉不太尊重读的人——意思是,你用机器写的,却让我花时间看一堆客套话。

女:确实有那么点。但如果是我,我可能更客观一点。只要 AI 没有装成“我”说话,而是标明了“这是用工具生成的摘要”,那其实帮助还挺大。不过,要是通篇模仿人类的情绪感慨,最后被发现是机器生成的,那种信任感确实会瞬间崩塌。

男:这又回到刚才聊的“预期管理”,是一种交互上的诚实。聊回代码,社区现在对 shadcn 的 copy-paste 模式也是褒贬不一。喜欢的人觉得,这东西不依赖 npm 大版本升级,你想升哪个组件就复制粘贴进去,特别干净。不喜欢的人就觉得,这么多项目长得一模一样,而且将来要大批量更新样式,只能靠 AI Agent 帮忙复制粘贴,简直是把架构问题甩给了工具。

女:这倒是。我记得评论区有人推荐 Mantine,说功能更全,还有人提到 React Aria,那个是基于 Hooks 的。

男:还有 PrimeNG,最近转向闭源收费了,于是有人在替 Angular 生态找下家,推荐了 spartan.ng。至于 Base UI 最大的优势,其实是足够底层,约束少,但对 form 那块的迁移,有人反馈坑还挺多的。

女:聊完前端组件的迁徙,咱们把视线从屏幕里拉到大自然。阿迪,你有没有想过,水母受伤了是怎么愈合的?而且连块疤都没有。

男:我确实看到了那篇报道,太震撼了。芝加哥大学有一个叫 Jocelyn Malamy 的教授,研究一种硬币大小的透明水母,叫 Clytia hemisphaerica。这种生物,小的伤口几分钟就闭合,大伤口也花不了一小时。关键是,完全不留疤。

女:不留疤太让人羡慕了。它是怎么做到的?我猜肯定不是贴个创可贴。

男:当然不是。因为这种水母是透明的,科学家能直接在显微镜下看活体细胞怎么跑。它愈合的机制分两步,像一个微小精密的拉锁。第一步,伤口边缘的细胞会伸出像脚一样的触角,在底下的一层蛋白质片上爬行,把自己拉过去。第二步,触角爬过去之后,后面会形成一圈由肌动蛋白和肌球蛋白组成的缆绳,这缆绳一收缩,就像收紧钱包的绳子一样,把伤口给扎死了。

女:这个比喻太形象了。它这种“自己爬过去然后收紧”的方式,跟我们人类的愈合原理有什么根本区别吗?

男:最大的区别就是没有炎症。对我们人体来说,炎症、结痂、成纤维细胞乱涌,最后就变成疤痕。水母没有免疫系统,修复过程更纯粹,像胚胎修复一样。Malamy 的原话是,你看着那些移动的上皮细胞,根本分不清是水母的还是其他哺乳动物的。生物最基本的修复机制,大概率是高度保守的。

女:也就是说,研究它是为了反过来启发人类的医学。

男:对。不过有个好笑的点,有网友说看标题以为是发现了把水母糊在伤口上就能快速愈合,结果点进去发现是纯基础生物学研究。虽然不能直接抹,但下一步她要去研究基底层怎么修复,这在任何生物体系里都还是未解之谜。

女:好的,从神奇的生物修复,我们该聊聊周末出去徒步离不开的工具了。你平时去山里最怕什么?我最怕找不到路,因为信号永远是满格的唯一地方就是我家 Wi-Fi 旁边。

男:所以开头提到的 Organic Maps 就成了很多户外人的救命稻草。它是完全基于 OpenStreetMap 的离线地图应用,就是你出发前把上海或者瑞士的地图下载好,然后就真的能断网用,搜索、导航、语音都有。

女:而且还免费?我印象中这年头什么都看广告,要么就付费。

男:没广告,也没追踪。这东西其实是最早开发 Maps.Me 的那批人做的,现在下载量已经 600 万了。不过聊到它,社区里肯定要提到它的那个亲戚,叫 CoMaps。2024 年分家出来的。

女:这俩为什么分家?通常分家要么是技术路线,要么是钱的事?

男:治理问题。有人不认同 Organic Maps 背后那家营利性公司的做法。一方面是部分服务器代码还有地图生成工具没有开源了,另一方面是大家发现捐款被用于股东的私人旅行开销,还被尝试加入过可选的推荐链接,有人觉得那就是广告的雏形。

女:哦,所以那些分出去的创立了 CoMaps,承诺彻底开源。但这对我们普通人来说,选哪个更好?

男:这就是典型的取舍。纯净主义者或者不信任商业治理的人会选 CoMaps。但 Organic Maps 确实更简洁、流畅,电池表现也好。这两款应用的致命伤都是搜索功能,跟谷歌地图那种自然语言理解能力没法比,商业店铺的数据更新也慢半拍。但如果你只是找路、找公厕、找山顶的饮水点,它完美。而且我发现一个被低估的点,就是你可以直接在 App 里编辑地图信息,这就相当于在给这个开源世界搬砖了。

女:那我们顺藤摸瓜,既然聊到了开源,正好有一个开发者圈很关心的消息。Pandoc 这个东西,虽然听起来小众,但是在写作者、技术写作圈子里就像瑞士军刀一样。它在 Lua 过滤器这一块有什么变化?

男:Pandoc 其实很早就内置了 Lua 解释器,这有个巨大的好处,就是省去了之前用 JSON 管道来回折腾的时间。最新的测试非常直观,比如把 Pandoc 的手册转成 HTML,用 Lua 滤镜耗时 1.03 秒,而传统的 Python 滤镜要 1.40 秒。这事儿对普通人来说就是,导出大型文档的格式转换速度肉眼可见地变快了。

女:你刚提到它是直接操作抽象语法树的?这个怎么理解?

男:可以这么想,文件转格式很像一个翻译过程。以前的方式是把英文(源文件)先翻译成中文(JSON),交给你的滤镜翻译官,它再翻译成日文(HTML)。现在 Lua 滤镜直接住进了 Pandoc 的大脑里,能在大脑内部改结构,省去了中间的翻译环节。不过很多老用户感慨 Pandoc 这些年越来越庞大,十年前那个纯真简单的它一去不复返了。

女:就像工程师的身材一样,这是必经之路。说到越来越精密,阿迪你有没有玩过那种自己搭建的显微镜?我前两天看了一个频道,那是一台基于 MEMS 的原子力显微镜,太硬核了。

男:Applied Science 的那台,我看过那个视频。那个显微镜探针顶端有个带 XYZ 移动的小芯片,它通过每秒 9000 次敲击样品的表面来看清纳米级别的世界。最厉害的一点是,作者为了拍清楚这个探针敲击的动作,用了一个叫 Kronos 的高速频闪系统。

女:那个视频里他把纳豆里的细菌洗出来放到显微镜下看,那些细微的菌体在镜头下特别像外星生物。用这个机器看细菌,和我们平时看有什么不同?

男:我们平时看细菌一般是用光学显微镜或者扫描电镜,但这台 AFM 是像盲人摸象,用针尖去摸。所以它可以测出物体表面的起伏,比如说硬盘盘片的表面,粗糙度起伏在埃米级别,它都能给你摸得一清二楚。他有件特有意思的事,想搞明白激光在不锈钢上打出的衍射光栅到底是刻出了沟壑,还是改变了物质性质。结果 AFM 告诉他,表面居然是完全平的,这种衍射纯粹是因为激光改变了金属的折射率。

女:这种推翻自己假设的时刻,就是科学的魅力了。他后面是不是还试了各种办法想把那个地方蚀刻出来?

男:对,为了做模具用。他试了强酸,直接把图案毁了;试了碱没效果;现在在试电化学蚀刻,AFM 扫描出来好像找到了点规律,在激光烧过的地方蚀刻出了微小的凹坑,虽然还没成功,但那种自己动手一点点磨参数的感觉,真的很工匠精神。

女:好,聊完这种硬核物理实验,咱们把视角转到一个稍微暗黑一点的角落。最近写作圈好像很不太平?

男:对,针对独立作者的尼日利亚骗局又进化了。过去是假出版社、假代理商,现在流行的是假读书俱乐部和假书评小组。他们会用 AI 生成的邮件来联系你,说我们非常喜欢你的书,想邀请你当焦点嘉宾,但是需要你付一笔“聚焦费”或者“读者小费”,几百美元。

女:这就绝对不能信啊。我记得早些年就有一种铁律叫“雅各法则”,钱应该流向作者,不是从作者口袋里往外掏。

男:逻辑没错。但新型骗局很狡猾,他们把收费伪装成“封面重新设计”、“给读者买小食”什么的,伪装成这只是一个活动的开销。付款方式往往是指定的 PayPal 亲友转账、Zelle 甚至是银行转账到某个尼日利亚的第三者账户,一旦打过去就再也追不回来了。

女:针对作家本来就不容易,出书压力就大,还要防着各种明枪暗箭。

男:社区里有个人的应对办法很彻底,他最后干脆不营销了,只写作,书直接免费送,他说这样就没有焦虑了。虽然这建议不适用于所有人,但确实揭穿了骗局的核心。而且现在社交媒体上有作者群在互相提醒,这种骚扰只要一密集,反而就像警钟一样,能让大家警觉。

女:没错,信息越透明,这种利用信息差割韭菜的把戏就越难起作用。不过接下来要说的这个事情,让我对科技巨头的透明性产生了很大的怀疑。你是不是看了那篇关于 AI 水印的测试,说 Meta、Google、Adobe 全都不靠谱?

男:看了,结论触目惊心。Meta 宣称它的图像水印 Stable Signature 假阳性率是 100 万分之一,也就是基本不会冤枉一张真照片。但研究员的实测结果是,假阳性接近四分之一。你把十张普通照片放进去,可能有两三张被标记为 AI 生成的。

女:四分之一?这可是差了得有好几个数量级了。

男:问题出在最底层的数学假设上。大公司都假设水印编码里的 48 个比特位是相互独立、均匀随机分布的。但实际上,神经网络吐出来的这些位高度相关,有的爱出 1,有的爱聚类。就跟筛子灌了铅一样。Google 的 SynthID 号称万分之一错误率,实测二十分之一。Adobe 的相对好一点,但也远没到声称的标准。

女:可是欧盟的 AI 法案和加州 SB 942 正逼着大家加这种水印呢。如果技术本身都是漏斗,那用它来做法律证明,不是要把人冤死?

男:你说的就是评论区的共识。有位做检测工具的人直接说,不管你多么信任模型,只要是自动检测就会出错,你可以去告算法,但被冤枉的永远是活生生的人。这套水印现在勉强能用来过滤训练数据,反正删掉四分之一的真照片也还有海量数据。但如果法官凭这个判案,或者保险公司凭这个拒保,这就是灾难。

女:技术的“裸奔”有时候真的让人后怕。我们聊了太多形而上和代码的事,最后聊一个轻松又极客的习惯。你平时怎么测试一个软件的极限性能?我猜你肯定不会用“Hello World”。

男:这可能是一个流传在程序员里的古怪爱好。有一个很火的基准测试,叫《白鲸记》测试法。原理很简单,找一本篇幅很长的书,比如《白鲸记》,全选、粘贴进去,然后看看你的编辑器或者待办应用会不会卡死。

女:这么多字一次性倒进去,有些软件可能当场就崩了。这能说明什么?

男:逻辑是,如果它连一本这种篇幅的文本都处理不了,那说明底层的技术架构有问题。有 人在社区分享,说大名鼎鼎的 Logseq 笔记应用,对超过几千字符的文件就强制只读,有些用户抱怨说连 1MB 不到的纯文本都扛不住。在现在这种硬件性能下,这其实是不合理的。甚至有人用《战争与和平》来测试 API 的返回效率,如果返回的 JSON 包比整本书还大,结果只为了显示 12 个数据点,那这接口设计肯定是在浪费所有人的电。

女:这个比喻太损了。那如果我用《白鲸记》去测,什么结果才算“健康”?

男:内存最好不要狂飙,输入不能有肉眼可见的延迟,不能因为打了个字就滚屏乱跳。如果你在输入最中间一段内容时应用开始抽风,那就该考虑换一个更扎实的工具了。有人说真正的理想状态是,现在的电脑性能这么强,你甚至应该感觉不到它是在处理几百KB还是几个GB的文件。

女:如果用艺术来作为结尾,史密森尼博物馆最近推出的那个猫主题艺术特展,应该能够治愈我们今天所有被代码折磨的心情。

男:哈哈,从《白鲸记》里的狂风暴雨到浮世绘里的猫和蝴蝶。那里展出了各种各样的猫,有木版画,有油画,甚至还有中国画风格的《猫、石头和牡丹》。有网友说,只要看到那个展里有日本猫艺术,他就觉得这网页没白点进去。

女:可能因为猫跨越了所有的时代和文化,始终能让人会心一笑。技术是冰冷的,但构建技术的人和看画的人是有温度的。好,今天聊了按钮、组件库、水母、开源地图,还有该死的骗局和不靠谱的水印……信息量有点大,但足够了。

男:对,也希望大家能在使用这些技术产品时多一点警惕,也多一点乐趣。

女:感谢大家收听今天的 Agili Hacker Podcast。如果喜欢我们的节目,记得在你的泛用型播客客户端上订阅我们,这样随时都可以找到。我们下期节目再见!

男:拜拜。

参考链接