每日HackerNews RSS

## Linux内核的Execve处理:加载ELF二进制文件 本文详细介绍了Linux内核通过`execve()`系统调用执行程序的方式,重点关注流行的ELF(可执行和可链接格式)二进制文件。该过程在`fs/binfmt_elf.c`中实现,涉及检查ELF头、识别程序段(代码、数据、BSS)并将它们映射到进程的内存空间中。 关键步骤包括通过清除旧进程的状态来准备新程序的环境——杀死线程、释放内存和更新凭据。然后设置虚拟内存,通常采用栈随机化以提高安全性。重要的是,内核使用辅助向量、参数和环境变量设置程序的栈。 对于动态链接的程序(最常见的情况),内核加载并执行一个运行时链接器(如`ld-linux-x86-64.so.2`),然后解析依赖关系并启动程序。内核还通过兼容层(`compat_binfmt_elf.c`)支持32位二进制文件,该层重定向函数并使用适当的32位结构。 最终,`execve()`以重新映射内存并初始化寄存器来启动新程序,从而有效地将控制权转移到新进程。

## 黑客新闻讨论:程序运行方式 - ELF 二进制文件 最近一篇黑客新闻的讨论,源于 2015 年 LWN.net 上关于 ELF 二进制文件的文章,揭示了关于程序在 Linux 上执行方式的有趣见解。对话始于用户分享早期经验——例如运行盗版 PS2 游戏或捣鼓 DOS——如何让他们对操作系统以及最终的编码有了更深入的理解。 讨论的核心围绕着 Linux 内核的 ELF 加载器,它被有意保持简单,只关注必要的程序段。这种简单性允许创建非常小的可执行文件,但也需要在内核、libc 以及潜在的 libdl/ldlinux 之间复制 ELF 加载逻辑。 用户将这种方法与 QNX 进行了对比,QNX 通过共享对象文件在用户空间处理所有加载。虽然 Linux 现在也提供了类似的功能,但仍然存在遗留代码。一个关键点是,Linux 优先维护其与用户空间的既定关系,即使潜在的好处很大,也不太愿意进行激进的改变。 讨论还涉及了“镜像激活”等历史术语,这些术语是在现代 LLM 兴起之前使用的。

## 放弃S3:WebDAV的优势 作者认为,对于许多用例来说,默认依赖亚马逊S3进行文件存储过于复杂。虽然S3在FTP/SFTP消亡后变得普及,但许多项目仅仅需要安全、认证的文件访问——WebDAV在这方面表现出色。 作者的核心需求是认证、高效的写入/同步以及默认的隐私性,而不需要S3的高级功能,如版本控制或分层存储。作者反对像Openstack Swift或Minio等复杂的替代方案,并强调后者最近在易用性方面出现了倒退。 WebDAV令人惊讶地易于访问,得到MacOS Finder、Windows Explorer和`rclone`等工具的支持,并且可以轻松集成到现有的Web服务器(Apache、Nginx等)中。作者详细介绍了一种使用LDAP认证的安全的Apache配置,确保用户被限制在自己的目录中。 目前,作者使用WebDAV与Joplin和Keepassium等应用程序配合使用,并通过`rclone`进行静态博客发布。作者总结说,WebDAV并未过时,并且为许多个人和自托管项目提供了一种更简单、可行的S3替代方案。

## WebDAV:2025年仍然适用 尽管有传言称其已过时,但WebDAV仍然是一种可行的文件访问和同步协议。文章强调了它在各种应用中的持续使用,包括rclone用于同步、Tailscale的驱动共享、Fastmail的文件存储、CopyParty挂载,甚至在OmniFocus和Paperless-NGX等工具中。 虽然该协议并非完美——缺乏标准化的随机写入,并且由于不一致的实现需要变通方法——但由于其基于优化的Web技术,它比SFTP具有速度优势。用户报告了针对特定需求的成功实施,例如同步Devonthink数据库和提供媒体服务。 讨论还涉及SFTP、NFS和S3等替代方案,承认它们的优点和缺点。虽然FTP在某些遗留系统中仍然存在,但WebDAV提供了一种更现代且通常更易于访问的解决方案,尤其是在不同的操作系统(Windows、macOS)上。尽管Windows Explorer的性能存在挑战,但WebDAV仍然为那些寻求开放标准和自托管解决方案的人们找到了一席之地。

