每日HackerNews RSS

马特·戈德博尔特的文章探讨了x86编译器为何偏爱`xor eax, eax`指令来清零寄存器,尽管`sub eax, eax`也能以相同的周期数实现相同的结果,甚至在标志位行为上更好。 关键在于紧凑性:`xor`在字节码中更短,因为它避免了编码常量。虽然`sub`效率相同,但一种历史性的“蜂拥”效应可能巩固了`xor`的主导地位。早期编译器对`xor`的使用影响了程序员,他们随后也更喜欢它,从而形成了一个反馈循环。 英特尔最终优化了这两个指令,检测到`xor r, r`和`sub r, r`,并通过路由到内部零寄存器有效地以零周期执行它们。然而,担心其他CPU制造商可能只会优化`xor`,进一步巩固了它的地位,尽管这种差异在很大程度上微不足道。这说明了即使是轻微的初始优势也可能导致编程实践中的广泛采用。

## safe-gc:适用于Rust的零不安全垃圾回收器 Rust的垃圾回收(GC)库传统上在内部依赖`unsafe`代码,尽管它们为用户提供安全的API。作者创建了`safe-gc`,一个在API和实现中都可以证明没有`unsafe`代码的GC库,作为概念验证。 `safe-gc`通过要求用户实现`Trace` trait来定义GC边来实现这一点,并且关键在于,通过索引`Heap`来访问GC对象,而不是直接指针解引用。这符合Rust的所有权和借用规则。该库使用标记-清除算法,通过以类型ID为键的`HashMap`内的arena来管理内存。 虽然没有专注于峰值性能,但`safe-gc`优先考虑安全性。它通过防止直接操作GC指针并利用Rust的内存安全保证,避免了常见的GC陷阱,例如使用已释放内存的错误和悬垂指针。 尝试实现复制收集器由于异构堆中可变访问和跨类型引用带来的挑战而过于复杂。 最终,`safe-gc`证明了在Rust中构建一个安全可靠的GC库是*可行*的,为那些优先考虑绝对安全性而非原始速度的项目提供了一种有价值的替代方案。

对不起。

## Kuri:为AI智能体设计的轻量级浏览器自动化工具 Kuri是一个用Zig构建的浏览器自动化和网页抓取工具,专为AI智能体设计,提供一个仅464KB的二进制文件,冷启动时间约为3毫秒。它优先考虑低token成本和稳定的引用,以实现高效的智能体循环,不同于传统的以问答为中心的工具。 **主要特性:** * **多种模式:** 提供Chrome自动化的CDP服务器,一个独立抓取器(无需Chrome,使用QuickJS),一个交互式终端浏览器,以及一个智能体CLI。 * **Token效率:** 与`agent-browser`等替代方案相比,显著降低了token使用量(在Google Flights任务中节省16%)。优化的快照可最大限度地减小输出大小。 * **安全至上:** 包括隐蔽功能,可通过专用API绕过机器人检测和安全审计。 * **简单部署:** 单一二进制文件,零运行时依赖,可通过`curl`或包管理器轻松安装。 * **全面的API:** 提供导航、快照、动作(点击、输入)、安全检查等端点,并返回JSON响应。 **优势:** Kuri擅长以尽可能低的模型成本从网页中提取*有用的状态*,使其成为基于智能体的流程的理想选择。它避免了Node.js和Playwright等大型依赖项的开销,专注于速度和效率。基准测试表明,与现有解决方案相比,它具有显著的性能和成本优势。

对不起。

## 狗牛与“Moof!”的故事 “狗牛”及其标志性声音“Moof!”起源于20世纪80年代的苹果公司,源于一个出乎意料的实际需求:为新的Macintosh操作系统设计图标。由于无法绘画,苹果程序员请苏珊·凯尔创作简单的图像来执行常见任务。其中之一是一只小狗,最初出现在Cairo字体中,后来被放大并重新绘制用于页面设置对话框。 这张放大的图像引发了争论——它是狗还是牛?苹果开发者马克·哈兰开玩笑地加剧了这种困惑,最终导致了折衷的标签:“狗牛”。然后,他通过内部备忘录,并最终通过一份广泛流传的“技术说明”来普及这个术语和声音“Moof!”,其中详细介绍了狗牛的传说,包括它的名字(Clarus、Moofo和Lackey)。 狗牛迅速成为苹果公司内部备受喜爱的象征,出现在按钮和商品上。除了它的可爱之外,它还演变成代表尖端、有时是实验性的软件——一个俏皮的信号,表明某物是“Moof!用心制作的”,意味着创新且有点非传统。狗牛的故事证明了一个简单的图像,源于必要性并受到一点顽皮的滋养,可以成为一个持久的文化偶像。

