每日HackerNews RSS

泥土:每日数字文化和娱乐洞察 关闭图标 泥土:每日数字文化和娱乐洞察 投稿关于泥土媒体网站使用条款隐私推特不和谐电子邮件© 2025 泥土媒体公司。版权所有。

一场由“dirt.fyi”链接引发的黑客新闻讨论,围绕着复杂的嫉妒情绪及其潜在驱动因素展开。最初的发帖者认为嫉妒是一种强大而普遍的力量,表现为渴望通过炫耀来*获得*嫉妒,或对那些“超越”他人的人产生怨恨。 评论者们争论了嫉妒的价值和起源——猜测它是否通过激励灵长类动物来发挥进化作用,或者它仅仅是社会等级制度的副产品。 讨论还涉及了文章与科技社区的相关性,一些人认为它对阶级和名声进行了深刻的社会评论,而另一些人则认为它肤浅且不相关,质疑它与技术的联系。最终,这个帖子揭示了人们对这种深刻人性情感的各种观点。

## 经典编译器教程的现代演绎 Jack Crenshaw 的“让我们构建一个编译器”系列(1988-1995),最初用 Pascal 编写并以 68000 汇编为目标,至今仍对编译器爱好者具有惊人的现实意义。为了理解这一点,作者将该教程的编译器一丝不苟地翻译成了 Python,并输出 WebAssembly (WASM)。 该项目的目标是通过提供可运行的代码与原始课程并存,使教程对现代程序员来说更易于理解。一个关键示例是将一个简单的 KISS 语言程序编译成 WASM,展示过程调用和参数传递。虽然生成的 WASM 故意没有进行优化,但它展示了核心概念。 该教程持久的吸引力源于其循序渐进的实践方法:直接构建递归下降解析器,而不是依赖于解析器生成器,并立即关注代码生成。这与传统编译器课程形成了鲜明对比,传统课程在达到代码生成阶段*之前*, heavily 强调了语法分析和语义分析。 然而,该教程的语法制导翻译方法,虽然非常适合初学者,但在处理类型检查等复杂问题时会暴露出局限性。最终,该项目为基础教程与现代开发实践之间提供了一座宝贵的桥梁。代码和与原始教程的详细映射可在 GitHub 上找到。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 重温“让我们构建一个编译器” (thegreenplace.net) 10 分,由 cui 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 可靠的 C:摘要 可靠的 C 旨在记录 C 语言的一个实用子集,解决现代 C 标准(C23、C2Y)日益复杂及其有限的实现支持问题。这些较新的标准与“经典 C”差异很大,并且在各种 C 编译器中通常支持不足。 该项目认识到 C 语言持久的优势——可移植性、广泛的实现和寿命——但承认并非所有 C 代码都是真正可移植或可靠的。可靠的 C 不是一种新的方言,而是一份编写 C 代码的指南,旨在最大限度地提高跨各种平台的兼容性和可预测性。它侧重于记录*哪些有效且可靠地工作*,而不仅仅是技术上符合标准的内容。 关键原则包括避免未定义行为(UB)——没有保证结果的代码——并理解“按效果”规则,该规则允许编译器在可观察行为保持一致的情况下进行显著的优化。该指南强调,虽然许多实现对某些 UB 表现出可预测的行为,但依赖这些行为是有风险的。 最终,可靠的 C 优先考虑兼容性而非最新功能,为编写健壮、可维护的 C 代码提供了一条途径,这些代码将在未来几十年内保持功能。它是一份资源,供那些将保证编译和正确执行放在首位开发人员使用。

一个名为“可靠C”(dependablec.org)的新项目最近在Hacker News上分享,引发了讨论。该项目旨在改进C编程实践,目标与“正统C++”相似,但方法可能有所不同。 最初的反应褒贬不一。一些用户发现该网站难以导航,缺乏对其益处的清晰介绍,并且存在不一致之处。另一些人则为C辩护,指出其严苛的特性无论技能水平如何都能暴露糟糕的编码——这种特性因代码生成器和“低质量”开发者而加剧。 关于C是否应被视为“高级汇编器”的争论浮出水面。一位评论员认为这种说法是准确的,区分了C本身与后来的标准和抽象机器概念,而另一位则要求澄清C在超出该定义之外是什么。总的来说,这场讨论凸显了使用C的挑战和细微之处,以及对更健壮和可靠的编码实践的渴望。

五十年前,《大白鲨》引发了广泛的恐惧,但公众对鲨鱼的看法可能正在转变。最近一项对澳大利亚、美国和英国371人进行的调查显示,人们的观点比“凶猛的捕食者”这一刻板印象更为细致。虽然恐惧依然存在(约占30%的回复),但大多数人——67.5%——使用“牙齿”、“海洋”和“捕食者”等中性词语来描述鲨鱼。 值得注意的是,17.5%的人提供了积极的描述,如“雄伟”和“可爱”,而快乐是与这些动物相关的第二最常见的感情(17%)。研究人员认为,这表明态度正在演变,超越了媒体中经常看到的纯粹负面描绘。 尽管该研究存在局限性——样本量相对较小且具有特定的人口统计特征——但它强调了跟踪公众舆论的重要性,因为它直接影响保护工作。这对于鲨鱼尤其重要,超过37%的鲨鱼物种受到威胁,但最近通过国际协议获得了越来越多的保护。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 我们是否已经克服了“大白鲨效应”? (nautil.us) 4 分,由 fleahunter 1小时前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

