硬核老王 发布的文章

华为开发者的补丁将一个内核函数的速度提升了 715 倍

正在开发中的 Linux 6.2 合并了华为开发者雷镇的一个补丁,将 kallsyms_lookup_name() 的查找速度提高了 715 倍。该函数用于根据名字查找一个符号的地址,能用于查找内核符号表中的任何符号。新的改进将算法复杂度从 O(n) 改进为 O(log(n)),极大地提升了查找速度,只是要多耗费一些内存。Linux 内核社区将此补丁评价为“Linux 的圣诞节礼物”。

消息来源:phoronix
老王点评:可喜可贺!顺便说一句,在 Linux 6.1 LTS 中,华为再次以内核补丁数排名第一。

X.org 紧急发布补丁,WayLand 也没逃开

这六个漏洞与 X.Org 服务器扩展中的安全问题有关,是围绕堆栈溢出、使用后释放、越界访问等类似问题,可能导致本地提权和远程代码执行。X.Org 服务器连夜发布了相关补丁。依赖于 X.Org 服务器核心部分的 XWayland 也同样受影响,随之发布了新的补丁。

消息来源:Phoronix
老王点评:老化的代码,可能存在很多潜在的漏洞。但是 Wayland 依然受影响是我没想到的。

谷歌发布开源软件安全漏洞扫描器

谷歌宣布推出 OSV-Scanner,这是一个免费的漏洞扫描器,可以在整个软件供应链中自动发现和修补漏洞。它声称这是最大的社区可编辑的开源漏洞数据库。OSV-Scanner 使开发者能够自动将代码和依赖关系与已知的漏洞列表相匹配,并确定是否有补丁或更新。去年,谷歌推出了开源漏洞(OSV)模式和 OSV.dev 漏洞数据库服务。

消息来源:Venture Beat
老王点评:开源软件漏洞管理是一个重要的、正在发展的市场,谷歌的这些服务瞄准的就是这个市场。

Bugzilla 项目还活着

Bugzilla 是一个基于 Web 的错误跟踪系统和测试工具,最初是在 1998 年作为 Mozilla.org 项目的一部分发布的,目前仍然支持的版本有 2013 年发布的 Bugzilla 4.4 分支和 2015 年发布的 Bugzilla 5.0 分支。在项目负责人两次试图转交该项目无果后,该项目陷入停顿。现在,项目负责人重新回到了该项目,宣布了新的发布计划,5.2 版本将是下一个大更新版本,但它实际上是已发布 5.0.6 的分支。

消息来源:Bugzilla
老王点评:没有建立起社区的项目就是这样维系在一个人身上,项目脆弱性太大。

谷歌称在 AI 聊天技术上进展太快会有声誉风险

围绕 ChatGPT 的讨论迅速变成了热门话题,而谷歌长期以来一直吹嘘自己是人工智能领域的先驱。谷歌高管在一次全体员工会议上称,谷歌提供错误信息方面有更多的“声誉风险”,因此“比小型创业公司更保守地行事”。谷歌认为,这项技术还没有达到广泛推广所需的程度,目前公开的模型也有问题。但谷歌也承认 2023 年是人工智能用于对话和搜索的方式的一个“拐点”。

消息来源:CNBC
老王点评:或许 AI 就是谷歌开始衰退的拐点。

埃里森称甲骨文云绝不宕机

甲骨文创始人兼 CTO 拉里·埃里森在一场电话会议上称,“事实上,我最喜欢美国一家大型电话公司的一句话:甲骨文的云和其他云的区别仅仅在于甲骨文云不会宕机。”严格来说,这并不是事实。比如在英国今年破纪录的夏季高温中,甲骨文托管的服务器曾在 7 月份下线。

消息来源:The Register
老王点评:吹牛要上税吗?显然不需要。

Windows 7 和 8 的支持在明年 1 月彻底结束

大多数人早在 2020 年就停止接收 Windows 7 的通用安全更新,但是,由于 Windows 7 在企业中如此受欢迎,微软为它提供了额外三年的可选、付费更新支持。而现在这些更新也将在明年 1 月 10 日结束。Windows 8 也将于同期结束支持,而没有额外延长的企业级支持。同时,Edge 浏览器对 Windows 7 和 8 的支持也将结束。以及,Chrome 110 版本也会停止对 Windows 7 和 8 的支持。

