每日HackerNews RSS

微软已暂时关闭其数十个 GitHub 存储库,因为发现这些代码遭到黑客入侵,并被植入了窃取密码的恶意软件。受影响的项目包括与 Azure、VS Code 和人工智能开发接口相关的工具,这些项目可能导致攻击者窃取用户的敏感凭据。 安全研究人员将此确定为“供应链”攻击,即通过在广泛使用的软件中嵌入恶意代码,以波及大量下游用户。这是微软的开源项目在最近几周内第二次遭到入侵;有报告指出,此次事件可能是先前被攻击项目的再次失守,引发了人们对该公司最初补救措施有效性的担忧。 微软已确认移除相关存储库以进行调查,并已开始通知受影响的客户。尽管部分存储库现已恢复,但由于公司仍在进行安全审计,其他存储库仍处于离线状态。考虑到微软作为大型科技公司的地位,此次漏洞尤为引人注目,凸显了大规模开源供应链在应对复杂网络攻击时日益脆弱。

近期报告指出,多项微软开源存储库遭到了“供应链攻击”,攻击目标直指 AI 开发工具。此次入侵涉及“Miasma”蠕虫病毒,它通过向 VS Code 等集成开发环境(IDE)及各类集成 AI 的编程环境注入恶意配置,从而利用自动化依赖项进行传播。 Hacker News 上的讨论重点关注了现代软件开发实践中存在的重大隐患。评论者认为,业界对“氛围编码”(vibe coding)——即在缺乏严格审查的情况下进行快速、AI 驱动的代码生成——的过度依赖,已形成了一个危险的攻击面。由于流程自动化以及将复杂的依赖项视为“黑盒”,开发人员无意中让蠕虫病毒得以在本地计算机、CI/CD 流水线和云环境中蔓延。 许多参与者批评了微软的安全文化及其透明度不足的问题,并指出微软的平台目前已成为这些攻击的核心媒介。尽管有人建议采取加强沙箱隔离、使用独立开发环境和人工代码审计等解决方案,但另一些人认为这是当前“快速行动,打破常规”安全模式的系统性崩溃。开发人员普遍认为,业界必须转向更加严谨、隔离且以安全为先的工作流程,以应对这些日益自动化和普遍化的威胁。

一份近期报告指出,Facebook 等社交媒体平台正通过向海外内容创作者支付费用来制造“愤怒诱饵”,从而在无意中加剧了政治不稳定。在许多低收入国家,高互动率帖子带来的收益——例如那些鼓吹阿尔伯塔省独立的内容——往往能带来足以改变生活的收入。 Hacker News 上的后续讨论认为,这未必是国家层面的“外国干预”阴谋,而是平台商业化模式的结构性后果。由于互动率是广告收入的核心指标,这些系统自然会放大具有煽动性、分裂性和极端的内容。用户认为这种“平台腐烂”(enshittification)是一个系统性问题:平台优先考虑病毒式传播的愤怒内容以增加用户停留时间,而不顾这些内容是否真实,或者是否损害了目标国家的社会凝聚力。 评论者们讨论了这究竟是构成对主权的侵犯,还是仅仅是一种“眼镜蛇效应”——即旨在奖励创作者的经济激励措施,无意中催生了一个充斥着有毒、虚假和分裂言论的全球经济。许多参与者认为,如果不对平台的激励机制和内容过滤方式进行根本性变革,社交媒体将继续以牺牲社会稳定为代价追求利润。

OpenCV 5 代表了全球最广泛使用的计算机视觉库的一次重大现代化升级。该版本专为结合深度学习、Transformer 和异构硬件的现代工作流程而设计,在追求更简洁、更快速架构的同时,保持了向后兼容性。 **核心亮点:** * **新一代深度神经网络(DNN)引擎:** 重构为基于图的引擎,拥有超过 80% 的 ONNX 算子覆盖率,并支持动态形状和算子融合。它原生支持大语言模型(LLM)、视觉语言模型(VLM)和扩散模型,同时通过统一的 API 提供在不同引擎(经典、新版或 ONNX Runtime)之间切换的灵活性。 * **核心现代化:** 该库现已全面支持 FP16/BF16 数据类型、0D/1D 张量,并改进了 Python 集成,支持关键字参数。 * **硬件加速:** 重新设计的硬件加速层(HAL)无需修改代码,即可在英特尔、ARM 和高通芯片上自动获得性能提升。 * **高级 3D 视觉:** 全面升级了相机标定、点云处理和现代学习特征匹配(如 LightGlue)等模块。 * **易用性:** 改进的文档以及对陈旧 C API 冗余代码的移除,降低了开发者的日常使用门槛。 OpenCV 5 是一个稳健且面向未来的基础,在简化现代 AI 开发的同时,依然保持了该库二十年来一贯的易用性。