## LLM 救援者:一种有趣的(且昂贵的)解决空值错误的方案 LLM 救援者是一个实验性的 Ruby gem,被设计成一个幽默的概念验证,旨在“修复”托尼·霍尔的“价值十亿美元的错误”——空引用。当遇到 `nil` 上的 `NoMethodError` 时,gem 不会崩溃,而是利用大型语言模型(如 GPT-5)来*猜测*预期的行为。 本质上,它会猴子补丁 `NilClass`,将上下文发送到 LLM,然后 LLM 会尝试提供一个合理的响应——可能导致不可预测且常常令人发笑的结果(例如,用户名为“🐱 威士卡先生”)。 虽然声称提供 73.2% 的成功率,但这种“救援”代价高昂——估计每次修复费用为 0.002 美元,对于典型的应用程序,每月可能达到数百甚至数千美元。 **此项目明确*不*适用于生产环境。** 它旨在用于教育目的,并展示将 AI 应用于运行时错误处理的潜力(和陷阱)。 预计会出现混乱、API 账单膨胀,以及可能具有感知能力的空值对象。

## LLM Rescuer:一个用于处理 `nil` 错误的 Ruby Gem 一个新的 Ruby gem,“LLM Rescuer”,以一种有趣的方式解决了代码中常见的 `nil` 错误问题,它尝试使用大型语言模型 (LLM) *猜测* 解决方案。该项目在 Hacker News 上分享,引发了关于依赖 LLM 动态修复代码的潜力以及有趣的弊端的讨论。 评论者设想未来 LLM 可以填充 API 请求中缺失的数据,可能导致不可预测的结果(例如,看到奶酪而不是 GitHub 内容!)。其他人分享了使用 LLM 进行动态代码更正的类似实验,尤其是在测试场景中。 一篇相关的 20 年前关于“容错计算”的研究论文也被提及,强调了类似的概念,即允许程序在出现错误时通过制造值继续运行。虽然许多人认为这个 gem 是一个“令人愉快但可怕的想法”,但也有人推测一些开发者可能会觉得它有用,甚至可能为未来的 LLM 训练数据做出贡献。

来自加利福尼亚州好莱坞的拉杰对正统犹太社区感到好奇,特别是他们如何谋生和他们的生活方式。作者“城市犹太人”解释说,他看到的男性可能属于“极端正统派”中的耶希瓦派或卢巴维奇派,尽管正统犹太教内部存在差异。 并非所有正统犹太男性都穿着传统的西装、帽子和胡须,但那些穿着的人通常优先进行宗教学习(由津贴或工作配偶支持),或在犹太教育、像B&H Photo这样的企业工作,或作为社区使者(“shluchim”)。 关于着装,即使是极端正统派男性也不是一直穿着西装,通常选择白衬衫和深色裤子。严格的遵守旨在保持可识别的犹太形象。在社交方面,极端正统派夫妇通常光顾犹太洁食餐厅,并避免看电影,优先与世俗文化隔离。 作者将此与“现代正统派”犹太人形成对比,他们更充分地融入社会,追求专业职业,并在餐饮和娱乐方面拥有更大的灵活性,同时仍然遵守核心犹太法律。这些差异源于关于与更广阔世界互动历史性的选择。

这个Hacker News讨论始于对在威尔士斯诺登尼亚山区穿着传统服饰(白色衬衫、厚外套、长裙)的东正教犹太人徒步旅行的观察,与典型的徒步服装形成对比。 几位评论者分享了类似的经历,尤其是在卡茨基尔山,有人看到东正教男子穿着西裤和正装鞋攀岩。 对话简短地涉及了“东正教”一词的模糊性,一位用户指出,全球东正教徒的数量远多于犹太教徒。 话题随后出现了一个幽默的转折,讨论了创立宗教的潜在经济利益,提到了L. Ron Hubbard和科学教。 帖子最后宣布了一个Y Combinator申请。 总的来说,讨论的中心是关于宗教服饰和生活方式选择在非预期户外环境中的文化观察。

