每日HackerNews RSS

## 代码的未来:简洁与验证 Kernighan 定律——调试时间是编码的两倍——强调了简单代码的重要性。然而,随着 LLM 的兴起,这超越了复杂性,延伸到*语言设计*。LLM 在 Python 和 Javascript 等流行语言上表现挣扎,但在 Elixir、Kotlin 和 C# 等语言上表现出色。这并非关于训练数据量,而是关于*结构*。 具有清晰、明确规则的语言——函数式范式、不可变性、模式匹配——使 LLM 能够轻松理解和生成代码。这些语言优先使程序逻辑可见,有助于人工验证。瓶颈不是代码*创建*(机器现在更擅长),而是*验证*——确保代码实现其预期功能。 这类似于特斯拉押注为人类设计世界而构建的视觉系统所取得的成功。同样,软件应该针对人类理解进行优化——清晰的规范、审计日志和可测试的属性。 未来,LLM 将处理代码生成和调试,而人类将专注于定义需求和验证结果。这种转变需要针对机器*生成*和人类*验证*进行优化的语言,推动我们走向更简单、更结构化的设计——这正是 Grace Hopper 数十年前预见的愿景。

## 黑客新闻讨论摘要:格蕾丝·霍珀的复仇 黑客新闻上的一场讨论围绕着一篇近期文章展开,该文章认为函数式编程语言在 LLM 代码生成方面表现良好,并非因为其内在优越性,而是因为其约束性简化了人工智能的解决方案空间。文章认为 LLM 擅长验证,从而将重点从人类代码创建转移到确保代码正确性。 评论者们争论文章的观点,质疑数据和方法论。许多人指出,像 Elixir、C# 和 Kotlin 这样的语言中强大的约定和生态系统约束,似乎比纯粹的函数式范式更具影响力。有人建议数据质量——像 Python 和 JavaScript 这样的语言中大量劣质代码——可能会扭曲结果。 一个关键点是,不变性和强约定比仅仅是函数式或面向对象更重要。其他人强调了人工智能可能加剧现有问题的潜力,从而创建人类不完全理解且难以维护的代码。 还有关于 LLM 是否真的提高了代码*可理解性*,或者只是将推理转移到人工智能的讨论。 最终,这场讨论凸显了人工智能时代软件开发思维方式的转变,从纯粹的代码创建转向验证,以及促进可靠、可审计代码的语言的重要性。

## 致命核心转储:调试中的谋杀之谜 这个项目详细介绍了创建一个独特的谋杀解谜游戏的过程,该游戏围绕着调试核心转储展开——程序崩溃时刻状态的快照。作者旨在创造一个具有挑战性的谜题,利用一种深奥的计算机技能,灵感来自《Return of the Obra Dinn》和《The Case of the Golden Idol》等游戏。 游戏背景设定在太空中的科幻“公司城镇”,围绕着气闸门控制器程序展开。谋杀是通过精心设计的缓冲区溢出漏洞实施的,旨在使其既合理又可以通过核心转储分析来解决。作者精心构建了软件,包括一个虚假的“空间站设备网络”通信协议,以创建一个逼真的环境并控制程序的状态,从而生成核心转储。 作者投入了大量精力来设计漏洞,在软件设计上的疏忽与攻击者的巧妙构思之间取得平衡。最终产品包括游戏本身([https://www.robopenguins.com/fatal_core_dump/](https://www.robopenguins.com/fatal_core_dump/))、源代码([https://github.com/axlan/fatal_core_dump](https://github.com/axlan/fatal_core_dump)),甚至一个像素艺术视觉组件。作者还尝试在网络浏览器中运行GDB,以提供一个完全集成的体验。游戏以验证问题结尾,以确认玩家对谋杀技术细节的理解。

一款名为“Fatal Core Dump”(robopenguins.com)的新游戏在Hacker News上引起了关注。这款游戏挑战玩家进行调试和系统管理任务,本质上是在模拟环境中通过实践学习。 评论者们对此充满热情,将其与80年代的“选择你自己的冒险”书籍相提并论,那些书籍包含BASIC编程练习。一些人认为它具有教育潜力,建议可以将其改编成一门课程,其中解决游戏中的谜题*就是*期末考试,而较小的挑战则作为家庭作业。 一个关键点是,游戏擅长利用现实世界的资源,如man页面和Stack Overflow,作为学习过程不可或缺的一部分——教程*就是*真实环境。总的来说,该游戏因其创新的、引人入胜的技术技能学习方式而受到赞扬。

