每日HackerNews RSS

软件开发者 Simon Willison 发布了 `micropython-wasm`,这是一个处于 Alpha 阶段的库,旨在为在大型应用程序中执行不受信任的 Python 代码提供一个安全、隔离的沙箱环境。 Willison 强调,对于像 Datasette 和 LLM 这样的项目,沙箱环境是必不可少的,这样可以在不影响系统稳定性、文件完整性或网络安全的前提下,实现功能强大且可扩展的插件系统。在发现现有的 Python 沙箱解决方案不可靠或维护不善后,他转向了 WebAssembly (WASM)。 通过利用 `wasmtime` 库和一个自定义编译的 MicroPython 版本,Willison 创建了一个稳健的沙箱,它提供了内存/CPU 限制、受限的文件系统访问,以及选择性公开宿主函数的能力。一个关键的突破是在多次调用之间保持了持久的解释器状态,从而支持复杂的多步代码执行。 尽管目前该工具仍处于 Alpha 阶段,但已可通过 PyPI 获取,并与 Datasette 生态系统集成。Willison 承认新沙箱固有的风险,但他希望这一原型能够鼓励专业安全团队进一步开发和标准化 Python-in-WASM 解决方案,以实现生产级的沙箱环境。

英国金融时报 安全验证 如需帮助,请访问 help.ft.com。对于给您带来的不便,我们深表歉意。 请启用 JavaScript 和 Cookie 以继续。 以下信息可帮助我们的支持团队解决此问题。 原因:挑战 请求 ID:a078d07b083088d4 状态码:403 条款与条件 隐私政策 Cookie 政策 管理 Cookie 版权声明 奴役声明与政策 © 英国金融时报有限公司 2026。FT 和“Financial Times”是英国金融时报有限公司的商标。 英国金融时报及其新闻报道受《金融时报编辑行为准则》下的自律制度约束。

抱歉。

**Splash** 是一种简单且易于阅读的色彩格式,它使用 3 位数字来表示 RGB 通道,每个数字的范围从 0 到 9。例如,900 代表纯红,000 代表黑色,999 代表白色。 作为一种情感化工具,Splash 通过提供仅 1,000 种颜色的有限选择来帮助创作者克服选择困难,消除寻找“完美”色调的压力。它具有高度灵活性:你可以通过将 0–9 映射到 0–255 来通过数学方式生成颜色,也可以使用查找表来定义自定义的品牌色板。 由于该格式避免了字母和复杂的语法,它在代码中非常易于实现——无论是通过简单的函数、CSS 变量还是预设的样式表。该系统旨在实现“顺滑”与易用,鼓励实验而非追求完美。通过限制选择,Splash 使设计过程更快、性能更高,并最终带来更多的自由。

