硬核老王 发布的文章

Excel 现在具备了图灵完备性,成为第一大编程语言

如果一种编程语言可以实现任何可能的算法,那么它就具备了图灵完备性。微软通过引入 LAMBDA,Excel 现在具备了图灵完备性,Excel 转变成一种全面的编程语言。

自 20 世纪 80 年代发布以来,Excel 为每天使用它的数百万人提供了决策依据。它也是世界上使用最广泛的编程语言。Excel 公式的编写者比世界上所有 C、C++、C#、Java 和 Python 程序员的总和还要多一个数量级。但是我们通常不将 Excel 视作一种全面的编程语言,因为它有两大缺点:其一是公式语言只支持数字、字符串和布尔值等标量值,其二是不支持定义新函数。

而在 2019 年,Excel 的数据类型超越了文本和数字,允许单元格包含一级记录。接着,在去年 12 月微软宣布了 LAMBDA 功能,解决了第二个缺陷。LAMBDA 允许用户使用 Excel 的公式语言定义新的函数。通过 LAMBDA,理论上可以用 Excel 的公式语言写任何计算,从而满足了图灵完备。LAMBDA 目前提供给了 Beta 测试用户。

我觉得,这一下,将“程序员”群体扩大了好几倍!

Perl.com 官网被劫持

日暮西山的 Perl 语言已经不再流行,虽然也在努力自救,但是整个生态的衰败依旧难以遏制,现在已经很少有新人学习 Perl 语言了。但是 Perl 依然是重要的基础设施,很多软件仍然是用 Perl 写的,Perl 的 CPAN 仓库依然是一个宝库。

上周末,The Perl NOC 报道称,Perl.com 被劫持,被指向了一个停车网站。更严重的是,它被用于分发恶意软件。目前该网站页面访问无显示,但是加载了作用不明的 JavaScript 脚本。Perl.com 曾被用作通过 CPAN 分发模块的镜像或备份。如果你的 CPAN 配置使用了它,请尽快修改。当前管理员已经在尝试恢复该域名的控制权,但是目前尚无明确进展。该域名是如何被劫持的细节也不得而知。

作为一名老 Perl 程序员,听到此事,实在是感到痛心,这是多么垂暮的社区,才能对基础设施的安全疏忽至此!

据称 IBM 已经将其区块链团队削减殆尽

据四位熟悉情况的人称,IBM 已经将其区块链团队削减殆尽。据一位消息人士称,“其实不会再有区块链团队了。IBM 的大部分区块链人员都已经离开了。”,而另外一位称,“IBM 的区块链部门连续两年大幅度错过了收入目标”。但 IBM 的一位发言人否认了这些说法,“我们的区块链业务做得很好”。IBM 称,“我们调整了一些领导人和业务部门,以继续推动增长 —— 我们每年都会这样做。”

其实,作为目前热点的区块链,在我看来,有些联盟链项目本身就是伪概念。如果上述情况属实,不知道国内的相关区块链行业会不会也有类似变化。

瞠目结舌:为了重新启用 Flash 支持,南非税务局发布了自己的 Web 浏览器

zdnet 报道称,南非税务局发布这个定制浏览器的“唯一的目的是重新启用 Adobe Flash Player 支持,而不是将其现有的网站从使用 Flash 移植到基于 HTML 的网页表单中。”

该机构称自己“受到定时炸弹机制的影响”,从 Flash 停用的当天开始,该机构无法通过网站接收任何报税信息,而上传的表单被设计成 Flash 小部件。尽管有三年半的先机,南非税务局并没有选择将其 Flash 小部件移植到基本的 HTML 和 JS 表单中。相反,他们决定采取一个在 IT 决策史上最令人瞠目结舌的错误决定,发布自己的 Web 浏览器

该浏览器是 Chromium 浏览器的简化版,有两个功能:第一个是重新启用 Flash 支持。第二是让用户“能且只能”访问南非税务局的官方网站。并且,该浏览器只有 Windows 版本。

当然,这么有“创举”的事情,也绝非南非税务局一家,ZDnet 也提到了中国大连有了类似的“解决方案”。我觉得,很快就会有其它的机构“有样学样”……

