每日HackerNews RSS

## 规则学:一门新的科学 规则学,由作者创造的一个术语,是一门基础性的新科学,专注于研究简单规则的行为——本质上,当你建立一个系统并让它按照既定指令运行会发生什么。它不同于计算机科学(专注于*设计*程序)和传统数学(证明框架),而是侧重于*观察*规则*做什么*。 这种探索,作者已经实践了四十年,从具体的规则(如细胞自动机或图灵机)开始,并推广到更广泛的类别,可视化和测量它们的行为。一个核心挑战是**计算不可约性**——有时,了解规则结果的唯一方法就是简单地运行它。 规则学是理解复杂性的基础,既是模型的来源,也是一种“挖掘”计算宇宙以寻找技术应用的方法。它是一门实验科学,由观察驱动,但也具有理论性,探索计算上*可以*生成什么。作者强调简单性和明确的可视化是成功规则学研究的关键,这得益于像Wolfram语言这样的工具,它允许轻松地表示和执行规则。最终,规则学有望成为一个广阔、开放的科学探索领域,对基础理解和未来技术都具有影响。

这次黑客新闻的讨论围绕着斯蒂芬·沃尔夫拉姆最近的文章“什么是规则学?” 许多评论者对文中提出的观点表示怀疑。 一位用户指出,“规则”的概念似乎与理论计算机科学中关于语言和语法的现有工作相似。 另一位批评者认为文章大量使用了第一人称代词(“我”和“我”),这是可以理解的,因为文章出自沃尔夫拉姆的个人博客。 一个关键点是缺乏关于*可证伪性*的讨论——如何证明该理论是*错误的*。 然而,一位评论员回应说,基于规则的理论可以通过运行足够长的时间来观察与预测相矛盾的行为从而被证伪。 这段对话突显了关于沃尔夫拉姆的观点的原创性和可测试性的争论。

## zlob:更快、POSIX 兼容的 Globbing 库 zlob 是一个为 C、Zig 和 Rust 设计的高性能 globbing 库,旨在显著改进标准的 `glibc` 实现。`glibc` 的 `glob()` 已过时且速度慢,尤其由于强制排序和有限的功能支持。 zlob 旨在 100% POSIX 和 `glibc` 兼容,同时提供高达 10 倍的速度提升(通常快 1.2-1.7 倍)。它支持现代功能,如递归模式 (`**/*.c`)、大括号扩展 (`.{a,b}/*.c`)、`.gitignore` 文件和 bash extglob 语法。 主要功能包括 SIMD 优化、直接使用 `getdents64` 系统调用以加快目录列表的速度,以及具有路径长度信息的明确定义的 API,方便 FFI 集成。zlob 分析模式以进行优化,预编译常见情况(如带有扩展名的递归搜索),以实现最大效率。 针对 `glibc`、Rust 的 `glob` crate 和 Node.js 的 `fs.glob` 进行全面测试,确保 100% 兼容性。它作为 C 库、Zig 库和 Rust crate 提供,需要 Zig 工具链进行编译。

Hacker News新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交登录Zlob.h 100% POSIX 和 glibc 兼容的 globbing 库,更快更好 (github.com/dmtrkovalenko)5 分,neogoose 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 2 条评论 neogoose 发表于 2 小时前 [–] 适用于 C、Zig 和 Rust 的 100% POSIX 和 glibc 兼容的 globbing 库,速度更快,支持所有现代 globbing 格式(超过 libc 和 rust glob crate)。它支持所有格式,如 * 和 {a,b} 扩展,并具有非常高效的系统调用和 SIMD 优化,以实现更快的处理。回复gary_0 发表于 9 分钟前 | 父评论 [–] 感谢分享。想问一下,有没有办法对路径字符串列表执行 globbing,而不是直接在文件系统上操作?回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

经过18个月的停滞,街机博主带着对雅达利标志性街机游戏《Battlezone》制作过程的迷人一瞥回归。新发掘的1980年末的影像展示了雅达利位于加利福尼亚州桑尼维尔工厂的装配线,揭示了这些复杂机柜出人意料的流畅制造过程。 《Battlezone》在当时是一项技术成就,它推动了雅达利的矢量图形技术,创造了一种由埃德·罗特伯格领导的沉浸式第一人称坦克模拟游戏。机柜独特的潜望镜取景器最初备受争议,但却是这种体验的关键,并带来了重大的制造挑战。工业设计师迈克·奎里奥详细介绍了对其原始设计的修改,包括项目经理要求的添加以及为较矮玩家提供的可拆卸踏板。 影像突出了熟练的工人高效地搬运和包装这些机柜——1980年8月至1981年3月期间共生产了超过13,000台——使用工业吸盘轻松起吊。这是对这些“黄金时代”街机机器背后的人性化的一面难得的观察,提醒我们它们是经过精心制作的实物,而不仅仅是抽象的产品。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Atari Battlezone 街机柜生产的未公开影像 (arcadeblogger.com) 5 分, videotopia 1 小时前 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

