每日HackerNews RSS

## C++ 错误处理的重新思考:支持异常 本文探讨了 C++ 中传统错误处理方法(枚举、断言、契约和 `std::expected`)的替代方案,最终重新审视了经常被忽视的异常。虽然之前的方案存在缺点(污染逻辑、需要更改签名或功能有限),但异常提供了一种出乎意料的简洁解决方案。 核心论点是异常允许编写专注于“正常流程”的代码,并将错误处理委托给 `try/catch` 块或全局处理程序。对性能的担忧在很大程度上已经过时;最近的研究(由 Khalil Estell 进行)表明,由于基于表的异常处理,现代编译器(尤其是 x64/ARM64)的开销很小。 然而,C++ 缺乏强制的异常声明(删除了 `throw` 关键字)是一个重大弱点。这需要依赖注释进行文档记录,而 Java 的检查型异常 *要求* 处理或声明。作者建议采用类似 Java 的方法:使用异常处理可恢复的错误(如文件丢失),并依赖契约/中止来处理不可恢复的问题(如设备故障)。 最终,作者提倡使用异常,因为它们简洁易读,认为它们可以产生比替代方案更清晰的代码,甚至可以改进常见的无检查错误返回,从而导致后期崩溃且堆栈跟踪信息不足的情况。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 C++ 枚举类和错误码,第三部分 (mropert.github.io) 20 分,ibobev 发表于 13 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## Microsoft 365 价格将于 2026 年上涨 微软宣布 Microsoft 365 商业许可证的价格将于 2026 年 7 月 1 日起上涨。此前已于 2022 年涨价一次,此次涨价预计平均每用户每月增加约 2 美元,可能带来超过 100 亿美元的额外收入。涨价幅度因计划而异,从 0 美元到 3 美元不等,也将影响教育和政府部门。 微软将涨价归因于对新功能的持续投资——过去一年新增了 1100 多项,包括 Security Copilot 和 Intune Suite 的功能。然而,这些更新的*价值*仍有待考量,特别是对于未使用 Copilot 等人工智能功能的企业而言。 尽管 Microsoft 365 仍然具有竞争力,但价格上涨(E5 计划最高达到每年 720 美元/用户)可能会促使企业审查其许可和使用情况,以优化成本。由于迁移离开成熟的微软生态系统存在困难,大多数企业可能会适应新定价,而不是寻求替代方案,包括回归本地解决方案。

## Microsoft Office 365/Microsoft 365 价格上涨 微软正在提高Office 365和Microsoft 365许可的价格,引发了关于价值和替代方案的讨论。虽然一些涨幅较小,与通货膨胀相符,但另一些涨幅,特别是针对“一线员工”计划,则更为显著。 一个主要担忧是微软同时停止支持Publisher,并提供笨拙的PDF转换替代方案,导致一些人认为这些决定是由内部调整而非用户需求驱动的。用户抱怨核心产品缺乏创新,而微软却在推广Copilot,一项许多人不想要的AI功能。 讨论凸显了微软强大的生态系统锁定,使得切换变得困难,即使存在像Google Workspace、Zoho或LibreOffice这样可能更好或更便宜的竞争对手。Excel仍然是主导力量,没有真正的竞争者,许多组织优先考虑兼容性和管理功能,而不是成本节省。一些用户正在考虑替代方案或恢复到旧的、永久许可版本的Office。最终,微软的市场地位使其具有定价权,即使这让客户感到沮丧。

启用 JavaScript 和 Cookie 以继续。

## 成长之色:摘要 一项最新研究通过分析1600-1820年欧洲绘画中的色彩变化,探索了一种追踪经济增长的新方法。研究人员从数百万像素中提取色调、饱和度和亮度数据,为五个国家创建年度经济指数。他们认为,色彩使用上的变化——特别是向更浅色调的转变——可以作为经济活动的独立、高频代理,揭示传统GDP重建未能捕捉到的波动。 然而,这项研究面临质疑。评论员质疑绘画色彩与GDP之间的相关性,指出色彩变化通常*先于*报告的经济变化,引发了对预测有效性的担忧。颜料老化、修复效果以及图像捕捉的变化(光照、传感器)等问题也被强调为潜在的混淆因素。 尽管存在这些批评,但有些人认为这个概念引人入胜,认为它能激发独立思考,并为扩展到其他媒介(如电影)提供潜力。核心思想是,色彩的广泛趋势反映了社会的变化,可能也反映了经济状况。

