zhulink logo
自动夜间模式 日间模式 夜间模式
侧栏
0

【HN中文日报】今日份科技狠活儿:怀旧IDE、SQL避坑、AGI十年磨剑…还有纳米比亚沙漠直播!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251018 这期日报内容超丰富!带你坐上时光机,回忆30年前的强大IDE,再深入探讨SQL反模式,避免踩坑。AI领域,Karpathy大神预测AGI还需十年!更有极客手表、开源混音协议、以及《The Far Side》作者新作回归!想换换口味?纳米比亚沙漠水坑直播,带你足不出户看野生动物!总之,干货满满,趣味十足,快来一探究竟吧! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## 怀旧之旅:30年前的强大IDE与今日的“倒退” 本文回顾了上世纪80、90年代DOS时代强大的文本界面IDE,如Turbo Pascal和Turbo C++,并探讨了它们在功能和用户体验上与当今IDE的对比,引发了关于技术发展方向的思考。 文章指出,当时的IDE具备现代IDE的许多特性,例如语法高亮、编译器集成、项目管理、调试器和完整的参考手册。在硬件条件有限的情况下,这些IDE提供了完整的开发体验,且易于上手。作者特别提到了Borland Turbo C++,并分享了使用`conio.h`和`graphics.h`库开发TUI和GUI的经历。与当时的Linux环境相比,DOS下的IDE在用户界面和集成度上更胜一筹。作者回忆了初次接触Vim和Emacs时的困惑,认为它们在某些方面显得过时。文章还对比了过去IDE的自包含特性和现在依赖互联网查找资料的现象,暗示了某种程度上的退步。作者希望通过回顾过去,让读者更批判性地看待未来的技术发展。 文章引发了关于技术发展方向的讨论,即我们是否在追求新特性的同时,忽略了过去一些优秀的设计理念和用户体验。 - 原文: [The IDEs we had 30 years ago ... and we lost](https://blogsystem5.substack.com/p/the-ides-we-had-30-years-ago-and) - Hacker News: [https://news.ycombinator.com/item?id=45626910](https://news.ycombinator.com/item?id=45626910) - 作者: AlexeyBrin - 评分: 168 - 评论数: 121 - 发布时间: 2025-10-18 20:44:16 --- ## SQL反模式:你应该避免的那些坑 这篇文章总结了在SQL使用中常见的反模式,这些模式会导致代码难以维护、性能下降,甚至影响数据的可信度。文章作者根据经验,指出了大型CASE WHEN语句处理不当、不当使用索引、过度使用`SELECT *`、滥用`DISTINCT`、视图嵌套过深以及过度嵌套子查询等问题,并给出了相应的改进建议。 文章首先提到,不要在单个视图中堆砌大量的`CASE WHEN`语句来转换状态码,而应该创建维度表或视图来统一管理这些转换逻辑。 其次,要注意索引的使用,避免在`WHERE`子句中使用函数导致索引失效,推荐直接查询小写值或者创建基于`UPPER(name)`的索引。 另外,避免在视图中使用`SELECT *`,这会使视图容易受到schema变化的影响,并引入不必要的列。 文章还强调,`SELECT DISTINCT` 只是掩盖问题的权宜之计,应该修复根本的join逻辑错误。 视图的过度嵌套会导致性能下降和调试困难,需要定期扁平化转换逻辑。 最后,要避免过度使用嵌套子查询,可以用CTE(Common Table Expressions)代替,提高代码可读性。 总之,要像对待生产代码一样对待SQL,注重代码的清晰性、可维护性和性能优化。 评论区也对这些观点进行了补充和讨论。有人指出,在查询中看到`DISTINCT` 应该立即警惕,这可能意味着对数据模型理解不透彻。 还有人认为,如果`SELECT *` 导致代码出错,那说明代码本身存在问题,提供超出需求的数据不应该导致错误。 针对索引部分,有评论建议更详细地解释函数对索引的影响,即在索引列上使用函数会导致全表扫描。 针对`CASE WHEN` 的例子,有评论建议使用查找表来支持多语言。 还有人分享了自己团队曾经深受视图嵌套之害的经历,并称之为“视图山”,最终花费两年时间才解决。 有评论者对“创建索引`UPPER(name)`”提出了疑问,认为应该明确指出同时使用小写查询。 最后,有人认为文章中提到的这些问题不应该被称为“反模式”,而仅仅是“不应该做的事情”。 - 原文: [SQL Anti-Patterns You Should Avoid](https://datamethods.substack.com/p/sql-anti-patterns-you-should-avoid) - Hacker News: [https://news.ycombinator.com/item?id=45626985](https://news.ycombinator.com/item?id=45626985) - 作者: zekrom - 评分: 42 - 评论数: 19 - 发布时间: 2025-10-18 20:56:50 --- ## 拥抱数字元件:一款受命令行界面启发的极客手表 这款手表的独特之处在于它反其道而行,没有试图隐藏石英表的电子元件,而是大胆地将它们展示出来,设计灵感来源于命令行界面和计算机硬件。设计理念是拥抱数字世界,将原本隐藏在表盘下的电子元件直接呈现出来,这与传统手表的设计思路截然不同。 这款手表的设计师希望通过这种方式,向用户传达一种开放、透明的极客精神。表盘上的元素,例如数字显示和电路板的布局,都借鉴了命令行界面和计算机硬件的风格。这种设计不仅让手表看起来更具科技感,也让用户能够更直观地了解手表的工作原理。 然而,这种设计也引发了一些争议。有人认为,将命令行界面的元素直接复制到手表上,并没有真正理解其精髓。命令行界面的核心在于简洁、精确和最小化设计,而这款手表的设计似乎过于繁琐。此外,还有人认为,绿色的PCB颜色显得有些普通,如果采用透明的阻焊层,可能会有更好的视觉效果。 尽管如此,这款手表的设计理念仍然值得肯定。它打破了传统手表的束缚,展现了一种全新的设计思路。对于那些喜欢科技、热爱极客文化的人来说,这款手表无疑是一个不错的选择。 评论区里,观点也相当多元: * 有人觉得这种设计很棒,如果卡西欧能收购并结合他们的复古设计,肯定会大卖。 * 有人则认为表盘设计很糟糕,像是刚接触Linux的13岁少年会设计的东西。 * 还有人建议可以尝试透明的阻焊层,突出铜线,效果会更好。 * 有人甚至分享了自己制作的类似概念的手表,认为更符合“拥抱电子元件”的理念。 * 也有人推荐了雅克德罗(Accutron)的腕表,同样是展示电路设计的风格。 * 还有人指出了这款手表的logo设计很巧妙,并好奇RTC的谐振器为何暴露在外。 - 原文: [./watch](https://dotslashwatch.com/) - Hacker News: [https://news.ycombinator.com/item?id=45626130](https://news.ycombinator.com/item?id=45626130) - 作者: shrx - 评分: 181 - 评论数: 47 - 发布时间: 2025-10-18 17:55:06 --- ## CONTENTdm:根系图的数字化收藏 这篇文章介绍了一个名为CONTENTdm的在线资源,它提供了大量的根系图。这些图并非通过挖掘巨型沟渠获取,而是基于对特定植物个体的测量绘制而成。这个数字化收藏对于研究植物根系结构和形态的学者和爱好者来说,是一个非常有价值的资源。网站提供了搜索功能,方便用户查找特定的根系图。这个项目由瓦赫宁根大学(Wageningen University)发起,该大学在农业和环境科学领域享有盛誉。 评论区里,大家对这个资源表现出浓厚的兴趣。有人一开始误以为是Linux系统布局图,后来发现是植物根系图。有人觉得这些图的模式让人联想到扩散限制聚集(diffusion limited aggregation)。还有一位评论者提到,这些图是他的母校林业系制作的。总的来说,评论反映了大家对这个数字化根系图收藏的惊喜和赞赏。 - 原文: [1,180 root system drawings](https://images.wur.nl/digital/collection/coll13/search) - Hacker News: [https://news.ycombinator.com/item?id=45627394](https://news.ycombinator.com/item?id=45627394) - 作者: bookofjoe - 评分: 25 - 评论数: 6 - 发布时间: 2025-10-18 21:52:24 --- ## Andrej Karpathy:AGI 仍需十年攻克难题 Andrej Karpathy 在访谈中表示,虽然目前已经有一些令人印象深刻的 Agent 应用,但他认为 Agent 真正发挥作用还需要十年时间,并详细阐述了原因。他认为,现在就断言 Agent 的时代已经到来还为时过早,未来十年将是解决 Agent 实际应用中各种问题的关键时期。 Karpathy 认为,目前 Agent 在智能化、多模态能力、计算机使用能力以及持续学习能力方面都存在不足。他将 Agent 比作新雇佣的员工或实习生,指出现在的 Agent 还无法胜任人类员工可以完成的许多工作。例如,Agent 无法像人类一样通过持续学习来记住和应用新的知识,也缺乏足够的多模态理解能力来处理复杂的任务。 Karpathy 结合自己在 AI 领域近 15 年的经验,认为这些问题虽然具有挑战性,但并非无法克服。他回顾了 AI 领域多次重大突破,例如深度学习的兴起,并预测未来还会出现类似的变革。他认为,解决 Agent 发展中的这些瓶颈问题需要时间,十年是一个相对合理的估计。他强调,Agent 要真正像人类助手一样工作,还需要在认知能力和实用性方面取得显著提升。 - 原文: [Andrej Karpathy – It will take a decade to work through the issues with agents](https://www.dwarkesh.com/p/andrej-karpathy) - Hacker News: [https://news.ycombinator.com/item?id=45619329](https://news.ycombinator.com/item?id=45619329) - 作者: ctoth - 评分: 931 - 评论数: 826 - 发布时间: 2025-10-18 01:24:18 --- ## Ripgrep 发布 15.0.0 版本 Ripgrep 是一款非常流行的快速搜索工具,类似于 `grep`,但速度更快,功能更强大。这次发布的 15.0.0 版本,主要是在内部做了一些改进和修复,并没有引入特别大的新功能。 该版本主要关注于提升性能和稳定性,修复了一些已知的 bug,并对代码进行了优化,让搜索速度更快,资源占用更少。虽然没有显著的新特性,但这些改进对于日常使用来说,能带来更好的体验。Ripgrep 依然专注于提供快速、准确和高效的搜索体验,使其成为开发者和系统管理员的得力助手。如果你是 Ripgrep 的用户,建议升级到最新版本,以获得最佳的性能和稳定性。 - 原文: [Ripgrep 15.0.0](https://github.com/BurntSushi/ripgrep/releases/tag/15.0.0) - Hacker News: [https://news.ycombinator.com/item?id=45627324](https://news.ycombinator.com/item?id=45627324) - 作者: robin_reala - 评分: 45 - 评论数: 2 - 发布时间: 2025-10-18 21:44:02 --- ## 深入理解 Ruby Blocks:构建 DSL 与自定义控制流 这篇文章深入探讨了 Ruby 中 Blocks 的强大功能,展示了如何利用 Blocks 构建领域特定语言 (DSL) 和自定义控制流,让代码更具可读性和表达力。文章适合对 Ruby 有一定基础,并希望更深入了解其高级特性的开发者阅读。 文章首先通过 RSpec 的例子,强调了 Ruby 中 Blocks 本质上是方法调用。然后,通过构建自己的语言,例如为 `Integer` 类添加 `seconds`、`minutes` 和 `from_now` 方法,展示了 Blocks 在创建可读性极高的代码方面的潜力。 接着,文章讨论了资源管理,对比了 Python 的 `with` 语句和 Ruby 的 `File.open` 方法,再次强调了 Ruby 中 Blocks 的普遍性。 更进一步,文章通过 `TodoList` 类的例子,演示了如何使用 Blocks 构建 DSL,使得代码更贴近业务逻辑。最后,文章展示了如何利用 Blocks 创建自定义控制流,例如 `only_on_weekdays` 和 `with_retry` 方法,极大地扩展了语言的表达能力。文章通过一系列示例,揭示了 Ruby Blocks 的强大功能和灵活性,以及它们在构建可读性强、表达力丰富的代码中的关键作用。 文章最后总结道,Ruby 的魔力在于其语法使得 Blocks 的使用非常自然,以至于开发者可以专注于解决问题,而不是纠结于语法本身。 评论区有开发者指出,Ruby 的 Blocks 是闭包,可以匿名或显式地传递给方法,并且可以传递给其他对象。这进一步强调了 Blocks 在 Ruby 中的灵活性和强大功能。 - 原文: [Ruby Blocks](https://tech.stonecharioteer.com/posts/2025/ruby-blocks/) - Hacker News: [https://news.ycombinator.com/item?id=45581602](https://news.ycombinator.com/item?id=45581602) - 作者: stonecharioteer - 评分: 93 - 评论数: 59 - 发布时间: 2025-10-14 23:58:27 --- ## 开源的 Behringer StageConnect 协议 这篇文章介绍了 OpenMixerProject 在 GitHub 上的 StageConnect 项目,该项目旨在开源 Behringer 的 StageConnect 协议。 StageConnect 协议允许 Behringer 的一些混音器和舞台接口设备进行通信。该项目提供了协议的文档和可能的实现,为开发者提供了更多可能性,例如创建自定义的控制软件或与其他设备的集成。该项目使用 GPL-3.0 许可,意味着你可以自由地使用、修改和分发该项目,但也需要以相同的方式开源你的修改。目前该项目有 139 个 star 和 6 个 fork,表明社区对该项目有一定的兴趣。尽管项目页面显示加载安全性信息时出现错误,但这并不影响项目本身的功能和价值。总的来说,这个项目对于想要深入了解和利用 Behringer 设备 StageConnect 协议的开发者来说是一个有用的资源。 - 原文: [StageConnect: Behringer protocol is open source](https://github.com/OpenMixerProject/StageConnect) - Hacker News: [https://news.ycombinator.com/item?id=45625251](https://news.ycombinator.com/item?id=45625251) - 作者: jdboyd - 评分: 150 - 评论数: 76 - 发布时间: 2025-10-18 13:52:47 --- ## Gary Larson 携《The Far Side》新作回归 Gary Larson 带着他的经典漫画《The Far Side》回归了!不过这次不是每日连载的复活,而是以“New Stuff”的形式,探索数字艺术的新天地。 Larson 在退休后,因为一支堵塞的笔,偶然发现了数字绘画的乐趣。他尝试使用数字平板,并被其强大的功能和创作潜力所震撼。他形容自己像是坐在 747 的驾驶舱里,虽然感到不知所措,但也充满了冒险的乐趣。这次回归的作品是他探索数字艺术的成果,他希望能够像过去创作《The Far Side》一样,带着大家去一些可能从未去过的地方。他强调自己只是在探索、实验和尝试新的东西,并感谢那支堵塞的笔,因为它促成了这次新的开始。 评论区里,大家对 Gary Larson 的回归表达了热烈的欢迎,同时也分享了自己与《The Far Side》的故事。 * 有人分享了自己创建的《The Far Side》每日漫画 RSS 订阅源,方便大家追踪更新。 * 有人提到《The Far Side》的梗已经融入了日常生活,成为了他们和家人之间的幽默暗号。 * 也有人指出 "New Stuff" 其实是 2020 年就开始的项目,并分享了相关的新闻报道。 * 不过,也有少数人表示get不到 Gary Larson 漫画的笑点,感觉自己与大众的喜好有些脱节。 * 还有人注意到新作在画风上与之前的报纸漫画有所不同,认为这可能是因为没有了截稿时间的压力,Larson 可以更加自由地创作。 * 有人联想到了自己与漫画相关的经历,并表示 Gary Larson 的作品让他回忆起了那段时光。 * 有人提到了自己最喜欢的《The Far Side》漫画。 * 也有人推荐了与 Gary Larson 风格相似的漫画家 Gahan Wilson。 * 有人表示自己是第一次听说《The Far Side》,并分享了一个介绍单格漫画的视频。 * 还有人分享了自己遇到的另一位漫画家,并感叹数字设备让创作更加便捷。 总体来说,评论区充满了对 Gary Larson 的喜爱和对《The Far Side》的回忆,同时也展现了不同读者对漫画的不同理解和感受。 - 原文: [New Work by Gary Larson](https://www.thefarside.com/new-stuff) - Hacker News: [https://news.ycombinator.com/item?id=45622365](https://news.ycombinator.com/item?id=45622365) - 作者: jkestner - 评分: 354 - 评论数: 84 - 发布时间: 2025-10-18 05:34:37 --- ## AMD Strix Halo:芯片化 APU 概述 AMD 的 Strix Halo 是一款高性能移动 APU,目标是在 55W-120W 的 TDP 范围内,提供强大的 CPU 和 GPU 性能,无需独立显卡。这款 APU 采用了芯片化设计,配备高达 16 个 Zen 5 核心,RDNA 3.5 iGPU 拥有 40 个计算单元和 32MB 的 Infinity Cache,以及 256bit LPDDR5X-8000 内存。 Strix Halo 采用了双 CCD 设计,每个 CCD 包含 8 个 Zen 5 核心,并配备了与桌面级处理器相同的 512b FPU。虽然最大加速频率为 5.1GHz,略低于桌面级的 Ryzen 9 9950X,但其 CPU 性能仍然非常出色。在内存方面,Strix Halo 配备了 256bit LPDDR5X-8000 内存,提供高达 256GB/s 的带宽,远高于其他 APU。 在 GPU 方面,Strix Halo 集成了 RDNA 3.5 iGPU,拥有 40 个计算单元、32MB 的 Infinity Cache,以及高达 2.9GHz 的加速频率,其原始计算能力介于 RX 7600 XT 和 RX 7700 之间。Infinity Cache 提供了比 RTX 5070M 更高的带宽和更大的容量,同时 L2 缓存的延迟也更低。 在实际测试中,Strix Halo 的 CPU 性能可以与上一代桌面旗舰 CPU Ryzen 9 7950X 相媲美,在浮点性能方面甚至可以接近当前的旗舰 Ryzen 9 9950X。虽然由于 LPDDR5X 内存的延迟较高,在某些 SPEC CPU 2017 子测试中略逊于 9950X,但在 GPU 性能方面,Strix Halo 表现出色,其内存带宽是其他移动 SoC 的两倍以上。 总的来说,AMD Strix Halo 是一款性能强大的移动 APU,通过芯片化设计和先进的 RDNA 3.5 iGPU,在 CPU 和 GPU 方面都提供了卓越的性能,为移动平台带来了新的可能性。 - 原文: [AMD's Chiplet APU: An Overview of Strix Halo](https://chipsandcheese.com/p/amds-chiplet-apu-an-overview-of-strix) - Hacker News: [https://news.ycombinator.com/item?id=45624888](https://news.ycombinator.com/item?id=45624888) - 作者: zdw - 评分: 109 - 评论数: 33 - 发布时间: 2025-10-18 12:26:19 --- ## 能源转型与地缘政治的巨变:查理·斯特罗斯的观察 查理·斯特罗斯在他的博客中指出,我们正处于一个关键的转折点,类似于1968年,而推动这一转变的关键因素是前所未有的能源转型。这种转型正在重塑地缘政治格局,并对社会稳定产生深远影响。 文章详细回顾了人类能源利用的历史,从1750年以前依赖人力、风力、水力以及木材和煤炭燃烧,到19世纪内燃机的出现,再到20世纪石油的崛起。作者强调,20世纪能源结构的转变与军事需求密切相关,例如俄国舰队在日俄战争中的惨败暴露了煤炭作为燃料的后勤劣势,促使各国海军转向石油。英国对伊朗石油的介入以及美国后来对英国石油利益的继承,都深刻影响了当今世界石油政治的格局。 然而,20世纪的能源模式也带来了严重的问题,包括汽车主导的城市扩张、石油生产国人民的不满以及气候变化。文章随后将重点转向了可再生能源,特别是光伏技术。尽管光伏电池的历史可以追溯到19世纪,但直到21世纪,其成本才大幅下降,应用范围才得以扩大。中国在太阳能领域的快速发展令人瞩目,其光伏装机容量在短时间内实现了惊人的增长,甚至提前完成了原定的减排目标。欧洲也受益于可再生能源的快速发展,在2025年实现了超过50%的电力来自可再生能源的里程碑。俄乌战争加速了欧洲能源转型的步伐,各国纷纷寻求摆脱对俄罗斯天然气的依赖。 作者最后指出,化石燃料行业已经意识到了这一趋势,并对此感到不安。能源结构的转变不仅仅是技术问题,更牵涉到地缘政治、经济和社会结构的深刻变革。 - 原文: [The pivot](https://www.antipope.org/charlie/blog-static/2025/10/the-pivot-1.html) - Hacker News: [https://news.ycombinator.com/item?id=45621074](https://news.ycombinator.com/item?id=45621074) - 作者: AndrewDucker - 评分: 364 - 评论数: 163 - 发布时间: 2025-10-18 03:37:16 --- ## 将 Unix 可执行文件视为 Smalltalk 方法:统一 Unix 和 Smalltalk 的设想 本文提出了一种新颖的观点,将 Unix 可执行文件视为 Smalltalk 方法,并探讨了这种类比对统一 Unix 和 Smalltalk 的影响。作者认为,Unix 和 Smalltalk 在表面上差异很大,但在更广泛的层面上却有着惊人的相似之处,而将 Unix 可执行文件视为 Smalltalk 方法可以为二者的统一提供新的视角。 文章首先回顾了 Stephen Kell 关于 Unix、Plan 9 和 Smalltalk 之间对比的研究,并指出 Unix 和 Smalltalk 作为操作系统,由于趋同进化而具有相似性。作者认为,Unix 和 Smalltalk 之间的高层次差异仅仅在于命名和粒度:Unix 称之为文件,Smalltalk 称之为对象;Smalltalk 由许多小单元组成,而 Unix 由较少但较大的单元组成。因此,作者提出了一种将 Unix 转化为 Smalltalk 的方法,即尽可能地缩小文件和进程的规模,并将 Unix 程序加载器重新用作 Smalltalk 方法激活的运行器,将可执行文件视为方法,将进程视为激活。 文章进一步探讨了 Smalltalk 的几个关键特性,如持久性、动态软件更新、统一性和 GUI 开放性,并指出这些特性在 Unix 中几乎存在,但程度不足。作者认为,将可执行文件视为方法,将通用对象视为目录,可以更好地实现这些特性。文章还提出了 "Smalltix" 的概念,并通过代码示例进行了说明,并将其与 Unix 进行了比较。 最后,文章讨论了性能问题,并提出了可能的解决方案。作者认为,尽管将 Unix 可执行文件视为 Smalltalk 方法面临着性能挑战,但这种方法为在 Unix 中实现 Smalltalk 的优势提供了一种有希望的途径,而无需将 Smalltalk 封闭在一个密封的镜像和虚拟机中。 目前还没有评论内容,所以跳过评论分析。 - 原文: [The Unix Executable as a Smalltalk Method [pdf]](https://programmingmadecomplicated.wordpress.com/wp-content/uploads/2025/10/onward25-jakubovic.pdf) - Hacker News: [https://news.ycombinator.com/item?id=45623917](https://news.ycombinator.com/item?id=45623917) - 作者: pcfwik - 评分: 108 - 评论数: 12 - 发布时间: 2025-10-18 09:03:22 --- ## 纳米比亚沙漠水坑直播:观察野生动物的绝佳窗口 这篇文章介绍了一个纳米比亚沙漠水坑的实时直播摄像头,作者每天早上都会观看,并推荐给小学老师在课堂上播放。通过这个摄像头,可以看到各种野生动物前来饮水,如斑马、鸵鸟、羚羊、疣猪、角马、豺狼、蝙蝠耳廓狐、 spotted hyena、cape hare、red hartebeest、长颈鹿、跳羚、大象等等。作者认为这是一个绝佳的教育资源,能让孩子们近距离观察非洲的野生动物。这个直播提供了一个独特的机会,让我们能够实时观察到沙漠生态系统中的生物多样性,感受大自然的奇妙。 评论区里,大家纷纷表达了对这个直播的喜爱,有人惊呼看到了斑马和豪猪,有人分享了其他类似的直播链接,例如爱沙尼亚的自然直播。还有人观察到了一些有趣的细节,比如蜘蛛捕食昆虫的瞬间。不过也有人提出了不同的看法,认为芯片和GPU技术停滞不前,AI发展会消耗大量资源。 评论区的讨论呈现了多样化的视角。大部分人沉浸在观察野生动物的乐趣中,分享自己的发现,并推荐了其他类似的资源。但也有一部分人开始思考技术发展和社会资源分配的问题,引发了更深层次的讨论。 - 原文: [Live Stream from the Namib Desert](https://bookofjoe2.blogspot.com/2025/10/live-stream-from-namib-desert.html) - Hacker News: [https://news.ycombinator.com/item?id=45615931](https://news.ycombinator.com/item?id=45615931) - 作者: surprisetalk - 评分: 516 - 评论数: 94 - 发布时间: 2025-10-17 20:23:01 --- ## Unix `chown()` 早期历史:为何权限变更曾仅限 root 用户? 本文探讨了早期 Unix 系统中 `chown()` 命令的限制,即只有 root 用户才能更改文件的所有者。虽然现在看来这种限制有些不合理,但早期 Unix 的设计者们出于安全考虑,做出了这样的决定。 文章推测,这种限制可能与防止用户通过更改文件所有权来规避磁盘配额有关。在早期 Unix 系统中,磁盘空间非常宝贵,因此需要对用户使用的磁盘空间进行严格的限制。如果允许普通用户随意更改文件所有者,那么他们就可以将自己的文件所有权转移给其他用户,从而逃避磁盘配额的限制。 此外,这种限制也可能与防止用户恶意篡改其他用户的文件有关。如果允许普通用户随意更改文件所有者,那么他们就可以将其他用户的文件所有权转移给自己,然后就可以随意修改甚至删除这些文件。 虽然这种限制在一定程度上提高了系统的安全性,但也给用户带来了一些不便。例如,如果一个用户创建了一个文件,然后希望将该文件的所有权转移给另一个用户,那么他就必须请求 root 用户的帮助。 随着技术的发展,磁盘空间变得越来越廉价,用户对文件所有权的控制也变得越来越重要。因此,在后来的 Unix 系统中,`chown()` 命令的限制逐渐被放宽。现在,大多数 Unix 系统都允许普通用户更改自己拥有的文件的所有者,只要他们是该文件的组成员。 评论区中,有用户表示最初也觉得这个限制不合理,但相信设计者肯定有更深层次的考虑。 还有用户分享了互联网档案馆的链接,尝试访问原始页面,但显示“禁止访问”,令人啼笑皆非。这可能也从侧面反映了网络安全和访问权限管理的重要性。 - 原文: [The early Unix history of chown() being restricted to root](https://utcc.utoronto.ca/~cks/space/blog/unix/ChownRestrictionEarlyHistory) - Hacker News: [https://news.ycombinator.com/item?id=45570517](https://news.ycombinator.com/item?id=45570517) - 作者: kencausey - 评分: 48 - 评论数: 3 - 发布时间: 2025-10-14 00:47:45 --- ## Cruz Godar Generative Art Gallery:探索互动艺术的无限可能 Cruz Godar 的 Generative Art Gallery 汇集了一系列引人入胜的生成艺术作品,这些作品不仅仅是静态图像,更提供了交互体验,让用户可以调整参数,亲身参与到艺术创作中。 这个线上画廊尤其吸引人的一点在于其互动性。不同于传统的艺术欣赏方式,在这里,你可以通过调整各种参数来改变作品的形态和表现方式。这种互动性极大地增强了用户的参与感,让艺术欣赏不再是被动的过程,而变成了一种主动的探索和创造。 其中,3D 分形艺术作品尤其值得关注。这些作品利用复杂的数学公式生成令人惊叹的视觉效果,而且用户还可以通过调整参数来探索不同的分形结构。这种体验对于那些对数学和艺术结合感兴趣的人来说,无疑是一次绝佳的机会。 @riidom 评论说,这个画廊的互动性很棒,每件作品(至少他检查过的)都可以通过调整参数进行互动,特别是 3D 分形非常有趣,感觉像是进入 Mandelbulb3D 的入门级体验。 这也印证了画廊的互动性是其最大的亮点之一,能够吸引用户深入探索生成艺术的魅力。 - 原文: [Cruz Godar Generative Art Gallery](https://cruzgodar.com/gallery/) - Hacker News: [https://news.ycombinator.com/item?id=45558820](https://news.ycombinator.com/item?id=45558820) - 作者: bookofjoe - 评分: 17 - 评论数: 1 - 发布时间: 2025-10-12 23:20:54 --- ## Lua 的豪华包管理器:Lux Lux 是一个为 Lua 设计的包管理器,目标是提供更高级和方便的包管理体验。它旨在简化 Lua 模块的安装、依赖管理和版本控制。 Lux 致力于提供类似 Cargo (Rust) 或 Pip (Python) 的体验,为 Lua 开发者带来现代化的包管理工具。 该项目使用 Lumen Labs 的 Open Collective 进行赞助,并采用 LGPL-3.0 许可证。 Lux 仓库包含了代码、问题追踪、Pull Requests、讨论区、Actions、项目和安全信息等模块。 虽然目前有 71 个 Issues 和 4 个 Pull Requests,但项目似乎还处于积极开发和维护中。 开发者可以通过 Lux 官网 lux.lumen-labs.org 了解更多信息。 值得关注的是,Lux 尝试在 Lua 生态系统中引入更完善的包管理机制,这对于 Lua 开发者来说是一个福音,能够提高开发效率和项目依赖管理的可靠性。 - 原文: [Lux: A luxurious package manager for Lua](https://github.com/lumen-oss/lux) - Hacker News: [https://news.ycombinator.com/item?id=45626961](https://news.ycombinator.com/item?id=45626961) - 作者: Lyngbakr - 评分: 7 - 评论数: 0 - 发布时间: 2025-10-18 20:53:32 --- ## 探索斯洛伐克首部小说:《René》的冒险与体验 这篇文章介绍了斯洛伐克的第一部小说《René, or: A Young Man’s Adventures and Experiences》,探讨了其在当时的社会文化背景下的意义和影响。这部小说在出版之初曾遭到部分禁令,但后来因其对封建主义、资本主义和天主教会的批判而在共产主义时代重新受到关注。 《René》由 Jozef Ignác Bajza 创作,于 1783-85 年出版,它不仅仅是一部小说,更是一部融合了成长小说、哲学小说、浪漫故事、冒险故事、游记、历史书籍和东方幻想的混合体。在当时的哈布斯堡王朝,斯洛伐克语文学发展相对滞后,这部小说的出现具有开创性意义,它比其他小语种文学更早地探索了小说的可能性。作者 Bajza 精通多种语言,他创作这部小说的目的是为了促进斯洛伐克民族意识的觉醒,并希望通过主人公 René 的经历来反映社会文化的复兴和道德的重建。 Bajza 本人是一位具有启蒙思想的神父,他希望通过理性来捍卫天主教教义,并支持君主的权威。他将自己视为斯洛伐克民族的“唤醒者”,并致力于在人民中传播启蒙思想。小说以旅行这一常见主题为载体,巧妙地融入了社会评论和知识传播,记录了主人公在时间和空间中的智力和道德成长。同时,这部作品也反映了中欧启蒙知识分子所面临的挑战,展现了较小欧洲国家自我认同的过程。 《René》的独特之处在于其混合的文学风格,它融合了多种元素,弥补了斯洛伐克书籍的匮乏,并承载了教学、社会批判、历史、政治、语言和哲学等多重功能。小说中,主人公对知识的渴求反映了作者对各个领域的兴趣,他通过主人公的经历向读者传授关于鳄鱼、伊斯兰教、草药、农业、斯洛伐克语以及婚姻等方面的知识。总而言之,《René》不仅是一部小说,更是一部反映了 18 世纪斯洛伐克社会文化和民族意识觉醒的重要作品。 - 原文: [The Adventures and Experiences of the First Slovak Novel](https://publicdomainreview.org/essay/the-adventures-and-experiences-of-the-first-slovak-novel/) - Hacker News: [https://news.ycombinator.com/item?id=45565053](https://news.ycombinator.com/item?id=45565053) - 作者: lermontov - 评分: 3 - 评论数: 1 - 发布时间: 2025-10-13 13:47:37 --- ## 网站反爬虫机制 Anubis 及其潜在问题 本文主要讨论了网站使用 Anubis 反爬虫机制的原因、原理以及用户可能遇到的问题。Anubis 旨在阻止 AI 公司恶意爬取网站内容,保护服务器资源,但同时也可能对正常用户造成不便。 Anubis 的出现源于 AI 公司对网站的大规模爬取行为,这种行为会导致网站服务器宕机,影响所有用户的访问。为了应对这一问题,Anubis 采用了一种名为 Proof-of-Work 的机制,类似于 Hashcash,通过增加爬取成本来阻止恶意行为。对于单个用户而言,这种机制带来的额外负担可以忽略不计,但对于大规模爬取者来说,成本会显著增加。 Anubis 实际上是一种临时解决方案,其最终目标是能够通过指纹识别等技术来识别并阻止 headless 浏览器,从而避免对正常用户展示验证页面。值得注意的是,Anubis 依赖于现代 JavaScript 功能,因此用户需要禁用 JShelter 等插件才能正常访问网站。 评论区中,用户 @saurik 指出了一个潜在的安全问题:在使用 MD RAID 镜像文件系统时,通过 O_DIRECT 可能会导致文件内容不一致,这可能会破坏文件内容的完整性验证机制。他认为,这个问题应该被视为一个需要紧急修复的安全漏洞,而不是简单地建议攻击者不要使用 O_DIRECT。他建议,可以考虑通过启动参数来选择性地启用 O_DIRECT,以避免对不需要该功能的用户造成影响。 用户 @rwaksmunski 则表达了对 Linux 文件系统稳定性的担忧,他提到了 fsync() 数据损坏、BitterFS 问题、io_uring 缺乏审计以及 EXT2/3/4 代码库的三重复制等问题。他表示,这些问题让他一直犹豫是否将关键数据从 FreeBSD/ZFS 迁移到 Linux 平台。 总的来说,评论区主要关注的是 Anubis 之外的 Linux 文件系统安全性和稳定性问题,以及 O_DIRECT 可能带来的安全风险。这些讨论从不同的角度揭示了技术选择和系统设计的复杂性,以及在追求性能的同时需要权衡安全性和稳定性的重要性。 - 原文: [MD RAID or DRBD can be broken from userspace when using O_DIRECT](https://bugzilla.kernel.org/show_bug.cgi?id=99171) - Hacker News: [https://news.ycombinator.com/item?id=45626549](https://news.ycombinator.com/item?id=45626549) - 作者: vbezhenar - 评分: 37 - 评论数: 7 - 发布时间: 2025-10-18 19:39:59 --- ## Claude Skills:一种增强 LLM 能力的新模式 Anthropic 推出了 Claude Skills,这是一种通过 instructions, scripts, and resources 来扩展 Claude 模型能力的新方法,旨在提升其在特定任务上的表现。 Claude Skills 的核心概念非常简单:它是一个 Markdown 文件,用于指导模型如何执行特定任务,并可选择性地附带额外的文档和预先编写的脚本,以辅助模型完成任务。Claude 的文档创建能力就是通过 Skills 实现的,涵盖了 .pdf、.docx、.xlsx 和 .pptx 文件等格式。 Claude 的各种工具可以扫描所有可用的 Skill 文件,并从 Markdown 文件中的 YAML 前置元数据读取每个 Skill 的简短说明。这种方式非常节省 token,每个 Skill 只占用少量的额外 token,只有在用户请求 Skill 可以解决的任务时,才会加载完整的详细信息。 作者尝试了 Anthropic 发布的 slack-gif-creator Skill,该 Skill 旨在创建针对 Slack 优化的动画 GIF。Slack GIF 的大小限制为 2MB,因此该 Skill 包含一个验证函数,模型可以使用该函数来检查文件大小。如果文件太大,模型可以再次尝试使其更小。 Skills 机制完全依赖于模型访问文件系统、导航文件系统的工具以及在该环境中执行命令的能力。这与 ChatGPT Code Interpreter 类似,都是通过提供 coding 环境来扩展 LLM 的能力。 Claude Code 的命名具有一定的误导性,因为它不仅仅是一个编码工具,而是一个通用的计算机自动化工具。 - 原文: [Claude Skills are awesome, maybe a bigger deal than MCP](https://simonwillison.net/2025/Oct/16/claude-skills/) - Hacker News: [https://news.ycombinator.com/item?id=45619537](https://news.ycombinator.com/item?id=45619537) - 作者: weinzierl - 评分: 606 - 评论数: 316 - 发布时间: 2025-10-18 01:40:21 ---

  

🫵 来啊,说点有用的废话!