关于“Splash”(一种自定义颜色格式)的 Hacker News 讨论,核心在于技术实用性与创作意图之间的争论。 作者设计 Splash——一套使用十进制数值来表示 RGB 通道的系统——是为了克服“选择困难症”,以及在数百万种颜色中挑选时所产生的“无谓纠结”。通过将选项限制在一个更易于管理且量化的调色板中,作者旨在简化应用程序开发与设计中的颜色选择流程。 评论者的观点两极分化。许多技术用户质疑这种新格式的必要性,认为标准的 3 位十六进制代码(#ABC)已经广为应用、支持广泛且效率更高。其他人则建议,HSV、HCL 等颜色模型,甚至基于物理混色的类比,都比基于 RGB 的系统能提供更直观的配色逻辑。 作者为该项目辩护称,这是一种“情感工具”而非技术突破,并强调该系统旨在为其特定的使用场景提供简洁性与乐趣。归根结底,这篇讨论凸显了两种观点之间的冲突:一方透过行业标准的视角看待颜色编码,另一方则优先考虑定制化、以人为本的工作流程。

本项目提供了一套轻量级、与渲染器无关的实时抖动物理标准,在简单的布娃娃系统与复杂的软体模拟之间找到了平衡点。通过使用 UV 映射权重绘制和阻尼弹簧骨骼,开发者可以定义出能随父级运动而真实抖动的柔软区域。 **核心组件:** * **`jiggle-physics.js`**:纯粹的模拟引擎,基于父级的速度和加速度计算阻尼弹簧偏移量。它与渲染器无关,不需要 DOM 或 WebGL,可轻松集成到任何游戏循环中。 * **变形逻辑**:采用简单的通用公式 `vertex += weight * boneJiggle` 来驱动运动,从而实现局部的“肉体回弹”以及挤压和拉伸效果。 * **资源标准**:使用 UV 映射的权重纹理来定义柔软度(0–1)和骨骼分配。这种方法性能极高,每个顶点仅需一次纹理查找。 随附的 WebGL 演示(`jiggle-app.js` 和 `index.html`)展示了该系统的实际运行效果,其中包含用于绘制权重、调整物理参数(刚度、阻尼、重力)以及测试各种几何体的工具。该系统专为广泛的可移植性而设计;任何支持基础向量数学的引擎均可实现此标准。

抱歉。

Linux 内核开发者李晨(Li Chen)最近提出了“孵化模板”(spawn templates),旨在优化传统的 `fork()` 和 `exec()` 进程创建模式。虽然 `fork()` 在历史上被认为是优雅的,但由于它需要复制整个进程状态,而其中大部分工作随后又会被 `exec()` 丢弃,因此其计算成本很高。李晨的提案旨在通过允许应用程序将可执行配置缓存为模板来加速这一过程,从而降低频繁重复命令的设置成本。 尽管该提案显示出 2% 的性能提升,但内核维护者最终拒绝了其当前的形式。像 Mateusz Guzik 这样的审查者认为,业界需要完全摒弃 `fork()` 惯用法,转而创建“纯净”的进程。Christian Brauner 建议使用 `pidfd` 抽象采用替代方法——即创建一个空进程并通过新的系统调用(类似于 `fsconfig()`)进行配置。 李晨认同这一方向,将重心转向开发更稳健、原生的 `posix_spawn()` 实现。这一转变表明,虽然“孵化模板”不会被实现,但它成功催化了 Linux 迈向更简洁、更高效的进程创建 API 的进程。

所提供的文本探讨了围绕 Unix `fork()` 和 `exec()` 系统调用模式的争论,最近一篇 LWN 文章指出 `fork()` 是一种已经过时且不再实用的“黑客”手段,该观点引发了热议。 **主要论点包括:** * **历史背景:** `fork()` 设计于 20 世纪 70 年代,旨在满足当时内存极其有限的系统需求,允许程序将内存交换到磁盘并执行新代码。批评者认为,该模型现已成为一种负担,迫使操作系统设计陷入僵化且低效的模式(例如对写时复制和内存超额分配的过度依赖)。 * **现代性能问题:** 对于大型进程(如服务器应用程序或 Redis 等高内存负载程序),由于 `fork()` 必须遍历并复制庞大的页表(即使有写时复制优化),会导致显著的延迟峰值。 * **拟议替代方案:** 参与者建议转向“创建、配置、执行”(spawn, configure, exec)模型,即新进程在空状态下创建,从而避免复制父进程带来的开销。 * **反方观点:** 支持现状的人士强调,`fork()` 在概念上简单、优雅,且在 shell 管道处理和进程编排方面具有高度灵活性。许多人认为,目前所谓的“现代”替代方案往往更为复杂,且无法完全解决进程配置中的细微问题。

请启用 JavaScript 并关闭广告拦截器

美国众议院发布了一份草案,旨在禁止各州制定本州的人工智能法规。该提案在 Hacker News 上引发了激烈讨论,核心争议在于联邦优先权与“州权”之间的矛盾。 支持者认为,各州互不兼容的法律体系会为开发者创造无法实施的监管环境,而人工智能作为一种跨州技术,应由统一的联邦框架进行管理。相反,批评者则将该法案视为绕过地方民主控制的手段,主张各州和县应有权为了公共安全、数据隐私和社区土地利用等问题对人工智能进行监管。 许多评论者认为“州权”言论虚伪,指出各政治派别往往只在符合自身利益时才会援引这一原则。讨论还涉及了宪法中的商业条款、企业游说对联邦政策的潜在影响,并将其与网络中立性等以往的监管斗争进行了类比。最终,参与者对于“权力集中是防止法律混乱,还是仅仅为了牺牲地方社区利益以造福大型科技公司”这一问题各执一词。

关于 媒体报道 版权 联系我们 创作者 广告 开发者 条款 隐私 政策与安全 YouTube 的运作方式 测试新功能 © 2026 Google LLC

本文是一份关于在 Rust 中实现过程宏(Procedural Macros)的技术指南,重点介绍如何通过 `#[attribute]` 宏将结构体转换为位域(bitfield)表示。 ### 核心概念: * **过程宏:** 与声明式宏(`macro_rules!`)不同,过程宏是在编译时执行的函数,直接操作 Rust 抽象语法树(AST)。它们需要独立的 crate,并在 `Cargo.toml` 中启用 `proc-macro = true`。 * **工具:** * **`syn`:** 用于将原始 `TokenStream` 输入解析为结构化的 Rust AST 节点(如 `ItemStruct`、`Attribute`)的必要工具。 * **`quote`:** 通过允许开发者编写类似代码的语法并将其转换为 `TokenStream`,从而简化代码生成过程。 * **`ToTokens`:** 一个用于定义自定义类型(如 `BitFields`)如何转换回代码标记(token)的 trait。 ### 实现逻辑: 本宏的目标是解析结构体字段上的自定义属性(例如 `#[flag(rwc(30))]`),以生成位操作方法(`get_*`、`set_*`、`clear_*`)。 * 该实现使用位运算(AND、OR、NOT、移位)来隔离特定的位范围。 * 它利用 `syn` 的 `Parse` trait 处理自定义字段配置,并使用 `quote!` 将生成的 getter 和 setter 等方法注入最终输出,从而确保代码生成的健壮性并保持类型安全。

抱歉。

arXivLabs 是一个让合作者能够直接在我们的网站上开发并分享 arXiv 新功能的框架。与 arXivLabs 合作的个人和组织都认同并接受我们对开放、社区、卓越和用户数据隐私的价值观。arXiv 致力于坚守这些价值观,并仅与遵循这些准则的合作伙伴开展合作。您是否有意开展一个能为 arXiv 社区增值的项目?了解更多关于 arXivLabs 的信息。

这个 Hacker News 讨论帖探讨了一篇研究论文,该论文提出了由 49 位数学家汇编的 100 道“研究级”数学题作为基准。这项研究旨在测试顶尖大语言模型(LLM)解决需要理解现有研究(而非进行新数学证明)的问题的能力。 讨论中的关键点包括: * **范围与目的:** 主要作者 Christian Stump 澄清说,这些问题旨在测试 AI 是否能整合并应用现有研究。他强调,虽然这些问题不属于“新研究”,但其复杂度远超标准的考试题目。 * **批评意见:** 一些评论者认为这些问题并非“研究级”,称其为可以通过暴力破解或现有计算机代数工具解决的计算任务。批评者还质疑这些 AI 模型是否仅仅是在检索训练数据中的信息。 * **令人印象深刻的结果:** 尽管对“研究级”的定义存在争议,但大多数参与者一致认为,模型解决这些复杂问题的能力令人印象深刻。在 100 道题中,仅有两道是所有被测模型都无法解决的。 * **方法论:** 该讨论帖强调了一些技术细节,例如模型在不同努力程度下的表现、测试数据中潜在的偏差,以及在快速发展的领域中进行基准测试所面临的挑战。

更多

联系我们 contact @ memedata.com