加州通过对电池储能的大规模投资,基本消除了轮流停电,这标志着在数十年的夏季能源担忧之后的一个重要转折点。自2022年以来,加州独立系统运营商(CAISO)尚未发布“弹性警报”——一项节约能源的紧急呼吁,这得益于电池储能容量增加超过3000%(现已超过15700兆瓦)。 这些电池储存太阳能,以便在阳光不充足时使用,从而稳定电网并减少对化石燃料的依赖,尤其是在热浪期间,减少对性能不佳的燃气电厂的依赖。CAISO总共增加了超过26000兆瓦的新能源和储能资源。 虽然目前锂离子电池占据主导地位,但对铁空气电池和液流电池等更长持续时间替代方案的研究正在进行中。挑战依然存在,包括电池安全性以及电网现代化和简化许可的需求。尽管存在这些障碍,电池储能正变得越来越具有成本效益,并且对加州到2045年实现100%碳中和的目标至关重要,可再生能源已经以清洁能源为电网供电,平均每天七小时。

## Google 密码管理器宕机:可靠性和安全性的教训 一个看似简单的通知——Google 员工班车更改了 WiFi 密码——在 2012 年引发了 Google 内部密码管理器的级联故障,最终需要电钻才能恢复。流量激增使系统不堪重负,该系统最初设计用于少量用户,导致副本故障。恢复工作受到安全措施的阻碍:重启所需的智能卡被锁在保险箱中,组合存储在*故障*的密码管理器中,以及一个地理分散的待命团队。 这起事件凸显了可靠性和安全性的复杂相互作用。最初的故障源于可靠性问题——负载处理能力差——但安全协议使修复工作复杂化。两者对于值得信赖的系统至关重要,但需要不同的设计考虑。 可靠性侧重于防止*意外*故障,而安全性则防御*故意*利用。对于可靠性至关重要的冗余会增加安全风险。事件响应也不同:可靠性受益于广泛的协作,而安全性则要求限制访问。最终,两者都依赖于保密性、完整性和可用性,但通过恶意意图的视角来看待它们。优先考虑简单性、持续测试和健全的恢复计划是构建能够抵抗两种类型故障的系统的关键。

## Google SRE 事故:摘要 最近 Hacker News 的讨论强调了一起 Google《站点可靠性工程》(SRE) 书中描述的幽默但令人担忧的事件。Google 工程师遇到一起停机,需要访问一个用智能卡锁在保险箱内的密码管理器。尽管保险箱的组合锁在密码管理器*内部*,并且有多个智能卡,他们最初无法重新获得访问权限。 情况升级,他们尝试强行打开保险箱——先是用锤子,然后是用钻头和撬棍(当然,费用已报销!)。最终,问题不是保险箱本身,而是一个 UI/UX 缺陷:工程师们没有意识到读卡器的绿灯并不能保证正确插入。 这起事件引发了关于优先考虑用户友好设计,而不是依赖于训练有素的工程师,以及定期演练复杂恢复程序的讨论。它还提出了关于 Google 选择在 GitHub 而不是其自身基础设施上托管 SRE 书籍的问题,以及依赖于“尽力而为”的内部服务而缺乏健全文档和运营流程的风险。这个故事提醒我们,即使在科技巨头中,系统也可能以令人惊讶的简单方式失败。

启用 JavaScript 和 Cookie 以继续。