最近,Ruby on Rails 的创建者 David Heinemeier Hansson (DHH) 与 WordPress 创始人 Matt Mullenweg 之间的一次争论,凸显了开源社区内部持续存在的紧张关系。DHH 发布了 Fizzy,一款看板工具,使用了新的“O’Saasy”许可协议,该协议禁止竞争的 SaaS 产品——这违反了开源倡议组织 (OSI) 的定义。DHH 不予理会批评,认为“开源”仅仅意味着源代码可用。 Mullenweg 反驳说,遵守既定的 OSI 定义至关重要。虽然对定义的争论很重要,但核心问题是*可持续性*。许多公司从开源工作中获利,却没有充分地贡献于其维护和开发。 DHH 的许可协议旨在解决这个问题,允许他的公司建立可持续的业务。然而,它更准确地描述为“源代码可用”,而不是“开源”。这场争论强调了寻找解决方案的必要性——不仅仅是重新命名问题——以激励贡献并解决开源生态系统中的“搭便车”现象。辩论应该集中在*如何*鼓励可持续参与,而不是*如何*称呼它。

## “源代码可用” vs. 开源:一场辩论 一场 Hacker News 的讨论集中在称呼带有使用限制的许可协议为“开源”的有效性上——特别是那些阻止 SaaS 竞争的协议,例如 David Heinemeier Hansson (DHH) 的新许可协议。 许多人认为这具有误导性,因为真正的开源允许不受限制的使用,包括商业竞争。 这场辩论的核心在于,限制使用场景是否会使许可协议失去被视为“开源”的资格,即使源代码是*可用*的。 一些人认为 DHH 试图两者兼得。 另一些人指出另一种形式的“源代码可用”,即代码以 OSI 批准的许可协议(如 BSD 或 GPL)发布,但缺乏强大的社区参与——认为这也是对开源精神的一种偏离,尽管在技术上仍然符合资格。 然而,贡献者承认,即使没有保证接受贡献,分叉和修改代码的权利仍然是开源的本质。 最终,这场讨论强调了维护“开源”定义的完整性以及真正不受限制的代码访问的重要性。 虽然“源代码可用”许可协议可能是有益的,但它们不应稀释开源的含义。

## NIST 网络时间服务器 – 事件摘要 2025年12月6日21:13 UTC,NIST盖瑟斯堡校区的原子钟主时钟发生故障,导致其网络时间服务器出现-10毫秒的时间跳跃。同时,监控和控制系统也出现故障,包括服务器time-a-g的操作系统关机以及time-f-g服务的暂停。 由于偏移量较小,大多数服务器仍可运行。NIST正在监控情况,如果误差扩大,可能会禁用受影响的系统,以优先保证稳定性而非极致精度。 备用时钟可用,并且计划于2025年12月9日更换故障的原子钟,这将导致短暂的服务中断。重要的是,NIST博尔德校区和WWV/科林斯堡校区的时间服务器**未**受此事件影响。

## NIST 时间服务器中断与冗余讨论 NIST 马里兰州盖瑟斯堡校区发生故障,影响了其原子时间源服务器。该问题引发了 Hacker News 上关于 NIST 冗余和故障处理的讨论。 一些人对存在单点故障表示惊讶,而另一些人则澄清,NIST 在其他校区(科罗拉多州博尔德和科林斯堡) *确实* 维护着多个独立的时间源,这些时间源不受影响。马里兰州服务器目前存在轻微的时间偏差,但尚未达到自动关机的阈值。 评论员指出,使用来自不同位置的多个 NTP 服务器(至少 `2n+1` 个)对于缓解“虚假时间戳”问题至关重要,并强调 NIST 的整体 IT 冗余状况通常是可靠的。该事件似乎是一个局部问题,计划可能切换到备用原子钟。

## ID 的隐藏复杂性 虽然自动递增 ID 最初看起来很简单,但随着系统规模扩大,它们会成为一个重要的架构限制。ID 在整个系统中大量存在——URL、日志、API——使得格式更改变得极其困难。分片、多区域部署、微服务和离线系统都需要超越简单的递增。 常见的替代方案,如 UUIDv4,提供了唯一性,但缺乏排序和结构。ULID 和 UUIDv7 提供了基于时间的排序,但难以处理高并发和时钟漂移。Snowflake 提供了强大的排序和性能,但僵化且难以演进。 作者提倡在选择 ID 格式时,仔细考虑排序保证和结构可扩展性。他们开发了 OrderlyID,这是一种优先考虑结构、演进和类型安全的格式,它包含了时间戳、租户/分片提示,甚至用于错误预防的校验和。 最终,“最佳”ID 格式取决于特定的系统约束。自动递增适用于简单的设置,而更复杂的场景需要仔细权衡利弊。选择 ID 格式不仅仅是一个技术决策,更是一项长期的架构承诺。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 分布式ID格式是架构承诺,而不仅仅是数据类型 (piljoong.dev) 5 分,由 mnahkies 1小时前发布 | 隐藏 | 过去 | 收藏 | 2 条评论 theoli 0分钟前 | 下一个 [–] 使用48位时间戳进行纪元偏移,以获得超过12,000年的范围,再增加50年的范围,这是一种有趣的選擇。回复 frutiger 23分钟前 | 上一个 [–] > ID格式不仅仅是格式,它们是承诺。 直接阅读LLM的输出令人尴尬。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

