






















今天的内容跨度不小:从按钮设计里“情境性残疾”的实战案例,到 shadcn/ui 把默认组件库切到 Base UI 的争议,再到水母无疤愈合的细胞机制。Agili 的 Hacker Podcast 和你一起快速过一遍。
iPhone 的图片旋转按钮会缓冲用户的多次点击,无论点击多快,都会依次旋转。Nothing Phone 则在第一次点击时给予触感和声音反馈,但动画期间忽略后续点击。作者认为这暴露了一个普遍问题——按钮不应让用户等待动画结束。
“情境性残疾”指普通人在特定情境下(手拿满东西、光线不佳)会暂时难以操作界面。同理,“情境性高级用户”即使在轻度使用的界面中也可能需要快速批量操作,比如连续旋转多张文档照片。此时按钮的可预测性和即时响应比动画流畅更重要。
物理按钮存在“接触抖动”,需要软件去抖动来避免误触发。但数字 UI 里的去抖动必须谨慎:如果按钮给了反馈(高亮、声音)却忽略操作,用户会困惑。理想方案是点击后立即进入“已确认”状态并禁用,直到动作完成。区分操作是否可重复恢复也很关键——旋转图片可以缓冲点击,而“提交订单”应该禁用按钮。Steve Jobs 曾因 PDF 滚动按钮忠实地缓冲执行了两次点击,导致演示中尴尬等待,暴露了动画不应成为交互瓶颈的问题。
shadcn/ui 宣布将默认组件库从 Radix 切换到 Base UI。Base UI 由原 Radix 团队基于积累经验重新开发,已稳定到 1.6.0,每周下载量超 600 万。社区数据显示新项目中 Base UI 使用率是 Radix 的两倍。Radix 不会被弃用,现有项目无需迁移,新项目可用 -b radix 参数继续使用。官方提供了 AI skill 辅助迁移,能保留自定义修改并生成迁移报告。
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 由 MapsWithMe 原团队创建,基于 OpenStreetMap 数据,完全离线可用,无广告无追踪。截至 2025 年 12 月下载量达 600 万。2024 年出现的分支 CoMaps 源于治理争议:Organic Maps 背后的公司是营利性实体,关键决策由少数股东做出,部分服务器代码不再开源,捐赠被用于股东个人支出。CoMaps 承诺完全开源并改进了搜索等功能。
搜索是用户抱怨最多的地方:不如 Google Maps 理解自然语言查询,商业场所数据更新不及时。但对地址导航和公共设施查询足够好用。与 OsmAnd 相比,Organic Maps 更简洁流畅但功能少;OsmAnd 功能强大但界面繁复。CoMaps 正开发从公开来源整合实时交通数据的功能。iOS 版轨迹记录存在掉点问题。用户可通过应用直接编辑 OSM 数据,更专注的编辑工具还有 StreetComplete。
Pandoc 从 2.0 版本起内置 Lua 5.4 解释器,编写过滤器不再依赖外部环境和 JSON 序列化开销。Lua 过滤器直接操作 pandoc 的抽象语法树(AST),避免了 JSON 读写和管道开销。对比测试中,Lua 过滤器转换 pandoc 手册用时 1.03 秒,Python 版用时 1.40 秒。过滤器文件返回以元素类型名为键的处理函数表,支持回退函数和遍历顺序设置。全局变量包括输出格式、解析选项和 LPeg 解析库,pandoc 模块提供元素构造函数和工具函数。文档提供了宏替换、代码块编译、生成表格等实际示例。有用户感慨 Pandoc 日益臃肿,不确定不同版本间 Lua 脚本的兼容性。
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 等更难追回的方式。一位作者分享自己放弃营销、专注写作后反而消除了焦虑。
Dr. Neal Krawetz 测试了 Meta 的 AI 水印算法 Stable Signature,发现宣称的 1/100 万假阳性率实际接近 1/4。分析 10,000 张随机图片后,450 张图片的 48 位签名在 6 位汉明距离内相同,理论值应为 1/2000 万。问题在于假设 48 位比特独立均匀分布,但神经网络输出的位高度相关,产生聚类和偏斜(56% 是 1,44% 是 0)。PCA 白化只能去除线性相关,无法消除非线性结构。
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。如果喜欢我们的节目,记得在你的泛用型播客客户端上订阅我们,这样随时都可以找到。我们下期节目再见!
男:拜拜。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。