对不起。

``` %PDF-1.6 23 0 obj endobj 38 0 obj >/Filter/FlateDecode/ID[]/Index[23 24]/Info 22 0 R/Length 80/Prev 2000878/Root 24 0 R/Size 47/Type/XRef/W[1 2 1]>>stream hbbd``b`$@, xHpp vY! "A]Dl+dHȰd#n?_ v3 endstream endobj startxref 0 %%EOF 46 0 obj >stream hb```f``g`aI`d@ A&(SW&a*`yшAQaClkֻQX3,`-c`j>7\H_ 0 endstream endobj 24 0 obj > endobj 25 0 obj >/ProcSet[/PDF/Text/ImageB/ImageC]/XObject>>>/Rotate 0/Type/Page>> endobj 26 0 obj >stream hެ_O0ſ}$d$ ahs- "{r(ǻw n:u?a4""W`SJ$#dxaf IHm^2)/,WCnTZ5a y``` ```

密钥管理是一个日益增长的挑战,尤其是在人工智能代理兴起的情况下。虽然大型组织可以使用集中式密钥管理服务,但它们会增加运营复杂性。小型团队通常依赖 API 密钥,这本身就存在风险——容易泄露,有时会被敏感模型拒绝,并且即使在撤销后也容易被滥用。 核心问题并非针对代理*才出现*;API 密钥本身就过于强大。更好的方法是避免直接存储密钥。作者建议使用 HTTP 代理将密钥作为头部注入,从而有效地将密钥从配置文件和代码中移除。这适用于许多 API,例如 Stripe,通过内部服务管理密钥来路由请求。 exe.dev 通过提供“集成”来简化此过程——通过标签分配的云端管理的 HTTP 代理,自动应用于虚拟机。对于 GitHub 等服务,他们构建了一个专门的应用程序来处理 OAuth,从而消除了手动密钥轮换。这种方法以相对简单的形式提供了显著的安全价值,将密钥管理的负担转移到云提供商。

对不起。

对不起。

启用 JavaScript 和 Cookie 以继续。

对不起。

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

## 在家自制内存:一则黑客新闻总结 最近一则黑客新闻讨论集中在一则YouTube视频上,视频展示了一位创作者从头开始制作内存,包括在后院棚屋里搭建洁净室。该视频引发了人们对现代半导体制造复杂性和DIY制造潜力的着迷和争论。 用户分享了相关视频,包括一个详细介绍洁净室搭建过程的视频,以及另一个解释芯片制造复杂工艺的视频。对话强调了现代芯片生产所需的巨大规模和精度,并将其与复兴更旧、要求较低的制造技术可能性进行了对比。 尽管承认了挑战——包括材料成本、光刻限制以及使用危险化学品带来的安全问题——一些评论员设想了一个未来,即家庭半导体生产可能变得可行,尤其是在应对供应链问题和成本上升的情况下。另一些人则指出了替代方案,例如机电继电器或3D打印,作为更易于DIY的选项。 讨论还涉及了对技术独立性和理解我们所依赖的技术背后的基本过程的更广泛影响。最终,该视频提醒人们人类的聪明才智以及在传统工业环境之外进行创新的潜力。

## DOS 网络与一个 34 年的漏洞 这篇文章详细描述了在设置 SLIP(串行线路互联网协议)连接——允许通过串行端口进行 TCP/IP 传输——在 DOS PC 和 Linux 之间时发现的一个数十年历史的漏洞。作者使用 EtherSLIP,一个模拟以太网连接的数据包驱动程序,来利用现有的 mTCP 程序。 测试发现了一个“检测到 NULL 赋值”错误,该错误是由 Open Watcom 编译器检测到的堆损坏引起的。调查发现问题在于 EtherSLIP 的 ARP(地址解析协议)处理中的一个错误的内存复制。EtherSLIP 模拟 ARP 响应,但一个编码错误错误地复制了数据,从而破坏了数据段中的内存。 该漏洞源于 ARP 响应创建过程中段寄存器操作位置的错误,导致数据被写入错误的内存位置。由于小型内存模型以及典型的 TCP/IP 协议栈中缺乏 ARP 标头验证等因素,该漏洞被掩盖了。 修复方法是删除错误的段寄存器移动。作者强调了解决编译器警告的重要性,以及旧系统中漏洞的惊人寿命,并赞扬 EtherSLIP 开发人员创建了在 34 年后仍然有用的代码。

对不起。

更多

联系我们 contact @ memedata.com