每日HackerNews RSS

## Dune 3D:一款新的开源3D CAD应用 Dune 3D 是一款新的参数化3D CAD应用,旨在解决作者对现有开源选项(如FreeCAD和Solvespace)在设计3D打印电子外壳方面的 frustations。虽然FreeCAD功能齐全,但其工作流程并不理想,而Solvespace则缺乏诸如STEP导入/导出和圆角/倒角等关键功能。 该项目利用了作者之前PCB CAD软件Horizon EDA的现有组件——包括3D视口和编辑器基础设施——以及Open CASCADE几何内核(用于STEP支持和功能)和Solvespace的约束求解器。 Dune 3D 历经三个月开发,旨在实现简化的工作流程,所有工具均可通过空格键菜单访问。作者选择创建一个独立应用程序,而不是贡献到现有项目中,是因为所需更改的规模以及尝试Gtk 4的愿望。项目资源,包括构建说明、文档和示例文件,可在GitHub上找到。

对不起。

## 美国航空旅行系统面临压力 美国的航空旅行系统,曾经是安全和效率的典范,由于多年的投资不足和政治功能失调,正面临崩溃的风险。最近发生的事件——包括拉瓜迪亚机场的跑道相撞(造成人员伤亡和广泛取消航班)、纽瓦克机场的险些相撞事件以及空中交通管制问题——凸显了系统已达到崩溃边缘。 促成因素包括部分政府停摆导致交通安全管理局(TSA)特工无薪,从而导致人手短缺和冗长的安检队伍。与此同时,过时的基础设施——依赖于软盘等技术——以及“监管俘获”(与波音公司等公司建立的密切关系)损害了安全性。 解决危机的尝试受到政治僵局的阻碍。更广泛的安全改进提案在国会停滞不前,而政府则采取临时性的“权宜之计”,例如将移民和海关执法局(ICE)特工部署到机场,进一步转移资源和专业知识。这种情况凸显了未能优先考虑和资助关键国家基础设施的系统性失败,危及乘客安全和航空旅行的可靠性。

## Rust 的一致性与生态系统演进 – 摘要 Rust 的设计,特别是其一致性规则,给生态系统发展带来了挑战。一致性规定一个 trait 对于给定类型只能有一个实现,而“孤儿规则”限制了这些实现可以定义在 *哪里*。这使得演进基础 crate(如 `serde`)变得困难:任何替代的序列化库都需要使用原始库的 *每个* crate 都添加支持,这是一项巨大的工程。 这个系统偏向于已经建立的 crate,即使出现更好的替代方案,因为分叉和修补通常比广泛的重新实现更容易。核心问题在于语言本身,而不是单个库。 虽然一致性确保了类型安全,但放宽规则的提议(如二进制 crate 免除、延迟一致性或一致性域)尚未完全解决“生态系统演进问题”——替换已建立 crate 的困难。 一种潜在的解决方案是将 trait 实现视为具有显式命名和选择的 *值*,允许重叠的实现,并可能完全移除一致性。这将需要重大的语言更改,但可以释放更大的灵活性和创新,尽管迁移和保持健全性方面的挑战仍然存在。最终目标是在 Rust 的优势与对更具适应性的生态系统的需求之间找到平衡。

## Rust 的一致性辩论与生态系统问题 一篇最近的博文引发了 Hacker News 上关于 Rust 复杂性以及其严格一致性规则(通常称为“孤儿规则”)潜在弊端的讨论。虽然许多人喜欢 Rust 的安全性和性能,但一些人越来越担心复杂的语法使其可访问性降低,并阻碍了生态系统的发展。 核心问题在于扩展在外部 crate 中定义的类型。Rust 的规则阻止你在没有复杂变通方法的情况下向你未拥有的类型添加功能(如序列化)。这与 Scala 等提供更多灵活性的语言形成对比。人们担心这会强制进行不必要的 fork 和重复劳动,尤其是在尝试与广泛使用的 crate(如 `serde`)集成时。 评论者争论这是否是根本缺陷,还是为了 Rust 的稳定性和防止冲突实现而必须做出的权衡。一些人指出了 C++ 自身的复杂性,而另一些人则强调了成功的变通方法,例如包装类型。一个关键点是 Rust 是否变得过于理论化,可能会疏远那些想要一种实用、易于理解的系统编程语言的开发者。最终,讨论的中心是平衡 Rust 的雄心勃勃的目标与可用性,并促进一个繁荣的生态系统。