Droeftoeter 是一款实验性的开源“编码代理”,它根据文本提示在 64x32 字符网格上生成视觉效果。可以把它看作一个简单的可视化工具、一个儿童编码玩具,或者一个有限的视频生成器——所有这些都由大型语言模型(LLM)提供支持。 它的工作方式是迭代地构建现有代码;每个新的提示都会修改当前的视觉输出。用户可以使用 `/clear` 清除网格并重新开始。Droeftoeter 支持多种 LLM 提供商,包括 Groq、Gemini、OpenAI 兼容的 API、Anthropic 以及本地 Ollama 设置,可通过环境变量或配置文件进行配置。 该项目提供预构建的二进制文件,也可以使用 Go 从源代码编译。创建者设想它在现场视觉表演方面的潜力,特别是算法雷鬼音乐会期间的“VJing”。

一位开发者在Hacker News分享了“Droeftoeter”,一个为终端设计的、有趣的小型编程玩具,可在GitHub和itch.io上找到。该项目名称是一个荷兰语词汇,大致翻译为“悲伤的号角”或“可怜鬼”,立刻引起了评论者的共鸣,他们赞扬了它的幽默和创意。 虽然从帖子中无法立即了解确切的功能,但用户仅仅从项目的概念和有趣的名字中就获得了乐趣。开发者欢迎反馈,并好奇其他人对其中的想法。该帖子引发了积极的讨论,突显了古怪、个人编程项目的吸引力。

## Teardown 多人模式:漫长之路 为 Teardown 添加多人模式是一项巨大的挑战,最初被认为不切实际,因为它拥有完全可破坏、可修改的世界和复杂的物理引擎。早期使用简单的同步方法进行实验,结果证明其带宽消耗大且不稳定。社区制作的一个模组展示了潜力,但受到同步问题的困扰。 开发重点是通过混合方法实现*完美*的世界同步:确定性的破坏逻辑与对其他元素的状态同步相结合。将破坏重写为定点数学,并复制命令(“在此处切割体素”,“重新连接关节”)以最大限度地减少带宽。非结构性更改使用不可靠的状态同步,优先可见对象以保持在数据限制内。 维护模组支持和向后兼容性增加了显著的复杂性。一个主要障碍是将多人代码与正在进行的移植主机开发合并。最终实现利用 Steam Networking,并允许通过重放确定性命令流来延迟加入。 尽管其本质笨拙且存在许多特殊情况,团队仍然坚持不懈,最终交付了多人 Teardown。这次经验为他们在新引擎中采用更简化的多人模式提供了信息,并从这项雄心勃勃的尝试中吸取了教训。

## Teardown 多人游戏:深入探讨确定性物理机制 一篇最新的博文详细介绍了为基于物理的游戏 *Teardown* 添加多人游戏所面临的挑战。核心问题是:在不同硬件上实现确定性的游戏体验。传统上,浮点运算被认为不适用于此目的,但现代 x86 处理器提供了更高的稳定性。然而,将确定性扩展到 ARM 和不同的 x86 厂商需要将代码限制在基本算术运算范围内,并重新实现更复杂的操作。 开发者选择了一种命令和重放系统,向加入的玩家发送确定性命令流。事实证明,这比完全场景序列化更有效。他们利用 Steam 网络后端(GameNetworkingSockets)来实现可靠且有序的事件传递。 讨论强调了云游戏作为替代方案的复杂性(延迟问题),鉴于 *Teardown* 苛刻的物理机制,这是一项令人印象深刻的工程壮举,以及该游戏在新的所有者(Coffee Stain)领导下持续开发。该帖子还涉及浮点精度挑战、编译器优化的重要性以及未来引擎改进的潜力。

## Gitana 18:海洋三体船设计的革命 Gitana 18于2025年12月下水,代表着海洋三体船技术的一次重大飞跃,旨在实现持续的高速飞行。该32米长的船只的设计灵感来自美洲杯,配备可调节的Y形翼箔——翼展达5米——以提供受控的升力和稳定性。 主要创新包括U形舵和中央龙骨,旨在对抗超过35节的速度下的气蚀,以及重新设计的单体船体,将驾驶舱整合其中,以提高刚性和保护性。动态可调的索具,包括可移动的支撑杆,可以在飞行过程中实现对帆力的精确调节。 Gitana 18 包含一个复杂的机电系统,拥有44个液压缸和广泛的布线,其工程技术堪比一级方程式赛车或航空航天技术。这并非量产型号,而是由200多位专家历时36个月开发的技术验证机,旨在成为一个浮动实验室,以实现跨越所有海域的稳定、快速飞行。