微软宣布开源可扩展存储引擎 ESE,几乎用在所有 Windows 之中

微软的 可扩展存储引擎 Extensible Storage Engine (ESE) 是一个非 SQL 数据库引擎。它最早在 Windows NT 3.51 中推出,并在 90 年代重写了两次,在此后的 20 年中进行了大量更新。微软使用它已有 25 年之久,它至今仍是微软的核心技术之一。

它运行在 Office 365 邮箱存储后台服务器的 10 万台机器和数百万块磁盘上。它还可以运行在带有 TB 级内存的大型 SMP 系统上运行,用于大型活动目录部署。

最重要的是,目前在每一台 Windows 客户端计算机都有多个 ESE 数据库实例运行在低内存模式下。ESE 自 Windows XP 以来一直用于 Windows 客户端产品之中,这包括超过 10 亿台 Windows 10 设备。

而最近,微软决定以 MIT 许可证开源它,并且开源的代码要比运行在 Windows 之中的还要新一些。我觉得,微软真是开源楷模,连这么重要、成熟的核心模块都开源出来了,给微软一个大大的赞!

我们可能高估了每天的 COBOL 事务数量

据说“每天有 300 亿个客户信息控制系统(CICS)/ COBOL 交易”。这个数字后来被引用了无数次。然而,这可能错误的。

据说,最初是 DataPro 在 1997 年对 421 家公司进行了一次调查,得出结论是:每天有 200 亿笔 CICS 交易。然后,这数字变成了 “300 亿 CICS 交易”。而在 2 年后,又莫名从 “CICS 交易”变成了 “COBOL 交易”。随后,随着 DataPro 于 1997 年被 Gartner 公司收购,这个数据就又变成了“来自 Gartner” 的了。

同样,还有一些无稽之谈或过时的数据也是来源于该报告:有 2000 亿行 COBOL 代码;这是世界上所有源代码的 60-80%;每年新写 50 亿行 COBOL 代码;世界上有 200 万名 COBOL 开发人员;COBOL 处理 95% 的柜台交易、ATM 刷卡或类似的交易。这些统统是有一定的误读或限制条件下的数据,也有的数据在二十多年后已经时过境迁了。

所以,不要随便引用数据,哪怕是来自于“权威”来源。

iPhone 活跃用户突破 10 亿,中国是苹果成功的源泉

最近,在路透社的采访中,苹果 CEO 蒂姆•库克称,目前全球客户使用的 iPhone 已经超过 10 亿部,而在 2019 年是 9 亿部。这个新的里程碑是在该公司历史上首次单季度收入超过 1000 亿美元的情况下实现的。在上个季度苹果至少销售了 9010 万台手机,市场份额达到了 23.4%。库克称,苹果在中国的发展机遇是公司成功的源泉。

而另一方面,华为在美国的制裁中不断挣扎,其手机销量仅有 3230 万台,市场份额为 8.4%,跌至第五位。这比去年同期至少下降了 42.4%。

一声叹息。

微软宣布收入增长 17%,得益于 Azure 增长了 50%

近日,微软公布了其 21 财年第二季度的财报,其中有些数据颇为有趣。该财报披露,微软的营收达到 431 亿美元,增幅不低于 17%,营业利润则大涨 29%,达到 179 亿美元。

虽然 2020 年对整个世界来说是可怕的一年,但从典型的办公室迁移到远程办公的过程中,微软的云服务得到了巨大的增长。微软的智能云部门的营收达到 146 亿美元,增长 23%,其中 Azure 就增长了 50%。微软 CEO 纳德拉对云计算产品表现非常满意,纳德拉说,“在过去的一年里,我们所见证的是席卷每家公司和每个行业的第二波数字化转型的曙光。……微软正以全球最大、最全面的云平台来推动这一转变。”

但是与之形成鲜明对比的是,Windows OEM 的营收仅增长了 1%,而 Xbox 内容和服务收入增长 40%。我们可以看到,传统的操作系统公司,无论是微软,还是 Canonical 和红帽,都在努力地将自己转变成一家云服务商。而个人桌面和操作系统,会逐渐退化为云服务的一个角落。

