标签 Rust 下的文章

微软搁置 Windows 10X

2019 年底,微软宣布了 Windows 10X,这是一种为双屏 PC 设计的 Windows 10 变体。据消息人士,微软今年不会推出 Windows 10X,也有可能永远搁置。该公司已将资源转移到 Windows 10,为 10X 构建的技术正在迁移到 Windows 10。

大约十年来,微软一直在尝试以各种方式使 Windows 现代化。我们已经看到了 Windows RT、Windows 10S,以及现在的 Windows 10X。

现在的问题是,除了传统的 Windows 10 之外,其它的变体是否真的有未来?

更快的 Python:Pyston 开源发布 2.2

Pyston 2.2 是 Python 3.8.8 的一个实现,他们已经将该项目开源。Pyston 提供了各种优化,关键区别在于它对 JIT 和属性缓存的使用。该项目声称“针对大型现实世界的应用,如 Web 服务,无需开发工作即可提升高达 30% 的速度"。Pyston 删除了“许多 Python 支持的很少使用的调试功能”,目的是为了提高速度,减少 Python 调试给计算机带来的负担。删除这些调试功能只实现了 2% 的性能提升,但考虑到全世界有多少台计算机在运行 Python 代码,这是有意义的。

作为一个 Python 的不同实现,依旧采取了开源道路,这值得期待。

微软宣布 Rust for Windows

在 VS Code 和 Visual Studio 中,微软已经提供了对 Rust 编程语言相当良好的支持。随着 Rust for Windows v0.9 的发布,开发者现能够以一种更加习惯的方式,访问完整的 Windows API,从而轻松构建功能强大且丰富的 Windows 应用程序。

随着 Rust 开发环境和周边支持的完善,Rust 有望成为下一个流行语言。

通过无人机上远程入侵特斯拉汽车

该攻击被称为 TBONE,涉及利用影响 ConnMan 的两个漏洞,ConnMan 是一个用于嵌入式设备的互联网连接管理器。利用这些漏洞的黑客可以执行普通用户可以从信息娱乐系统执行的任何任务。安全研究人员展示了如何使用无人机通过 Wi-Fi 发起攻击,从 100 米高的距离入侵一辆停放的汽车并打开车门。特斯拉在 2020 年 10 月推送的更新中修补了这些漏洞。但 ConnMan 在汽车行业被广泛使用,类似的攻击可能也能对其他车辆发起。

越来越先进的计算机技术进入了汽车,带来的不仅仅是进步,也同样带来了软件缺陷,而更可怕的是这些缺陷可能会带来人身伤害。

以太坊发明人跻身最年轻亿万富豪行列

全球第二大加密货币以太坊在周一首次突破3000美元后,周二进一步上涨,一度突破 3400 美元,再创历史新高。这使以太坊的发明人、27 岁的 Vitalik Buterin 跻身全球最年轻亿万富豪行列。他 2018 年披露的以太坊地址目前拥有 333,520 枚以太坊,高达 11 亿美元。

以太坊的成功不能说是 Vitalik 一个人的成果,但是和这位天才的大脑和对以太坊的远见决策有很大关系。

恶意软件用 Rust 重写,使其更难被发现

Buer 恶意软件在 2019 年首次出现,它通过钓鱼邮件来传递,被网络犯罪分子用来在网络上获得立足点。网络安全研究人员发现了 Buer 的一个新变体,它是用一种与以前完全不同的编码语言编写的。原来的 Buer 是用 C 语言编写的,而新的变种是用 Rust 编写的。恶意软件以这种方式完全改变是不寻常的,但这有助于新的活动在针对 Windows 系统的攻击中不被察觉。

网络犯罪分子也是与时俱进啊,在新工具、新技术方面的学习也没落下。

神秘实体 BGP 宣告了大量五角大楼未用 IPv4 空间

互联网是源自于美国国防部的项目,五角大楼因而控制了大量的 IPv4 地址段。至今五角大楼只使用了很少一部分它控制的地址空间,以至于众多云服务商在其内部网络使用了未用的美国国防部 IPv4 地址段。但在 1 月 20 日,一个神秘实体 AS8003 开始发布 BGP 广播宣告原五角大楼的未用 IPv4 地址段。到 4 月 20 日,它宣布的 IP 地址数量已经达到了 1.75 亿,超过中国电信的 6100 万,超过美国最大 ISP Comcast 的 1 亿。它宣告的 IPv4 空间占到了 IPv4 全球路由表的 5.7%。AS8003 究竟是谁?本周五,美国国防部的发表声明这是它授权进行的一个试点项目,旨在评估和防止未经授权使用国防部的 IP 地址空间,以及发现潜在的漏洞。

虽然心里很不平衡,但是毕竟互联网原来就是人家发明的,还好这些年我们都往 IPv6 转了。

Passwordstate 密码管理器遭黑客入侵