OpenCV 5 的发布在 Hacker News 上引发了热烈讨论,既凸显了该库经久不衰的地位,也反映了其目前面临的挑战。 **主要议题:** * **实用性与挫败感:** 用户称赞 OpenCV 是处理加载图像和视频等基础任务的行业标准,并指出其庞大的跨语言生态系统。然而,许多人批评其“永久测试版”的文化、不一致的文档,以及在硬件加速方面复杂的构建要求。 * **性能担忧:** 虽然一些用户反映第 5 版的运行速度有所提升,但另一些人认为 OpenCV 的抽象化与极致性能存在根本冲突。批评者建议,在对延迟要求极高的高风险生产环境中,手动编写的代码或专用替代方案往往优于该库。 * **对“AI 垃圾内容”的抵制:** 发布公告本身因由 AI 生成而遭到广泛抨击,用户认为这标志着缺乏人文关怀,并阻碍了技术清晰度。 * **传统计算机视觉与现代 AI:** 关于 OpenCV 是否应转向 VLM(视觉语言模型)/AI 模型,存在巨大争议。虽然一些人认为生成式模型使传统方法“过时”了,但另一些人坚持认为,对于低功耗、实时嵌入式系统而言,传统的计算机视觉比沉重的 AI 替代方案更快、更廉价且更可靠。 归根结底,尽管存在缺陷,OpenCV 仍然是视觉领域基础且不可或缺的工具。

请启用 JavaScript 和 Cookie 以继续。

这篇 Hacker News 讨论探讨了使用 CRDT(无冲突复制数据类型)解决并发编辑的局限性。尽管 CRDT 能处理技术层面的合并,但参与者认为,它们无法判定“协作意图”,而这种意图往往源于软件无法获知的逻辑推理或语境。 评论者指出,由于合并冲突通常源于社会政治问题或简单的沟通误解,因此无法完全通过“技术魔法”来解决。讨论建议避开仅专注于自动合并的思路,转而考虑两条替代路径: 1. **以人为本的设计**:改进合并冲突的用户体验(UX),促进用户之间的沟通,而不是通过自动且可能不准确的解决方式来掩盖冲突。 2. **意图感知**:利用大语言模型(LLM)等工具来解读歧义;或者在准确性至关重要的场景下,采用能在用户离线时给予通知的交互方式,从源头上预防冲突发生。 最终,各方达成共识:工具的有效性取决于其支持人类沟通的能力。开发者应优先考虑清晰的冲突解决界面,而非试图通过数学方法来解决意图问题。

在为 coreboot 成功开发出原生内存初始化(RAM initialization)功能后,作者请求专家 Angel Pons 对代码进行审查,以准备将其合并到上游仓库。审查发现,这段主要依靠“反编译直觉”开发的代码充斥着错误,包括寄存器名称错误、对位域的误解,以及过度依赖 ThinkPad X61 特有的硬编码数值。 除了这些技术缺陷外,作者在处理 `clang-format` 时也感到非常挫败。该工具在 coreboot 代码库中生成的格式效果很差,阻碍多于帮助,最终导致作者彻底删除了该工具的配置。 总之,这一过程凸显了 AI 辅助的“直觉式”工程的局限性。虽然代码在作者的测试硬件上能够运行,但要达到质量标准,仍需资深工程师进行大量的人工修正。这段经历是一个警示:复杂的底层硬件初始化仍然是一项专业技术,在没有严格专业监管的情况下,目前还无法实现可靠的自动化。

