每日HackerNews RSS

加载飞行可视化...

在16位Windows时代,程序安装包经常包含并重新安装系统组件。理想情况下,安装包应该只*更新*已有的组件到新版本,并尊重Windows的向下兼容性。然而,许多安装包会随意覆盖文件,有时甚至用旧的Windows 3.1版本替换掉较新的Windows 95版本,导致系统不稳定。 Windows 95巧妙地通过创建`C:\Windows\SYSBCKUP`目录来解决这个问题。每次安装后,它会检查是否有系统文件被覆盖。如果替换版本*比*备份版本旧,Windows会恢复原始文件。 早期尝试*阻止*覆盖失败了——安装包要么崩溃,要么提示用户困惑,或者找到方法强制覆盖。最终,允许安装包运行,然后在安装后“清理”被证明是最可靠的解决方案。一些组件甚至强制执行自己的安装程序,以防止由于安装包不可靠而直接替换文件。

## Windows 95 安装程序混乱:总结 微软devblogs.microsoft.com上的一篇最近帖子详细介绍了Windows 95团队在处理行为不当的安装程序时面临的挑战。许多安装程序会用旧版本覆盖系统文件,可能导致操作系统或其他应用程序崩溃。微软的解决方案出人意料地务实:Windows 95 会在隐藏目录 (`C:\Windows\SYSBCKUP`) 中秘密备份经常被覆盖的文件,并在安装后恢复它们。 讨论强调了一个核心问题:开发者常常优先保证*他们*的软件能够运行,即使这意味着无视最佳实践或直接破坏系统稳定性。 有限的文档、缺乏标准化的安装程序以及没有自动更新功能加剧了这一问题。 评论员指出微软历史上优先考虑向后兼容性——破坏现有软件会面临失去客户的风险。一些人建议采取替代方法,例如点名并谴责有问题软件,但最终承认执行标准是困难的。对话还涉及现代的相似之处,例如 Zig 语言对未记录的 Windows API 的使用,以及 Windows 的 `WinSxS` 目录和 Linux 中的包管理器的演变。最终,这个故事展示了一个软件开发中务实主义常常胜过理想设计的有趣时期。

数十年以来,密码学中的一个关键挑战在于在应用签名、加密或哈希等操作*之前*,安全地封装数据。现有方法常常容易受到攻击,恶意行为者可以在重用有效密码签名的情况下,微妙地改变数据的含义——这个问题在比特币、以太坊和TLS等系统中都有体现。 核心问题在于缺乏明确的“领域分离”——确保密码学操作理解它正在处理*什么类型*的数据。Snowpack由作者开发,通过将随机、不可变的标识符(“领域分隔符”)直接嵌入到数据定义语言(IDL)中来解决这个问题。 这些分隔符在签名/加密和验证过程中都会被使用,保证系统知道数据的预期类型。Snowpack还提供规范编码,确保无论实现如何,输出保持一致,并通过类似JSON的中间格式支持向前/向后兼容性。 通过将领域分离集成到IDL并利用类型系统,Snowpack为密码学安全历史上一个存在问题的领域提供了一种系统且强大的解决方案。它目前已开源Go和TypeScript版本,并计划扩展到更多语言支持。

## 签名数据结构:Hacker News 总结 Hacker News 的讨论围绕一篇博客文章(foks.pub)展开,文章详细介绍了在安全签名数据结构方面遇到的挑战,尤其是在使用缺乏固有类型信息的格式(如 Protobuf)时。核心问题是防止在不同但结构相似的数据类型之间重用签名——这是一种潜在的安全漏洞。 讨论的解决方案包括在有效载荷中添加唯一标识符(“msg”字段、领域分隔符),或将类型信息直接纳入签名过程(多集哈希)。一个关键点是区分名义类型和结构类型;Protobuf 使用后者,使得类型强制执行更加困难。 许多评论者强调了既定的密码学原理:签名必须绑定到特定的上下文,而该上下文*不*随消息一起传输,并且需要小心处理不受信任的输入。人们对依赖编译的密码学二进制文件以及更简单、可审计的实现的优势表示担忧。一些人建议使用现有的解决方案,如 DSSE。 最终,讨论强调了编译时保证的重要性,以及避免数据解释中的歧义,以确保签名有效性并防止潜在的漏洞利用。原始文章的作者提倡一个提供这些保证的系统,避免了单独记录上下文字符串的需要。

