RSS
Posts

Lobsters Daily Digest — 2026-04-03

2026-04-03

今日概览

  1. 1. Slap 是一款结合了 APL 的简洁性、Rust 的所有权模型和 Forth 栈式结构的极简函数式连接型编程语言。
  2. 2. Anthropic 研究员利用 Claude Code 发现了 Linux 内核中潜伏 23 年的远程可利用漏洞,标志着 AI 在漏洞挖掘领域取得重大突破。
  3. 3. 用户发现 Adobe 软件擅自修改系统 hosts 文件,旨在绕过浏览器安全限制以检测本地是否安装了 Creative Cloud。
  4. 4. Lisette 是一款受 Rust 启发、拥有 Rust 语法特性并编译为 Go 语言的小型编程语言,旨在提升 Go 开发的安全性和表达力。
  5. 5. 本文探讨了 SSH 证书如何通过引入证书颁发机构(CA)来解决传统 SSH 密钥对在主机验证、密钥分发及主机密钥变更时的管理痛点。
  6. 6. 文章探讨了 Common Lisp 在 n-body 基准测试中的性能表现,并深入分析了何为“地道”的 Lisp 编程哲学。
  7. 7. 文章警告称增加和自动更新第三方依赖会显著扩大供应链攻击面,建议开发者审慎引入依赖并关闭自动更新工具。
  8. 8. Jeff Geerling 利用树莓派、USB 调制解调器和电话线模拟器搭建了本地拨号 ISP,让复古的 iBook G3 能以 33.6kbps 的速度重返互联网。
  9. 9. 一位反对AI的开发者分享了使用Claude Code高效完成项目但过程极其痛苦的经历,探讨了AI对编程思维的潜在负面影响。
  10. 10. 本文介绍了如何将 lone lisp 的精确垃圾回收器演进为保守式回收器,通过扫描原生栈来解决对象误回收问题。

文章摘要

Slap 是一款仅用约 2000 行 C 代码实现的栈式编程语言,旨在平衡简洁性、安全性和性能。它引入了类似 Rust 的线性类型系统(借用检查器)来管理内存,无需垃圾回收即可避免内存泄漏和悬空指针。该语言支持 Hindley-Milner 类型推导,并提供受 Elm 启发的托管副作用系统来处理图形渲染和系统交互。此外,Slap 还展示了在 Project Euler 题目上的高效执行性能,并支持通过 SDL 或 WASM 进行图形开发。

社区讨论

社区对该语言的极简设计和安全特性表示赞赏,认为其为连接型语言带来了现代化的改进。讨论集中在多维数组的支持潜力,以及使用代数效应(Algebraic Effects)替代线性类型来管理资源的方案对比。此外,有用户关注到代码库中 AI 工具的使用痕迹,但普遍认为作者对核心逻辑有深刻理解,文章内容扎实。

View on Lobsters →
#2

文章摘要

Anthropic 研究员 Nicholas Carlini 通过简单的脚本引导 Claude Code 遍历 Linux 内核源码,成功发现了一个自 2003 年起就存在的 NFS 驱动堆溢出漏洞。该漏洞涉及复杂的协议交互:当攻击者利用两个 NFS 客户端协作,通过超长所有者 ID 触发服务器拒绝响应时,会因缓冲区大小不足导致内核内存覆盖。Carlini 强调,AI 能够理解复杂的协议逻辑,并已发现数百个潜在的高危漏洞,其效率远超传统人工研究。

社区讨论

社区讨论反映出技术界对 AI 漏洞报告质量从垃圾变为专业的震惊,Linux 内核维护者也证实了这一转变。争议点在于 AI 是否真的理解协议,以及在研究员筛选过程中 AI 贡献的占比,但多数人认同 AI 极大地降低了发现复杂时序漏洞的门槛。此外,cURL 等开源项目的开发者也观察到了类似的 AI 报告质量提升趋势。

View on Lobsters →
#3
Adobe wrote to my hosts file
design ↑49 · 16 comments

文章摘要

一名 Web 开发者发现 Adobe 在其系统 hosts 文件中写入了特定条目,引发了社区对其行为的深入调查。研究表明,Adobe 这样做是为了在用户访问其官网时,通过加载特定域名的图片来检测本地是否已安装 Creative Cloud。由于 Chrome 等浏览器限制了网页对本地网络(localhost)的直接访问,Adobe 遂采用修改 hosts 文件的手段来绕过这一安全策略。

社区讨论

社区讨论情绪以愤怒和批评为主,认为这种行为极具侵入性且损害了用户信任。核心观点包括:盗版软件在稳定性和性能上已超越正版;修改 hosts 文件可能导致潜在的安全风险和系统不稳定;用户还探讨了如 Affinity 和 Darktable 等替代方案,但也承认 Lightroom 等专业工具在资产管理功能上难以完全被取代。

View on Lobsters →
#4
Lisette — Rust syntax, Go runtime
gopltrust ↑31 · 12 comments

文章摘要

Lisette 结合了 Rust 的语法优势与 Go 的运行时,支持代数数据类型、模式匹配和 Hindley-Milner 类型系统。它通过消除 nil、强制详尽匹配和默认不可变性,在编译阶段捕捉 Go 常见的运行时错误。该语言还引入了管道操作符、try 块等人体工学特性,并能生成透明、可读的 Go 代码,确保与现有 Go 生态的互操作性。

社区讨论

社区对 Lisette 的看法褒贬不一,部分用户欢迎其对 Go 错误处理的改进,而另一些人则对 Rust 语法或 Go 运行时的组合表示质疑。讨论中将其戏称为“Go 的 CoffeeScript”,并对比了 Borgo 等类似项目,核心争议在于语法偏好以及对 Go 缺乏某些特性的不同看法。