## 对齐与能力:人工智能发展的新视角 一种日益增长的观点认为,“对齐”——确保人工智能系统按照人类价值观行事——并非是能力型人工智能的*独立*挑战,而是能力*本身*的内在组成部分。一个真正有能力的人工智能,特别是那些旨在实现通用人工智能(AGI)的人工智能,必须深刻理解人类意图,而人类意图与我们的价值观和文化息息相关。仅仅通过基准测试是不够的;实用性需要理解未明确说明的假设。 OpenAI和Anthropic之间的现实世界实验正在验证这一点。Anthropic将对齐研究*融入*能力开发中,在他们的模型中训练出“连贯的身份”——以Claude在编码和创意任务上的成功为例。OpenAI最初优先考虑规模,并将对齐作为独立的纠正过程应用,遭遇了挫折。GPT-4o最初的趋炎附势和GPT-5的冷漠表明了缺乏真正理解的破碎“自我模型”的陷阱。 当前数据显示Claude正在获得显著的用户参与度,而OpenAI则面临困境。这表明,构建具有内在理解的人工智能,而不是外部施加的约束,至关重要。最终,通往AGI的竞赛可能取决于哪个实验室能够构建真正*理解*——并因此与——人类价值观相符的模型。

这个Hacker News讨论围绕着一篇关于早期Unix历史的有趣文章,特别提到了AT&T过去昂贵的Korn shell授权费用。用户们回忆起计算机的“旧时代”,记得通过UUCP发送电子邮件速度慢(可能需要*几个小时*,因为要通过拨号连接中转)以及IBM的AIX操作系统意外发送的遥测数据,导致产生昂贵的拨号连接费用。 有趣的是,一位评论员指出Korn shell技术在现代的关联性,指出Android目前使用`mksh`,一个免费的克隆版本。这个帖子突出了对过去的回顾,那时计算机与今天相比非常不同——而且有时出人意料地昂贵。

GitHub是一个全球使用的综合开发平台,供个人和团队构建、发布和维护软件。它提供广泛的功能,包括通过仓库进行代码存储和管理,以及协作工具,如问题、拉取请求和讨论,还有项目跟踪。 最近,GitHub扩展到AI驱动的开发,推出了Copilot(AI结对程序员)和GitHub Models用于提示管理等工具。它还通过GitHub Advanced Security提供强大的安全功能。 除了核心开发之外,GitHub还支持使用Actions进行自动化,使用Codespaces进行即时开发环境,并提供学习资源、活动以及探索开源项目的平台。它满足各种需求,从初创公司到大型企业,涵盖各个行业,提供定制化的解决方案和定价方案。

## FoundationDB & Flow: 摘要 这次Hacker News讨论的中心是**Flow**,一种为C++构建的、基于Actor模型的语言,被**FoundationDB**内部使用。FoundationDB被苹果收购,它优先考虑容错性,通过**确定性模拟测试**来实现——在单线程环境中模拟网络中断和磁盘错误等故障。这使得他们能够完全在模拟环境中进行18个月的开发,运行相当于一万亿CPU小时的压力测试。 讨论强调,**Snowflake、Tigris、Datadog和Griffin Bank**等公司都在使用FoundationDB,以及苹果的iMessage。用户称赞其可靠性和无需人工干预的运维,特别是其在不停机的情况下动态调整冗余的能力。 有趣的是,Flow的编译器是用**C#**编写的,这是苹果收购之前的历史遗留问题。有人将其与Erlang/Elixir的Actor模型和Rust的通道进行比较,并指出Flow基于Promise的方法具有潜力。 还有人提到FoundationDB未来可能会转向C++协程。

二战期间,福特仪器公司(与福特汽车公司无关)为美国海军开发了机电式火控计算机,IBM 制造了一些型号。马克一号和一A型是大型战列舰计算机,而马克六号是一种紧凑的手动计算机——大约像一个奶酪轮子那么大——设计用于商船。 博物馆拥有一台完整的马克六号16型,最初用于3英寸/50口径高射炮。它的历史有些神秘;标记表明它曾服役于亚利桑斯号战列舰,尽管它被设计用于商船,类似的设备也出现在驱逐护卫舰和战列舰炮塔手册中。 这台计算机使用发条马达和复杂的机械部件运行,包括乘法器,在仔细拆解后得以显现。尽管有明显的磨损迹象,但其内部机制仍然非常干净和保存完好,润滑油仅在发条底座上发现。这是该技术的罕见例子,文件有限,幸存的设备也很少。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Sperry/Ford Mark-6 火控计算机 (2022) (glennsmuseum.com) 15 分,作者 pillars 13 小时前 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