消息来源:Ars Technica
老王点评:其实,Windows 7 挺好的。

树莓派将恢复供应

在全球疫情期间,大部分生产的树莓派被卖给企业,个人用户很难买到树莓派。树莓派基金会发文称,准备预留十几万台树莓派用于零售,包括 Zero W、3A+ 以及树莓派 4 的 2GB 和 4GB 等版本。预计到 2023 年第三季度末,库存将恢复到树莓派大短缺之前的样子。

消息来源:Ars Technica
老王点评:不一定非要买树莓派。

软件质量将致使美国经济在 2022 年损失 2.4 万亿美元

这一数据来自 Synopsys 的最新报告。这些软件质量问题包括现有漏洞导致的网络攻击、软件供应链的问题,以及技术债导致的软件缺陷积累等。其中,软件漏洞数量增加而导致的网络犯罪损失从 2020 年到 2021 年上升了 64%,并有望在 2021 年到 2022 年进一步增加 42%。另外,从 2020 年到 2021 年,由于开源软件组件的缺陷而导致的故障数量增加了 650%。

消息来源:Security Magazine
老王点评:随着越来越依赖软件技术,其存在的缺陷和影响也会越来越大。

Linux 6.1 发布,拉开 Rust 进入 Linux 内核的大幕

上周末,Linus Torvalds 发布了 Linux 内核 6.1,并开启了 6.2 的合并窗口。之所以专门提到 6.1 这个版本,是因为这个版本更具有里程碑意义。在 6.1 中,首次初步支持了 Rust,对 MGLRU 页面回收算法进行了大修,以及很多重要的特性和驱动更新。在 6.1 中没有任何供终端用户使用的 Rust 功能,而且在 6.2 中也将如此,会继续增加对开发者有用的功能,不会引入任何新的 Rust 编写的硬件驱动之类的东西。

消息来源:Phoronix
老王点评:终于尘埃落定了,以后随着内核中 Rust 代码的增多,Linux 内核的安全应该会上一个等级,就像安卓一样。

AlphaCode 是如何在编程竞赛中超过一半的程序员

AlphaCode 首先使用了 GitHub 上的庞大代码库进行训练,熟悉语法和编码规范。然后收集编程竞赛的数千个问题,训练它将问题描述翻译到代码。当遇到新问题时,AlphaCode 会编写出多达百万个候选编程方案,然后过滤掉不好的。它只保留通过测试用例的 1% 程序。为了进一步缩小范围,它会根据程序的输出与虚拟输入的相似性分群,从最大的群开始逐一递交程序,直到找到成功的程序或达到最大递交限额的 10 个程序。经过训练 AlphaCode 解决了 34% 的指定问题。

消息来源:《科学》杂志
老王点评:虽然是针对编程竞赛做的专门训练,但是完全可以针对某一类特定场景的需求进行编程,乃至于可以覆盖大多数常用场景的编程。我认为 AI 编程的时代的到来可能比我们大多数人预期的要快。

亚马逊计划干掉条形码

亚马逊称,条形码很难找到,而且可能被贴在形状怪异的产品上,这是机器人不能很好地解决的问题。因此,该公司说它有一个干掉条形码的计划。亚马逊利用仓库中物品的照片训练了一个计算机模型,让机器人在捡起和翻转物品时识别物品。这个被称为多模式识别的系统并不打算很快完全取代条形码,但该公司表示,它加快了处理包裹的时间。

消息来源:CNET
老王点评:确实,随着人工智能的发展,条形码可能就成了过渡性技术了。

回音

  • Chrome 110 中 取消 了对 JPEG-XL 的 支持,用户和开发者反对无效。

Java 不再是最受欢迎的三大编程语言之一