## 测绘的局限与科学发现的未来 豪尔赫·路易斯·博尔赫斯关于一个帝国创建一张与领土本身一样大的地图的寓言,说明了知识领域的一个关键挑战:过多的细节可能变得不切实际,并掩盖真正的理解。虽然当今的AI擅长创建庞大的“地图”——例如,在海量数据集上训练的大型语言模型或预测蛋白质结构系统——但仅仅*更多*的信息不足以实现真正的科学进步。 文章认为,真正的突破需要范式转变,而不仅仅是在现有框架内进行更精确的预测。就像哈里·贝克重新设计的伦敦地铁地图一样,科学有时需要一个根本不同的“示意图”,一个更简单、更统一的原理。目前专注于最小化预测误差的AI,难以实现这种概念上的飞跃。 为了避免“超常态科学”——预测能力提高但缺乏新的探索——我们需要设计能够生成*新的*概念词汇的AI,而不仅仅是分析现有的词汇。这需要理解范式转变*如何*发生,可能通过将科学机构作为一个系统来研究,并利用AI探索不同的研究条件。最终,加速科学发展不仅仅是扩大计算规模,而是要刻意地创造破坏性发现的条件。

## LocalStack 更新与概述 LocalStack 是一个强大的框架,用于在本地开发和测试 AWS 应用程序,在一个 Docker 容器内模拟 Lambda、S3 和 DynamoDB 等云服务。 这加速了开发并简化了测试,无需连接到远程云提供商。 **重要更新:** 为了提高可靠性和简化开发,LocalStack 团队已整合到一个统一的镜像中。 原始仓库现已存档并变为只读,所有资源都集中在核心 LocalStack 体验上。 现有的贡献备受重视,并仍然是项目未来的重要组成部分。 **入门:** LocalStack 可以通过 Brew、二进制下载或 pip 安装。 `localstack-cli` 管理 Docker 容器,而 `awslocal` 与模拟的服务交互。 详细的文档和用户指南可在网上找到。 Pro 版本提供扩展的 API 支持和高级功能。 您可以在官方 LocalStack 网站上找到更多信息,包括发行说明和贡献指南。

## LocalStack 转变方向,引发争议 LocalStack,一款流行的本地模拟AWS服务的工具,已经将其GitHub仓库存档,并且现在需要账户才能运行,这在技术社区内引发了讨论。虽然代码仍然可用,但许多人认为这是对开源原则的背离,并且在受益于社区贡献之后的一次“地毯式拉扯”。 用户对失去一个免费可用资源以及开发者寻求替代方案可能导致碎片化表示担忧。争论的中心在于公司利用开源工作获利是否合乎道德,即使遵守了许可条款。一些人认为,无限期地维护开源项目是不可持续的,而另一些人则强调诚信和透明度的重要性。 MinIO、rustfs、Moto和Proxymock等替代方案正在被讨论,但每个方案都有局限性。这种情况凸显了开源模式与商业利益之间日益增长的紧张关系,类似于最近MinIO和Tailwind等项目的类似事件。这一事件引发了关于在没有保证持续支持的情况下依赖开源项目的长期可行性的问题。

如果您是授权合作伙伴、《世界报》订阅者,或希望获得访问此内容的授权,请联系:licensing[@]groupelemonde.fr,并附上包含您的IP地址和请求ID (RID) 的此错误页面的副本。 英文版:您的流量已被识别为自动化(机器人活动)。如果您是授权合作伙伴、《世界报》订阅者,或希望请求访问此内容的权限,请联系:licensing[@]groupelemonde.fr,并附上显示您的IP地址和请求ID (RID) 的此错误页面的副本。 IP:47.245.80.60 RID:a12c3984f47d46b29d12000000000001

## 美国停止海上风电项目,向道达尔能源支付10亿美元 美国政府正在向道达尔能源支付近10亿美元以停止两个海上风电项目的发展。这一决定引发了网络上的强烈不满,与政府支持化石燃料的立场有关,特别是前总统特朗普因苏格兰高尔夫度假村的纠纷而对风力涡轮机产生的个人恩怨。 评论员们对美国作为能源投资伙伴的可信度表示担忧,并强调了对脆弱化石燃料供应链的潜在依赖,特别是对少数几个燃气涡轮机制造商的依赖。许多人批评这一决定目光短浅,指出了环境成本以及可再生能源可能比化石燃料更具可行性的潜力。 讨论还涉及更广泛的地缘政治问题,一些人担心美国全球影响力下降,并转向依赖中国等国家。虽然一些人对美国的未来表示极度悲观,但另一些人强调持续的政治参与和投票以促成变革的重要性。

## 正则表达式引擎中长期存在的缺陷 数十年以来,正则表达式引擎一直错误地宣传了查找*所有*匹配项的线性时间复杂度。虽然单次匹配的性能可以是线性的,但迭代所有匹配项会引入隐藏的二次方时间复杂度(O(m*n²)),这个问题早在 1970 年代就被发现。这是因为当引擎在搜索多个重叠匹配项时,可能会陷入重复扫描输入的困境——例如,将 `.*a|b` 模式应用于一串 ‘b’ 字符。 这个问题影响了几乎所有引擎(RE2、Go、Rust 的 regex crate、.NET),并且即使在那些旨在避免回溯的引擎中仍然存在。一种解决方案是限制搜索范围——在第一次匹配后停止可以恢复线性时间,但会改变预期的行为。 作者的项目 RE# 旨在解决这个问题。它采用两遍扫描方法:反向扫描以标记潜在的匹配起点,然后进行正向扫描以确定每个点的最长匹配项。一种“加固”模式即使在面对恶意输入时也能保证线性时间,但会降低简单模式的性能。RE# 的性能与现有引擎相媲美或超越现有引擎,尤其是在复杂模式上,利用了跳跃加速和高效 DFA 构建等技术。 虽然 RE# 目前不支持捕获组和惰性量词,但它提供了布尔运算符和独特的流处理方法,使其成为真正高效可靠的正则表达式匹配的重要一步。

