每日HackerNews RSS

## 使用中间表示 (IR) 现代化遗留系统 大规模系统现代化受益于创建详细的中间表示 (IR)——系统逻辑的概念地图,而不仅仅是编译器步骤。该 IR 分层构建,从基本结构(记录布局、文件 I/O)到语义含义(如计算新余额的变换代数)逐步深入。 每一层都增加细节,同时不丢失先前的上下文,即使不完整,也能提供有价值的文档、依赖关系图和现代化路线图。提供的示例展示了将 COBOL 解析为基于 JSON 的 IR,捕获数据结构和业务逻辑(如存款/取款规则)。 然后,该 IR 有助于确定性、可测试地重写为 Kotlin 等现代语言,确保算术安全性(处理遗留 `COMP-3` 数据类型)。此外,诸如 Alloy、TLA+ 和 Z3 等形式化模型用于验证系统的静态结构、时间行为和算术一致性,从而保证现代化后的系统行为与原始系统完全相同。

## COBOL 到 Kotlin 通过形式化方法 - 摘要 一个 Hacker News 讨论围绕着一篇 Medium 文章([marcoeg.medium.com](https://marcoeg.medium.com))中描述的项目,该项目旨在通过形式化验证来现代化 COBOL 代码。作者 marcoeg 通过中间表示 (IR) 和 Alloy 形式化模型将一个小的 COBOL 批处理程序翻译成 Kotlin,并通过比较与原始 COBOL 程序输出的 SHA-256 校验和来证明等价性。 讨论强调了 COBOL 持续存在的必要性,因为它可靠且替换成本/风险高昂,尽管它已经过时。评论员争论 COBOL 是否本质上比其他语言更可靠,指出它历史上缺乏动态内存分配是一个促成因素,但也承认可靠性源于生产系统中数十年的错误修复。 一些用户质疑简单语法翻译的价值,因为它没有解决围绕传统 COBOL 系统(硬件、数据库、作业调度器)的更广泛生态系统问题。另一些人指出拥有与生产系统匹配的准确 COBOL 源代码的重要性。作者欢迎反馈,特别是来自那些具有大规模传统改造经验的人,并分享了项目 GitHub 仓库的链接 ([https://github.com/marcoeg/cobol-modernization-playbook](https://github.com/marcoeg/cobol-modernization-playbook))。

## Zed:为无缝协作而生 Zed Industries 开发了 Zed,这是一款新的编辑器,优先考虑响应速度、专注度,以及至关重要的——协作。团队对现有的协作编辑工具(如 Atom 的 Teletype)感到沮丧,因为它们要么性能不足,要么设置繁琐,因此他们从头开始构建 Zed,将实时协作作为核心原则。 Zed 利用 CRDT 来确保冲突自由地合并编辑,无论地理位置如何,都能提供低延迟。它只需要 GitHub 身份验证,无需扩展或链接共享。界面采用基于频道系统,模拟一个虚拟办公室,提供用于全公司讨论、项目工作和个人专注的空间。 Zed 团队*使用* Zed 来构建 Zed,展示了它的有效性。他们利用频道进行每周例会、回顾和特定项目的开发,甚至以经典的打字机命名会议空间。虽然目前处于 Alpha 阶段且免费使用,但 Zed 旨在将协作发展超越简单的提交,朝着开发者、代码和 AI 之间持续、关联的对话方向发展。

我们会检查tweeks是否已安装并准备就绪。如果尚未安装,请从Chrome网上应用店安装,然后安装完成后使用“再次检查”。正在查找扩展程序…再次检查Chrome正在验证扩展程序连接。这通常只需片刻。

特斯拉正在召回超过6000辆Cybertruck——约占目前道路上行驶车辆的10%——原因是可选的越野灯条可能存在问题。美国国家公路交通安全管理局(NHTSA)确定,在灯条粘附到挡风玻璃时使用了不正确的底漆,增加了其脱落并成为抛射物的风险。 特斯拉的解决方案是在灯条上增加一个额外的机械连接,即使最初的粘合剂失效。服务中心将检查现有的灯条,并使用这种连接来加固它们,或者完全更换它们,同时使用粘合剂*和*机械紧固件。 预计将于2025年12月26日邮寄车主通知信,但实际在服务中心进行维修的等待时间可能会很长,可能持续数月。