View on Lobsters →

文章摘要

文章首先分析了传统 SSH 基于“首次使用信任”(TOFU)机制的局限性,指出手动验证指纹和管理 known_hosts 文件的繁琐。接着介绍了标准 SSH 密钥对的工作流程及其在多服务器环境下的扩展性问题,例如主机密钥滚动会导致连接失败和安全警告。作者认为 SSH 证书是更优的体验,能有效消除手动管理公钥和处理主机识别变更的麻烦。

社区讨论

社区讨论整体持积极态度,认为 SSH 证书显著提升了运维效率。核心观点包括:分享了利用 AWS Lambda 为 EC2 实例自动签发证书的实践;确认了 SSH 证书对 FIDO 安全密钥(SK)的良好支持;并推荐了 Teleport 和 SmallStep 等成熟的证书管理工具,认为 Golang 等语言的库让实现证书支持变得非常简单。

View on Lobsters →
#6
Idiomatic Lisp and the nbody benchmark
lispperformance ↑31 · 2 comments

文章摘要

作者针对新语言 Koru 与 Lisp 之间的性能争论,重新审视了 n-body 基准测试。文章指出,地道的 Lisp 代码不应只是对 C 语言的简单移植,而应利用元编程和多范式特性将语言适配于问题。作者认为,通过构建领域特定语言(DSL),Lisp 可以在保持代码优雅和可读性的同时,在性能上与 C 语言竞争。

社区讨论

社区讨论集中在“地道”一词的定义上,认为在 Lisp 语境下,地道代码通常意味着构建小型专用语言。有评论指出“地道”一词在现代编程中带有某种“时尚”色彩,并认为 Rust 社区加剧了开发者对代码是否地道的焦虑。整体情绪倾向于认同 Lisp 的独特之处在于其强大的元编程能力和灵活性。

View on Lobsters →

文章摘要

作者 Ben Hoyt 指出,第三方库的引入和频繁更新是巨大的供应链安全风险,XZ 后门和 Trivy 等事件证明了即便是开发依赖也可能导致严重后果。文章强调,真正的风险往往源于缺乏人工审查的自动更新(如 Dependabot),建议开发者在引入新依赖前三思。作者推崇 Go 语言的哲学,认为‘少量的代码复制优于引入一个依赖’,以此提升程序的安全性和可维护性。

社区讨论

社区讨论普遍认同依赖带来的安全挑战,并补充认为每个依赖可能潜藏多个攻击点。讨论重点包括:构建时实时下载依赖而非使用缓存会加速攻击传播;在开发效率与安全风险之间划定界限存在困难;以及对‘零依赖’定义的辩论,即应区分第三方库与操作系统/标准库提供的功能。

View on Lobsters →
#8
Build your own Dial-up ISP with a Raspberry Pi
networkingretrocomputing ↑12 · 6 comments

文章摘要

本文介绍了如何使用树莓派 3/4/5 结合 Viking DLE-200B 电话线模拟器和 USB 调制解调器,模拟 90 年代的拨号上网环境。软件层面通过 mgetty 处理调制解调器呼叫,并利用 PPP 协议建立网络连接,作者还提供了 Ansible 脚本简化配置。为了让旧版浏览器能访问现代网页,作者使用了 Macproxy Classic 进行内容转码。最终,作者成功让配备 AirPort 卡的 iBook G3 通过 Wi-Fi 体验到了经典的拨号上网速度。

社区讨论

社区讨论充满了怀旧氛围,用户深入探讨了 56k 调制解调器非对称传输的技术原理,以及当年 ISP 使用的 Ascend 等专业设备。有评论分享了更廉价的方案,如利用电池和电容为世嘉 Dreamcast 制作电压感应器。此外,网友们还将树莓派的性能与当年的 Sun E450 等企业级服务器进行了对比,感叹技术进步。

View on Lobsters →
#9
I used AI. It worked. I hated it
vibecoding ↑59 · 33 comments

文章摘要

作者为了迁移教学平台,利用Claude Code开发了一款基于Rust和Svelte的证书生成工具,并结合Typst处理PDF。他通过测试驱动开发和严格的计划模式来确保代码质量,虽然项目最终成功运行且效率惊人,但他对这种“按键确认”的开发流程感到厌恶。作者担心这种模式会造成认知危害,使开发者在面对新挑战时产生过度依赖AI的心理倾向。

社区讨论

社区讨论呈现出强烈的共鸣,许多开发者表示也感受到了那种“脑海中总想求助AI”的心理诱惑。评论区分辨了“专家评审模式”与“盲目信任模式”的差异,指出AI虽然加速了枯燥部分的编写,但也让开发过程变得乏味。一些资深用户建议将AI视为辅助思考的“橡皮鸭”,通过书写思路来保持对代码的掌控力,而非完全放弃思考。

View on Lobsters →
#10
Baby’s Second Garbage Collector
compsci ↑7 · 0 comments

文章摘要

作者探讨了在 lone lisp 开发中,如何改进受 Bob Nystrom 启发的初级垃圾回收器。文章指出,精确回收器在对象逃逸到原生 C 栈时会失去追踪能力,导致活跃对象被错误回收。为了解决这一痛点,作者通过引入保守式回收机制,利用 __builtin_frame_address 等手段确定栈边界并扫描内存,从而确保原生环境中的对象引用也能被正确识别。

社区讨论

该文章目前在 Lobsters 社区暂无相关讨论内容。

View on Lobsters →