根据最新的 TIOBE 指数,现在的排名是:Python 排名第一,C 第二,C++ 第三,Java 第四。2001 年以来,TIOBE 指数历史上 C++ 第一次超过了 Java。C++ 的激增,部分原因可能要归功于 2020 年 12 月发布的 C++ 20 稳定版。但在其它排行榜和调查中,Java 的表现更好。比如 Slashdata 数据显示,Java 在过去两年中以全球开发者社区两倍的速度增长,在社区规模中排名第三,超过了 C/C++,仅次于 Python 和 JavaScript。

消息来源:The Register
老王点评:我觉得语言排行榜的每次变化,除了给我添加一些话题之外,没啥意义。

谷歌再次推迟淘汰 MV2 扩展

谷歌推行的 Manifest V3 浏览器扩展规范,相比 V2 扩展,新版本增加了很多有利于谷歌的限制,比如限制广告屏蔽扩展。谷歌 原计划 在明年 1 月淘汰 MV3 扩展,但 MV3 仍存在一些问题,导致一些扩展没法迁移。这一期限被延迟到明年 6 月后,谷歌再次宣布推迟淘汰 MV2 扩展,但没有确定具体时间,谷歌表示要在 2023 年 3 月前听取开发者的更多反馈。

消息来源:谷歌
老王点评:谷歌审慎的态度很好,但是其本质上还是希望推进 MV3 的实施。

Adobe 公开发布 PostScript 源代码

Adobe 公司成立之初,他们就着手设计一种打印机无关的排版语言 PostScript,并于 1984 年发布。PostScript 本质上是一种数字化的印刷系统,它提供了其他任何地方都无法提供的能力,如文字和图像可以随意缩放、旋转和移动。如今大多数打印机都直接依赖 PostScript 技术,或者通过从它发展出来的 PDF 技术。而在它诞生近 40 年后,Adobe 公司通过计算机历史博物馆首次公开了 PostScript 的源代码。

消息来源:计算机历史博物馆
老王点评:这是印刷史上的一个里程碑,只是我没想到使用这么广泛的系统,源代码现在才公开。

GitHub 推出 Copilot 商业版,为代码建议提供辩护和索赔

大约百分之一的 Copilot 建议可能包含超过 150 个字符的代码片段,这与训练集的代码相匹配,而这些代码是从各种软件许可证下的公共在线源代码中挑选出来的。为了避免滥用公共代码带来的风险,个人用户可以每月支付 10 美元,从而过滤公共源代码。而对于使用其商业版的企业用户,其 IT 管理员可以企业可以设置政策控制,避免采用公共源代码。并且,根据企业客户协议,如果采用了 Copilot 建议的代码而被起诉的话,GitHub 将为其企业客户辩护和提供高达 50 万美元的索赔。

消息来源:The Register
老王点评:果然,并不是 Copilot 能力不行,而是 VIP 服务是需要花钱的。

Chrome 引入节能和节省内存模式

Chrome 一直被诟病占用内存过高。新的节省内存模式通过将不活跃标签进入睡眠模式而能节省最多 30% 的内存。用户重新访问睡眠的标签时会重新加载。节能模式则在笔记本电池水平低于 20% 时限制网站的后台活动和动画视频的视觉效果。休眠不活跃标签的功能最初是微软在 Edge 浏览器中引入的,微软曾 宣布 它在一个月内休眠了 60 亿个标签,节省了超过 273 PB 的内存。

消息来源:Tech Crunch
老王点评:微软放弃自己的浏览器内核而基于 Chromium 开发 Edge,实际上对 Chrome 的发展提供了很多帮助。

Dart 语言将提供健全的 NULL 安全

NULL 最初在 1964 出现在 ALGOL 语言中,其发明人称这是他的“十亿美元错误”,因为 NULL 导致的错误修复花费了大量的时间和金钱。谷歌的 Dart 语言从 2.12 版本开始支持健全的 NULL 安全,以防止访问设置为 NULL 的变量而出错,但它还保留了运行没有 NULL 安全或部分 NULL 安全的代码的模式。将在 2023 年发布的 Dart 3 将只支持健全 NULL 安全。并非每一种 NULL 安全的实现都是如此确定,例如,TypeScript 就是不健全的,C# 和 Kotlin 也有例外。

消息来源:The Register
老王点评:感觉 Dart 语言不是很流行,但是这个功能却很有意义。