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

【HN中文日报】科技圈大爆炸!数据库Schema魔改、AI艺术、蒙大拿州“计算权”... 还有TP-Link被禁?速看今日份Hacker News精华!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251110 今天这期日报内容超丰富!从数据库Schema的平滑升级方案,到用废弃电子烟电池自制工作室电源,再到蒙大拿州史无前例地立法保障“计算权”,干货满满!想知道欧洲Wi-Fi和蜂窝网络争夺6GHz频段的背后故事?想了解美国政府为啥要封禁TP-Link?还有古罗马道路的数字地图、BGP僵尸的深度剖析... 赶紧点开,一起充电学习,别掉队! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## 使用 Expand and Contract 模式进行数据库 Schema 变更 本文主要介绍了 Expand and Contract 模式,这是一种在不影响系统正常运行的情况下,安全地将数据从旧数据结构迁移到新数据结构的方案。该模式通过一系列步骤,在后台引入新结构,准备数据以供使用,然后无缝切换到新结构。 Expand and Contract 模式适用于数据库 Schema 变更等多种场景,尤其是在需要平滑过渡和易于回滚的情况下。该模式的核心在于分阶段进行修改,从而降低风险,并允许在出现问题时轻松回滚。 **Expand and Contract 模式的步骤:** 1. **构建和部署新 Schema:** 设计满足新需求的新 Schema,最好是现有结构的小改动。将新列添加到表中,或者创建完全新的表来表示新的数据结构。确保新列没有会使当前客户端行为失败的约束。 2. **扩展接口:** 扩展客户端的接口,使其能够识别新的列和表。客户端代码仍然从原始数据结构中读取所有值。但是,在执行写入操作时,客户端现在将添加或修改原始结构和新结构中的数据。 3. **将现有数据迁移到新 Schema:** 将数据从现有列或表迁移到新列或表。这可能需要复制现有值,或者修改数据以适应两个 Schema 之间的差异。 4. **收缩旧 Schema:** 客户端完全切换到新 Schema 后,可以开始收缩旧 Schema。首先,停止向旧结构写入数据。然后,删除客户端代码中对旧结构的引用。最后,可以从数据库中删除旧结构。 通过以上步骤,Expand and Contract 模式可以帮助开发者安全、可靠地进行数据库 Schema 变更,最大限度地减少对现有系统的影响。 - 原文: [Using the expand and contract pattern for schema changes](https://www.prisma.io/dataguide/types/relational/expand-and-contract-pattern) - Hacker News: [https://news.ycombinator.com/item?id=45776138](https://news.ycombinator.com/item?id=45776138) - 作者: tanelpoder - 评分: 35 - 评论数: 14 - 发布时间: 2025-11-01 04:06:50 --- ## 使用程序生成艺术:3D 打印大理石喷泉 本文介绍了作者使用程序生成技术,特别是粒子系统,来设计和 3D 打印复杂的大理石喷泉艺术装置。作者分享了他在路径规划、速度控制、支撑结构生成等方面遇到的挑战和解决方案,以及对未来改进方向的思考。 文章详细描述了作者是如何通过随机放置点、绘制样条曲线并设置恒定斜率来创建初始路径系统的。为了增加路径的复杂性,作者开发了一个路径求解器,力求在打印机的体积内实现尽可能多的运动。这个求解器通过一系列函数来更新路径点的位置,以确保路径保持在边界框内、均匀分布、保持恒定斜率、满足最小和最大转弯半径、避免与其他路径碰撞、平滑斜率变化以及防止斜率增加。作者还提到速度控制是一个难题,因为轨道的设计会影响球的旋转惯性和速度。他最终通过设置最小转弯半径和更积极的倾斜角度来解决这个问题,以不断消耗速度。支撑结构的生成也采用了粒子系统的方法,通过模拟粒子之间的引力和斥力来创建美观且稳固的支撑柱。作者还提到了OpenSCAD在处理这种复杂几何体时的局限性,并考虑未来使用更适合有机几何体的SDF库进行重写。最后,作者反思了整个项目的过程,并感谢朋友Alex的支持。 评论区观点: * **kazinator** 指出,传统大理石喷泉设计容易出现球脱轨的问题,而作者通过计算设计路径,解决了可靠性问题。他认为理想情况下,轨道需要完美倾斜,以保证球在两个接触点上的受力平衡。 * **MomsAVoxell** 赞赏作品的美观,并提出了一个有趣的想法,即利用轨道对音频进行编码和解码,通过大理石的运动产生不同的频率。 * **titanomachy** 对作者使用粒子模拟生成树状支撑结构的方法表示赞赏,并询问这种方法是否常见。他认为这种方法产生了非常漂亮的视觉效果。 - 原文: [Marble Fountain](https://willmorrison.net/posts/marble-fountain/) - Hacker News: [https://news.ycombinator.com/item?id=45866697](https://news.ycombinator.com/item?id=45866697) - 作者: chris_overseas - 评分: 763 - 评论数: 83 - 发布时间: 2025-11-10 00:26:09 --- ## 探索 Hacker News 的 "What Are You Working On?" 项目 本文介绍了 Waywo,一个用于浏览和探索 Hacker News 上 "What Are You Working On?" (WAYWO) 帖子的工具,它允许用户按标签筛选评论,发现社区成员正在从事的各种项目。 这些项目涵盖了从云原生架构设计到游戏开发,再到 AI 工具的构建等多个领域。 文章中分享了多个开发者正在进行的项目,例如:有人在设计可扩展的云原生架构,扩展在 AWS 上的 AI 和无服务器自动化方面的专业知识;有人完成了 VoiceAI,一个使用 Next.js, LiveKit, Python, 和 Docker 构建的实时 AI 文档助手;还有人在学习 Ruby,并撰写相关博客,甚至有文章登上了 HN 首页。 此外,还有开发者在构建 macOS 应用 Teletable,用于展示实时的足球和 F1 赛事比分;有人在开发 NHL 比赛的预测模型;还有开发者致力于构建 AI 工具,以自动化养老护理中的护理任务。 另一些项目包括极简主义时区转换器、由 HN 社区制作的电子游戏目录、以及免广告的 Solitaire/Puzzle 游戏网站。 甚至还有开发者在构建用于社区发现和讨论本地信息的开源平台 Habitat。 评论区主要集中在对 Waywo 工具本身的反馈和建议上,包括:建议作者包含最新的 WAYWO 帖子;只包含顶层评论,排除回复;修复 UI 上排序时表格大小变化的问题;增加分页导航功能,允许用户跳转到指定页面;提供一次性显示所有页面的选项;以及提供将所有评论下载为 JSON 格式的功能。 还有评论者认为标签的价值不大,建议基于项目的主题、解决的问题或希望带来的改变进行标记。 总体而言,评论者对该工具表示赞赏,并提出了改进建议,希望它能更好地帮助用户发现和探索 Hacker News 社区的项目。 - 原文: [Show HN: What Is Hacker News Working On?](https://waywo.eamag.me/) - Hacker News: [https://news.ycombinator.com/item?id=45838592](https://news.ycombinator.com/item?id=45838592) - 作者: eamag - 评分: 147 - 评论数: 33 - 发布时间: 2025-11-07 02:31:06 --- ## 欧洲将决定 6GHz 频段的未来:Wi-Fi 与蜂窝网络共享? 欧洲正在考虑如何分配 6 GHz 频段,这对于未来的无线通信至关重要。 目前,Wi-Fi 和蜂窝网络都在争夺这个频段的使用权,最终决定将影响未来网络技术的发展方向。 6 GHz 频段的划分对于欧洲的无线通信格局至关重要。如果决定 Wi-Fi 和蜂窝网络共享该频段,可能需要更复杂的技术方案来避免干扰,保证两种网络都能高效运行。 另一方面,如果将 6 GHz 频段完全分配给其中一方,虽然管理起来更简单,但可能会限制另一方的发展,从而影响创新和用户体验。 目前,各方利益相关者正在积极游说,试图影响最终的决策。Wi-Fi 阵营强调 6 GHz 频段对于家庭和企业无线网络的重要性,认为它可以支持更高速度的无线连接,并推动物联网等技术的发展。而蜂窝网络阵营则认为,6 GHz 频段对于 5G 和未来 6G 网络的部署至关重要,可以提升移动网络的容量和覆盖范围。 最终的决定将由欧洲的监管机构做出,他们需要权衡各方利益,并考虑到技术、经济和社会等多种因素。无论结果如何,6 GHz 频段的划分都将对欧洲的无线通信产业产生深远的影响。 - 原文: [Europe to decide if 6 GHz is shared between Wi-Fi and cellular networks](https://www.theregister.com/2025/11/09/europe_to_decide_if_6/) - Hacker News: [https://news.ycombinator.com/item?id=45874659](https://news.ycombinator.com/item?id=45874659) - 作者: FridayoLeary - 评分: 85 - 评论数: 73 - 发布时间: 2025-11-10 18:53:35 --- ## 蒙大拿州率先立法保障“计算权” 蒙大拿州成为美国第一个将“计算权”写入法律的州,通过了《蒙大拿州计算权法案》(MRTCA),旨在保护公民访问和使用计算工具及人工智能技术的权利。 这项法案确认了蒙大拿州居民拥有和操作计算资源(包括硬件、软件和AI工具)的基本权利,并将其置于州宪法对财产和言论自由的保护之下。法案的支持者认为,这是在日益AI化的世界中保障数字自由的重要一步。法案发起人Daniel Zolnikov参议员表示,该法案确保每位蒙大拿州居民都能访问和控制未来的工具。 该法案允许州政府为了公共健康和安全对计算进行监管,但设置了很高的门槛:任何限制都必须是“在必要时经过验证的”并且是“专门定制的”,以服务于令人信服的利益。法律专家指出,这是蒙大拿州法律下可用的最具保护性的标准之一。 此外,该法案还包括针对AI控制的关键基础设施的条款,要求同时具备允许人工控制的“关闭机制”和年度安全审查,旨在平衡创新与公共安全。自由市场智库 Frontier Institute 的政策主管 Tanner Avery 称该法律为数字权利的“旗帜”,并补充说:“蒙大拿州已经明确表示,它将以最大的关注度对待任何侵犯基本数字自由的企图。” 该法案与其他州(如加利福尼亚州、弗吉尼亚州和纽约州)最近的监管努力形成鲜明对比,在这些州,限制AI技术的提案要么失败,要么经过了大量修改。 蒙大拿州的做法倾向于赋予个人用户权力。 - 原文: [Montana becomes first state to enshrine 'right to compute' into law](https://montananewsroom.com/montana-becomes-first-state-to-enshrine-right-to-compute-into-law/) - Hacker News: [https://news.ycombinator.com/item?id=45865289](https://news.ycombinator.com/item?id=45865289) - 作者: bilsbie - 评分: 479 - 评论数: 275 - 发布时间: 2025-11-09 21:03:36 --- ## 英国造船业的衰落:从世界领先到几乎消失 本文探讨了英国造船业如何从19世纪末的世界霸主地位,一路衰落到2023年几乎完全停止商业船舶生产的境地。文章剖析了英国造船业的兴衰,并分析了其衰落的原因。 英国造船业在19世纪末达到了顶峰,当时它占据了全球80%的船舶吨位。二战后,英国造船业短暂复兴,但未能适应市场变化和新兴竞争对手。英国造船业依赖熟练劳动力,并尽可能减少对昂贵基础设施和管理费用的需求。这种模式在一段时间内使英国造船商能够以比几乎任何其他地方都更低的成本和更高的效率生产船舶。然而,随着航运市场和船舶本身的性质发生变化,英国未能及时调整其产业,逐渐失去了国际竞争力。 18世纪时,荷兰的造船业曾经领先,但由于未能跟上欧洲帆船设计的进步和行业内部的保守主义而逐渐衰落。19世纪中期,美国凭借易于获得的优质木材,在木制船舶建造方面超越英国。随着木制帆船让位于钢铁蒸汽船,英国凭借廉价的煤炭、钢铁和熟练劳动力重新获得了优势。 英国造船业的结构反映了其运营环境。英国船厂尽可能避免使用昂贵的机械或基础设施,而是倾向于熟练劳动力。由于造船业的周期性波动,英国造船商采用劳动密集型生产方法,可以根据需求轻松扩大和缩小业务规模。此外,英国造船商与英国船东建立了密切的合作关系,这些船东通常会重复从同一船厂购买。 英国船厂的管理费用也很低,大部分工作由熟练工人组成的小组完成,这些小组无需太多具体指导即可组织工作。由于造船工人几乎没有工作保障,英国造船业的工会力量强大,并经常抵制旨在提高生产率的变革。 总而言之,英国造船业的衰落是多种因素共同作用的结果,包括未能适应技术变革、劳资关系紧张、管理不善以及全球竞争加剧。 - 原文: [How the UK lost its shipbuilding industry](https://www.construction-physics.com/p/how-the-uk-lost-its-shipbuilding) - Hacker News: [https://news.ycombinator.com/item?id=45871141](https://news.ycombinator.com/item?id=45871141) - 作者: surprisetalk - 评分: 155 - 评论数: 321 - 发布时间: 2025-11-10 09:23:58 --- ## Itiner-e:古罗马道路的数字地图 Itiner-e 旨在创建一个关于罗马帝国时期道路的最详尽的开放数字数据集,这个项目由学者社区协作编辑,允许用户查看、查询和下载道路数据。该项目展示了古罗马的道路系统,并允许用户探索和研究这些道路。 该项目是一个协作的、持续进行的项目,由学术社区编辑,这意味着数据的准确性和完整性会不断提高。用户可以查看、查询和下载道路数据,为研究和学习提供了便利。通过这个地图,用户可以观察地形如何影响历史,以及古人在没有现代技术的情况下如何克服地形障碍。 地图可以与投票地图、语言地图和宗教地图等其他地图进行对比,从而揭示不同因素之间的相互作用。例如,荷兰的文化差异与罗马帝国的影响范围有关,地图使用了 OpenStreetMap 来渲染现代的自然特征和道路网络。 评论区主要有以下几种观点: * **数据准确性问题:** 有评论指出,地图上某些区域的道路信息存在不准确之处,例如道路的位置、定居点的位置以及桥梁的存在等。一些道路更像是“推测”而非已发现的真实道路。 * **地图技术实现:** 有评论批评标题使用了“Google Maps”的比喻,认为该地图更像是 Mapbox 的应用,并且应该尊重其他地图提供商的工作。同时,有人指出该项目在使用 OpenStreetMap 数据时,没有包含法律要求的署名。 * **历史地理背景:** 有评论提到,地图使用了当前的河流和土地布局,但忽略了古代的地理环境,例如 Batavia 地区曾经是无法通行的湿地,河流的路径也与现在不同。 * **功能和用户体验:** 有评论认为,该地图的用户界面需要改进,使其更易于使用,并建议添加类似 Streetview 的功能,以便查看道路现在的样子。 * **与其他地图的对比:** 有评论提到,将该地图与现代地图进行对比很有趣,可以观察到某些道路在 2000 年里几乎没有变化。 - 原文: [Itiner-e: the Google Maps of Roman Roads](https://itiner-e.org/) - Hacker News: [https://news.ycombinator.com/item?id=45864341](https://news.ycombinator.com/item?id=45864341) - 作者: helsinkiandrew - 评分: 140 - 评论数: 35 - 发布时间: 2025-11-09 17:46:04 --- ## 美国政府拟议封禁 TP-Link 产品:安全风险还是贸易保护? 美国政府正在考虑禁止销售 TP-Link 的无线路由器和其他网络设备,理由是安全风险和该公司与中国的联系。尽管 TP-Link 否认存在安全风险,并声称已与中国公司分离,但这一举动引发了关于网络安全、供应链安全以及中美科技竞争的讨论。 文章指出,TP-Link 在美国拥有巨大的市场份额,其产品因价格低廉而广受欢迎。然而,美国政府担心 TP-Link 产品可能被中国政府利用,对美国构成安全威胁。文章引用了多份报告,指出 TP-Link 路由器存在安全漏洞,曾被中国黑客组织利用进行网络攻击。同时,文章也承认,TP-Link 的竞争对手也从中国采购零部件,且其他品牌的路由器也存在安全问题。文章强调了消费者在使用路由器时应注意安全设置,例如更改默认密码和及时更新固件。一些厂商已经开始强制用户进行这些基本安全设置,但仍有许多路由器需要用户自行配置。 文章还提到,美国众议院特别委员会曾呼吁对 TP-Link 设备进行调查,因为这些设备出现在美国军事基地和军人商店中。该委员会认为,TP-Link 路由器存在安全漏洞,且需要遵守中国法律,这令人担忧。微软也曾发布报告,指出多个中国黑客组织利用被入侵的 TP-Link 路由器进行密码喷洒攻击。 总的来说,文章探讨了美国政府拟议封禁 TP-Link 产品的原因,并分析了其中涉及的安全风险、市场竞争和地缘政治因素。文章提醒消费者关注路由器的安全问题,并建议厂商加强产品的安全性能。 - 原文: [Drilling down on Uncle Sam's proposed TP-Link ban](https://krebsonsecurity.com/2025/11/drilling-down-on-uncle-sams-proposed-tp-link-ban/) - Hacker News: [https://news.ycombinator.com/item?id=45867717](https://news.ycombinator.com/item?id=45867717) - 作者: todsacerdoti - 评分: 233 - 评论数: 295 - 发布时间: 2025-11-10 02:17:44 --- ## BGP僵尸与过度寻路:Cloudflare如何应对网络路由中的“僵尸”问题 Cloudflare 的这篇博客深入探讨了 BGP 僵尸(BGP zombies)以及过度寻路(excessive path hunting)现象,解释了它们如何影响互联网路由,以及 Cloudflare 如何努力减少它们造成的破坏。文章旨在帮助网络工程师和科技爱好者理解 BGP 僵尸的成因和潜在影响。 文章首先解释了什么是 BGP 僵尸,即那些本应从互联网的默认无路由区域(DFZ)中消失,但由于各种原因仍然存在的路由。这些“僵尸”路由会导致数据包迷路,形成路由环路,或者迫使数据包采取不必要的“观光路线”。 为了理解 BGP 僵尸的成因,文章引入了“路径搜寻”的概念。当一个更具体的 BGP 前缀被撤回时,网络需要回退到一个不太具体的 BGP 宣告,这时就会发生路径搜寻。BGP 路由器会不断寻找到达目标前缀的最佳路径,这个过程会受到最长前缀匹配(LPM)和 BGP 路由属性(如路径长度和本地首选项)的影响。 文章通过图示详细展示了路径搜寻的过程。当一个客户通过 Cloudflare 撤回一个更具体的路由宣告时,BGP 路由器需要收敛到这个更新,这个过程可能因为各种原因(如硬件老化、软件错误等)而延迟。这种延迟会导致一些路由器仍然指向已经不存在的路由,从而形成 BGP 僵尸。 文章还提到了最小路由宣告间隔(MRAI)对路径搜寻的影响。MRAI 规定了 BGP 路由器发送 BGP 宣告消息的最小时间间隔,这虽然可以减少 BGP 的“喋喋不休”,但也延长了路径搜寻的时间。 文章进一步解释了 BGP 僵尸是如何产生的,特别是在使用 Cloudflare 的 BYOIP(Bring-Your-Own-IP)服务的场景下。BYOIP 允许客户按需宣告和撤回 IP 前缀,这可能会增加 BGP 僵尸的发生率。 最后,文章还提到了 BGP 僵尸常见的出现地点,例如上游 ISP 之间。 (由于没有评论内容,跳过评论相关的输出) - 原文: [BGP zombies and excessive path hunting](https://blog.cloudflare.com/going-bgp-zombie-hunting/) - Hacker News: [https://news.ycombinator.com/item?id=45775051](https://news.ycombinator.com/item?id=45775051) - 作者: emot - 评分: 23 - 评论数: 3 - 发布时间: 2025-11-01 02:20:44 --- ## 利用废弃电子烟电池构建2.5kWh电池为工作室供电 本视频展示了如何利用大约500个废弃电子烟中的电池,构建一个2.5kWh的电池组,为工作室供电。这个项目旨在探索电子垃圾的再利用,并提供一种潜在的可持续能源解决方案。 视频详细介绍了整个构建过程,包括收集和拆解电子烟、测试和筛选电池、将电池连接成电池组,以及最终将电池组连接到工作室的电力系统。视频作者强调了安全措施的重要性,例如使用保护眼镜和手套,以及正确处理锂电池。 作者还分享了关于电池容量、电压和电流等技术细节,以及如何计算电池组的总容量。此外,视频还展示了电池组在实际使用中的表现,例如为灯具、工具和其他设备供电。 这个项目不仅具有实用价值,还引发了人们对电子垃圾处理和可持续能源的思考。通过将废弃物转化为有用的资源,我们可以减少对环境的影响,并为未来的能源需求找到新的解决方案。该视频的制作者 Chris Doel 一直在探索电子烟电池的再利用,之前他还做过用电子烟电池为电动自行车供电的项目。 评论区中,有观众建议作者可以使用计算器上的小型太阳能电池板来为房屋供电,这个想法引发了关于太阳能利用和微型发电的讨论。也有观众对视频的真实性表示怀疑,认为这可能只是一个为了吸引眼球的噱头。但大多数观众对这个项目的创意和实用性表示赞赏,并鼓励作者继续探索电子垃圾再利用的可能性。 - 原文: [Building a 2.5kWh battery from disposable vapes to power my workshop [video]](https://www.youtube.com/watch?v=dy-wFixuRVU) - Hacker News: [https://news.ycombinator.com/item?id=45803601](https://news.ycombinator.com/item?id=45803601) - 作者: rsanek - 评分: 249 - 评论数: 130 - 发布时间: 2025-11-04 03:51:30 --- ## Linux 内核中的 binfmt_misc:一种隐蔽的后门技术 本文深入探讨了 Linux 内核中的 `binfmt_misc` 功能,它允许系统识别和执行基于自定义二进制格式的文件。文章揭示了攻击者如何利用此功能创建隐蔽的后门,以便在获得 root 权限后重新获得访问权限。 `binfmt_misc` 通过在 `/proc/sys/fs/binfmt_misc/` 虚拟文件系统中注册新的二进制格式处理程序来实现。每个处理程序告诉内核如何识别文件(例如,通过其魔术字节或文件扩展名)以及使用哪个解释器或模拟器来运行它。当执行匹配的文件时,内核会自动调用指定的解释器,并将该文件作为其参数。 文章重点介绍了 `binfmt_misc` 的一个特定用法,即利用 "C" (credentials) 标志。此标志更改了正常行为:内核不是使用解释器的权限,而是从被执行的原始文件中查找访问权限。如果原始文件是 setuid-root,则解释器将以 root 身份运行。这意味着攻击者可以注册一个 `binfmt_misc` 规则,该规则匹配选定的 SUID 二进制文件的前几个字节(例如,`chfn`),然后当用户“运行 `chfn`”时,内核会将控制权传递给攻击者的解释器,但具有 `chfn` 的 setuid 凭据,因此解释器实际上是 root。 文章提供了一个详细的设置后门的示例,包括编译一个简单的解释器,找到一个合适的 SUID 二进制文件(`chfn`),提取其魔术字节,并使用适当的标志注册一个新的 `binfmt_misc` 处理程序。结果是,即使是非特权用户也可以通过运行 `chfn` 命令获得 root shell。 文章还讨论了如何检测这种类型的后门,因为传统的 SUID 搜索不会标记攻击者的解释器二进制文件。建议的技术包括检查 `/proc/sys/fs/binfmt_misc` 中的已注册处理程序,监视该目录中新的或已更改的处理程序,并警惕解释器路径指向可写或临时位置(例如,`/tmp`、`/dev/shm`、用户主目录)的处理程序。 由于没有评论,因此无法提供评论观点的分析。 - 原文: [Today I Learned: Binfmt_misc](https://dfir.ch/posts/today_i_learned_binfmt_misc/) - Hacker News: [https://news.ycombinator.com/item?id=45804870](https://news.ycombinator.com/item?id=45804870) - 作者: malmoeb - 评分: 83 - 评论数: 20 - 发布时间: 2025-11-04 05:49:58 --- ## Lee Felsenstein:个人电脑发展史上的关键人物 本文介绍了美国计算机工程师 Lee Felsenstein,他在个人电脑发展中扮演了核心角色。他是 Homebrew Computer Club 的创始成员之一,也是首款量产便携式电脑 Osborne 1 的设计师。 Felsenstein 在加入 Osborne 之前,还设计了基于 Intel 8080 的 Sol-20 电脑、PennyWhistle 调制解调器以及其他早期的 "S-100 总线" 时代的设计。他设计的共享内存字母数字视频显示器 VDM-1 被广泛复制,并成为个人电脑标准显示架构的基础。 Felsenstein 的设计理念致力于降低计算机技术的成本,使其能够进入更广阔的市场。他的工作关注技术对社会的影响,并深受 Ivan Illich 哲学的影响。他参与的 Community Memory 项目是最早将联网电脑终端放置在公共场所,以促进人际互动的尝试之一,早于商业互联网时代。 Felsenstein 毕业于加州大学伯克利分校,获得电气工程和计算机科学学士学位。 他曾参与 Free Speech Movement,并为 Berkeley Barb 撰稿。在 Osborne Computer Corporation 工作期间,他设计了 Osborne 1。之后,他加入了 Interval Research Corporation,并在 Pemstar Pacific Consultants 工作。他的设计理念深受 Ivan Illich 的《Tools for Conviviality》的影响,提倡一种 "convivial" 的设计方法,鼓励用户通过探索、修补和修改来了解技术。 - 原文: [Lee Felsenstein](https://en.wikipedia.org/wiki/Lee_Felsenstein) - Hacker News: [https://news.ycombinator.com/item?id=45806606](https://news.ycombinator.com/item?id=45806606) - 作者: nickt - 评分: 44 - 评论数: 19 - 发布时间: 2025-11-04 09:36:51 --- ## 掌握Excel财务函数:从原理到应用 本文深入解析了Excel中的财务函数,例如FV、PV、PMT、RATE和NPER,揭示了它们之间的内在联系和使用方法,旨在帮助读者更好地理解和应用这些工具进行财务建模。 文章首先通过一个具体的例子,即规划五年后的一笔10万美元支出,并结合10%的年回报率的投资工具,引出了PMT函数的使用。随后,文章将具体数值抽象化,引入了NPER(期数)、PMT(每期支付金额)、FV(未来值)、RATE(利率)和PV(现值)等概念,并展示了这些函数之间的关系,它们实际上是同一个公式的不同变体。文章还列出了Excel中常用的财务函数,包括FV、PMT、PV、NPER和RATE,并解释了它们的参数顺序和可选参数。 此外,文章还介绍了处理非固定现金流的函数,如IRR、NPV、XIRR和XNPV,它们适用于不同时期支付金额不同的情况。与RATE、NPER、PMT、PV、FV等函数不同,这些函数的计算过程是迭代的,需要通过不断猜测和改进来求解。文章最后还给出了固定周期和支付金额下,这些函数背后的计算公式,帮助读者更深入地理解其原理。通过对PV和PMT的逐步推导,展示了它们在NPER周期后的最终价值的计算方式。 (由于没有评论内容,跳过评论相关的输出。) - 原文: [Understanding Financial Functions in Excel](https://ciju.in/writings/understanding-financial-functions-excel-sheets) - Hacker News: [https://news.ycombinator.com/item?id=45812454](https://news.ycombinator.com/item?id=45812454) - 作者: ciju - 评分: 67 - 评论数: 7 - 发布时间: 2025-11-05 00:00:59 --- ## JVM 异常的奇特之处:反编译视角 本文深入探讨了 Java 虚拟机 (JVM) 异常处理机制的复杂性,特别是从反编译的角度来看。文章揭示了 `javac` 编译器和 JVM 设计中的一些怪异行为,这些行为使得异常处理的反编译变得异常困难。 文章首先介绍了 JVM 是一种基于栈的语言,其异常控制流是隐式的,依赖于异常表来确定异常处理器。 异常表指定了指令区域与异常处理器的对应关系。当区域内发生异常时,栈被清空,异常对象被压入栈,控制权转移到处理器。 文章重点讨论了 `try...finally` 块的处理方式。`javac` 编译器采用了一种“诅咒但巧妙”的方法:它在每个退出路径上复制 `finally` 块的代码,以确保 `finally` 块始终被执行。 这种方式虽然保证了语义正确性,但也导致了生成的字节码变得复杂,给反编译带来了挑战。 文章还提到了 `javac` 编译器在生成异常表时的一个奇怪行为,即 catch-all 处理器的区域会覆盖处理器本身的第一条指令。 尽管作者找到了相关的代码,但由于历史原因,修复的可能性很小,因此反编译器需要处理这种情况。更糟糕的是,任何 JVM 指令都可能抛出异常,这进一步增加了反编译的难度。 总而言之,这篇文章揭示了 JVM 异常处理机制的复杂性和一些不为人知的怪癖,并解释了为什么简单的反编译方法在这种情况下会失效。对于任何希望构建可靠的 Java 反编译器的人来说,理解这些细节至关重要。 - 原文: [JVM exceptions are weird: a decompiler perspective](https://purplesyringa.moe/blog/jvm-exceptions-are-weird-a-decompiler-perspective/) - Hacker News: [https://news.ycombinator.com/item?id=45808899](https://news.ycombinator.com/item?id=45808899) - 作者: vrnvu - 评分: 141 - 评论数: 46 - 发布时间: 2025-11-04 17:08:23 --- ## 探索E.W. Dijkstra的学术遗产:手稿、思想与影响 这篇文章主要介绍了计算机科学先驱Edsger Wybe Dijkstra的在线档案,包括他的手稿、录音以及关于他的工作和思想的资料。该档案旨在保存和传播Dijkstra的学术遗产,使其思想能够继续影响和启发后人。 Dijkstra在算法设计、编程语言、程序设计、操作系统、分布式处理、形式化规范与验证以及数学论证设计等领域做出了卓越贡献。他不仅是一位杰出的科学家,还热衷于教学,关注学术计算科学与软件产业之间的关系。 该档案的核心内容是Dijkstra的“EWD”手稿,这些手稿包含了他的技术笔记、旅行报告、深刻见解和尖锐评论。尽管其中许多手稿后来被发表,但绝大部分仍然未出版,因此这个在线档案为研究者和爱好者提供了一个宝贵的资源。 该网站提供了多种索引方式,包括BibTeX索引和按EWD编号、技术报告等分类的索引,方便用户查找所需资料。此外,还有志愿者正在进行手稿的转录和翻译工作,以提高其可访问性。网站还鼓励读者参与校对,共同完善这些资料。 除了手稿,该档案还包括Dijkstra的讲座和访谈录音,以及关于他的工作和思想的文章。这些资料从不同角度展现了Dijkstra的学术生涯和思想深度。网站还提供了指向其他相关资源的链接,例如Dijkstra在美国历史中心的个人档案。 该网站明确了手稿的版权归属,并提供了联系方式,方便用户获取出版许可。总而言之,这个在线档案是一个全面而深入的Dijkstra学术遗产资源,对于研究计算机科学历史、学习Dijkstra的思想以及了解他对计算机科学的贡献都具有重要意义。 - 原文: [The Manuscripts of Edsger W. Dijkstra](https://www.cs.utexas.edu/~EWD/) - Hacker News: [https://news.ycombinator.com/item?id=45866224](https://news.ycombinator.com/item?id=45866224) - 作者: nathan-barry - 评分: 243 - 评论数: 105 - 发布时间: 2025-11-09 23:27:42 --- ## 扩散模型原理:从噪声到数据的艺术 本文深入探讨了扩散模型的核心原理,阐述了其发展历程,并揭示了不同形式的扩散模型如何从共同的数学思想中演变而来。扩散模型的核心思想是通过前向过程逐步将数据转化为噪声,从而将数据分布与简单的先验分布联系起来。 文章将扩散模型分解为三个互补的视角:变分视角、基于分数的视角和基于流的视角。变分视角受到变分自编码器的启发,将扩散视为逐步去除噪声的过程。基于分数的视角则根植于基于能量的建模,学习演化数据分布的梯度,从而引导样本朝着更可能的区域移动。而基于流的视角与归一化流相关,将生成过程视为沿着平滑路径移动样本的过程,该路径在学习到的速度场的作用下将噪声转化为数据。 这三种视角都建立在一个共同的基础之上:一个随时间变化的速度场,其流动将简单的先验分布转化为数据。采样过程则相当于求解一个微分方程,该方程沿着连续轨迹将噪声演化为数据。此外,文章还讨论了可控生成的指导方法、高效的数值求解器以及受扩散启发的流映射模型,这些模型学习任意时间之间的直接映射。 总而言之,这篇文章为读者提供了一个概念上和数学上都站得住脚的扩散模型理解框架,读者只需要具备基本的深度学习知识即可理解。它将帮助开发者和研究人员更好地掌握扩散模型背后的原理,并将其应用于各种实际问题中。 - 原文: [The Principles of Diffusion Models](https://arxiv.org/abs/2510.21890) - Hacker News: [https://news.ycombinator.com/item?id=45866572](https://news.ycombinator.com/item?id=45866572) - 作者: Anon84 - 评分: 207 - 评论数: 21 - 发布时间: 2025-11-10 00:10:23 --- ## Time Machine 的简要历史:从 HFS+ 到 APFS 的演变 本文回顾了苹果 Time Machine 的发展历程,从最初依赖 HFS+ 文件系统的硬链接技术,到后来引入 APFS 快照,再到最终支持 APFS 卷的备份,详细介绍了 Time Machine 在不同 macOS 版本中的演变和优化。 Time Machine 在 Mac OS X 之前并没有正式的备份工具,当时流行的是 Dantz Development 的 Retrospect。2004 年,苹果的 .Mac 服务包含了一个备份应用,可以将本地文件备份到 iDisk 云端,但 iCloud 至今未支持此功能。Time Machine 首次亮相是在 Mac OS X 10.5 Leopard 中,与 AirPort 无线系统配合使用,旨在简化消费者的 NAS 备份。 最初的 Time Machine 依赖于 HFS+ 文件系统的特性来创建 Finder 界面上的备份“幻觉”。它使用 FSEvents 数据库来跟踪文件系统的更改,并利用目录硬链接来避免复制未更改的文件,从而节省空间和时间。Mobile Time Machine 的引入,则在 HFS+ 上实现了类似快照的功能。 随着 macOS 的发展,Time Machine 也经历了多次架构上的变化。Sierra 版本引入了 DAS-CTS 调度系统,但存在 bug 导致备份不规律。High Sierra 引入 APFS 后,Time Machine 开始使用 APFS 快照来替代 FSEvents 数据库,但备份仍然存储在 HFS+ 卷上。Catalina 版本尝试使用更复杂的方案来确定备份内容,但备份目标仍然是 HFS+ 格式。Big Sur 最终允许将 APFS 卷备份到 APFS 存储,并使用合成快照来呈现备份内容。 现代 Time Machine 在 APFS 上的备份更快且更节省空间,但备份存储的结构也带来了一些问题。虽然在 HFS+ 上复制备份存储并不容易,但目前还没有工具可以有效地复制 APFS 上的 Time Machine 备份。文章还提到了 Time Machine 的备份过程,包括增量复制、基于年龄和空间的清理,以及合成快照的创建。 - 原文: [A brief history of Time Machine (2024)](https://eclecticlight.co/2024/09/07/a-brief-history-of-time-machine/) - Hacker News: [https://news.ycombinator.com/item?id=45804416](https://news.ycombinator.com/item?id=45804416) - 作者: firloop - 评分: 32 - 评论数: 20 - 发布时间: 2025-11-04 05:05:00 --- ## Linux 内核考虑启用 Microsoft C 扩展 Linux 内核可能将在 6.19 版本中启用 Microsoft C 扩展,允许 GCC 和 LLVM/Clang 编译器使用 `-fms-extensions` 编译内核。这个变化意味着内核开发可能可以使用一些非标准的 C/C++ 结构,主要是为了方便处理 Microsoft 的头文件。 启用 Microsoft C 扩展,意味着允许在 struct/union 中匿名包含 tagged struct/union。 过去,虽然也有过类似提议,但最终都没能通过。这次进入 kbuild-next 分支,意味着除非有重要的反对意见,否则很可能会在 Linux 6.19 中实现。有人认为,启用这个扩展可以让代码更简洁,并可能节省栈空间。Linus Torvalds 似乎也不反对这个改动。尽管如此,允许 Linux 内核使用 Microsoft C 行为,可能会引起一些争议。 - 原文: [The Linux Kernel Looks to “Bite the Bullet” in Enabling Microsoft C Extensions](https://www.phoronix.com/news/Linux-6.19-Patch-Would-MS-Ext) - Hacker News: [https://news.ycombinator.com/item?id=45873625](https://news.ycombinator.com/item?id=45873625) - 作者: keyle - 评分: 73 - 评论数: 39 - 发布时间: 2025-11-10 16:09:31 ---

  

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