启用 JavaScript 和 Cookie 以继续。

一个黑客新闻的讨论围绕着一篇关于NASA“宇航员车”(Astrovan)的文章,该车辆用于运送宇航员。 讨论很快偏离了主题,用户指出文章缺乏图片——尽管该车辆是主题——并批评其写作风格,称其为“AI垃圾”并且让人想起LinkedIn的内容。 许多评论者对文章所指的*具体*“宇航员车”感到困惑,争论是经典的雪佛兰Astro/GMC Safari厢型车,较新的Airstream型号,还是NASA之前购买的(并且可能已经退役的)Canoo电动汽车。 几位用户分享了图片和相关文章的链接,包括最近对Astrovan II的报道以及有关飞行终止系统问题导致发射延误的信息。 一种普遍的情绪是对文章质量感到失望,并且认为它没有达到黑客新闻的标准,甚至有人将其标记为质量低下。 讨论强调了对实质性内容的渴望以及对AI生成或过度简化的写作的沮丧。

## 乌克兰对作战无人机的依赖日益增加 乌克兰正在越来越多地将无人地面车辆(UGV),例如TW 12.7,整合到前线作战中,这表明现代战争正在发生转变。这种国产、遥控平台成功地控制了一个关键路口超过六周,提供了持续的压制火力并阻止了俄罗斯的推进——传统上由一个步兵小组执行的任务。 UGV的部署凸显了乌克兰机器人技术的日益可靠,配备了稳定武器和先进光学设备。除了防御之外,这些“攻击UGV”现在还支援步兵进攻,加强防线,并进行破坏活动。 乌克兰优先考虑操作员的安全,利用专门的回收模块,甚至*其他* UGV来回收损坏的设备,避免对人员造成不必要的风险。来自前线部队的持续测试和反馈正在推动UGV设计的快速改进,促进制造商和士兵之间的合作,以完善这些在真实作战条件下至关重要的系统。 这种对国产机器人的推动旨在对抗俄罗斯在数量和火力上的优势。

请启用 JavaScript 并禁用任何广告拦截器。

## 苹果:面向未来的50年 苹果正在庆祝50年的创新,强调持续关注未来的发展,而非仅仅回顾过去。该公司设计旨在丰富人们生活的工具和体验。 苹果广泛的产品线包括Mac、iPad、iPhone、Watch、Vision、AirPods以及各种娱乐和家居产品,以及配件。除了硬件,苹果还提供包括Apple One、Apple TV+、Apple Music和App Store等全面的服务生态系统。 该公司通过Apple Store(包括天才吧和Today at Apple)、在线资源以及专门为企业、教育、医疗保健和政府提供的项目提供强大的支持。苹果还优先考虑可访问性、环境责任和包容性等核心价值观,以及关于公司本身及其领导层详细的信息。

## 苹果50周年 - Hacker News 讨论总结 苹果最近发布的一个庆祝50周年的网页在Hacker News上引发了不同的反应。许多人觉得庆祝视频令人失望,期望能有更具互动性的体验,包含产品细节和销售数据。一些用户在动画显示方面遇到了问题,通常可以通过更换浏览器或调整辅助功能设置来解决。 讨论延伸到苹果的演变,一些人惋惜苹果从开放、可破解的平台(如早期的Apple II)转变为更封闭、类似家电的生态系统。另一些人则为苹果对易用性的关注及其对普通用户的积极影响辩护。 许多评论员提到了其他的苹果周年庆活动,包括在Apple Park举行的保罗·麦卡特尼演唱会和在计算机历史博物馆举办的座谈会。关于苹果的当前发展方向也存在争论,一些人认为该公司现在专注于最大化利润而非创新。总的来说,这次对话展现了人们与苹果之间复杂的关系——对过去成就的赞赏以及对现状的批评。

