分类 硬核观察 下的文章

人们真正从 Stack Overflow 复制和粘贴的频率是多少?

Stack Overflow 的灵感来自于其创始人对那些把编码问题的答案放在付费墙后面的网站的失望。因此,也一直有一种调侃说程序员从 Stack Overflow 网站上复制代码。现在,Stack Overflow 花了两周时间对在他们网站上按下 Ctrl-C 的行为进行统计。其中有些结果让人意外:

每四个访问 Stack Overflow 问题的用户中,就有一个在访问该页面的五分钟内复制了一些东西。两周内,在 7 百万个帖子和评论中,总共做了 4 千万次复制。人们从答案中复制的频率是问题的 10 倍,是评论的 35 倍。人们从代码块中复制的频率是周围文本的 10 倍以上。令人惊讶的是,在没有被接受的答案的问题上复制的次数比在被接受的问题上复制的次数多。

所以,如果你曾经因为从 Stack Overflow 上复制代码而不是从头开始写代码而感到难过,请原谅你自己吧。

WSL2 已提供对 GUI 应用程序的初步支持

微软给这一功能起了一个名字叫 WSLg。这意味着我们不仅可以借助 WSL 来执行命令行程序,也能够在 Windows 10 上更好地运行跨平台的 Linux GUI 应用。对于开发者来说,这也方便了他们在 Linux 环境中对相关程序进行测试。WSL 上的 Linux GUI 应用程序,还提供了对音频 / 麦克风的开箱即用支持,以及对 GPU 加速的 3D 图形支持。

以后,不知道是 Linux 吃了 Windows,还是 Windows 吃了 Linux。

勒索软件组织向苹果勒索五千万美元

为苹果公司代工 MacBooks 等产品的广达电脑公司遭到了勒索软件 REvil 的攻击,攻击者窃取了该公司现有和未来产品的工程制造图纸,索要五千万美元赎金。广达拒绝了这一要求,REvil 组织现在将勒索目标对准了苹果公司,要求苹果在五月一日前支付五千万美元。它已公开的产品图纸是苹果刚刚宣布的新款 iMac。

你自己防得了勒索还不行,还得保证你的下游工厂也一样安全才行。

Grafana、Loki 和 Tempo 改用 AGPLv3 许可证

过去几年,多个知名的开源项目如 Elastic、Redis Labs 和 MongoDB 出于盈利考虑而修改许可证,切换到非自由的商业授权许可证(SSPL)。开发 Grafana 以及 Loki 和 Tempo 等开源项目的 Grafana Labs 公司决定不这么做,它宣布旗下核心开源项目采用的许可证从 Apache License 2.0 切换到 AGPL v3,允许其他人自由修改和提供服务,但修改的版本需要回馈上游。Grafana Labs 公司表示,它这么做是试图在开源和社区的“价值创造”以及商业化策略的“价值获取”上取得平衡。

这也是一个不错的尝试,就是不知道 AGPL 是否能适当的保护开源项目,并与商业组织取得合适的平衡。

明尼苏达大学开发者被禁止向 Linux 内核提供代码

明尼苏达大学的 Qiushi Wu(博士生)和 Kangjie Lu(助理教授)提交了一篇研究论文《通过伪装的提交在开源软件中隐蔽地引入漏洞》,以看似有益的提交实际上引入了其他关键问题。而根据最近 Linux 内核接到的一些补丁来看,他们选择了 Linux 内核项目来进行他们的实验。

负责维护 Linux 内核的格雷(GKH)是仅次于 Linus 的负责人,他对这种行为进行了强烈谴责!但是发送这些补丁的人认为这只是他们写的一个静态分析器提交的补丁,最多只是质量不佳。格雷认为这些是谎言,愤怒之下决定禁止该大学向 Linux 内核提交代码,并撤销了他们之前提交的补丁。

简直是够了,Linux 内核不是试验场,供任何人随意摆弄。

Google 资助开发 OpenSSL 的替代品 Rustls

许多 SSL/TLS 库由于是用 C 语言编写的,所以安全问题由来已久。通过使用 Rust 开发的 OpenSSL 替代品 Rustls,开发人员可以尽可能确保代码是内存安全的,这将大大减少安全问题的数量。

互联网安全研究组(ISRG)宣布,谷歌已经为 Rust 开发者提供了资金,以对 Rustls 进行改进。ISRG 将使用 Rustls 来使 Apache HTTP 服务器更加安全。

期待看到 Rustls 能证明 Rust 的成功。

龙芯推出自主指令集 LoongArch,可翻译支持 MIPS/ARM/x86

