大脑充血 Vol.95
读者早上好,这有可能是《大脑充血》最后一期名副其实的「周刊」。我这周在 联邦宇宙 上发了个投票,说我打算改月刊,想投票看看固定在什么时间点发刊合适。结果有超过一半的人选了「不准改月刊」的选项,我真的好讨厌你们。
主要的原因是,每周都要更新一次,其实占据了很多我本来就不多的写作时间。我最近在写一篇小说,还有其他不少的项目(包括要写的文章点子,准备写新的博客主题等等),但每次坐在自己的电脑前都想着,自己周刊还没写呢。说实话,这不太利于我的创作和心理健康,再加上我最近读的文章真的少了,有闲心都去读书了(虽然现在的读书进度也很慢了)。
总之,在结合了投票结果之后,我决定把《大脑充血》改成月刊,发刊日期是离每月 1 日最近的周一,这样我就不用把页面路径的 weekly 改掉了,毕竟还是以周为单位。除了固定发刊日,我还会考虑在其他时间随机掉落一些时效性更强的更新,就跟
Taxodium 的 Zine 类似。
不过,下周一(8 月 31 日)刚好就是离九月初最近的周一呢,所以还是会发布的。
吾仅悉落
Little Shop of Horror
Alan Menken / Howard Ashman
这是音乐剧《Little Shop of Horror》(恐怖小店)的原声带,说实在的,其实没有特别好听,百听不厌的几首只有《Dentist》《Feed Me》或许还有《Suddenly, Seymour》。音乐剧也没有什么深意,如果要看反映底层人民生活的音乐剧,《吉屋出租》兴许更好。对于一部上世纪的音乐剧来说,《恐怖小店》的经典就在于它融合了喜剧、悲剧和血腥恐怖。至少…… 结局的时候看到被花吃掉的主演穿着花衣服走出来唱「Don’t feed the plant!」的时候,还是很喜感的。
另外,《恐怖小店》中 Audrey Two 的形象,貌似是《植物大战僵尸》和《超级马里奥》中食人花形象的来源?我不确定,但总觉得它们之间是有联系的。
心重如毛
仲树让我反思播客这一媒介
说实话,我的心情很复杂,在这周的某天打开小红书之前,我都还是《独树不成林》的忠实听众,尤其喜欢运动、文学、哲学以及闲聊内容。大概是因为和诺兰的采访为她带来了更多的名气和关注,过往的未被发掘的事件也被端到了公众面前。事情是有人发现包括《洛丽塔应该被禁吗?》(我还在 第 75 期周刊 分享过收听这期播客产生的感想)在内的不少单集,在内容、结构、例证等方面都与 Old School with Shilo Brooks 等播客的相关单集高度重合,疑似洗稿。
洗稿事件本身是否属实,我没有考证过,所以这里不下定论,我也失去兴趣了,读者可以自行对比。社交媒体上的骂声也没有什么好看的,我不建议读者让自己陷入混乱的情绪旋涡里。我甚至在她最近一期播客的评论区下看到有人用 LLM 生成了最新的洗稿「铁证」,评论内容还包含没删干净的 Markdown 格式。总之舆论环境中充斥着只要站在反对立场上,谁都可以去踩一脚的言论,甚者,有人尽力克制情绪,冷静地要求仲树以事实证据回应,却被根本没有认真读评论的人当作仲树的支持者,回复说「我能不能把你的作品也拿去洗稿?」。另外国内平台显示 IP 属地的设计真是肮脏,有人仅仅因为他人的 IP 属地为上海,就说「我知道你在上海工作压力大,但你也不能这么骂人啊」。我只能说,仲树本人和这些参与舆论的人,都不是聪明人。
看起来比短视频更有营养的播客媒介,实际上也无法脱离其社交媒体性质带来的必然性。人们被情绪驱动,没有人读和听对方究竟说了什么,人们用臆测建立起用来攻击的假想敌。不再收听《独树不成林》之后,我貌似很难再找到感兴趣的播客内容(所剩不多的还有《 词与物 》),我才意识到这样的播客仅仅是播客生态中的个例,更意识到,如今不会因算法和商业化而陷入俗套,也不会让创作者因名气而自取灭亡的文化载体,就只剩纸质书了——纸质书还没有广告,没有 LLM 废料,更没有操纵用户的推荐算法以及一切如今人们在抱怨的东西,为什么人们不能多读书呢?
另一类播客我是纯粹抱着娱乐态度收听的,比如《 出逃在即 》的渣男渣女系列。偶尔我需要走很长的路,或者做接近一个小时的家务,我没办法看书,脑子里又没什么可想的,于是就戴上了耳机。我本想就此摘掉耳机,与自己多相处,可没过多久,我虽然没有重新安装小宇宙,但我的确又打开了某个基于 RSS 的播客播放器。我发现了自己的另一层情感需求:由于我没有能和我对上电波、畅快聊天的朋友,所以需要在耳朵里听到人的声音。
这大概就是我对播客媒介的反思了:一,它并不比短视频高级到哪里去,它仍受社交媒体的必然性、商业化和庸俗化、科技公司的意志操控,作为一种文化媒体来说它并不纯粹(至于不纯粹是不是个问题,要看语境);二,私人来讲,我收听播客并不是为了满足智识需求(阅读是更好的选择),而是为了满足某种心理需求,在满足心理需求的语境下,我允许一定的庸俗进入我的世界。
简单来说,我现在不把播客当作严肃媒介,除非你的播客和独立博客一样,架设在自己的服务器上,花自己的钱,对所有人开放却又不向任何人索取。
看完《奥德赛》之后我也成了「诺兰黑」
📺 诺兰为什么打动不了我? - 戴锦华讲电影
戴锦华老师说她从来没有被诺兰的人物和故事打动过,除了《奥本海默》,由于完全不能从情感上被撼动,所以只能在理性层面欣赏。大部分时候她都只能保持「欣赏但不喜欢」的态度,甚至会尖酸克薄地指出叙事的漏洞。若是故事本身就很动人,那这些漏洞也不值得一提了。简单来说,她觉得诺兰的作品,形式往往要高于内容。诺兰特别喜欢错综复杂的叙事结构,但故事本身却撑不起叙事。
看完电影《奥德赛》之后我连着写了三篇影评。 第一篇 我对诺兰导演还抱有尊敬,我试着从哲学层面理解了他对神明的处理,对保留下来的三位神话角色雅典娜、瑟茜和卡吕普索分别做了什么样的改编,以及他还抹除了独眼巨人波吕斐摩斯的人性。 第二篇 我其实已经有些冷嘲热讽,比方说,我写得诺兰之所以删掉信使赫尔墨斯和风神埃俄罗斯,是因为与他们相关的剧情太过「超自然」,又不能像「雷电被误以为是宙斯,海浪的运动被误以为是波塞冬」那样诠释——他不能想出一个能囊括所有神明的解释,所以把不能用他的理论解释的神明都很方便地剔除在外。 第三篇 我就开始直抒胸臆,论证忒勒玛科斯是全电影塑造得最失败的角色,毫无成长,阐述包括海伦的刀疤在内的改变策略是为了服务于「文明的起落」「赎罪」「反战」等主题,而这些主题并不令我满意。电影中的奥德修斯不仅没有让我感动,反而令我厌恶,那个狡诈、自私但真实、爱小家小事胜过大义的奥德修斯,在诺兰大刀阔斧的改编下,变成了一个不存在的、伟光正的高大男人形象,辅以一个爱小家小事胜过大义的女人。最后,我写道:
文明的巅峰时期,荷马应该歌颂英雄与美德。文明的没落时期,我们不必盯着曾经的辉煌和应有的美德发愣,痛苦本身就值得被言说。
诺兰的《奥德赛》唯二令我有些动容的角色,一是被他改成愁苦妇女的瑟茜,因为她反映了现代人面对人际关系和混乱的外界时感到的挣扎,二是奥德修斯的狗。
简单来说,诺兰选择的主题并没有说服我对他的各种改编决策感到满意,我不想仅仅为了听到「应该像你想要被别人对待的那样对待别人」这种大道理,失去费埃克斯人、埃俄罗斯和经典的「没有人」智斗独眼巨人桥段,更别提这还是一个在很大程度和令我感到爹味溢出屏幕的主题。
所以,我也只能想戴锦华老师一样,欣赏电影的叙事和拍摄技法(说真的,找一米五的替身演员和两米高的演员拍巨食人族的戏,的确很亮眼),但我不喜欢。
鸡头蛇尾
Bun 用 Rust 重写出的灾难
📜 Bun 1.4 Rust rewrite is not looking good
📜 My Thoughts on the Bun Rust Rewrite - Andrew Kelly
Rust 是门好语言,但开发者们对它过于强烈的追捧,竟让我对它生起一丝厌恶来。你们怎么一个一个的都争着把本来就能跑的代码重写成 Rust?而且还是用 LLM 重写?新兴 JavaScript 运行时、Node.js 的后继和竞品 Bun 在前不久也用 Claude 把原来的 Zig 代码重写成 Rust。据我所知,Zig 的社群相当有凝聚力,当时他们就对 Bun 的重写感到失望。事到如今,Bun 的创造者 Jarred Sumner 终于自食恶果了。
6 months ago, most of Bun’s PRs came from people prompting Claude. Nowadays, most of Bun’s PRs come from Claude prompting Claude. 六个月前,大部分 Bun 的 PR 还来自人们给 Claude 输的提示词。如今,大部分 Bun 的 PR 已经是 Claude 给 Claude 写提示词产生的了。
Zig 软件基金会的主席 Andrew Kelly 表示,Jarred 在 LLM 之前写的 Zig 代码就已经不堪入目了。Zig 团队会阅读用户写的代码,以此了解当前这门语言是怎么影响用户的。当他们读到 Jarred 写的代码时,他们吓呆(horrified)了:
We became increasingly horrified at the programming practices we saw in Bun’s codebase. Hacks on top of hacks. Abuse of assertions. Most of all, recklessly speeding past feature after feature with very little time taken for reflection and elimination of bugs and technical debt. Jarred was already writing slop well before he had access to LLMs. 我们对 Bun 代码库里的编程实践感到越来越害怕。Hack 一个接一个。滥用断言。最严重的是,鲁莽地加速推出一个又一个的新功能,几乎没有花时间反思、消除 Bug 和技术债。Jarred 在能使用 LLM 之前就已经在写废料了。
这篇文章 列出了时间线,说明 Jarred 是怎么一次又一次践踏用户的信任,不断保证 Bun 1.4 明天就会发布,然后不断推迟发版的。其实不难从 GitHub 上的贡献量看出端倪,在过去的一个月里,15.8k 条 commit 来自 robobun ,一个自己写提示词生成代码的 LLM 机器人(Claude prompting Claude),相比之下 Jarred 作为贡献最多的真人,只提交了不到一千条 commit。
他是怎么搞清楚 Claude 都做了些什么的?他怎么保证交付可靠的软件产品?答案:他没有。如果他真的清楚自己的项目进行到什么步骤了,还需要解决什么问题,他不会这么拿不准 Bun 1.4 的发布日期,屡次推迟。Jarred 显然不知道自己在干什么,在 Andrew Kelly 与 Oven 的员工(以及那些面试过 Oven 的人)的交谈中,他得知 Jarred 是个相当糟糕的管理者:
Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective. Jarred 是个糟糕的管理者。很难沟通,有不切实际的期待,同情心很低,缺乏经验。从雇佣关系的角度看,纯粹是在搞笑。
我简单翻了翻 Bun 最近的提交记录,几乎全是关于某个 Issue 的 commit,然而这些 Issue 本身也是 robobun 写的。我好不容易翻到了一条 Jarred 本人提交的 commit,结果发现:他删除了几条测试用例。
LLM 热潮没有制造新的问题,它放大了原本就存在的问题。Jarred 在 LLM 之前就不在乎代码质量,Bun 是纯粹的野心的产物;Jarred 作为领导者和项目维护者的性格缺陷,可能也被 LLM 自我增强——如果大部分时间都在和机器对话,又怎么会从真人那里获得真实的反馈呢?
最后,尽管一直遭到诟病,目前最稳定的 JS 运行时仍然是 Node.js。如果有选择技术栈的自由,我建议不要在浏览器以外的地方使用 JavaScript。
Farside 已关停
📜 Farside
我在 第 73 期周刊 推荐过 Farside,它可以把用户重定向至某个服务的替代前端,比方说如果不想在观看 YouTube 视频时被谷歌追踪和分析,就可以用 Farside 跳转到一个公开的 Invidious 实例。替代前端往往都用了尽可能少的 JavaScript 脚本,摘除了追踪器和广告,经过服务端从源站转发内容,唯一的缺点是服务不稳定。
Farside 的另一个用处是负载均衡,由于公开实例往往是社区维护或个人维护,资金不足,没有能力支付大额的网络流量。Farside 会自动查询节点状态,自动将用户分配到某个可用的实例。这本来是很好的愿景,直到……
Farside was created before the explosion of AI-driven scraping and bot traffic. As a result, querying instance status is no longer reliable due to bot-detection and challenge systems (which I understand and am in favor of, btw). Since the project is no longer practical to operate and maintain, it is being archived. Farside 是在 AI 驱动的爬虫和机器人流量爆炸之前创造的。结果,查询实例状态由于机器人检测和质询系统而不再可靠(顺带一提,我理解并且支持反爬)。既然运行和维护这个项目已经不再切实,目前正在归档。
替代前端的另一个特点是内容更容易被爬取,因为这些前端尊重用户,没有加载大量消耗 CPU 和内存的静态资源,大部分内容也都直接写在 HTML 里,不需要 JS 渲染。为了避免成为想要训练 LLM 模型的公司的靶子,他们不得不采取更严厉的反爬措施以保证安全,比如架设 Anubis 。Farside 也需要向这些实例发送机器人特征明显的请求来确认它们能够访问,由于几乎所有实例都加上了会拦截并质询包括正常用户在内的所有流量的防火墙,Farside 根本无法有效地获取到服务状态。
不能指望科技公司良心发现,于是要接受现状:在 2026 年以及相当一段时间内,访问小互联网上的网站,自己都有可能被 Anubis 拦下,证明自己不是 AI 爬虫。这很恼人,但同时我又清楚,他们不这么做就很难活下去。真是让人感到压抑。
GitHub 又宕机
📃 GitHub Status - Incident
与此同时,GitHub 在八月十七号宕机了接近八个小时。
我已经懒得评价了,只是转达消息而已。我自己其实没有受到影响,因为我早就从 GitHub 迁移出去了。现在我会把相对严肃的自由软件项目放在 Codeberg 上,偏向实验性的项目放在 Tangled 上,以上所有仓库都会在自己搭建的 Forgejo 实例上归档(归档并不麻烦,给自己的 Git 仓库设置两个 push remote 就好),自己的实例上也会有 Neovim 配置、dotfiles 和未公开的项目之类的东西。
GitHub 之外还有很多选择,如果不是为了求职的时候简历好看点,我可能已经销号了。
大模型应该变得更无知
📜 Models Are Getting Dumber on Purpose
可能令人意外,这一节没有在批评 LLM 的应用。Well, know thy enemy.
作者表示市面上的模型看起来性价比变得越来越高了,人么可以用更少的参数做更多的事情。能耗在降低,模型也没有变得更难用,这是为什么?
事实是模型在某种程度上的确变得更蠢了,参数小的模型很难不搜索网页和调用工具回答某些简单的事实性问题,目前最好的模型也只能达到 53% 的正确率。但为什么非要模型“回忆”起正确的答案呢?把正确的知识塞进模型权重里很不划算,而且每隔一段时间都要重新训练才能刷新这些知识,大部分时间有些知识都是过时的。这也解决不了 LLM 幻觉。
所以更好的策略是,用更少的参数训练出“推理”能力更强的模型,把获取知识的步骤交给驾驭层(Harness),由 LLM 调用 API、读取本地文件、执行 Shell 命令来获取最新的知识。模型的“推理”能力比知识更重要。
不过模型应该没办法通过驾驭层获取如何写代码有关的知识吧?编程专精的大模型应该还是要把大量的代码训练进权重里的,也不会轻量。不过,如果大模型真的能现场搜代码并给出来源的话,想必能解决一直被我反复提起的「协议清洗」问题,即使用 LLM 生成的代码就相当于不需要遵循开源协议地使用其他人写的代码。我想没有想吸引用户的厂商会这么干吧,兴许学者们可以试试。
漫步遐思
这周买了一对哑铃,不重,单只三千克。我发现上班之后,自己运动的动力就变少了,以前还能在工作日做整整一个小时的 HIIT,现在回到家已经没有什么力气了。我其实很推崇自重训练,不用器械的话更安全不容易受伤,而且从推墙到跪姿俯卧撑再到标准俯卧撑,其实也是渐进的锻炼了。虽然做不到器械那样精细,但也够了。
不过我最近发现很难说服自己做俯卧撑,因为俯卧撑需要调动几乎全身的肌肉,不只是手臂要发力,胸肌也要用力,核心要维持平衡,肩背也不能闲着。可要是我没力气呢,下班之后我想要锻炼却不想要把整个身体都累得死去活来,做弯举和平举就刚好能满足。
另外,我知道我力量基础确实不太行,但这三千克的哑铃怎么做起来很轻松,但第二天和第三天,肱二头肌都酸胀得要命啊。