内联(Inlining)是即时(JIT)编译器的一项关键优化,尤其是在动态语言中,频繁的方法调用和抽象会带来显著的开销。通过用被调用者的实际代码替换方法调用,内联充当了一个入口,解锁了诸如加载-存储消除(load-store elimination)和逃逸分析(escape analysis)等进一步优化的可能,而这些优化在局部推理的限制下原本是无法实现的。 然而,内联的实现和调优极其困难。它涉及复杂的权衡:过度内联会导致代码膨胀、CPU 缓存抖动、拖慢编译速度,并干扰其他优化。由于 JIT 编译器运行在有限的局部上下文中,它们必须依赖启发式算法来平衡这些因素。 常见的策略包括分析调用频率、方法大小、调用深度和递归限制。更先进的技术涉及通过性能分析(profiling)获取调用上下文或类型上下文信息,例如拆分方法或使用试探性内联。尽管难度巨大且通常需要多年的改进,但这种做法仍然是性能提升的核心。现代 JIT 编译器,从 Cinder 和 V8 到 HotSpot 和 Graal,都采用了各种复杂的(通常是多层级的)启发式算法,来决定何时以及对什么进行内联,以实现最佳的吞吐量。

抱歉。

请启用 JavaScript 和 Cookie 以继续。

艺术与人文:摄影、文学…… 商业与经济:公司、分类广告…… 计算机与互联网:互联网、软件、多媒体…… 教育:语言、K-12教育…… 娱乐:酷站链接、电影、音乐、幽默…… 政府:军事、政治、法律、税务…… 健康:医学、疾病、健身…… 新闻与媒体:杂志、电视、报纸…… 休闲与体育:体育、游戏、旅游、户外…… 参考资料:图书馆、字典…… 地区:国家、区域、美国各州…… 科学:计算机科学、生物学、天文学…… 社会科学:人类学、社会学…… 社会与文化:人物、环境、LGBT…… 支持:Old'aVista 社区、留言簿、致谢

Go 编译器默认使用过时的 x86-64 指令集(v1),导致其无法使用 2003 年以来增加的性能特性。开发者可以通过环境变量 `GOAMD64` 来启用较新的指令集(v2–v4),从而开启 `popcnt`、AVX2 和 AVX-512 等高级功能。 在 *Roaring Bitmaps* 库上对这些级别进行的测试表明,性能有显著提升。通过启用 `popcnt` 指令,从 v1 升级到 v2 可使位计数(population counting)性能免费提升 43%。进一步升级到 v3 (AVX2) 后,通过利用更宽的 256 位寄存器,在密集位图处理和交集计算等任务中获得了额外的性能增长。有趣的是,在这些基准测试中,v4 (AVX-512) 并未带来进一步的提升,这表明当前的 Go 编译器仍存在局限性。 作者总结认为,现代硬件上所有对性能敏感的 Go 应用程序至少应将 `GOAMD64` 设为 `v2`,因为它能在不牺牲与大多数现代硬件兼容性的前提下,提供实质性的“免费”性能提升。至于 v2 以上的级别,开发者应针对特定工作负载进行基准测试,以确定 v3 或 v4 是否具有实际价值,因为编译器针对这些高级别的优化尚不稳定。

构建高性能数据库通常需要在缓慢的“迭代器模型”与工作量巨大的向量化或查询编译方法之间做出选择。 作者为其系统 **Prela** 提出了一种优雅的替代方案,即使用**续体传递风格 (CPS)**。基于 CPS 的算子不再将算子定义为物化中间表的函数,而是通过续体函数 ($k$) 来定义如何处理数据。 通过以 CPS 定义算子并利用编译器内联(消除中间数据结构),Prela 能够自动将复杂的查询链“融合”为单一且高效的机器码循环。例如,多步连接操作可以从嵌套函数调用转换为紧凑且对缓存友好的循环,直接访问列式数据。 这种设计非常精简,仅用 1,000 行 Julia 代码就实现了选择、投影、连接和聚合功能。尽管目前该方案仍依赖于稠密主键和 JIT 编译时间等假设,但 CPS 方法构建了一种模块化且可扩展的架构。它成功弥合了高层数据库逻辑与底层执行效率之间的鸿沟,实现了与 DuckDB 等行业标准引擎相当的性能。

抱歉。

更多

联系我们 contact @ memedata.com