## Hacker News 讨论:正则表达式性能与复杂度 一场 Hacker News 讨论围绕正则表达式(regex)匹配的性能,特别是寻找*所有*匹配项时可能出现的二次时间复杂度问题。原始帖子 (iev.ee) 强调了这个问题并探讨了解决方案。 用户讨论了各种方法,包括基于 NFA 的引擎,如 `@bablr/regex`,它们避免了复杂度膨胀,但可能耗尽内存。另一些人指出,仅验证*没有*匹配项时,通常可以达到线性时间性能。一个关键点是回溯的影响以及通过类似数据库查询规划或编译器重写的技术进行优化的潜力。 对话还涉及正则表达式功能与性能之间的权衡,建议限制功能可以保证更好的时间复杂度。为不受信任的输入,建议使用时间和/或内存限制来沙箱化正则表达式执行。最后,一些用户指出线性时间引擎(如 Hyperscan)的潜力,以及考虑最左最长匹配语义的重要性。作者确认帖子是人工撰写,并借助 LLM 润色措辞。

启用 JavaScript 和 Cookie 以继续。

## 自动研究总结 这次Hacker News讨论围绕ykumards的“自动研究”实验——使用LLM代理(Claude Code)自主改进机器学习模型。核心思想是循环改进代码、运行训练、评估结果和记录进展。 虽然该代理成功识别并修复了一个bug并优化了超参数,但评论员们争论其新颖性和成本效益。 许多人指出现有的AutoML框架,如Optuna和贝叶斯优化技术,可以实现类似的结果。 然而,潜力在于代理能够持续运行实验,即使无人值守,并可能探索超越简单超参数调整的架构变化。 关键要点包括:强大的评估指标的重要性、实验的高成本(尤其是在云基础设施上)以及LLM代理在真正*创新*研究与优化方面的当前局限性。 许多人认为自动化繁琐的任务(如bug修复和超参数搜索)具有价值,从而解放人类研究人员进行更高层次的思考。 讨论还强调了将这种方法应用于其他软件项目的潜力。

## Digs:一个简单的Discogs唱片库浏览器 对官方Discogs应用程序在移动设备上浏览的局限性感到沮丧,一位开发者创建了**Digs**,一个为黑胶唱片收藏家设计的精简移动应用程序。Digs专注于快速且*离线*访问您现有的Discogs唱片库,组织方式与您在文件夹中的结构完全一致。 该应用程序会将您的Discogs库同步到您的手机,允许您按文件夹浏览、搜索,甚至有一个“随机选择器”来重新发现唱片。它优先考虑速度和简洁性,省略了诸如愿望单管理和市场访问等功能。 Digs使用React Native、TypeScript和SQLite构建,利用巧妙的“令牌桶”速率限制器来规避Discogs的API限制。一个关键的设计原则是“本地优先”架构,确保所有数据都直接从手机数据库读取,以实现即时访问。开发者利用Claude Code进行快速代码生成,但强调产品决策和完善花费了最多的时间。 Digs目前在App Store上免费提供,没有广告或跟踪。

对不起。

## 理想的衰落:对现代计算的批判性审视 本文认为备受赞誉的“Unix哲学”——强调简洁、单一用途工具和可组合性——在很大程度上已经消亡,而现代计算则是一个复杂且常常设计糟糕的“垃圾堆”。作者认为,这种哲学的模糊性(存在多种解释)使其能够方便地适应,最终侵蚀了其核心原则。 虽然欣赏精简工具和shell脚本的*理念*,但作者指出现实世界的例子——例如令人惊讶的复杂的`cat`命令和多功能的`curl`——违背了该哲学的原则。这种趋势超出了Unix世界;Windows和GUI软件优先考虑集成、功能丰富的体验,而不是简约的、链式工具,常常牺牲效率来换取用户友好性。 核心问题不在于技术,而在于社会。开发者过度概括,寻求“一刀切”的解决方案,而这些解决方案不可避免地无法满足多样化的需求。此外,开源最初的反叛精神已被稀释,变得越来越公司化和顺从。作者提倡批判性思维,拥抱多样性,并优先考虑可修改性,敦促读者定义自己的原则,而不是盲目地追随趋势或意识形态。最终,认识到计算的内在复杂性是构建更好系统的关键。

对不起。

更多

联系我们 contact @ memedata.com