``` [由 corbet 发表于 2025 年 12 月 10 日] Rust 实验的话题刚刚在年度维护者峰会上讨论。在场的开发者达成共识,Rust 在内核中不再是实验性的——它现在是内核的核心部分,并且会长期存在。因此,“实验性”标签将被移除。祝贺 Linux Rust 团队的所有成员。(请关注我们的维护者峰会报道以获取更多详细信息。) ```

最近在Linux内核维护者峰会上达成共识,Rust不再被视为内核项目中的“实验性”语言,而是成为了核心的永久组成部分。这意味着将移除“实验性”标签。 这一消息在Hacker News上分享后,引发了关于文章标题的讨论,一些人认为标题具有点击诱导性,因为它最初暗示了可能被移除。然而,许多人认为这个消息是积极的,也是Rust for Linux团队工作成果的证明。 这一进展也引发了关于C语言在系统编程未来地位的讨论,有人质疑Rust的安全优势是否最终会导致C代码库逐渐转换为更安全的语言。总体而言,对于内核开发中提高安全性持乐观态度。

这项研究提出了一种**完全移除推理过程中的Transformer**的新方法,在不牺牲甚至*提高*准确性的情况下实现。其关键是从冻结的大型语言模型(Llama-3.3-70B)中提取一个低维“语义场”(256D),代表与任务相关的语义。 一个轻量级的压缩器(AN1)进一步减小这个场,平均将分类准确率提高1.81%。然后,一个拥有30M参数的小模型学习直接从文本*重构*这个场,从而实现**60倍更快的推理速度**,且准确率损失最小(0.35pp)。 核心发现是Transformer模型以令人惊讶的低秩结构编码信息。这使得创建**场处理单元(FPUs)**成为可能——一种新的计算基元,用更简单的场运算取代复杂的矩阵乘法。这项研究提供了一个完全可复现的基线实现,为未来高效、无Transformer的推理工作铺平道路。

## 后Transformer推理与极致压缩 一位研究者(anima-core)分享了一种大幅压缩大型语言模型(如Llama-70B)的新方法。该技术将模型提炼成一个256维的“语义场”表示——实现了**224倍的压缩**——同时在一些基准测试中*提高了*准确性。 核心思想是用一个小型“学生”模型取代完整的Transformer推理,该模型学习直接从文本生成这些语义场。这有效地将Transformer从推理过程中移除。GitHub上提供了一个参考实现,但未包含生产级别的优化。 虽然该论文因其清晰的符号表示而受到称赞,但评论员对可重复性提出了担忧。具体来说,用于实现峰值性能的架构细节是专有的,并且论文中的一些引用/图表已损坏。需要进一步研究来将该方法与标准的知识蒸馏技术以及更小、端到端训练的模型进行比较。作者正在寻求社区的反馈和复现尝试。

## Cloudflare 错误页面生成器 概要 该项目允许您创建定制的错误页面,外观与 Cloudflare 使用的错误页面非常相似,并易于嵌入到您自己的网站中。 提供了在线编辑器,方便快速创建页面。 对于开发者,该项目可以通过 pip 安装 (`pip install git+https://github.com/donlon/cloudflare-error-page.git`),并使用 `render` 函数根据提供的参数生成 HTML 错误页面——控制浏览器、Cloudflare 和主机服务器的状态指示器。 **最新更新 (2025年12月9日):** 所有图标现在都是基于向量的,并与样式表内联到一个文件中,从而提高了性能并简化了部署,消除了外部资源依赖。 该项目支持通过 `ray_id` 和 `client_ip` 参数显示真实的细节,例如 Cloudflare Ray ID 和用户 IP。 提供了示例配置和 Flask 演示服务器 (`flask_demo.py`),以说明各种错误场景和自定义选项。 还有一个在线演示。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 展示你使用 Cloudflare 错误页面 (github.com/donlon) 的应用程序错误 6 分,由 sawirricardo 1 小时前发布 | 隐藏 | 过去 | 收藏 | 2 条评论 hk1337 26 分钟前 [–] 你能真正自定义那个 Cloudflare 错误页面吗? 我以为那是当他们与你的网站失去连接时的错误页面,自定义错误页面只是你的应用程序创建的,比如 404、403 等?回复 zamadatix 16 分钟前 | 父级 [–] 我认为本意是用于恶作剧页面,比如演示链接,它表现得像错误 500,说主机着火了等等,但实际上是 200 OK,而不是你实际的 Cloudflare 服务错误。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

更多

联系我们 contact @ memedata.com