AI 代理在部署后经常会以不可预测的方式失败,自信地犯错,例如使用不存在的 URL——当前解决方案试图通过使用另一个 LLM 作为“仲裁者”来解决这个问题。这会产生一种循环依赖,容易出现相同的幻觉和不准确。 作者认为,我们需要像对待传统软件一样对待代理,通过断言、单元测试和显式检查引入**确定性**。不要*询问* LLM 某个事物是否有效,而是用代码*验证*它(例如,使用 `requests.get()` 验证 URL,使用 AST 解析验证 SQL)。 为了解决这个问题,他们构建了 **Steer**,一个开源 Python 库,它用“硬性护栏”包装代理函数。Steer 在错误*发生之前*拦截它们,记录它们,并允许开发者通过注入到其上下文中的特定纠正规则来“修补”模型的行为——有效地解决问题,而无需完全重新部署。 Steer 优先考虑本地执行、隐私和基于库的方法,为“感觉式”调试提供了一种确定性的替代方案。

最近的调查显示,9月2日美国军方的一次打击导致两名遇船难者在最初袭击后丧生。尽管在45分钟内清晰可见幸存者抓住残骸,弗兰克·布拉德利海军上将下令进行后续打击,随后又发射了两枚导弹,最终击沉了船只。 布拉德利为持续攻击辩解称,这些人仍然构成威胁,可能因为涉嫌贩毒——特别是可卡因——以及可能再次参与冲突。然而,出席简报会的消息人士对此说法提出异议,称没有证据表明这些人试图打捞船只或构成威胁。目击者报告称,这些人正在挥手,很可能是呼救信号。 这一决定引发了愤怒,像亚当·史密斯众议员这样的立法者指责官员提供虚假信息,专家认为这些打击是非法法外处决,违反战争法。一份机密法律意见试图将打击毒品运输作为破坏贩毒集团资金的一种手段进行辩护,将其定性为一种武装冲突的形式。这起事件是更大模式的一部分,自9月以来已知发生22次袭击,导致至少87名平民死亡。

## 黑客新闻讨论摘要:美军杀害遇船难者 一篇最近发表在《拦截》上的文章,详细描述了美国军方杀害抓住沉船残骸的人员事件,在黑客新闻上引发了激烈的争论。该事件涉及一艘被拦截的船只,导致多人死亡,并且事件的真相缺乏透明度。 用户们表达了愤怒,将这些行为定性为潜在的战争罪行,特别是考虑到缺乏战争宣言以及遇船难者显然没有构成真正威胁。人们对美国军方充当法官、陪审团和刽子手表示担忧。 许多评论员将此事件与美国在拉丁美洲干预的更广泛模式联系起来,引用了数十年来失败的政变企图以及对国际法的漠视。一些人指出了一种令人不安的庆祝苦难和对过去罪行的缺乏问责制的趋势,例如伊拉克战争期间的那些罪行。 讨论还涉及政治动机,一些人认为该事件是由特朗普政府故意公开,以支持针对委内瑞拉潜在政权更迭的叙事,尽管缺乏将毒品走私作为理由的证据。一些评论被标记,可能是由于批评现任政治人物或被认为与主题无关的内容。

## 工作中的动力力量 显著的进步并非来自宏大的努力,而是持续的行动。就像一辆停滞不前的卡车,大型项目需要小的、有节奏的推动——建立*动力*——来克服最初的惯性。面对一张白纸让人感到不知所措;即使迈出一小步,也能让任务变得可控。 即使是短暂的日常投入,也能让你的大脑“保持活跃”,并让想法流动,从而放大每次会话的进展。这避免了停滞不前的感觉,并确保你始终拥有清晰的进展记录。 关键在于优先考虑*行动*而非完美。将令人生畏的任务分解为琐碎的步骤——写一段话,进行一个小实验。无论多么微小,完成都会推动进一步的行动。像人工智能这样的工具可以通过建议这些初始步骤来提供帮助。 把你的工作想象成一个飞轮:每一次推动都会增加速度。持续的、甚至是混乱的日常努力会建立起不可阻挡的动力,最终带来突破。它并不光鲜亮丽,但它可靠——而且通常在最终结果中不为人知。

## 优化项目势头 - Hacker News 讨论总结 Hacker News 的讨论围绕着在项目中“优化势头”这一想法展开,正如近期一篇博文所强调的。核心论点是,建立势头是有价值的,但*何时*有价值取决于项目是否清晰。 缺乏明确方向的早期项目不应急于开发,因为朝着错误的方向建立势头代价高昂。相反,优先进行“思考性工作”——白板讨论、笔记记录——在编码前验证想法。 贡献者强调了早期小胜利(“滚雪球”)的价值,以建立信心并保持进展,尤其是在团队中。一个关键的挑战是如何应对对其他人的依赖;维持势头需要在等待反馈的同时,努力完成可控的部分,尽管可能存在延误。最后,一位用户分享了一篇来自 2022 年的类似文章,探讨了相同的概念,并指出人工智能工具在实施方式不同时,既可以帮助也可以阻碍势头。

更多

联系我们 contact @ memedata.com