Facebook 已经开源 700 个代码库,有 130 万名粉丝

Facebook 回顾了 2020 年该公司在开源方面的成绩。Facebook 的开源代码库现已增长到 700 多个,仅 2020 年就有 200 多个项目公开发布,超过了 2019 年增加的 170 个。这其中大约 15% 的贡献是由该公司外部的参与者进行的,而前一年外部贡献者承担了总贡献的三分之一。

虽然不是很喜欢 Facebook 这个公司,但是就其在开源方面的贡献和表现,还是值得称许的。

美国版贴吧 Reddit 加入以太坊基金会,打造以太坊上的社区积分应用

Reddit 宣布加强和以太坊基金会的合作,致力于开发 二层 layer 2 扩展工具,将项目从原型推向生产环境。最终让 Reddit 的 社区积分 Community Points 功能这样的项目能够支持数百万用户(Reddit 的日活用户超过 5000 万)。

社区积分成为去中心的通证,并通过二层网络支持更丰富的使用场景,是一个很好的探索。无论存在多少不足,以太坊的生态还是最丰富、最有活力的生态。

第三方补丁服务赶在微软之前修复了 Windows 的重大错误

由于庞大的生态,微软在提供补丁方面总是不太及时,甚至有时候你需要等很久。因此,有时候,一些第三方会提供补丁来解救补丁缺位的困扰。

近日,0patch 发布了一个严重漏洞的补丁,解决了 Windows 安装程序中的一个本地提权零日漏洞,而微软的官方修复还迟迟未到。这个漏洞是安全研究人员在去年圣诞节前披露的。而当本月的微软补丁星期二到来时,这个漏洞的补丁依然没有发布,因此,第三方补丁服务就有了足够的补位空间。0patch 的这个修复方法是免费提供给大家的。

我觉得,或许,微软该开源,让更多的社区贡献者来参与到缺陷的发现和解决当中。

FreeBSD 降低对 i386 架构的支持力度

FreeBSD 项目宣布,从 FreeBSD 13 起,已有 35 年历史的 i386 架构将降为二级支持架构,i386 架构特定的问题可能不会去修复。主要 Linux 发行版也都陆续停止了对该架构的支持。i386 目前仍然是 FreeBSD 11 和 12 的一级支持架构,未来发布的 14 有可能会进一步降低对它的支持。

i386 如日中天的时代已经一去不返,虽然依旧有很多老旧硬件在运行着 FreeBSD 和 Linux,但是继续维持对老旧硬件的支持,对各个开源项目来说,都是一种负担。

阿里云的 CentOS 替代品 OpenAnolis 宣布成立理事会

在 2020 年 12 月 CentOS 项目组宣布 CentOS 8 将于 2021 年底结束支持后,几个公有云服务商纷纷宣布基于之前的内部使用的发行版推出 CentOS 替代发行版,这包括华为云的 openEuler、腾讯云的 TencentOS、阿里云的 OpenAnolis。

OpenAnolis 社区由阿里云于 2020 年 9 月发起,而近日 OpenAnolis 社区宣布正式成立理事会、技术委员会和运营委员会。首批理事成员单位包括阿里云、统信软件、飞腾、兆芯、龙芯等主流芯片厂家和国内领先云公司,以及以 Intel 等国外领先芯片厂家为代表的合作伙伴单位。

OpenAnolis 社区将于 2021 年第二季度发布 Anolis OS 8,和 CentOS 完全兼容。

虽然基于对这些云服务商的历史风评,开源和技术社区对他们推出的这些发行版有种种不同看法,但是我认为,还是应该对这些发行版的成长持乐观态度,我也认为,这对国内的开源生态和发行版生态有一定的促进作用。当然,目前看起来,这些发行版在社区治理、项目价值方面还没有公开的、明确的计划和思考,存在着发展上的隐忧。

sudo 被爆有史以来最重要的高危漏洞,可 root 提权