## 通过Hetzner将MongoDB成本降低90% Prosopo 最初依赖MongoDB Atlas的易用性和可扩展性,但由于数据传输费用(尤其是在跨区域传输时)以及扩展成本,费用迅速膨胀至每月超过3000美元。尽管缺乏支持,团队发现随着数据增长到500GB,Atlas的定价变得不可持续。 为了重新控制成本,Prosopo迁移到Hetzner上的自托管MongoDB部署,Hetzner是一家经济高效的云提供商。他们选择了一台配备256GB RAM和4TB NVMe SSD存储的单个高性能专用服务器,每月仅需160美元——费用降低了90%。 迁移过程包括`mongodump`,在Proxmox/Ubuntu/Docker环境下的恢复,以及使用Traefik配置网络以实现SSL。虽然需要更多的技术管理(通过`mongodump`和Hetzner存储进行备份,使用OpenObserve进行监控),但这种方法提供了更大的控制权和灵活性,解决了在Atlas上无法终止失控连接的问题。由于服务器的卓越规格,性能也得到了*提升*。 这种DIY解决方案适用于Prosopo当前的需求,但他们承认随着未来发展,托管解决方案可能会再次变得有价值。

这项研究是SIMA 2团队的大规模协作成果,该团队由50多名研究人员组成,并感谢谷歌和谷歌DeepMind领导的大力支持。该项目受益于过往团队成员、游戏开发者(包括《Valheim》、《No Man’s Sky》和《Teardown》的开发者)以及专注于模型开发(Genie 3)和关键项目组件的合作伙伴团队的贡献。 许多谷歌内部团队——包括法律、营销和安全部门——也提供了重要帮助。这项工作献给已故的同事菲利克斯·希尔和法比奥·帕尔多,以表彰他们对该领域的持久影响。致谢强调了这项研究工作的真正跨学科和协作性质。

## SIMA 2:虚拟世界中的AI智能体 - 摘要 DeepMind的SIMA 2 是一款设计用于在3D虚拟环境中进行游戏、推理和学习的AI智能体。该智能体展示了通过试错和Gemini模型的反馈来执行越来越复杂的任务的能力,甚至可以随着时间的推移改进自身的能力。一个关键亮点是它的速度——以大约30fps的速度控制鼠标和读取屏幕,这是计算机使用智能体的一项重大进步。 讨论的重点在于其潜在应用,从自动化游戏中繁琐的任务(如刷级)到创建更智能的NPC,甚至协助现实世界的机器人技术。用户希望AI能够处理手机任务或自动化工作流程。然而,对于其实用性存在一些怀疑,人们担心其能否迁移到现实世界,以及目前在未见过的任务上的成功率(15%)。 该项目引发了关于AI研究方向的争论——是专注于模拟所有可能的情况,还是构建“真正的智能”——并提出了关于日益强大的AI智能体的伦理影响的问题,包括其对电子竞技和游戏经济的潜在影响。

启用 JavaScript 和 Cookie 以继续。

## 机器人领域的挑战:超越人形机器人竞赛 机器人专家本杰·霍尔森对最近的世界人形机器人竞赛的侧重点感到失望,他认为真正的进步在于机器人执行日常任务——例如叠洗衣物——而不是简单地模仿人类格斗。他相信目前的人工智能擅长于具有混沌步骤的任务,这得益于使用遥操作的“模仿学习”,但缺乏关键要素,如力反馈、细微的手指控制和触觉。 为了推动该领域的发展,霍尔森发起了一系列“人形奥林匹克”挑战,为实现里程碑的人提供实际奖牌。这些挑战范围从简单的开门和叠T恤等任务,到更复杂的任务,如使用工具(花生酱三明治、钥匙)和操作湿物体(洗碗)。 这些挑战分为等级(铜牌、银牌、金牌),难度各不相同,需要在限定时间内自主完成。霍尔森强调需要可证明的、实际的成功,并邀请机器人专家参与竞争,更快的完成时间有可能取代现任冠军。他已经开始在Substack上记录进展,旨在加速开发真正有用、通用目的的机器人。