一项源于美国常见中性名字可视化(nameplay.org)的黑客新闻讨论揭示了有趣的模式。用户注意到,中性名字中凯尔特和盎格鲁-撒克逊起源占主导地位,而拉丁语、希腊语或希伯来语名字则较少。这被认为是因为后者在宗教和神话背景下具有更强的性别联想。 对话深入探讨了名字的历史语言学,解释了语法性别区分如何在希伯来语和印欧语系等语言中演变,以及这些区分在英语等语言中的丧失如何导致了名字的合并。 几位评论者强调了名字性别分配的文化差异——“Angel”在美国是女性名字,但在墨西哥是男性名字,“Alexis”具有相反的性别联想,以及“Andrea”、“Sean”和“Rosario”等类似例子。这场讨论强调了“中性”往往取决于总体使用情况和文化背景。

人工智能翻译工具对维基百科上少数民族语言的复兴构成重大威胁。虽然本意是扩大访问范围,但缺乏经验的用户正在向伊博语和夏威夷语维基百科等平台倾倒不准确的、人工智能生成的内容。这种“机器翻译”无助于语言学习,反而会产生难以理解的文本,并延续错误,这些错误随后被*回收*到在线销售的有缺陷的学习材料中——甚至短语手册也充斥着“完全无意义的内容”。 语言学家和语言活动家担心这会破坏数十年来保护濒危语言的工作,可能令学习者望而却步,并向公众错误地呈现该语言。维基媒体基金会将内容质量的责任放在各个语言社区身上,但许多社区缺乏必要的积极参与来纠正错误。随着语言迅速消失,人们担心不受控制的人工智能翻译可能会加速语言丧失,制造一个数字雷区,并最终阻碍复兴工作。

## AI、维基百科与弱势语言:摘要 一篇近期文章强调了维基百科内容被人工夸大的问题,尤其是在鲜为人知的语言中。问题源于未修正的机器翻译,以及在某些情况下,出于善意但缺乏母语水平的编辑贡献。例如,一位青少年主要负责苏格兰盖尔语维基百科,以及宿雾语和格陵兰语维基百科中类似的问题。 核心问题在于,有缺陷的AI生成内容会延续不准确性,尤其是在被回收用作来源材料时。虽然维基百科的来源政策*旨在*防止这种情况(优先考虑原始来源),但当文章引用维基百科本身而未经核实时,这一循环就会中断。 讨论线程显示了关于语言保护与实用性的争论。一些人认为,允许语言演变甚至消亡是自然的,而另一些人则强调文化损失。 也有批评指向谷歌等科技公司,因为它们提供了未经检查的翻译,以及LLM创建者因为利润动机而提供的有缺陷的训练数据。最终,这场对话指出了在快速变化的数字环境中维护质量和准确性的挑战。

2025年10月24日,仅供娱乐。我喜欢多伦多的自行车共享网络,但经常发生的情况是离我最近的自行车站点没有自行车,或者我要前往的地方没有停车位。自行车共享应用程序有点笨重,需要多次点击和滚动才能查看所有这些信息。为了节省早上的几秒钟,我做了理所当然的事情,花费了几个小时制作了一个简单的仪表盘和iOS小部件,以便一目了然地显示我需要的信息。 在GitHub上查看该项目:这里有一些仪表盘和小部件实际运行的截图:多伦多自行车共享——仪表盘概览。显示收藏站点的iOS Scriptable小部件。

一位 Hacker News 用户 alexboden 分享了一个项目,展示了他最喜欢的共享单车站点状态。 这篇文章引发了关于类似工具和集成的讨论。 几位评论者提到了现有的资源,例如 [citybik.es](https://citybik.es),一个全球共享单车聚合器,以及一个用于可视化站点数据的 Home Assistant 集成(正在更新以包含更多字段)。 一位用户强调了到达没有手机信号的站点后才检查自行车可用性的沮丧,并计划使用 Lyft 的数据端点为旧金山湾区构建本地显示屏。 其他人分享了替代工具,例如 [tools.encona.com/lyftbike](https://tools.encona.com/lyftbike)。 一个共同的主题是难以找到这些服务的现成 RSS 订阅源。 最后,文章以提醒 Y Combinator 2026 年冬季申请期结束。

更多

联系我们 contact @ memedata.com