报道,黑客攻破了 Passwordstate 密码管理器应用程序的更新机制,并在其用户设备(大多数为企业客户)上部署了恶意软件,可能影响到了 2.9 万名企业客户。丹麦安全公司 CSIS 今日发布了针对该供应链恶意软件攻击的分析,指出攻击者迫使 Passwordstate 应用程序下载了另一个恶意的压缩包。在受害者机器上安装后,将会尝试 ping 通远程的命令与控制服务器,而后服务器端会给出特定的响应,比如检索其它有效负载。

使用密码管理器是好,但是密码管理器就成为了关键点,如果密码管理器软件被攻击,那带来的打击可能是毁灭性的。

微软发布 Rust for Windows 预览版

有了 Rust for Windows,开发人员现在不仅可以在 Windows 上使用 Rust 进行开发,还可以使用 Rust 为 Windows 编写应用程序。Rust for Windows 可以“让你通过 Windows crate 直接和无缝地使用任何 Windows API,你可以像调用另一个 Rust 模块一样调用它们。”

微软寄希望于 Rust 能解决其使用 C++ 带来的大量内存漏洞,可能事情没那么简单。

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 协议用来分享文件的作用。

在我学习 Rust 的过程中,我注意到了 Rust 一族的一些常见行为。

 title=

我是最近才 皈依 Rust 的,我大约在是 2020 年 4 月底开始学习的。但是,像许多皈依者一样,我还是一个热情的布道者。说实话,我也不是一个很好的 Rust 人,因为我的编码风格不是很好,我写的也不是特别符合 Rust 习惯。我猜想这一方面是因为我在写大量代码之前还没有没有真正学完 Rust(其中一些代码又困扰了我),另一方面是因为我并不是那么优秀的程序员。

但我喜欢 Rust,你也应该喜欢吧。它很友好,比 C 或 C++ 更友好;它为低级系统任务做好了准备,这比 Python 做的更好;而且结构良好,这要超过 Perl;而且,最重要的是,从设计层面开始,它就是完全开源的,这要比 Java 那些语言好得多。

尽管我缺乏专业知识,但我注意到了一些我认为是许多 Rust 爱好者和程序员的共同点。如果你对以下五个迹象点头(其中第一个迹象是由最近的一些令人兴奋的新闻引发的),那么你也可能是一个 Rust 程序员。

1、“基金会”一词会使你兴奋

对于 Rust 程序员来说,“基金会”一词将不再与 艾萨克·阿西莫夫 Isaac Asimov 关联在一起,而是与新成立的 Rust 基金会 关联。微软、华为、谷歌、AWS 和Mozilla 为该基金会提供了董事(大概也提供了大部分初始资金),该基金会将负责该语言的各个方面,“预示着 Rust 成为企业生产级技术的到来”,根据临时执行董事 Ashley Williams 说。(顺便说一句,很高兴看到一位女士领导这样一项重大的行业计划。)

该基金会似乎致力于维护 Rust 的理念,并确保每个人都有参与的机会。在许多方面,Rust 都是开源项目的典型示例。并不是说它是完美的(无论是语言还是社区),而是因为似乎有足够的爱好者致力于维护高参与度、低门槛的社区方式,我认为这是许多开源项目的核心。我强烈欢迎此举,我认为这只会帮助促进 Rust 在未来数年和数月内的采用和成熟。

2、你会因为新闻源中提到 Rust 游戏而感到沮丧

还有一款和电脑有关的东西,也叫做“Rust”,它是一款“只限多玩家生存类的电子游戏”。它比 Rust 这个语言更新一些(2013 年宣布,2018 年发布),但我曾经在搜索 Rust 相关的内容时,犯了一个错误,用这个名字搜索了游戏。互联网络就是这样的,这意味着我的新闻源现在被这个另类的 Rust 野兽感染了,我现在会从它的影迷和公关人员那里随机得到一些更新消息。这是个低调的烦恼,但我很确定在 Rust(语言)社区中并不是就我一个人这样。我强烈建议,如果你确实想了解更多关于这个计算世界的后起之秀的信息,你可以使用一个提高隐私(我拒绝说 "保护隐私")的 开源浏览器 来进行研究。

3、“不安全”这个词会让你感到恐惧。

Rust(语言,再次强调)在帮助你做正确的事情™方面做得非常好,当然,在内存安全方面,这是 C 和 C++ 内部的主要关注点(不是因为不可能做到,而是因为真的很难持续正确)。Dave Herman 在 2016 年写了一篇文章《Safety is Rust's fireflower》,讲述了为什么安全是 Rust 语言的一个积极属性。安全性(内存、类型安全)可能并不赏心悦目,但随着你写的 Rust 越多,你就会习惯并感激它,尤其是当你参与任何系统编程时,这也是 Rust 经常擅长的地方。

