diff options
Diffstat (limited to 'content')
| -rw-r--r-- | content/weekly/101.md | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/content/weekly/101.md b/content/weekly/101.md index 34f2977e..ecb953f1 100644 --- a/content/weekly/101.md +++ b/content/weekly/101.md @@ -1,15 +1,17 @@ +++ title = "大脑充血 Vol.101" -subtitle = "" -tags = ["精选","道德"] -date = 2026-10-04 21:00:45 -draft = true +subtitle = "如何不让道德观把自己与世界隔绝开来?" +tags = ["精选","道德","技术","猎巫","Lisp","Clojure","原生家庭","效率","开源","编程"] +date = 2026-10-05 17:18:33 +draft = false toc = true endnotes = [] -fedi = '' +fedi = 'https://akk.eltr.ac/objects/be477fd8-4c30-4da6-8ecc-3939a7e0df06' +++ -I say random stuff here. +我一直说周刊是每周一发布,每月正刊也是,从没限定具体时间,就是考虑到了发布当天赶死线的情况。这期周刊的一小半内容都是周一写的,但质量确是我认为创刊以来最佳的一期,也是最长的,超过了一万字。祝阅读愉快。 + +本月的话题是道德与纯粹性,个人知识管理,市场的辨别力,开源软件与 UX 设计,Clojure 与函数式编程。 <!--more--> @@ -135,7 +137,7 @@ Berkowitz 转述另一位学者的观点,说政治是说服,而非真理,ä “我很乖的,我听话的。我很乖的,我听话的。我很乖的,我听话的。我很乖的,我听话的。” -离开之后她终于情绪爆发,问父母什么时候把那些小孩接回来,因为父母骗她,说要去福利院接一个新的小孩。父母的说辞是,有了健康的小孩福利院会通知他们,然而孩子这时才意识到,这不过是父母的把戏。这样的把戏,她以前也见识过不止一次。见父母很快讲刚才恐怖的画面抛之脑后,这个孩子思考起来: +离开之后她终于情绪爆发,问父母什么时候把那些小孩接回来,因为父母骗她,说要去福利院接一个新的小孩。父母的说辞是,有了健康的小孩福利院会通知他们,然而孩子这时才意识到,这不过是父母的把戏。这样的把戏,她以前也见识过不止一次。见父母很快将刚才恐怖的画面抛之脑后,这个孩子思考起来: > 我为什么会出生?因为这个世界上有一对夫妻,他们想要一个健康的孩子。父母爱的是他们层层筛选过的受精卵,那颗受精卵恰好是我,它也可以不是我。我也可能是福利院的孩子,福利院的孩子也可能是我。我们只能被选择,我们并无不同。生命不是天赐的礼物,生命只是计划或意外的产物,而如果失去了生命,我和这具虫尸也并无不同。我曾一度认为父母赋予我生命,他们养育我长大,我以为我天然拥有他们的爱,他们也天然接受我的自我。我总是喊“爸爸”“妈妈”,我呼唤他们,我需要他们,我爱他们,他们也爱我,因为我是他们的孩子。 > @@ -153,7 +155,7 @@ Berkowitz 转述另一位学者的观点,说政治是说服,而非真理,ä 直到最近,也就是她 31 岁那年,她才从母亲的朋友口中了解到父亲的死因:父亲因杀人罪被判死刑。父亲因为投资欠了很多钱,被人追债,于是他潜入那人的家里,躲在衣柜里,之后用皮带把人勒死了。 -她当时非常震惊,因为她的爷爷奶奶和姑姑都是很好的人,她自己也是个乐观向上且善良的人,她从未想过自己是个杀人犯的女儿。她印象中认为杀人犯的父母都是有问题的,但事实却不是这样。她突然把过去的各种碎片都拼凑了起来,比如奶奶为什么觉得让母亲给父亲扫墓是不该的,为什么家里人和钱的关系很远、从不碰投资,为什么爷爷说自己的是个善良的人,怎么都不会走错路。然后,他也开始心疼起周围的人,因为尽管杀人犯死了,但那些关系并不会消失,人们沉浸在悲痛中却无法诉说,因为不能缅怀一个罪人。家人们生活在这样的回忆中,却把她保护得很好,给了她一个非常幸福的童年。 +她当时非常震惊,因为她的爷爷奶奶和姑姑都是很好的人,她自己也是个乐观向上且善良的人,她从未想过自己是个杀人犯的女儿。她印象中认为杀人犯的父母都是有问题的,但事实却不是这样。她突然把过去的各种碎片都拼凑了起来,比如奶奶为什么觉得让母亲给父亲扫墓是不该的,为什么家里人和钱的关系很远、从不碰投资,为什么爷爷说自己的是个善良的人,怎么都不会走错路。然后,她也开始心疼起周围的人,因为尽管杀人犯死了,但那些关系并不会消失,人们沉浸在悲痛中却无法诉说,因为不能缅怀一个罪人。家人们生活在这样的回忆中,却把她保护得很好,给了她一个非常幸福的童年。 这故事其实还给了我一个相当好的素材:*你看看经历了这般痛苦的母亲和长辈都能养育出心理健全的小孩,你们这些仅仅是狂妄自大的父母凭什么在给自己的孩子(以及别人的孩子)造成创伤之后还能心安理得地要求孩子服从自己?* @@ -184,11 +186,13 @@ PKM 体系有不少,而且有各种缩略词,比如卡片笔记(Zettelkast 前几天我在[这条联邦宇宙串](https://akk.eltr.ac/notice/BAjowmDLStHbrRb8To)里吐槽,某个叫[芦苇](https://reeddaily.com/) 的 Vibe-coded 应用索引了我的 RSS 源,并且用语言模型机翻了我的英文文章,乱改我的标题(顺带一提,他们的文章渲染真烂,连脚注都渲染不出来,显示成列表了)。 + + 我随便一找,就能发现他们 [Web App](https://web.reeddaily.com/) 里的好多瑕疵: 1. 控制台输出了 API 的 `401` 报错和完整的 API 响应体,还有 Vue 的 Hydration 报错。他们没有做好错误处理。 -  -2. 就算没有登录,还能在左下角看到本该是头像和用户名的小组件。没有登录也能打开[发布内容](https://web.reeddaily.com/publish)页面,直到点击「发布」或添加图片才会弹出登录框。结合上面错误处理的漏洞,这是完全没有考虑未登录的情况啊。 +  +2. 就算没有登录,还能在左下角看到本该是头像和用户名的小组件,甚至还有「退出登录」的选项。没有登录也能打开[发布内容](https://web.reeddaily.com/publish)页面,直到点击「发布」或添加图片才会弹出登录框。结合上面错误处理的漏洞,这是完全没有考虑未登录的情况啊。 3. 首页文章的摘要中包含 `<p>` `<figure><img>` 等未渲染的 HTML。 4. 右侧的 `关于芦苇 · 联系我们 · © 2026 芦苇` 字样真的就只是文本。我真想联系他们,点了半天「联系我们」,打开审查元素才发现没有超链接,气笑了。 5. 他们的 LLM 把 *Input Token* 和 *Output Token* 译作「输入令牌」和「输出令牌」。我怀疑这个是双关笑话,如果你没读懂这个笑话,可以读我的《[Token 应译作「符」](/article/token-translation/)》。要不是我的 RSS 源只显示部分条目,我还真想看看他们会不会把这个标题翻译成《令牌应译作「符」》,不过我更好奇的是这期周刊的标题会被改成什么。 @@ -199,34 +203,34 @@ PKM 体系有不少,而且有各种缩略词,比如卡片笔记(Zettelkast > > 你必须给出恰当的署名,提供协议的链接,并且指出有没有修改作品。 -他们给了署名,但**没有**标注 CC BY-SA 4.0 协议的链接,这是第一条违规;他们用语言模型修改了我的标题,但没有指出他们做的修改,让读者误以为这是原标题,这是第二条违规。 +他们给了署名,但**没有**标注 CC BY-SA 4.0 协议的链接,这是第一条违规;他们用语言模型修改了我的标题,但**没有**指出他们做的修改,这是第二条违规。 > If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. > > 如果你混合、修改或基于这个材料创作,你必须用和原作同样的协议分发你的贡献。 -他们并没有以 CC BY-SA 4.0 协议发布修改后的版本,而且根本没有标注内容使用协议。这家公司的法务在做什么?你们的使用条款呢?页面里只写了 `© 2026 芦苇`,我可以合理认为你们的意思是说,你们修改之后的内容,版权归属于你们。 +他们并没有以 CC BY-SA 4.0 协议发布修改后的版本,而且根本没有标注内容使用协议。这家公司的法务在做什么?你们的使用条款呢?(我试图在登录界面点击使用条款和隐私政策,竟然被重定向到了首页)页面里只写了 `© 2026 芦苇`,我可以合理认为你们的意思是说,你们修改之后的内容,版权归属于你们。 -不拿语言模型乱改我的内容,就不会有这些问题。我觉得更好笑的是,这个以 “AI” 功能为卖点,还大量使用语言模型乱改和机翻原作者内容的产品,竟然索引了著名 “AI” 批评者 [Ed Zitron](https://www.wheresyoured.at/) 的文章,还放到了他们 App Store 页面的宣传图里。 +不拿语言模型乱改我的内容,就不会有这些问题。我觉得更好笑的是,这个以 “AI” 功能为卖点,还大量使用模型乱改和机翻原作者内容的产品,竟然索引了著名 “AI” 批评者 [Ed Zitron](https://www.wheresyoured.at/) 的文章,还放到了他们 App Store 页面的宣传图里。 尽管搞笑,但我也感到荒谬。这样的产品,从首页的点赞数来看,竟然有不少用户,而且 App Store 的评分有 `4.8`。从评价来看,大家似乎很喜欢这个产品。我不禁怀疑,市场真的有辨别力吗? -国庆在饭桌上,我旁观了我表哥和他父亲的对话。他们在聊金融和投资,争论 Intel 和 AMD 那家芯片厂商更值得投资。我姑父一直强调 Intel 的芯片和指令集更具有优势,我能听出来他对硬件的技术细节是有了解的,不过我表哥一直强调云服务器大量使用 AMD 的芯片,市场份额比 Intel 高,难道能说市场是错的吗?他们最终没能达成一致。我听完的感受是,他们两个说的都是对的,但市场的确不代表真理。Intel 可能有诸多优势,但不代表市场就会选择他。同样,那个粗制滥造且违法违规的 App 仍会因为各种奇怪的原因(比方说良好的产品宣发)而获得市场青睐。 +国庆在饭桌上,我旁观了我表哥和他父亲的对话。他们在聊金融和投资,争论 Intel 和 AMD 哪家芯片厂商更值得投资。我姑父一直强调 Intel 的芯片和指令集更具有优势,我能听出来他对硬件的技术细节是有了解的,不过我表哥一直强调云服务器大量使用 AMD 的芯片,市场份额比 Intel 高,难道能说市场是错的吗?他们最终没能达成一致。我听完的感受是,他们两个说的都是对的,但市场的确不代表真理。Intel 可能有诸多优势,但不代表市场就会选择它。同样,那个粗制滥造且违法违规的 App 仍会因为各种奇怪的原因(比方说产品宣发)而获得市场青睐,但改变不了那背后不过是一群投机者,对软件和文字都毫无尊重的事实。 -金融行业或许应该看市场走向,但对个人而言,==永远不要听信人群里喊得最大声的那群人。== +金融行业或许应该看市场走向,但对个人而言,==永远不要听信人群里喊得最大声的那群人==。他们不仅不一定是对的,而且往往是错的。 ### WebAssembly in Anubis > [!note] 📜 > [It took a year to ship WebAssembly in Anubis](https://anubis.techaro.lol/blog/2026/anubis-wasm/) -基于 PoW[^7] 的网站防火墙 Anubis 终于在花了一年时间后支持了 WebAssembly,这是出于性能考量,WebAssembly 是编译好的、可以在浏览器和服务器等多种环境运行的二进制文件,要比浏览器解释 JavaScript 代码快很多,性能也有很多优化空间。 +基于 PoW[^7] 的网站防火墙 Anubis 终于在花了一年时间后支持了 WebAssembly。用 WASM 是出于性能考量,WebAssembly 是编译好的、可以在浏览器和服务器等多种环境运行的二进制文件,要比浏览器解释 JavaScript 代码快很多,性能也有很多优化空间。 Anubis 长期面临的问题是手机等电子设备的 CPU 太差,运行难度稍微高一点的 PoW 运算就会卡顿发烫,但又不能给手机用户直接降低难度,因为爬虫可能会把自己伪装成手机。按特征分类需要很谨慎才不会留下漏洞,然而 Anubis 又是开源的,不能指望爬虫不会发现线索。 使用 WebAssembly 可以在一定程度上解决性能问题,也能让 Anubis 的速度变快,毕竟没有用户想要被拦住太久。他们还顺带解决了 PoW 难度的[升阶问题](https://anubis.techaro.lol/blog/2026/anubis-wasm/#finally-fixing-the-challenge-difficulty-scaling-issue)。 -给 Anubis 加上 WebAssembly 比其他应用难很多,因为 Anubis 需要兼容非常老的浏览器版本和机型,不然就会把用老机器的用户拦截在外。这段一般的 Web 应用来说问题不大,但 Anubis 的初衷就是拦截 “AI” 爬虫,保证能访问网站的都是真人,向后兼容性对开放的万维网很重要。他们在[这一年的过程](https://anubis.techaro.lol/blog/2026/anubis-wasm/#the-ride-never-ends)中才了不少坑,甚至还发现了(Xe Iaso +给 Anubis 加上 WebAssembly 比其他应用难很多,因为 Anubis 需要兼容非常老的浏览器版本和机型,不然就会把用老机器的用户拦截在外。这段一般的 Web 应用来说问题不大,但 Anubis 的初衷就是拦截 “AI” 爬虫,保证能访问网站的都是真人,向后兼容性对开放的万维网很重要。他们在[这一年的过程](https://anubis.techaro.lol/blog/2026/anubis-wasm/#the-ride-never-ends)中踩了不少坑,甚至还发现了(Xe Iaso 本人职业生涯中第一个)LLVM 编译器的 Bug,可以说从设计、实现、测试到编译,都因 Anubis 的特殊性遇到了很多难题。 我之前给自己的 [Forgejo 实例](https://src.eltr.ac)安装过 Anubis,其实拦截很有效,不过我不觉得自己的网站会承受那么多爬虫的流量(尽管它们确实非常*非常*多),拦截验证自己本就不多的访客似乎不太好。于是我在后来换成了简单的 Cookie 验证。如果有任何人需要的话,Anubis 其实相当不错,可见其主要维护者是在用心做软件的——不过他们其实也在用 Agent 开发 Anubis,这可真是让我…… 心情复杂。 @@ -248,13 +252,13 @@ Jenson 还提到了大语言模型,他本来不想谈却又不得不提。他ç > I have to talk about AI, and it pisses me off because there's so many cool things we could be talking about, and AI just sucks up all the oxygen, and it's all you can talk about. > -> 我不得不提到 AI,我很生气,因为我们明明有很多很酷的事情可以讨论,但 AI 把占据了所有的氧气,你能谈的就只有 AI 了。 +> 我不得不提到 AI,我很生气,因为我们明明有很多很酷的事情可以讨论,但 AI 占据了所有的氧气,你能谈的就只有 AI 了。 我深有同感!我记得我之前还抱怨过此事,得到的回应竟然是:技术社区允许讨论技术之外的东西吗?真是令人唏嘘,人们似乎下意识地觉得除了语言模型之外再无其他可以讨论的技术,觉得语言模型就是人工智能这一概念的全部。 Jenson 说在 Claude Code 以前,人们都在原有的应用里乱塞 LLM,直到 Claude Code 推出了新的 UI/UX 设计(然后一大堆同类的 Agent 就涌现了……),他认为我们可以有更多这样的设计。不过他有提及,他自己也痛恨大模型公司做的那些事情,不过随着 [Apertus AI](https://apertus-ai.org/)[^9] 的出现,他看到了合法合规合乎道德的语言模型的可能性,未来兴许这样的模型会改变桌面端。 -又一件令人唏嘘的事情,火起来的是 Jev 而不是 Apertus…… +又一件令人唏嘘的事情,火起来的是 Jev 而不是 Apertus。不意外,市场当然偏好更易用的 Typed LLM,而不是致力于合法合规的 Ethical LM。 Jenson 认为开源用户也是在意 UI/UX 体验的。他记得之前向 KDE 提过一个功能,在 macOS 上,在窗口之间拖拽元素时,在鼠标释放之前,被拖拽元素所在的窗口都不会升起来(raised),也就是不会突然挡住要拖过去的那个窗口。窗口是在鼠标释放之后才升起来的。之前 KDE 不是这样,他提出之后,这个功能很快就被一个贡献者实现了。 @@ -269,7 +273,7 @@ Jenson 认为开源用户也是在意 UI/UX 体验的。他记得之前向 KDE æ 文章的主要观点是,函数式系统的数据流向非常清晰,由一个函数流向下一个函数,没有共享的可变状态。在传统的系统里,往往需要维护各种状态,同一块数据有多个写者读者,很难知道是谁修改了数据,数据流很容易变得混乱。 - +") 在面向对象的系统里,对象不仅保存了**不可见**的内部状态,还定义了一系列方法。随着需求增加,越来越多的方法和复杂度会被添加到同一个对象内部。函数式系统由小巧的函数组成,不和对象绑定,天然地容易践行开闭原则(Open-close principle),即对拓展开放,对修改封闭。函数可以很轻易地组合复用,不需要修改函数内部的结构。我想到了面向对象设计中的装饰器模式(decorator pattern),用一个对象包装另一个对象,拓展其功能,其实,只需要用一个函数调用另一个函数就能实现装饰器。 @@ -356,9 +360,18 @@ Clojure 还有 `clojure.spec` 库,用来定义更复杂的数据规格(Specï ## 漫步遐思 +- 想在引擎呜呜作响的高空阅读 *Wuthering Heights*(《啸风山庄》),结果起飞前后的播报就没停过,平稳起飞之后乘务员开始带货(真惨,乘务员也要做销售)。终于安静下来的时候,我的脑子已经很累了。 +- 落地机场之前看到重庆的夜景,头一次升起思乡之情。不过我不念家,[一点也不念家](/article/home-sick-ii/)。下飞机之后在机场迷路了,这才想起这是 8D 魔幻城市,机场出口有三层地面,我说真的。 +- 时常下意识认为对方是能交流的理智人,结果我抛出对方不同意的观点之后收到的不是令人信服的反驳,而是一个笑哭的表情、「不是哥们」「XXX 出来也没通知我啊」「XXX 可能 YYY,但 XXX 会 YYY 不太可能」…… 不过我面对此情此景,脑子里冒出来的竟然是 Papi 酱的「Oh my god. 你吓到~ 我了~」,我大概也得换个脑子了。 +- 剧本杀店的 DM[^10] 和演员大概都喜欢挑胆小的吓,我一个朋友刚进门就问 DM 说能不能不要吓她。结果在第一次搜证的时候,只有她一个人被 NPC 追了。其实那场景真挺吓人,是一个完全没有灯的 L 型走廊,要走进去说词,祭拜鬼神,然后从没有灯的路走回来。她尖叫着跑出来的时候,我才知道人是真的能被吓哭的,至少对我来说,恐惧很少和眼泪联系起来。 + 后面还有团体搜证,五个人抱团进小黑屋,举着发绿光的电子蜡烛找线索卡。中途有个戴面具穿黑衣的演员时不时从各个角落探出头来大吼一声。说实话,能看清楚脸就不觉得吓人了,而且那小黑屋的结构挺简单的。 +- 去姑姑家吃饭,屋里多了一只见人就想要扑上来打招呼的泰迪犬。后来才知道那是我爸买的,他嫌弃这狗黏人,又摔又打又骂,还好我姑把它收走了。 + + 两三天后我又去他们家吃饭,我看见我爸骂它,还有它想要接近却在看清楚是谁之后绕着走的样子,感到不平。我没说话,又听起我爸有说有笑地讲起他有好几天都是喝醉的,稀里糊涂地没想起喂鸟,把家里一只鹦鹉饿死了。那只鹦鹉也很亲人,在我肩膀上站过,碧绿色的羽毛很好看。 + + 饭后大家都很吵,狗狗趴在门口的地板上。我把它招呼过来,我抚摸他的毛发,它想要舔我的手,我就让它舔。它费力地站在地上,把前爪放在我的腿上,瞪大眼睛看着我。后来我让它到沙发上来,一会儿它就把头倚在我的腿上,眯着眼睛睡了。我一边抚摸它,一边观察它的呼吸,原来泰迪可以很安静。后来我姑姑出门丢垃圾,它就从我身上下来,守在门口等她回来。门口有人经过的时候它总是叫,姑父很不喜欢。可我知道,它是想要保护这个家啊。 -## Footnotes [^1]: 而且,如果去这期新播客的评论区看的话,会发现没有人讨论内容本身。有人喜出望外地发表仲树重新更新的感想,有人继续质问和谩骂,有人扮演起“理中客”,开始统计“无脑粉”和“黑子”的“票数”。 [^2]: 单论 Anthropic,他们就有好几场[官司](https://en.wikipedia.org/wiki/Anthropic#Legal_issues)没打完。 @@ -369,7 +382,7 @@ Clojure 还有 `clojure.spec` 库,用来定义更复杂的数据规格(Specï [^5]: 译注:原文 *throughput* 意为「吞吐量」,表示在一定时间内的工作产出量。这里为了通顺,译作「持续产出」。 -[^6]: 见博客的[洞察](https://www.geedea.pro/stats/)页面,里面有每月的文章字数统计。 +[^6]: 见博客的[洞察](/stats/)页面,里面有每月的文章字数统计。 [^7]: *Proof of Work*,工作量证明,即要求客户机计算一段无意义的复杂运算,服务端得到正确答案之后放行。这能拦住一部分爬虫,同时也使得爬虫爬取网站的成本变高,因为 PoW 会消耗大量 CPU 时间。 @@ -377,4 +390,4 @@ Clojure 还有 `clojure.spec` 库,用来定义更复杂的数据规格(Specï [^9]: Apertus 是完全开放权重、**开放训练数据**、开放文档,任何人都可以复现的小语言模型。 - +[^10]: *Dungeon Master*,地下城主。这个词原本来自桌游《龙与地下城》。 |