关于按住版权联系我们创作者广告开发者条款隐私政策和安全性YouTube的工作原理测试新功能© 2026 Google LLC

## Claude 作为编程伙伴:摘要 在2026年,作者在软件开发中高度依赖 Claude Code,尤其是在 NeoVim 中建立初始架构和设计(CSS、API)后生成代码。虽然 Claude 的输出需要大量的“清理”——通常通过*进一步的 Claude 建议*实现——但作者已经培养了在代码生成过程中进行干预并防止错误的能力。 Claude 在 2D 任务和 CSS 推理方面表现出色,但在复杂的 3D 空间分析方面遇到困难。3D 项目的成功取决于创建“迭代验证循环”——自动化系统,让 Claude 可以独立测试其工作。这包括从多个角度生成截图,添加调试标记(如球体),并将结果与期望结果进行比较,所有这些都不需要人工干预。 关键在于从*询问* Claude 转向*展示* Claude,通过工具建立“共享语言”。这意味着优先考虑“可读输出”(如记录坐标)并自动化视觉验证。作者在 Table Slayer 和 Counter Slayer 等项目中的工作流程涉及编写脚本来捕获视图、分析几何体和重新生成 STL 文件,从而使 Claude 能够自我纠正并验证其 3D 作品。

## Claude 与 3D 工作流程:Hacker News 讨论摘要 一个 Hacker News 帖子讨论了使用大型语言模型 (LLM),如 Claude、Gemini 和 Codex,进行 3D 建模和 CAD 工作。核心思想是一个迭代的“截图 -> 优化循环”,其中 LLM 根据提示和截图生成代码(适用于 FreeCAD 的 Python、SCAD 等),从而实现快速原型设计。 几位用户分享了他们的经验:一位发现 Claude 在 FreeCAD 中建模教堂塔很有帮助,而另一位则在项目外壳方面遇到困难。一个关键的收获是为 LLM 构建工具——赋予它“共享语言”——对于成功至关重要。 挑战包括成本(迭代优化会显著增加开销)、LLM 准确性(尤其是在 3D 变换方面)以及对精确代码的需求。用户指出 Gemini 在 3D 空间推理方面表现出色,而 Claude 有时会增加不必要的复杂性。Codex 因其直接性和准确性而受到称赞。 讨论强调了 LLM 彻底改变 3D 工作流程的潜力,尤其是在游戏开发和机械 CAD 等领域,但强调了仔细提示和迭代的重要性。

文本 文本 校对 校对 词典 词典 文档 文档 网站 网站 登录 关于 Kagi 登录 免费试用 文本 文本 校对 校对 词典 词典 文档 文档 网站 网站 英语 0/20000 开始输入网址或文本... 0/20000 LinkedIn 演讲 标准 最佳

``` $ sudo zen 系统优化 ✓ 文件系统同步... ✓ 清理内存缓存... ✓ 系统优化完成! ```

## Zenclora OS 在 Hacker News 上的讨论 一个新的 Linux 发行版 Zenclora OS (zenclora.org) 在 Hacker News 上引发了争论。用户质疑它的目的,特别是“zen”工具——一个大型 bash 脚本,用于自动化软件包安装。有人对该脚本的有效性表示担忧,一位评论员指出它的“optimize”功能会执行潜在的有害操作,例如清除缓存和擦除 `/tmp`。 一些用户怀疑该脚本很大程度上是由大型语言模型 (LLM) 生成的,理由是其编号步骤常见于 LLM 的输出结果。虽然旨在易于使用(例如“zen install steam”),但有人指出该操作系统需要大量的磁盘空间(10GB+),与 Debian 相当,尽管它声称是“优化和轻量级”的。 讨论还涉及创建新发行版与贡献于现有项目(如 Debian 或 Arch)的价值,一些人认为 Zenclora 属于表面定制的范畴。最终,用户们争论 Zenclora 是否提供了真正的改进,还是仅仅重新打包了现有功能。

猴岛计划 目前的工作涉及经典游戏《猴岛的秘密》。我们正在将其完整游戏移植到Commodore 64平台。我在这个项目中的任务是将所有图像显示在Commodore 64上。这是一项巨大的任务,需要手工绘制每个背景、动画和角色,过程非常细致。 预计未来某个时间发布。在此期间,我会继续在这里发布新的美术作品。 游戏代码由Andreas Larsson编写。

更多

联系我们 contact @ memedata.com