登录

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 WebView 性能明显慢于 PWA (chromium.org) 14 分,denysonique 发表于 5 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 napolux 发表于 12 分钟前 [–] 不幸的是没人关心 :( 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Android 开发工具包 (AADK) 概要 AADK 是一个基于 gRPC 的 Android 开发框架,优先支持 ARM64 工作流。它被设计为多服务架构,GTK UI 和 CLI 作为轻量级客户端,将所有核心逻辑委托给后端服务。这些服务 – 包括 JobService(事件总线)、WorkflowService(流程编排)、ToolchainService(SDK/NDK 管理)、ProjectService(项目脚手架)、BuildService、TargetService 和 ObserveService(运行历史/制品) – 通过 gRPC 进行通信。 主要特性包括具有历史记录和实时流的作业管理、工具链处理(带有 ARM64 SDK/NDK 的自定义目录)、项目模板支持以及与 Cuttlefish 的集成以进行模拟。ObserveService 提供运行历史和输出清单,用于仪表板。 该系统仅支持 Linux ARM64 (aarch64);x86_64 故意不支持。配置和状态通过 JSON 文件管理,系统不捆绑第三方工具链,而是按需下载。一套全面的 CLI 命令和 GTK UI 提供对系统功能的访问。其核心目标是提供高效的 Android 开发工具,特别是针对 ARM64,补充现有的工具,如 Android Studio。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Show HN: ARM64 Android 开发工具包 (github.com/denuoweb) 11 分,denuoweb 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 为 AArch64 系统提供 GUI 优先、多服务 gRPC 框架,用于类似 Android 开发工具包的工作流程。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

## MirageOS 并发:Lwt vs. Fibers MirageOS 是一种独特的操作系统内核,采用完全事件驱动的方法,摒弃了传统的抢占式线程。这需要抽象来管理事件回调,目前 Lwt – 一个采用单子风格的 OCaml 线程库 – 是主要的解决方案。虽然有效,但 Lwt 的单子特性需要代码适配,并且为阻塞操作引入了闭包分配,这引发了 OCaml 社区的讨论。 像通过 Lwt_fiber 库提供的限定连续 (delimcc) 这样的替代方案,提供了一种潜在的更轻量级的方法,使用可重启的异常。比较 Lwt 和 fibers 的基准测试表明,对于简单的阻塞场景,fibers 最初的性能*不如* Lwt,因为异常处理的开销。然而,随着更深的调用栈和减少的阻塞频率,fibers 表现出更好的性能,避免了重复的闭包分配。 最终,性能差异对于 MirageOS 的核心需求来说似乎并不重要。Lwt 的关键优势在于它可以无缝编译到 Javascript,通过 js_of_ocaml 实现,从而实现浏览器可视化以及与 Node.js 的互操作性。选择更多地取决于代码互操作性以及其他语言(如 Javascript 的 `yield` 运算符)中并发功能的发展,而不是原始速度。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 分隔符连续性 vs. Lwt 用于线程 (mirageos.org) 4 点赞 romes 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 史密森尼国家动物园诞生亚洲雌性小象 (si.edu) 5 分,gmays 1小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 downboots 0分钟前 [–] 终于有人提到了它 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 使信任无关紧要:代理AI安全摘要 DesoPK认为,当前代理AI安全方法存在根本缺陷,在于关注于*信任*AI,而非消除*对*信任的需求。核心问题不是对齐或提示工程,而是“环境权威”——赋予AI对系统(文件、网络、凭证)的广泛、持久访问权,并期望其行为良好。这创造了一种容易被利用的“混淆代理”问题,无论是有意还是无意。 解决方案不是更好的AI,而是更严格的系统机制。DesoPK 提出“仅减少权限”,即代理只能被授予有限的、有时限的权限,且无法升级。这需要一个内核级别的“控制平面”(KERNHELM)作为权限代理,机械地执行权限并分离规划与执行。 本质上,AI应该被视为固有不可信任的,在一种旨在防止其获得“神模式”的系统中运行——即使它试图这样做。这种方法借鉴了游戏开发和安全领域的经验教训,优先考虑强大的机制,而不是依赖AI的意图,从而通过设计而非希望使代理系统更安全。关键在于明确、可撤销的权限,以及防止代理自行授权任何操作。

最近一篇Hacker News上的帖子讨论了人工智能安全问题,认为当前的方法正在失败,原因是存在“混淆代理问题”——赋予人工智能代理过多的权限,而这些权限受到容易绕过的“软”约束(如提示词)控制。作者DesoPK建议转向“硬性、仅减少权限”的方式,并在根本系统层面(如内核)强制执行,以创建真正的边界。 讨论强调了一个核心矛盾:用户便利性常常与强大的安全性相冲突。用户不喜欢频繁的权限请求,因此更倾向于无缝的体验,即使这种体验安全性较低。 值得注意的是,评论者很快怀疑原始帖子是由大型语言模型(LLM)生成的,引发了关于人工智能生成内容透明度的争论。然而,核心论点集中在需要对具有代理性的人工智能施加更严格、不可绕过的控制,以防止意外后果。

在 Fedora 43 容器、Ubuntu 26.04 容器以及常规 Fedora 42 安装中测试,出现相同错误。 直接使用了 README.md 中的示例。 GCC 存在并且可以正常编译代码: root:/claudes-c-compiler# cat > hello.c << 'EOF' #include <stdio.h> int main(void) { printf("Hello from CCC!\n"); return 0; } EOF root:/claudes-c-compiler# ./target/release/ccc -o hello hello.c /usr/include/stdio.h:34:10: error: stddef.h: No such file or directory /usr/include/stdio.h:37:10: error: stdarg.h: No such file or directory ccc: error: 2 preprocessor error(s) in hello.c root:/claudes-c-compiler# gcc -o hello hello.c root:/claudes-c-compiler# ./hello Hello from CCC! root@1b5343a2f014:/claudes-c-compiler#

最近,有人尝试使用AI构建的C编译器(Claude的C编译器)编译“Hello, world”程序,引发了Hacker News上的讨论。最初被认为是失败,但问题在于标准库路径配置不正确——编译器本身*是*可以工作的。 这一事件引发了关于AI能力炒作的争论。一些人认为,这凸显了当前模型的局限性,并反驳了自动化软件工程的说法。另一些人强调了正在取得的快速进展,并警告不要轻易否定这项技术,承认我们对其潜力缺乏充分的了解。 评论员还注意到了一种模式:那些从炒作中获益的人夸大AI的能力,而那些担心失业的人则表现出抵触情绪。许多人同意需要更冷静和现实的讨论,而一些人则指出人类天生喜欢幸灾乐祸。最终,这一事件提醒我们,即使是令人印象深刻的AI工具仍然存在局限性。

## 空间连接与H3索引:性能提升 传统的空间连接(例如,`SELECT * FROM A JOIN B ON ST_Intersects(A.geo, B.geo)`)在规模较大时性能会下降,因为空间谓词阻止了高效的哈希连接,导致复杂度为二次方。本文详细介绍了Floe如何利用H3索引来显著加速这些查询。 H3将地球划分为一系列六边形单元的层级结构,提供紧凑的、基于整数的键,适用于高效连接。通过将几何体表示为H3单元ID的集合,`ST_Intersects`检查转换为更快的集合重叠操作。虽然这引入了保守的近似(可能存在误报),但最终的精确谓词重新检查确保了正确性。 该过程包括为两个表生成H3覆盖,在单元ID上进行连接,去重候选结果,然后应用空间谓词。这会将代价高昂的谓词从主要操作转移到清理步骤。使用世界城市/国家数据集的测试表明,使用H3分辨率3可以实现**400倍的加速**,将查询时间从约460秒减少到仅1.17秒。 这种方法实用之处在于它可以与视图/CTE一起工作,避免索引维护,并允许轻松试验分辨率级别。最终,H3索引使数据库能够利用其优势——并行哈希连接——来处理地理空间数据。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 我们如何使用H3索引将地理连接速度提高400倍 (floedb.ai) 15 分,由 matheusalmeida 1小时前 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

更多

联系我们 contact @ memedata.com