## 人工智能营销 BS 指数 受物理学中“谬误指数”的启发,Bastian Rieck 提出一个“人工智能营销 BS 指数”,用于评估在人工智能产品被过度炒作的时代,营销材料的可信度。该指数旨在识别并评估过于热情或具有误导性的说法。 从 -5 分(给予信任)开始,得分会因以下行为而增加:无正当理由创造术语(+10 分),错误使用科学术语(每次 +10 分),以及使用“这不是 X,而是 Y”之类的修辞手法(+20 分)。 更高分数会授予以下行为:援引“自然”或“宇宙” (+20 分),无根据使用“涌现属性” (+20 分),炫耀常春藤盟校 (+20 分),缺乏可证伪的主张 (+30 分),以及无法验证的研究合作 (+40 分)。 该指数仍在完善中,旨在帮助过滤掉空洞的营销“氛围检测”,并识别真正有价值的人工智能创新。

对不起。

## git-bayesect: 贝叶斯Git二分查找 `git-bayesect` 是一个用于识别引入事件发生概率变化的提交的工具(例如,不稳定的测试)。与传统的 `git bisect` 不同,它使用贝叶斯推理,只需要一个变化*已经*发生,而不需要精确的失败率。 它通过迭代地缩小可能的提交范围,基于最小化预期熵来选择下一个要测试的提交。该工具巧妙地使用 Beta-Bernoulli 共轭性来处理未知的失败概率。 **关键命令:** * `git bayesect start --old <COMMIT>`:开始二分查找。 * `git bayesect pass --commit <COMMIT>`:记录一次成功的测试。 * `git bayesect prior --commit <COMMIT> --weight <value>`:设置关于某个提交的先验信念。 * `git bayesect run <command>`:使用给定的命令自动化测试。 你还可以基于文件名或提交消息/diff内容设置先验概率,以获得更准确的结果。提供了一个演示仓库和脚本来帮助你入门。

## Git Bayesect:贝叶斯二分查找用于间歇性错误 - 摘要 Git Bayesect 是一种新工具,旨在高效地识别引入非确定性(间歇性)错误的提交,这对于传统的 `git bisect` 来说是一个挑战。与需要一致复现的 `git bisect` 不同,Bayesect 使用贝叶斯推理来处理可变错误的发生情况。 基准测试表明,在存在间歇性的情况下,Bayesect 显著优于 `git bisect`——在 90/10 的间歇性下,Bayesect 实现了约 96% 的准确率,而 `git bisect` 降至约 44%。通过基于代码结构对先验进行加权,优先考虑影响高度连接函数的提交,还可以获得进一步的准确率提升(10-15%)。 该工具通过策略性地选择下一个要测试的提交,最大限度地提高信息增益,从而最大限度地减少测试运行次数。虽然并非完全最优,但它为调试间歇性问题提供了实质性的改进,尤其是在测试缓慢或涉及 LLM 交互等外部因素时,这一点非常有价值。该项目在 GitHub 上可用 ([https://github.com/hauntsaninja/git_bayesect](https://github.com/hauntsaninja/git_bayesect)) 并且正在集成到 sem 中 ([https://github.com/ataraxy-labs/sem](https://github.com/ataraxy-labs/sem))。

## SwiftLM:快速原生 MLX 推理服务器 SwiftLM 是一款高性能、原生 Swift 推理服务器,专为 Apple Silicon 设计,用于运行 MLX 模型,并提供与 OpenAI 兼容的 API。它消除了 Python 和全局解释器锁 (GIL) 的开销,从而实现闪电般的速度。 主要特性包括直接加载 HuggingFace 模型并使用 Safetensors 解析,以及集成的 TurboQuantization——一种混合量化技术,在显著压缩内存(KV 缓存高达 3.5 倍)的同时,几乎没有精度损失。一项实验性的 SSD 流式传输功能允许通过直接从 NVMe SSD 交换 MoE 层到 GPU 来运行大型模型(122B+ 参数)。 SwiftLM 提供精细的内存控制,并包含用于设备端推理的原生 iOS 应用程序。它在 Apple M 系列芯片上进行了基准测试,并优先考虑稳定性,避免了可能导致系统崩溃的大型模型问题。它提供预构建的二进制文件以供快速设置,并支持标准的 OpenAI API 端点。

更多

联系我们 contact @ memedata.com