最近,龙芯宣布推出 LoongArch 指令集,拥有 2500 多条自主指令。该指令集可以通过二进制翻译的方式兼容 MIPS、ARM 及 x86 处理器。当然,翻译其他指令面临效率问题,LoongArch 对 MIPS 指令的翻译效率是 100%,对 ARM 可以达到 90%。而对于 x86,在 Linux 下翻译的效率可达 80%,Windows 下的效率则减少到 70%,不过后续还会有更多的优化。

龙芯的目标是到 2025 年消除指令集之间的壁垒,彻底搞定不同指令集的兼容问题。龙芯找了国内外的知识产权团队作了梳理,对于使用二进制翻译别的指令集系统,是没有专利权纠纷的。之后,龙芯还会继续进行知识产权分析,并建立 LoongArch 上游社区分支,同时组建 LoongArch 联盟,一方面免费开放 LoongArch,另一方面要在高校推广,取代 RISC-V。

自主指令集固然很重要,而兼容现有主流指令集也很重要,祝龙芯成功!

火星直升机“灵巧号”成功首飞,GitHub 为使用的开源项目颁发徽章

美国宇航局今天创造了历史,完成了在另一个星球上进行的首次动力飞行。火星直升机“灵巧号”成功地飞上了火星的天空,进行了一次短暂的旅行。

“灵巧号”使用了商用配件,大量采用了开源项目,这包括 Linux、FPrime、cUrl 以及大量 Python 项目。GitHub 宣布,为在火星直升机上使用的开源项目做过贡献的开发者颁发“火星 2020 直升机贡献者”徽章。

有拿到了直升机贡献者徽章的同学可以炫耀一下~~

中国开通全球规模最大的互联网试验设施主干网

据新华社报道,4 月 20 日,“未来互联网试验设施 FITI”高性能主干网开通仪式在清华大学举行。FITI 是当前全球规模最大的互联网试验设施,是我国信息领域第一个国家重大科技基础设施项目:未来网络试验设施的重要组成部分。FITI 主干网核心节点分布在全国 31 个省区市,核心节点间的带宽达到 200G,同时支持不少于 4096 个大规模试验网络,实现了与国内外 IPv4/IPv6 试验设施的互联互通。

希望将来的互联网越来越好,越来越互联互通吧。

废弃电厂重启成为比特币矿场

十年前,纽约的 Greenidge 燃煤发电厂被废弃了,而如今,新的业主重新启用该工厂,用 106 兆瓦发电机,以天然气为燃料为比特币矿机提供能源。自去年 4 月以来,比特币的价格上涨了 800%,挖矿活动异常有利可图。为了搭上这股热潮,该工厂的新业主计划在明年年底前将处理比特币交易的电力增加四倍。环保人士担心纽约其他几十座退役或即将退役的化石燃料发电厂也效仿此做法。

我觉得相对于其它行业的能耗和环保影响,比特币还是很环保的,至少比游戏机环保。

纽约警察带机器狗出警带走了嫌疑人

纽约警察将一名戴着手铐的男子带离公共住宅区时,一只机器人执法犬在他们身后小跑。这条机器狗由波士顿动力公司制造,自去年 10 月以来,它被派往美国大都市的犯罪现场。警察表示,他们带着这只机器人狗出警,不过没有使用它。

以后,不只是机器警犬,可能还有机器警察和无处不在的摄像头。

谷歌 FloC 招致大量反对

谷歌新发布的 Chrome 浏览器中带有其所谓的 FLoC 技术,希望替代第三方 Cookie,改善用户隐私,并同时为浏览器用户提供有针对性的广告。

但这招致了大量的反对,基于 Chromium 的 Brave、Vivaldi 等浏览器明确表示将删除 FLoC 相关的代码。Vivaldi 称,“我们不会支持 FLoC API,并计划禁用它,无论它是如何实施的。它并不能保护隐私,当然也不利于用户。”而提供了全球 41% 的网站的 WordPress 核心团队提出了一项提案,要求默认屏蔽 FLoC 标识符。WordPress 将 FLoC 视作安全问题处理,急迫到等不及 7 月份发布的下一个主要版本,发布了修订版本阻止它,并将该补丁向下移植回各个旧版本的 WordPress。

按 Vivaldi 的说法,“你可能会访问一个高度个人化的网站,该网站可能使用或不使用 FLoC 广告,现在你访问的每一个其他网站都会被告知你的 FLoC ID,这表明你曾访问过某种特定的网站。”

