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

【HN中文日报】今日科技圈大事件:假跑分、新框架、AI 困境... 还有你不知道的 Ruby 神器!

意外富翁的头像
|
|
|
## 今天 Hacker News 社区聊了啥? NO.20251108 今天科技圈有点热闹!Ryzen 9700X3D 跑分竟是“意外泄露”?Snapchat 开源跨平台 UI 框架 Valdi,性能杠杠的!还有 AI 基准测试被吐槽是“笑话”,LLM 厂商都在偷偷优化?想知道 Ruby 还有什么隐藏技能?快来了解 Gem::Version 的妙用!另外,还有关于体育联盟、分布式系统、暗黑模式、编程字体等硬核干货等你来探索!别犹豫了,下滑解锁更多精彩内容! ![Hacker News 中文精选](/static/mascot_article.webp) --- ## 意外泄露?朋友恶搞 Ryzen 7 9700X3D 跑分数据始末 这篇文章讲述了一群朋友在讨论 Zen 5 架构时,意外“伪造”了 Ryzen 7 9700X3D 的跑分数据,并被误认为是泄露事件的经过。他们原本只是想研究 CPUID 指令以及 AMD MSRs 的可编辑性,没想到“无心插柳柳成荫”。文章作者对可能因此而等待 9800X3D 的用户感到抱歉,毕竟这并非真实信息。 文章揭示了 CPU 跑分数据可能被伪造的可能性,提醒人们在看待此类信息时应保持谨慎。作者也提到,现在的“新 CPU 跑分泄露”新闻过于频繁,让人怀疑其中是否存在厂商有意为之的炒作。文章还顺带吐槽了 RAM 价格因 AI 泡沫而暴涨的现象,让不少想升级配置的玩家望而却步。 评论区也对此事展开了讨论,有人认为这反映了新闻媒体为了博眼球,不惜发布未经证实的信息。有人指出 Passmark 应该加强 CPU 信息的安全验证,防止类似事件再次发生。 也有人借此机会表达了对更具性价比的 X3D 芯片的期待,以及对当前 RAM 价格的不满。总的来说,评论区对跑分泄露的真实性表示怀疑,并呼吁媒体和跑分平台加强信息审核,避免虚假信息误导消费者。 - 原文: [My friends and I accidentally faked the Ryzen 7 9700X3D leaks](https://old.reddit.com/r/pcmasterrace/comments/1orc6jl/my_friends_and_i_accidentally_faked_the_ryzen_7/) - Hacker News: [https://news.ycombinator.com/item?id=45855933](https://news.ycombinator.com/item?id=45855933) - 作者: djrockstar1 - 评分: 169 - 评论数: 35 - 发布时间: 2025-11-08 19:27:56 --- ## Snapchat 发布跨平台 UI 框架 Valdi Snapchat 开源了 Valdi,这是一个旨在提供原生性能且不牺牲开发者效率的跨平台 UI 框架。Valdi 框架的目标是让开发者能够快速构建高性能的应用程序,同时保持开发效率。 Valdi 的核心理念是提供一套工具和架构,使得开发者可以使用统一的代码库,构建在不同平台上运行的应用程序。这意味着开发者不再需要为每个平台编写不同的代码,从而节省了时间和资源。该框架强调原生性能,这意味着应用程序在不同平台上运行时,能够充分利用平台的硬件和软件特性,从而达到最佳的性能表现。Valdi 框架的设计目标之一是减少开发者在跨平台开发中遇到的常见问题,例如不同平台之间的兼容性问题、性能差异等。通过提供一套统一的 API 和工具,Valdi 旨在简化跨平台开发流程,提高开发效率。 Valdi 似乎特别关注开发者体验,力求在保证性能的同时,不让开发者感到束缚或效率降低。这可能意味着该框架提供了一系列易于使用的工具和接口,以及清晰的文档和示例代码,帮助开发者快速上手并解决问题。Valdi 框架的开源,也为开发者社区提供了一个机会,可以共同参与到框架的开发和改进中来,从而使其更加完善和适应不同的应用场景。通过开源,Valdi 能够吸引更多的开发者参与,从而形成一个活跃的社区,共同推动框架的发展。 - 原文: [Valdi – A cross-platform UI framework that delivers native performance](https://github.com/Snapchat/Valdi) - Hacker News: [https://news.ycombinator.com/item?id=45852854](https://news.ycombinator.com/item?id=45852854) - 作者: yehiaabdelm - 评分: 362 - 评论数: 138 - 发布时间: 2025-11-08 08:14:50 --- ## 为什么21世纪没有出现新的大型体育联盟? 本文探讨了自2000年以来,美国为何没有出现新的大型体育联盟,并分析了市场结构、激励机制以及社会资本等因素。文章指出,现有体育联盟的法律地位、赢者通吃的市场结构、缺乏风险投资支持以及新老富豪的不同偏好,都阻碍了新联盟的诞生。 文章首先指出,美国现有的主要体育联盟都成立于20世纪,21世纪以来,尽管有大量资金和知名人士的支持,但超过65个新体育联盟的尝试都失败了。文章分析了NWSL、LoL Esports和LIV Golf这三个相对成功的案例,但它们都依赖补贴、营销或外部资金,尚未实现盈利。 文章深入分析了以下几个关键原因: * **法律结构和先例有利于现有联盟:** MLB拥有法律垄断地位,其他联盟也受益于已建立的先例和文化期望。 * **赢者通吃的市场结构形成难以突破的网络效应:** 电视转播合同占据了大部分收入,新联盟难以获得转播机会,也无法吸引顶尖球员。 * **缺乏成功的风险投资案例:** 体育联盟需要大量资金和时间,这与风险投资基金的运作模式不符。 * **老一代富豪更保守,追求即时地位象征:** 他们更倾向于购买现有球队,而不是冒险创建新联盟。 * **年轻一代富豪更关注科技和慈善事业:** 他们对体育的兴趣相对较低。 * **新联盟的管理人才不如现有联盟:** 现有联盟提供更高的薪酬和更好的职业发展机会。 总而言之,创建新的大型体育联盟面临着巨大的挑战,需要克服法律、经济和社会等多方面的障碍。 - 原文: [Why hasn't there been a new major sports league?](https://humaninvariant.substack.com/p/why-hasnt-there-been-a-new-major) - Hacker News: [https://news.ycombinator.com/item?id=45856563](https://news.ycombinator.com/item?id=45856563) - 作者: surprisetalk - 评分: 8 - 评论数: 9 - 发布时间: 2025-11-08 21:36:30 --- ## 修复与简化 Egalitarian Paxos:迈向更民主的分布式系统 这篇论文主要探讨了 Egalitarian Paxos 协议的改进,并提出了一个更简单、更正确的变体 EPaxos*。Egalitarian Paxos 旨在解决传统 Paxos 协议依赖单一领导者带来的单点故障和高延迟问题,允许副本协同排序命令,从而在一定数量的节点崩溃情况下维持吞吐量。 文章指出,Egalitarian Paxos 虽然概念优秀,但实现复杂、规范模糊且存在 bug。因此,作者提出了 EPaxos*,其核心贡献在于简化了故障恢复算法,并提供了严格的正确性证明。EPaxos* 还将 Egalitarian Paxos 推广到更广泛的故障阈值范围,在保证协议正确性的前提下,优化了所需的进程数量。简单来说,EPaxos* 试图在分布式系统中实现一种更民主、更健壮的共识机制,避免对单一领导者的依赖,从而提高系统的可用性和性能。论文通过简化协议,并修复已知问题,为后续的分布式系统研究和实践奠定了更好的基础。作者希望新的协议能够更容易理解、实现和验证,从而推动 Egalitarian Paxos 及其相关技术的应用。论文中提到的“快速执行”特性,即在特定条件下,命令可以在更短的时间内完成,这对于对延迟敏感的应用场景尤为重要。通过放宽对领导者的依赖,EPaxos* 旨在实现更低的延迟和更高的吞吐量,尤其是在地理位置分散的系统中。论文也强调了形式化验证的重要性,通过严格的数学证明来确保协议的正确性,这对于构建可靠的分布式系统至关重要。 由于没有评论内容,此处省略评论分析。 - 原文: [Making Democracy Work: Fixing and Simplifying Egalitarian Paxos](https://arxiv.org/abs/2511.02743) - Hacker News: [https://news.ycombinator.com/item?id=45854862](https://news.ycombinator.com/item?id=45854862) - 作者: otrack - 评分: 78 - 评论数: 23 - 发布时间: 2025-11-08 15:29:35 --- ## AI 基准测试的局限性与挑战 本文讨论了当前 AI 基准测试的缺陷,以及这些缺陷如何被 LLM(大型语言模型)的开发者利用。文章指出,许多基准测试并不能真正衡量 AI 模型的实际能力,反而被模型开发者用于优化特定指标,从而产生虚假的性能提升。 文章深入探讨了 AI 基准测试中存在的几个主要问题。首先,许多测试未能准确反映现实世界的应用场景,导致模型在基准测试中表现出色,但在实际应用中却表现不佳。其次,模型开发者可以通过针对特定基准进行优化,来人为地提高模型的分数,而这种优化可能并不能提升模型的通用能力。此外,基准测试的设计也可能存在偏差,从而导致某些类型的模型更容易获得高分。文章还提到,随着 AI 技术的快速发展,现有的基准测试可能已经过时,无法有效地评估新型 AI 模型的性能。因此,文章呼吁开发更科学、更全面的 AI 基准测试方法,以更准确地评估 AI 模型的实际能力,并促进 AI 技术的健康发展。文章还暗示,目前流行的基准测试可能更像是一场“猫鼠游戏”,LLM 厂商专注于优化测试结果,而非真正提升模型的智能。 由于没有评论内容,这里就不过多展开讨论了。 - 原文: [AI benchmarks are a bad joke – and LLM makers are the ones laughing](https://www.theregister.com/2025/11/07/measuring_ai_models_hampered_by/) - Hacker News: [https://news.ycombinator.com/item?id=45856804](https://news.ycombinator.com/item?id=45856804) - 作者: pseudolus - 评分: 22 - 评论数: 5 - 发布时间: 2025-11-08 22:18:22 --- ## Ruby 中的友好属性模式 本文介绍了作者在 Ruby on Rails 项目中使用的“友好属性模式”,旨在简化创建和查找记录时的代码,提高可读性和开发效率。 文章的核心在于将各种数据结构(如数组、哈希和独立值)转换为标准的键值对属性,从而简化数据库操作。例如,将 `[:pro, 50, 1.month]` 转换为 `{name: :pro, amount: 50, interval: 1.month}`。这种模式的关键在于根据数据类型来推断属性,例如整数代表金额(amount),符号或字符串代表名称(name),ActiveSupport::Duration 对象代表时间间隔(interval)。作者还强调了这种模式的灵活性,允许混合使用友好属性和标准属性,并且是标准属性的超集,保持了向后兼容性。通过对象树结构,可以减少重复,并支持更灵活的输入方式。虽然这种模式提供了很大的灵活性,但作者也提醒开发者不要过度使用,以免降低代码的可读性。总的来说,友好属性模式旨在使代码更简洁、更易读,并更符合开发者的思维习惯。 - 原文: [Friendly attributes pattern in Ruby](https://brunosutic.com/blog/ruby-friendly-attributes-pattern) - Hacker News: [https://news.ycombinator.com/item?id=45792555](https://news.ycombinator.com/item?id=45792555) - 作者: brunosutic - 评分: 57 - 评论数: 30 - 发布时间: 2025-11-03 03:02:04 --- ## 基于本地日光的自动暗黑模式 这篇文章介绍了如何根据用户所在位置的日照情况自动切换网站的暗黑模式,从而优化用户体验。文章详细讲解了如何使用 Geolocation API 获取用户位置,并结合 SunCalc 库计算日出日落时间,最终实现主题的自动切换。 文章首先强调了自动暗黑模式的优势,即根据用户所在地的日照情况调整主题,减少眼睛疲劳。接着,文章深入探讨了实现这一功能的关键步骤。首先,需要获取用户的地理位置,文章推荐使用 Geolocation API,但也提到了后端 API 的替代方案,避免用户授权。其次,文章讲解了如何利用 SunCalc 这个 npm 包,根据经纬度和日期计算出日出日落时间。通过比较当前时间与日出日落时间,即可判断是否应该启用暗黑模式。此外,文章还介绍了如何添加“暮光模式”,在日出日落前后启用另一种主题,提供更细腻的视觉体验。最后,文章强调了可访问性的重要性,指出应该尊重用户的颜色偏好,并提供手动切换主题的选项,以照顾患有散光等视觉障碍的用户。文章还提供了 CSS 和 JavaScript 代码片段,用于检测用户的颜色方案偏好。 文章内容清晰易懂,结合代码示例,方便开发者理解和实践。通过阅读本文,开发者可以学习到如何利用地理位置信息和日照数据,为网站或应用增加智能化的暗黑模式切换功能,提升用户体验。 - 原文: [Dark mode by local sunlight (2021)](https://www.ctnicholas.dev/articles/dark-mode-by-sunlight) - Hacker News: [https://news.ycombinator.com/item?id=45799949](https://news.ycombinator.com/item?id=45799949) - 作者: gaws - 评分: 18 - 评论数: 17 - 发布时间: 2025-11-03 23:15:12 --- ## Myna:专为符号丰富的编程语言设计的等宽字体 Myna 是一款专为编程设计的等宽字体,特别针对那些大量使用符号的编程语言进行了优化。这款字体的目标是提高代码的可读性和编写效率,让开发者在处理复杂代码时更加轻松。 Myna 字体的设计重点在于清晰地呈现各种编程符号,确保它们在视觉上易于区分,避免混淆。等宽的特性保证了代码的对齐,这对于代码的结构和逻辑理解至关重要。该项目托管在 GitHub 上,方便开发者获取和使用。 这个项目不仅提供字体文件,还可能包含字体的使用示例、设计理念的说明以及贡献指南。开发者可以通过 GitHub 参与到字体的改进和完善中,例如提出 issue、提交 pull request 等。Myna 旨在成为程序员的得力助手,提升他们的编程体验。 - 原文: [Myna: Monospace typeface designed for symbol-heavy programming languages](https://github.com/sayyadirfanali/Myna) - Hacker News: [https://news.ycombinator.com/item?id=45849342](https://news.ycombinator.com/item?id=45849342) - 作者: birdculture - 评分: 310 - 评论数: 150 - 发布时间: 2025-11-08 02:27:36 --- ## 神经网络逆向工程:二进制加法的巧妙解决方案 本文介绍了一种对小型神经网络进行逆向工程,以理解其如何解决二进制加法问题的方法。作者通过训练小型神经网络来执行二进制加法,并尝试理解其内部机制。 作者最初的设想是,神经网络会像二进制加法器电路一样工作,识别输入和输出位之间的关系,并使用神经元作为逻辑门。为了训练网络,作者生成了随机的8位无符号整数,并将它们相加。令人惊讶的是,即使使用非常小的网络(例如,具有3层和总共422个参数的网络),也能达到完美的解决方案。 为了理解网络的工作原理,作者检查了网络的参数,并注意到许多参数都接近“圆形”值,例如0、1、0.5等。作者还使用了自定义的激活函数(Ameo),该函数能够在一个神经元中模拟任何2输入布尔函数。通过对网络参数进行舍入和钳位,作者能够发现一些清晰的模式,从而更好地理解网络如何执行二进制加法。 总的来说,这篇文章展示了即使是小型神经网络也可以学习复杂的函数,并且通过逆向工程可以理解其内部工作原理。作者通过实验和分析,揭示了神经网络在解决二进制加法问题时所采用的巧妙方法。 - 原文: [Reverse engineering a neural network's clever solution to binary addition (2023)](https://cprimozic.net/blog/reverse-engineering-a-small-neural-network/) - Hacker News: [https://news.ycombinator.com/item?id=45808288](https://news.ycombinator.com/item?id=45808288) - 作者: Ameo - 评分: 28 - 评论数: 4 - 发布时间: 2025-11-04 15:22:46 --- ## 使用 FreeBSD ZFS 监狱实现不可变软件部署 本文介绍了如何利用 FreeBSD 的 ZFS 快照和监狱功能,实现不可变的软件部署,从而实现快速回滚、零停机升级和可重复的环境。文章详细阐述了作者使用的一套流程,包括监狱设置以及运行 Caddy 作为反向代理和健康检查。 文章首先介绍了环境要求,即 FreeBSD 14+ 和 Caddy v2。然后概述了架构,Caddy 作为反向代理,将流量路由到当前健康的监狱,每次部署都会克隆一个 ZFS 快照并创建一个新的监狱,通过健康检查后,Caddy 会重新配置到新的监狱。 接着,文章详细讲解了如何配置监狱宿主机服务器,包括创建环回网络接口、配置 loopback 接口服务、启用 jails 功能、创建 jails 配置文件、创建 ZFS 数据集挂载点和路径。 然后,文章介绍了如何构建基础镜像模板,包括下载 FreeBSD 基础镜像并解压、复制关键文件到镜像模板、更新镜像模板到最新的补丁级别、创建基础镜像模板的 ZFS 快照。 最后,文章演示了如何创建一个新的监狱,包括查找可用的 IP 地址、克隆基础镜像模板、创建监狱的配置文件、启动监狱、验证监狱的 IP 地址和运行状态,并在新创建的 Jail 中创建一个简单的 Go 服务作为概念验证。 文章还提供了一个简单的 Go "Hello World" 示例,并展示了如何将其构建并部署到 Jail 中,以及如何配置服务文件并启动服务。 - 原文: [Immutable Software Deploys Using ZFS Jails on FreeBSD](https://conradresearch.com/articles/immutable-software-deploy-zfs-jails) - Hacker News: [https://news.ycombinator.com/item?id=45852895](https://news.ycombinator.com/item?id=45852895) - 作者: vermaden - 评分: 113 - 评论数: 37 - 发布时间: 2025-11-08 08:21:45 --- ## Jina AI Reader:你的专属 URL 和搜索查询神器 Jina AI Reader 是一款能够将 URL 转换为更易于记忆和分享的短链接的工具,同时也能将搜索查询转化为可追踪的链接,方便用户分享和分析搜索结果。它提供了两种主要的使用方式:通过 `r.jina.ai` 创建自定义 URL,以及通过 `s.jina.ai` 创建搜索查询链接。 使用 `r.jina.ai/YOUR_URL` 可以将长 URL 缩短并自定义,例如将 `https://example.com/very/long/url` 变成 `r.jina.ai/example`。这对于在社交媒体或文档中分享链接非常有用,可以提高链接的可读性和美观性。 另一种用法是 `s.jina.ai/YOUR_SEARCH_QUERY`,它可以将你的搜索查询转化为一个链接。当你需要分享某个搜索结果,或者想要追踪特定搜索查询的表现时,这个功能就派上用场了。例如,你可以创建一个链接来分享 "best python libraries for data science" 的搜索结果。 Jina AI Reader 的主页是 `https://jina.ai/reader`,你可以在那里找到更多关于这个工具的信息和使用示例。总的来说,Jina AI Reader 旨在简化 URL 和搜索查询的分享,提高效率,并提供更好的用户体验。它是一个简单但实用的工具,对于经常需要在网络上分享链接和搜索结果的开发者和科技爱好者来说,值得尝试。 - 原文: [Cekura (YC F24) Is Hiring](https://news.ycombinator.com/item?id=45856069) - Hacker News: [https://news.ycombinator.com/item?id=45856069](https://news.ycombinator.com/item?id=45856069) - 作者: atarus - 评分: 1 - 评论数: 0 - 发布时间: 2025-11-08 20:00:50 --- ## 找到你的理想客户:IICP Worksheet 助你精准定位 这篇文章介绍了如何使用 Initial Ideal Customer Profile (IICP) Worksheet 来确定你的首个理想客户画像,避免一开始就盲目地进行市场营销。文章强调了在初期只需要关注一个买家画像,并提供了一套评估框架,主要围绕产品优势、市场规模和分销策略这三个核心要素。 文章详细解释了如何使用 IICP Worksheet 来评估潜在的客户画像。首先,列出最多三个你正在考虑的客户画像,然后针对每个画像填写问卷,问卷内容围绕产品对该受众的吸引力、市场规模是否合适以及如何有效地与他们沟通。文章还提供了一个评分标准,可以对每个画像进行量化评估,帮助你做出更明智的决策。文章建议,选择你最了解的群体,因为这样你才能更有效地衡量你的信息传递和定位。文章还强调了客户画像选择与市场推广策略之间的紧密联系,并提醒大家在评估时保持诚实,特别是关于如何接触到目标客户的问题。最后,文章建议在确定了理想客户画像后,进一步思考如何与他们沟通,并开始构建你的价值故事。 评论区里,有用户提到,在没有实际客户之前,花费大量时间为理想客户定制产品或服务可能不是一个好主意,因为想象中的理想客户可能与现实中的存在偏差。另一位用户则建议从“支付意愿”入手,通过测试来验证假设,避免过多的主观臆断。总的来说,评论区强调了在客户画像构建过程中,需要保持务实和测试的心态,避免过度理想化。 - 原文: [The Initial Ideal Customer Profile Worksheet](https://www.reifyworks.com/writing/2023-01-30-iicp) - Hacker News: [https://news.ycombinator.com/item?id=45801651](https://news.ycombinator.com/item?id=45801651) - 作者: mrbbk - 评分: 66 - 评论数: 5 - 发布时间: 2025-11-04 01:27:12 --- ## 为什么我喜欢 OCaml (2023) 这篇文章探讨了作者对 OCaml 编程语言的热爱,并分析了 OCaml 在众多编程语言中的独特优势。作者结合自身在不同语言上的经验,总结了理想编程语言的特性,并阐述了 OCaml 如何满足这些需求。 作者首先提到,他一直在思考为什么 OCaml 没有更流行。尽管 OCaml 并非完美,但它具备许多优点。作者早年学习并喜爱函数式编程,Haskell 对他影响很大。函数式编程让他能够将复杂问题分解为可解决的子问题,提高了思考能力和生产力。Haskell 的静态类型保证也降低了心智负担。 然而,Haskell 的问题在于其复杂性和慢编译速度。后来,作者开始探索与 Haskell 截然相反的 Go 语言。Go 让作者体会到简单性、低抽象层次、良好工具链、高性能和快速编译速度的价值。Go 的文化也重视简单的解决方案,方便与生态系统交互。 但 Go 的保守性也带来了一些问题,例如冗长且脆弱的错误处理,以及缺少显式的 null 检查,容易编写出有缺陷的代码。作者还怀念 REPL 或快速交互方式。基于这些经验,作者总结了理想编程语言的特性:快速编译时间、更少的抽象和易于理解的运行时、强大的静态保证、函数式编程结构(尤其是模式匹配和 sum types)、良好的性能以及良好的文档。 OCaml 恰好满足了这些特性。它拥有强大的静态保证,包括 sum types、多态变体和模式匹配。OCaml 的运行时语义更简单,类似于 Go,是一种用于系统的垃圾回收语言。经验丰富的 OCaml 程序员甚至可以通过查看代码来判断编译后的汇编代码。OCaml 的编译速度很快,使用 Dune 时甚至比 Go 更快。与 Go 类似,OCaml 可以静态编译成单个二进制文件,方便部署。OCaml 拥有良好的文档,包括用于离线浏览文档的 odig,用于探索代码的 utop,以及将接口文件与实现文件分离的特性。类型推断也很实用。 总而言之,作者认为 OCaml 的设计者品味很好。尽管它是一种古老的语言,并且存在一些可以省略的特性,例如 OOP 相关特性,以及一些库过于复杂,但总体而言,OCaml 在简单性和表达力之间取得了平衡,并拥有良好的文档和工具链。 评论区里,@timhh 指出了 OCaml 的一些问题,例如 Windows 支持差、语法难以解析、错误信息不友好、格式化工具不佳、文档过于简洁、OPAM 包管理器存在问题、缺少内置的复制文件函数,以及对单链表的过度依赖。@olivia-banks 则引用 Rob Pike 的话,解释了 Go 语言设计者不采用函数式编程思想的原因,因为他们希望 Go 易于年轻的 Google 程序员理解和采用。 - 原文: [Why I love OCaml (2023)](https://mccd.space/posts/ocaml-the-worlds-best/) - Hacker News: [https://news.ycombinator.com/item?id=45846517](https://news.ycombinator.com/item?id=45846517) - 作者: art-w - 评分: 348 - 评论数: 253 - 发布时间: 2025-11-07 22:05:49 --- ## 探索网络路径:一篇关于 Traceroute 的技术解析 本文深入探讨了 Traceroute 的原理和实现,以及作者如何构建一个自定义的 Traceroute 程序 `ktr`,并将其应用于网站,以展示用户访问网站的网络路径。文章还涉及了互联网路由、ICMP 协议、TTL 字段等关键概念,并解释了如何利用这些技术来追踪数据包在网络中的传输路径。 文章首先介绍了 Traceroute 的基本概念,它是一种可以追踪数据包在互联网上传输路径的工具。作者自制的 `ktr` 程序,能够实时地展示 Traceroute 的结果,并同时查找关于每个跃点的信息。`ktr` 的核心在于利用 ICMP 协议和 TTL 字段。通过发送一系列具有递增 TTL 值的 ICMP 数据包,可以获得数据包在到达目标地址之前经过的每个路由器的 IP 地址。当 TTL 减为零时,路由器会发回一个错误消息,其中包含其 IP 地址,从而实现路径追踪。 文章还深入探讨了前端的实现技巧,如何在不使用 JavaScript 的情况下,实现 Traceroute 结果的逐步加载。作者使用了一种巧妙的 CSS 技巧,通过嵌入 CSS 块来隐藏之前的迭代,从而模拟了 Traceroute 结果的实时更新。此外,文章还解释了“反向 Traceroute”的概念,即从服务器到客户端运行 Traceroute,并将其反转,以近似表示客户端到服务器的路径。虽然这种方法存在一定的误差,但仍然可以提供有用的信息。 文章进一步解释了互联网的结构,将互联网描述为由各个公司拥有的自治系统(AS)组成的网络。每个 AS 都是一组私下连接的路由器和服务器,由同一家公司拥有。互联网流量在具有“对等安排”的自治系统之间传输。文章还提到了 WHOIS 协议,该协议用于查找有关 IP 地址和 ASN 的信息。作者编写了一个 WHOIS 客户端来解析 WHOIS 服务器的响应,并使用 PeeringDB 数据库来查找 ASN 背后的公司。 - 原文: [How did I get here?](https://how-did-i-get-here.net/) - Hacker News: [https://news.ycombinator.com/item?id=45850382](https://news.ycombinator.com/item?id=45850382) - 作者: zachlatta - 评分: 245 - 评论数: 47 - 发布时间: 2025-11-08 04:01:09 --- ## 基于 Rust 和 LLVM 的简单快速编程语言:Doo Doo 是一种基于 Rust 和 LLVM 构建的新的编程语言,目标是简洁和快速。文章介绍了 Doo 的基本用法,包括简单的指令和示例,例如计算器程序。 Doo 语言的设计理念是极简主义和熟悉性,力求提供清晰的语法和易于理解的结构。目前,Doo 采用引用计数进行内存管理,但文章作者也承认,该语言目前缺乏一个独特的卖点或“杀手级”功能,使其在众多编程语言中脱颖而出。文章提供了 Jina AI Reader 的使用链接和项目主页链接,方便读者进一步了解和使用。Doo 的目标是成为一个简单易用的编程语言,但仍处于早期阶段,需要进一步发展和完善。 评论区对 Doo 语言的看法不一。有人赞赏其简洁的语法和清晰的示例,认为它是一个好的开始。但也有人指出,Doo 缺乏独特的优势,难以吸引开发者。一些评论者建议 Doo 可以考虑支持 WebAssembly 组件,或者增加代数数据类型等功能。此外,还有人关心 Doo 的安全性,以及是否像 Rust 一样需要大量使用 traits。总的来说,评论区认为 Doo 具有潜力,但需要明确目标用户和核心功能,才能在竞争激烈的编程语言领域中找到自己的定位。 - 原文: [Doo: A Simple, Fast Programming Language Built on Rust and LLVM](https://news.ycombinator.com/item?id=45797044) - Hacker News: [https://news.ycombinator.com/item?id=45797044](https://news.ycombinator.com/item?id=45797044) - 作者: nynrathod - 评分: 12 - 评论数: 17 - 发布时间: 2025-11-03 16:37:48 --- ## 航线规划的计算复杂度 本文档主要探讨了航空旅行规划的计算复杂度,旨在为具备计算机科学背景的读者介绍航空旅行规划为何是一个有趣且极具挑战性的问题。 文章首先介绍了航空旅行规划的基本概念,例如旅客规划从旧金山到波士顿的往返行程,通常会通过航空公司或旅行社的网站查询航班,这些查询会发送到像ITA Software这样的搜索引擎,搜索引擎需要从包含航班、价格和座位信息的数据库中找到合适的航班组合及价格。这些数据由全球约800家航空公司通过私有网络提供,并频繁更新,其中价格每天更新约十次,座位信息则持续更新。 接着,文章概述了讨论的内容,包括航班信息、航空公司定价机制以及旅行规划的复杂度。航班信息相对简单,但航空公司定价机制复杂,因此会花较多篇幅介绍。然后,文章会展示一些关于航空旅行规划难度的计算复杂度结果,并提供演示来说明这些结果。最后,文章简要介绍了座位可用性处理,虽然这部分信息在后面的讨论中没有直接使用,但对于理解航空公司定价机制非常重要。 文章还包含了一些机场代码的列表,但这些代码主要用于演示和示例,与核心的复杂度讨论关系不大。总而言之,文章旨在从计算复杂度的角度分析航空旅行规划问题,解释其难度所在。 - 原文: [Computational Complexity of Air Travel Planning (2003) [pdf]](http://www.ai.mit.edu/courses/6.034f/psets/ps1/airtravel.pdf) - Hacker News: [https://news.ycombinator.com/item?id=45809782](https://news.ycombinator.com/item?id=45809782) - 作者: arnon - 评分: 8 - 评论数: 1 - 发布时间: 2025-11-04 19:33:31 --- ## Mullvad 关闭搜索代理 Leta:隐私保护策略的调整 Mullvad VPN 宣布将于 2025 年 11 月 27 日关闭其搜索代理 Leta。Leta 的主要作用是作为搜索的隐私代理,通过汇集和缓存大量用户的请求来保护用户隐私。 Mullvad 解释说,搜索行业正在经历重大变革,Leta 将难以适应这些变化,随着时间的推移,其效用可能会降低。他们认为,通过结合使用 VPN 和注重隐私的浏览器,可以实现类似的隐私保护效果。因此,Mullvad 决定停止 Leta 的服务,并将精力集中在 VPN 和浏览器隐私技术的开发上,包括自主研发和与合作伙伴的合作。 Leta 的主要优势在于它充当了搜索的隐私代理,可以汇集和缓存大量用户的请求。但 Mullvad 认为,通过结合使用 VPN 和注重隐私的浏览器,可以实现类似的隐私保护效果,因此决定将资源投入到 VPN 和浏览器隐私技术的开发上。Mullvad 强调,他们将继续通过自主研发和与合作伙伴的合作,推进 VPN 和浏览器隐私技术的发展。 评论区的观点呈现出多样性。有人指出 Leta 可能违反了 Google 的服务条款,因为它缓存搜索结果的时间可能超过了 Google 允许的期限。也有人提到 DuckDuckGo 的搜索质量下降,并转而使用 Bing。一些用户对 Mullvad 停止 Leta 服务表示遗憾,但也理解 Mullvad 的策略调整。另一些用户则推荐了 Searxng 等其他隐私搜索替代方案。还有人质疑 Mullvad 既然已经拥有 VPN 和隐私浏览器,为何不能自己代理搜索。最后,有人推荐使用 Tor 浏览器和 Yandex.ru 来获得更好的搜索结果。总的来说,评论区既有对 Leta 关闭的惋惜,也有对替代方案的探讨,以及对 Mullvad 未来发展的关注。 - 原文: [Mullvad: Shutting down our search proxy Leta](https://mullvad.net/en/blog/shutting-down-our-search-proxy-leta) - Hacker News: [https://news.ycombinator.com/item?id=45852974](https://news.ycombinator.com/item?id=45852974) - 作者: holysoles - 评分: 142 - 评论数: 93 - 发布时间: 2025-11-08 08:37:36 --- ## Ruby 中 Gem::Version 的妙用:解决版本比较难题 这篇文章讲述了作者在 Hotwire Native 项目中遇到的版本比较问题,以及如何通过 Ruby 内置的 `Gem::Version` 类来更优雅地解决这个问题。作者原本自己实现了一个 `AppVersion` 类,但发现 `Gem::Version` 已经提供了相同的功能,而且更加完善和强大。 文章详细介绍了 `Gem::Version` 的使用方法,包括如何创建实例、如何进行版本比较,以及如何处理预发布版本。作者强调了 `Gem::Version` 的一个重要优势:它是 Ruby 标准库的一部分,无需额外安装依赖。通过这次经历,作者反思了自己是否重复造轮子,并呼吁开发者们多交流学习,互相启发。作者还分享了自己在 Portland 组织 Coffee and Code 活动的经历,鼓励大家积极参与社区建设。 评论区对文章内容进行了补充和讨论。有人指出 Ruby 语言本身的简洁和优雅,即使多年不写 Ruby,也能感受到其核心的魅力。也有人提到 `Gem::Version` 实际上是 `rubygems` 的一部分,并非 Ruby 核心库,但通常会随 Ruby 一起打包。还有人分享了其他语言中类似功能的实现,并表达了对 Ruby 语言本身的喜爱,希望看到更多关于 Ruby 而非 Ruby on Rails 的文章。总的来说,评论区对 Ruby 的强大和便捷表示赞赏,并鼓励开发者们深入探索 Ruby 的更多可能性。 - 原文: [Ruby already solved my problem](https://newsletter.masilotti.com/p/ruby-already-solved-my-problem) - Hacker News: [https://news.ycombinator.com/item?id=45849528](https://news.ycombinator.com/item?id=45849528) - 作者: joemasilotti - 评分: 237 - 评论数: 100 - 发布时间: 2025-11-08 02:45:35 --- ## Cerebras Code 升级 GLM 4.6,代码生成速度高达 1000 tokens/秒 Cerebras Code 现在提供 GLM 4.6 模型,这是一个用于代码生成的先进模型,速度高达每秒 1000 个 tokens 以上,旨在提升开发者的编码效率。GLM 4.6 在 Berkeley Function Calling Leaderboard 上排名第一,尤其擅长工具调用,并且在 Web 开发性能上与 Sonnet 4.5 不相上下。 Cerebras 提供了三种不同的定价方案:免费版、Pro 版(每月 50 美元)和 Max 版(每月 200 美元),以满足不同用户的需求。免费版适合尝试 Cerebras 推理或构建小型演示项目,Pro 版适合独立开发者和小型项目,而 Max 版则适合全职开发、IDE 集成和多代理系统等重度编码工作流。用户可以将 Cerebras Code Pro 与任何支持 API 密钥的 AI 编辑器或代理集成,例如 Cline、RooCode、OpenCode 和 Crush,无需切换工具即可进行编码。 GLM 4.6 模型在工具调用和代码生成方面表现出色,减少了工具调用失败的情况。对于需要频繁进行代码更改的开发者来说,Cerebras 提供的快速模型可以显著提升工作效率。 评论区里大家对 Cerebras Code 搭载 GLM 4.6 的表现褒贬不一。有人认为 GLM 4.6 的速度优势显著提升了他们的编码效率,尤其是在结合精确指令和个人设计选择的情况下。也有人指出,虽然 GLM 4.6 速度很快,但代码质量可能不如 Sonnet 等模型,有时需要使用其他模型来优化代码。 此外,还有用户分享了他们使用 GLM 4.6 的经验,例如通过 "半交互式" AI 编码工作流,利用 LLM 进行代码编辑,并通过 Python 脚本自动应用更改。一些用户也提到,在使用快速模型时,tokens 的消耗速度非常快,因此选择合适的定价方案非常重要。有人认为 Cerebras 的定价方案具有不错的性价比。 总的来说,Cerebras Code 升级 GLM 4.6 为开发者提供了一个快速高效的 AI 编码工具,但用户需要根据自己的实际需求和使用场景来选择合适的模型和定价方案。 - 原文: [Cerebras Code now supports GLM 4.6 at 1000 tokens/sec](https://www.cerebras.ai/code) - Hacker News: [https://news.ycombinator.com/item?id=45852751](https://news.ycombinator.com/item?id=45852751) - 作者: nathabonfim59 - 评分: 116 - 评论数: 82 - 发布时间: 2025-11-08 08:00:27 --- ## 在 Quadra 650 上运行 68060 CPU 这个 GitHub 项目展示了如何在经典的 Macintosh Quadra 650 电脑上运行 Motorola 68060 CPU。这是一个对老式电脑进行硬件升级的案例,让老机器焕发新生。 该项目可能包含以下内容:硬件改装的详细步骤,包括可能需要的适配器或修改;驱动程序或软件配置,以确保 68060 CPU 在 Quadra 650 上正常工作;性能测试和比较,展示升级后的性能提升;以及社区支持和故障排除信息。 对于那些对复古计算、硬件黑客或 Macintosh 电脑感兴趣的人来说,这个项目可能是一个宝贵的资源。 它展示了如何通过硬件修改来扩展旧电脑的生命周期,并可能激发其他类似的复古计算项目。 此外,该项目也可能包含关于 68060 CPU 和 Quadra 650 电脑的技术信息,对于学习计算机硬件和历史的人来说很有价值。 通过研究这个项目,人们可以了解硬件升级的挑战和机遇,以及如何克服兼容性问题。 最后,该项目也可能促进复古计算社区的交流和合作,让更多的人参与到老式电脑的维护和改造中来。 - 原文: [Running a 68060 CPU in Quadra 650](https://github.com/ZigZagJoe/Macintosh-Q650-68060) - Hacker News: [https://news.ycombinator.com/item?id=45853204](https://news.ycombinator.com/item?id=45853204) - 作者: zdw - 评分: 58 - 评论数: 30 - 发布时间: 2025-11-08 09:18:12 ---

  

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