安全研究人员今日披露了一个 sudo 的高危漏洞 CVE-2021-3156,可以据此漏洞提权至 root。更严重的是,这个漏洞已经出现了近 10 年之久了。

几乎目前所有在使用的 sudo 版本都受影响,这包括从 1.8.2 到 1.8.32p2 的经典版本,以及从 1.9.0 到 1.9.5p1 所有稳定版本。研究人员说,该漏洞“可被任何本地用户利用”,在不需要认证的情况下获得最高权限。在流行的 Ubuntu 20.04、Debian 10、Fedora 33 等 Linux 发行版上均可以获取完全的 root 权限。

各大发行版都在纷纷准备补丁,系统管理员们要及时更新,这个漏洞“可能是有史以来最重要的 sudo 漏洞”。

微软 Office 借助容器技术,可编辑和使用恶意文档

微软上线了适用于微软 Office 的应用防护功能。该功能可以在用户打开来自不信任来源的文件之前,将其放置在容器中,以便于抵御恶意威胁。据微软说,它不仅可以让你的系统免受恶意文档的侵害,而且由于使用了基于 Hyper-V 的容器,你的文件也受到保护,不会受基于系统内核的攻击。并且,这与以只读模式打开文件的保护视图不同,你可以在不离开容器的情况下以有限的容量编辑和打印文件。

很早以前,文档都是无害的,但是随着要求文档加入各种自动和智能的功能,文档也成了恶意代码的潜伏地。我认为,微软的这种容器式沙盒模式很有意义,可以真正隔离风险。之前没有推出这样功能,可能是因为容器的运行成本比较高吧。但是随着现在容器技术的发展,微软也在 Windows 上支持了更多的容器技术,将容器技术应用到文档上是一个很好的创举。

Fedora 率先停用了 Chromium 的谷歌数据同步 API

前段时间,谷歌宣布“经过慎重的调查和考虑,将于 3 月 15 日限制第三方浏览器对谷歌私有数据同步 API 的调用”。这一消息引来了开源社区的强烈反对,这意味着许多基于 Chromium 开发的浏览器将不能使用谷歌账户登录进行数据同步。有开发者表示,“除了强迫用户转投谷歌浏览器,该公司没有任何其它理由去这么做!”

对此,Fedora 项目予以了回应,发布了禁用谷歌数据同步功能的 Chromium 版本。并鼓励用户转投自由开源的 Mozilla Firefox。

已经垄断了浏览器市场份额的 Chrome,越来越露出了獠牙,不过,我觉得,谷歌还是想想怎么在产品能力上别被微软 Edge 超过吧。而另外一方面,Mozilla Firefox 才是自由开源软件世界的指望。

GNOME 40 Alpha 版发布

就如我们之前知道的,在这个版本号时代,GNOME 也觉得自己的版本号太小了,于是 GNOME 从 3.38 一下跳到了 GNOME 40。

GNOME 40.0 计划在今年 3 月底推出,今天刚刚发布了 Alpha 版本,带来了许多新变化。但是由于这次变化太多了,所以像 Ubuntu 21.04 等最近将要发布的发行版不会马上跟进,至少会等到下个版本才能使用 GNOME 40。

在 GNOME 40 中,最重要的变化有:

  • 集成了刚刚发布不久的 GTK 4
  • GNOME Shell 使用 GPU 渲染大多数阴影
  • 对 XWayland 的修复和改进

除此以外,还有一个需要注意的变化是,由于 Google 更改了关于开源项目 API 密钥的服务条款,GNOME 的 Web 浏览器 Epiphany 已经禁用了安全浏览钓鱼保护功能。

开源磁盘分区工具 GParted 1.2 开始支持 exFAT 文件系统

著名的 GUI 的磁盘分区工具 GParted 日前发布了最新的 1.2 版,在这个版本中增加了 exFAT 的支持。说实话,我是没想到居然现在才增加对 exFAT 的支持。因为,不但微软早就提供了 exFAT 驱动代码,而且从 Linux 内核 5.7 开始,由三星提供的 exFAT 驱动取代了微软提供的驱动程序之后,这个驱动的表现也越来越好了。