姑且不论谷歌的初衷如何,但是目前的 FLoC 实现,非但没有解决第三方 Cookie 的问题,而且可能会变本加厉。

Linus Torvalds 青睐 Rust,并称 C++ 是“一门垃圾语言”

谷歌现在支持用 Rust 来开发安卓操作系统,也在评估将 Rust 用于 Linux 内核的开发。Linux 创始人 Linus Torvalds 对此表示,“目前 Linux 内核对 Rust 的支持还没到位,或许需要等到 5.14 时。”在 Linux 内核中支持 Rust 的第一个补丁已经发布了,已经为之后的支持打好了基础。

而在谈及 C++ 时,Torvalds 说,“C++ 解决不了 C 的任何问题,而且只会让事情变得更糟。它真的是一种垃圾语言。……任何说‘用 C++ 重写内核’的人都太无知了。”

Torvalds 对 C++ 是深恶痛绝的,看来 Rust 有望成为 Torvalds 的新宠,不知道他是不是已经在用 Rust 编程了?

微软正在统一所有平台的 Edge 代码库

当微软推出 PC 上的新的基于 Chromium 的 Edge 浏览器时,它还改变了 iOS 和安卓上的 Edge 浏览器的徽标,让人觉得这是一个统一的新 Edge 家族。但实际情况是,iOS 和安卓上的 Edge 浏览器和 PC 上的并不一样。在 iOS 上,Edge 浏览器目前使用的是 WebKit 渲染引擎,而在安卓上使用的是 Blink 渲染引擎。

而现在,微软正在向安卓的金丝雀测试人员提供一个新 Edge 浏览器的版本:这个版本与 PC 上的新 Edge 有着相同的内核。微软官员表示,他们的目标是让新的 Edge 成为一个真正的跨平台浏览器,基于相同的核心代码库。当然,这不是说手机端的 Edge 浏览器会复制桌面端浏览器每一个功能。

统一代码库当然是不错的,不过对于 iOS ,或许还是得受限于 Apple 政策而不能更换渲染引擎。

FTP 协议诞生五十周年

1971 年 4 月 16 日是 RFC 114 文档的发表日期,它标志着 FTP 协议的诞生。当时 TCP/IP 还不存在,telnet 还很新鲜。后来 FTP 陆续加入了对 TCP/IP 的支持、引入了安全扩展 FTPS、支持 IPv6 等等。

昨天我们报道过,和 Chrome 一样,Firefox 也将要取消浏览器对 FTP 支持。但在 50 年后的今天,互联网上仍然有数百万台 FTP 服务器。

这里面或许有部分原因是 FTP 协议不够安全,但是我觉得更主要是的现在 HTTP 协议已经逐渐取代了 FTP 协议用来分享文件的作用。

LLVM 12 已释出 3 天,但是连发布公告都没写完

LLVM 编译器套装项目是一个已经有 18 年历史的重要项目,其更新也算活跃,在很多方面都已经超过了 GCC。4 月 14 日,LLVM 释出了最新的 12.0.0。主要新特性和变化可以参见发布公告。然而,发布公告还没编写完。

没料到 LLVM 在文档更新方面居然拖拖拉拉的,这是觉得没人看么,还是懂的人自然懂?

Firefox 88 将停止支持 FTP

Mozilla 是在去年宣布它计划从浏览器中移除内置的 FTP 实现。即在 4 月 19 日释出的 Firefox 88 将关闭 FTP 实现,在 Firefox 90 将移除 FTP。在停止支持之后,浏览器将会用外部应用打开 ftp:// 链接。

在 Chrome 之后,Firefox 也将停止支持 FTP 协议。这种老旧的网络协议其实是该逐渐淘汰了,虽然更老的协议如 TFTP 依旧在很狭窄的场景中有使用。

近三万家企业使用的代码覆盖量软件陷入软件供应链黑客事件

Codecov 被认为是科技行业衡量代码覆盖率的首选厂商。该公司的工具可以帮助开发人员了解和测量测试套件执行的代码行数,并被广泛部署在大型科技企业的开发管道中。该公司宣称,有超过 29000 家企业使用其代码覆盖率洞察力来检查代码质量和维护代码覆盖率。

该公司表示,该黑客事件发生在四个月前,但直到 2021 年 4 月 1 日才被 Codecov 的一位客户在野发现。其 Bash Uploader 脚本的被替换版本可能导致任何通过 CI 运行器传递的凭证、令牌或密钥被泄露。

软件行业越来越全球化,形成了一条条供应链,在这个链条中任何一个环节出现的问题,都可能通过链条进行放大。对供应链的管理,需要更有预防和响应机制。