现在,Rust 并不能阻止你做错误的事情™,但它确实通过让你使用 unsafe 关键字,让你在希望超出安全边界的时候做出一个明智的决定。这不仅对你有好处,因为它(希望)会让你非常、非常仔细地思考你在任何使用它的代码块中放入了什么;它对任何阅读你的代码的人也有好处,这是一个触发词,它能让任何不太清醒的 Rust 人至少可以稍微打起精神,在椅子上坐直,然后想:“嗯,这里发生了什么?我需要特别注意。”如果幸运的话,读你代码的人也许能想到重写它的方法,使它利用到 Rust 的安全特性,或者至少减少提交和发布的不安全代码的数量。

4、你想知道为什么没有 ?;{:?}::<> 这样的表情符号

人们喜欢(或讨厌)涡轮鱼(::<>),但在 Rust 代码中你经常还会看到其他的语义结构。特别是 {:?} (用于字符串格式化)和 ?;? 是向调用栈传播错误的一种方式,; 则是行/块的结束符,所以你经常会看到它们在一起)。它们在 Rust 代码中很常见,你只需边走边学,边走边解析,而且它们也很有用,我有时会想,为什么它们没有被纳入到正常对话中,至少可以作为表情符号。可能还有其他的。你有什么建议?

5、Clippy 是你的朋友(而不是一个动画回形针)

微软的动画回形针 Clippy 可能是 Office 用户很快就觉得讨厌的“功能”,并成为许多 模因 的起点。另一方面,cargo clippy 是那些 很棒的 Cargo 命令 之一,应该成为每个 Rust 程序员工具箱的一部分。Clippy 是一个语言 整洁器 Linter ,它可以帮助改进你的代码,使它更干净、更整洁、更易读、更惯用,让你与同事或其他人分享 Rust 代码时,不会感到尴尬。Cargo 可以说是让 “Clippy” 这个名字恢复了声誉,虽然我不会选择给我的孩子起这个名字,但现在每当我在网络上遇到这个词的时候,我不会再有一种不安的感觉。


这篇文章最初发表在 [Alice, Eve, and Bob] 9上,经作者许可转载。


via: https://opensource.com/article/21/3/rust-programmer

作者:Mike Bursell 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

50 岁大叔用 FaceApp 冒充“超人气美少女骑手”,揭穿后却得到了更多支持

一位日本车手“宗谷の苍氷”经常在 Twitter 上晒自己的“超人气美少女骑手”照片,“她”在几个月内收获了 1.7 万粉丝。然而,最近“她”参加了一期综艺节目,揭穿了自己其实是一位 50 岁的大叔,所贴出来的照片都是使用著名的换脸应用 FaceApp 处理过的。原因是他一直在 Twitter 分享自己玩机车的照片,但是关注寥寥。在发现 FaceApp 后,他想,人们应该更爱看一个“年轻美丽的女人”,而不是一个“中年大叔”。于是就在几个月内变身成了一位“超人气美少女骑手”,获得了大量关注和互动,有的推文能获得上千点赞。

或许你会觉得被揭穿后,这位“超人气美少女骑手”会被网友们唾弃取关。不料,该节目播出后不仅没有引起观众反感,粉丝数还增加了,一周就新增了 8000 粉丝。网友们表示,这属于 Deepfake 技术的“善意”使用。

看到这篇新闻,想到我主持的“硬核观察”寥寥无几的数据,我不禁陷入了深深的思考。

谷歌支持使用 Rust 编写安卓代码

安卓操作系统大量使用了 Java,有效地保护了安卓平台的大部分内存错误。但是,对于操作系统的下层来说,Java 和 Kotlin 并不适用。虽然谷歌投入了大量精力,防止了大量的 bug 进入安卓操作系统,而适用于此场景的 C 和 C++ 中的内存安全漏洞仍然是最难解决的不正确性来源。

因此,谷歌刚刚宣布,Android 开源项目(AOSP)现在支持 Rust 编程语言来开发操作系统本身。Rust 在实现这种安全性的同时,还能提供与 C 和 C++ 相当的性能。当然,这并不意味着谷歌会用 Rust 重写数百万行安卓代码,而是会逐渐使用 Rust 编写新的代码,因为随着时间的推移,旧代码中的 bug 也在逐渐减少。

看来 Rust 进一步蚕食 C/C++ 领域的机会已经出现了,C/C++ 程序员们,是时候考虑学习 Rust 了。

苹果向 FreeBSD 基金会捐赠了不到 250 美元

根据 FreeBSD 基金会的记录,苹果公司在 2021 年向该基金会捐赠了 100 到 249 美元。而微软捐赠了 500 到 999 美元,思科、Google、英特尔和 NetFlix 捐赠了 1000 到 4999 美元。

为什么世界市值最高的企业只捐赠如此少的钱?苹果的做法其实是基于一项政策:匹配雇员的捐赠。有很多公司采用类似的政策,苹果是其中之一。

感觉 FreeBSD 基金会没有得到应有的关注。