谷歌工程师发布了初步的设备树(DT)文件,使最新的Pixel 10、10 Pro和10 Pro XL设备能够启动使用主线Linux内核。这些设备于八月发布,采用Google Tensor G5 SoC,包含Arm Cortex X4、A725和A520核心,以及Imagination DXT-48-1536图形处理器。 然而,这些补丁还非常初步。完整的智能手机功能尚未可用,因为启动需要当前未发布的引导加载程序。目前,DT补丁仅允许通过initramfs启动到基本的UART命令行提示符,体验并不友好。 这些初始文件的重点是建立设备的基础描述,预计未来将围绕兼容性字符串和文件组织进行进一步讨论。这些补丁可在LKML线程上查看,供有兴趣为Pixel 10系列Linux支持做出贡献的人士参考。

谷歌已向 Linux 内核提交了设备树,可以使用主流 Linux 内核对 Pixel 10、Pixel 10 Pro 和 Pixel 10 Pro XL 进行非常基本的启动。然而,这个消息有些误导。 目前,这只能通过 initramfs 启动到 UART 命令提示符,离一个完全可用的系统还很遥远。重要的是,必要的补丁尚未集成到内核中,并且兼容的引导加载程序仍在开发中,尚未发布。 这与谷歌之前发布的 Android 设备树不同,也不意味着任何 Linux 发行版都可以立即运行,或者 Android 本身正在使用这个内核启动。这项工作侧重于基础的设备树设置,主要涉及兼容性字符串和文件组织。

## 零收入的教训:一个单打独斗者的警醒 在构建了一个技术上完美的企业邮箱查找工具FindForce之后,作者面临了一个严峻的现实:零客户和零收入。这不是技术上的失败,而是市场验证上的失败。他陷入了“无竞争”的陷阱,认为缺乏竞争对手意味着机会,而实际上这表明缺乏需求。 他作为站点可靠性工程师(SRE)的背景导致他优先构建强大的基础设施,*先于*验证核心问题,这是工程师常犯的错误。他意识到,在证明需求之前就为规模化而构建是徒劳的。 一篇Reddit上的病毒式帖子强调了一个关键的细微差别:对于资源有限的单打独斗者来说,拥挤的、*不完美*的市场比一片蓝海更有利。成功需要经过验证的需求,而不是创造一个新的类别。 现在,作者正在转变他的策略:优先考虑分发*先于*产品开发,通过一个免费的目录聚合器(awesome-directories.com)来实现,专注于不懈的客户发现,并始终首先提供价值。他的框架强调验证竞争,在编码*之前*与客户交谈,以及评估可用资源。关键要点?竞争验证了需求,对于单打独斗者来说,通过免费价值来建立受众至关重要。

## 缺乏竞争?对单打独斗者的危险信号 最近的Hacker News讨论集中在缺乏竞争并不一定是单打独斗者好事这一观点上。最初的帖子分享了一个个人经历,产品发布失败,引发了对为什么没有人解决相同问题的反思。 普遍的共识偏向谨慎:空缺的市场通常*表明*存在一个显著的、未知的障碍。许多评论者提倡成为“第二行动者”——进入一个经过验证的市场,并从竞争对手的错误中学习,而不是开创一个新类别。这种方法降低了风险,并避免了教育消费者的成本高昂的过程。 讨论中提出了几点:销售和营销的重要性、可能阻碍真正解决方案的扭曲激励、以及利用价格优势对抗规模更大、运营成本更高的竞争对手。然而,一些人警告说,仅仅降低价格如果没有显著的规模或创新的成本降低,是不可持续的。 一个反复出现的批评集中在过于戏剧化、公式化的写作风格上,让人联想到LinkedIn帖子,从而分散了核心信息。

更多

联系我们 contact @ memedata.com