2021年5月

Fedora Workstation 34 是我们领先的操作系统的最新版本,这次你将获得重大改进。最重要的是,你可以从 官方网站 下载它。我听到你在问,有什么新的东西?好吧,让我们来介绍一下。

GNOME 40

GNOME 40 是对 GNOME 桌面的一次重大更新,Fedora 社区成员在其设计和实现过程中发挥了关键作用,因此你可以确信 Fedora 用户的需求被考虑在内。

当你登录到 GNOME 40 桌面时,首先注意到的就是你现在会被直接带到一个重新设计的概览屏幕。你会注意到仪表盘已经移到了屏幕的底部。GNOME 40 的另一个主要变化是虚拟工作空间现在是水平摆放的,这使 GNOME 与其他大多数桌面更加一致,因此应该使新用户更容易适应 GNOME 和 Fedora。

我们还做了一些工作来改善桌面中的手势支持,用三根手指水平滑动来切换工作空间,用三根手指垂直滑动来调出概览。

更新后的概览设计带来了一系列其他改进,包括:

  • 仪表盘现在将收藏的和未收藏的运行中的应用程序分开。这使得可以清楚了解哪些应用已经被收藏,哪些未收藏。
  • 窗口缩略图得到了改进,现在每个窗口上都有一个应用程序图标,以帮助识别。
  • 当工作区被设置为在所有显示器上显示时,工作区切换器现在会显示在所有显示器上,而不仅仅是主显示器。
  • 应用启动器的拖放功能得到了改进,可以更轻松地自定义应用程序网格的排列方式。

GNOME 40 中的变化经历了大量的用户测试,到目前为止反应非常正面,所以我们很高兴能将它们介绍给 Fedora 社区。更多信息请见 forty.gnome.orgGNOME 40 发行说明

应用程序的改进

GNOME “天气”为这个版本进行了重新设计,具有两个视图,一个是未来 48 小时的小时预报,另一个是未来 10 天的每日预报。

新版本现在显示了更多的信息,并且更适合移动设备,因为它支持更窄的尺寸。

其他被改进的应用程序包括“文件”、“地图”、“软件”和“设置”。更多细节请参见 GNOME 40 发行说明

PipeWire

PipeWire 是新的音频和视频服务器,由 Wim Taymans 创建,他也共同创建了 GStreamer 多媒体框架。到目前为止,它只被用于视频捕获,但在 Fedora Workstation 34 中,我们也开始将其用于音频,取代 PulseAudio。

PipeWire 旨在与 PulseAudio 和 Jack 兼容,因此应用程序通常应该像以前一样可以工作。我们还与 Firefox 和 Chrome 合作,确保它们能与 PipeWire 很好地配合。OBS Studio 也即将支持 PipeWire,所以如果你是一个播客,我们已经帮你搞定了这些。

PipeWire 在专业音频界获得了非常积极的回应。谨慎地说,从一开始就可能有一些专业音频应用不能完全工作,但我们会源源不断收到测试报告和补丁,我们将在 Fedora Workstation 34 的生命周期内使用这些报告和补丁来延续专业音频 PipeWire 的体验。

改进的 Wayland 支持

我们预计将在 Fedora Workstation 34 的生命周期内解决在专有的 NVIDIA 驱动之上运行 Wayland 的支持。已经支持在 NVIDIA 驱动上运行纯 Wayland 客户端。然而,当前还缺少对许多应用程序使用的 Xwayland 兼容层的支持。这就是为什么当你安装 NVIDIA 驱动时,Fedora 仍然默认为 X.Org

我们正在 与 NVIDIA 上游合作,以确保 Xwayland 能在 Fedora 中使用 NVIDIA 硬件加速。

QtGNOME 平台和 Adwaita-Qt

Jan Grulich 继续他在 QtGNOME 平台和 Adawaita-qt 主题上的出色工作,确保 Qt 应用程序与 Fedora 工作站的良好整合。多年来,我们在 Fedora 中使用的 Adwaita 主题已经发生了演变,但随着 QtGNOME 平台和 Adwaita-Qt 在 Fedora 34 中的更新,Qt 应用程序将更接近于 Fedora Workstation 34 中当前的 GTK 风格。

作为这项工作的一部分,Fedora Media Writer 的外观和风格也得到了改进。

Toolbox

Toolbox 是我们用于创建与主机系统隔离的开发环境的出色工具,它在 Fedora 34 上有了很多改进。例如,我们在改进 Toolbox 的 CI 系统集成方面做了大量的工作,以避免在我们的环境中出现故障时导致 Toolbox 停止工作。

我们在 Toolbox 的 RHEL 集成方面投入了大量的工作,这意味着你可以很容易地在 Fedora 系统上建立一个容器化的 RHEL 环境,从而方便地为 RHEL 服务器和云实例做开发。现在在 Fedora 上创建一个 RHEL 环境就像运行:toolbox create -distro rhel -release 8.4 一样简单。

这给你提供了一个最新桌面的优势:支持最新硬件,同时能够以一种完全原生的方式进行针对 RHEL 的开发。

Btrfs

自 Fedora 33 以来,Fedora Workstation 一直使用 Btrfs 作为其默认文件系统。Btrfs 是一个现代文件系统,由许多公司和项目开发。Workstation 采用 Btrfs 是通过 Facebook 和 Fedora 社区之间的奇妙合作实现的。根据到目前为止的用户反馈,人们觉得与旧的 ext4 文件系统相比,Btrfs 提供了更快捷、更灵敏的体验。

在 Fedora 34 中,新安装的 Workstation 系统现在默认使用 Btrfs 透明压缩。与未压缩的 Btrfs 相比,这可以节省 20-40% 的大量磁盘空间。它也增加了 SSD 和其他闪存介质的寿命。


via: https://fedoramagazine.org/whats-new-fedora-34-workstation/

作者:Christian Fredrik Schaller 选题:lujun9972 译者:wxy 校对:wxy

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

在家玩流行的英国游戏节目 “Countdown” 中的数字游戏。

 title=

像许多人一样,我在大流行期间看了不少新的电视节目。我最近发现了一个英国的游戏节目,叫做 Countdown,参赛者在其中玩两种游戏:一种是 单词 游戏,他们试图从杂乱的字母中找出最长的单词;另一种是 数字 游戏,他们从随机选择的数字中计算出一个目标数字。因为我喜欢数学,我发现自己被数字游戏所吸引。

数字游戏可以为你的下一个家庭游戏之夜增添乐趣,所以我想分享我自己的一个游戏变体。你以一组随机数字开始,分为 1 到 10 的“小”数字和 15、20、25,以此类推,直到 100 的“大”数字。你从大数字和小数字中挑选六个数字的任何组合。

接下来,你生成一个 200 到 999 之间的随机“目标”数字。然后用你的六个数字进行简单的算术运算,尝试用每个“小”和“大”数字计算出目标数字,但使用不能超过一次。如果你能准确地计算出目标数字,你就能得到最高分,如果距离目标数字 10 以内就得到较低的分数。

例如,如果你的随机数是 75、100、2、3、4 和 1,而你的目标数是 505,你可以说 2+3=55×100=5004+1=5,以及 5+500=505。或者更直接地:(2+3)×100 + 4 + 1 = 505

在命令行中随机化列表

我发现在家里玩这个游戏的最好方法是从 1 到 10 的池子里抽出四个“小”数字,从 15 到 100 的 5 的倍数中抽出两个“大”数字。你可以使用 Linux 命令行来为你创建这些随机数。

让我们从“小”数字开始。我希望这些数字在 1 到 10 的范围内。你可以使用 Linux 的 seq 命令生成一个数字序列。你可以用几种不同的方式运行 seq,但最简单的形式是提供序列的起始和结束数字。要生成一个从 1 到 10 的列表,你可以运行这个命令:

$ seq 1 10
1
2
3
4
5
6
7
8
9
10

为了随机化这个列表,你可以使用 Linux 的 shuf(“shuffle”,打乱)命令。shuf 将随机化你给它的东西的顺序,通常是一个文件。例如,如果你把 seq 命令的输出发送到 shuf 命令,你会收到一个 1 到 10 之间的随机数字列表:

$ seq 1 10 | shuf
3
6
8
10
7
4
5
2
1
9

要从 1 到 10 的列表中只选择四个随机数,你可以将输出发送到 head 命令,它将打印出输入的前几行。使用 -4 选项来指定 head 只打印前四行:

$ seq 1 10 | shuf | head -4
6
1
8
4

注意,这个列表与前面的例子不同,因为 shuf 每次都会生成一个随机顺序。

现在你可以采取下一步措施来生成“大”数字的随机列表。第一步是生成一个可能的数字列表,从 15 开始,以 5 为单位递增,直到达到 100。你可以用 Linux 的 seq 命令生成这个列表。为了使每个数字以 5 为单位递增,在 seq 命令中插入另一个选项来表示 步进

$ seq 15 5 100
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100

就像以前一样,你可以随机化这个列表,选择两个“大”数字:

$ seq 15 5 100 | shuf | head -2
75
40

用 Bash 生成一个随机数

我想你可以用类似的方法从 200 到 999 的范围内选择游戏的目标数字。但是生成单个随机数的最简单的方案是直接在 Bash 中使用 RANDOM 变量。当你引用这个内置变量时,Bash 会生成一个大的随机数。要把它放到 200 到 999 的范围内,你需要先把随机数放到 0 到 799 的范围内,然后加上 200。

要把随机数放到从 0 开始的特定范围内,你可以使用模数算术运算符。模数计算的是两个数字相除后的 余数。如果我用 801 除以 800,结果是 1,余数是 1(模数是 1)。800 除以 800 的结果是 1,余数是 0(模数是 0)。而用 799 除以 800 的结果是 0,余数是 799(模数是 799)。

Bash 通过 $(()) 结构支持算术展开。在双括号之间,Bash 将对你提供的数值进行算术运算。要计算 801 除以 800 的模数,然后加上 200,你可以输入:

$ echo $(( 801 % 800 + 200 ))
201

通过这个操作,你可以计算出一个 200 到 999 之间的随机目标数:

$ echo $(( RANDOM % 800 + 200 ))
673

你可能想知道为什么我在 Bash 语句中使用 RANDOM 而不是 $RANDOM。在算术扩展中, Bash 会自动扩展双括号内的任何变量. 你不需要在 $RANDOM 变量上的 $ 来引用该变量的值, 因为 Bash 会帮你做这件事。

玩数字游戏

让我们把所有这些放在一起,玩玩数字游戏。产生两个随机的“大”数字, 四个随机的“小”数值,以及目标值:

$ seq 15 5 100 | shuf | head -2
75
100
$ seq 1 10 | shuf | head -4
4
3
10
2
$ echo $(( RANDOM % 800 + 200 ))
868

我的数字是 7510043102,而我的目标数字是 868

如果我用每个“小”和“大”数字做这些算术运算,并不超过一次,我就能接近目标数字了:

10×75 = 750
750+100 = 850

然后:

4×3 = 12
850+12 = 862
862+2 = 864

只相差 4 了,不错!但我发现这样可以用每个随机数不超过一次来计算出准确的数字:

4×2 = 8
8×100 = 800

然后:

75-10+3 = 68
800+68 = 868

或者我可以做 这些 计算来准确地得到目标数字。这只用了六个随机数中的五个:

4×3 = 12
75+12 = 87

然后:

87×10 = 870
870-2 = 868

试一试 Countdown 数字游戏,并在评论中告诉我们你做得如何。


via: https://opensource.com/article/21/4/math-game-linux-commands

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

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

火星直升机软件出现错误,但 NASA 觉得不用“重装试试”

我们知道火星直升机于前两天完成了第四次飞行任务,这是在上周四飞行失败后重新试飞成功的。此次火星直升机测试任务中,飞行系统经常出现各种问题:在飞行任务尚未开始时,直升机的系统异常进入到飞行模式,导致首次测试不得不推迟;第四次飞行任务中,直升机系统未能按时进入飞行模式,导致飞行测试再次推迟一天。

在遭遇到软件故障后,NASA 的工程师们有两种选择:重装整个飞行控制软件;或调整来自地球的指令序列来改变转换的时间,但需要忍受 15% 的失败率。NASA 决定采取后者,毕竟火星直升机的飞行控制软件已经稳定、健康地运行了两年,重装面临更多的不确定性能。而遇到错误重试就好了。当然,作为一个备份计划,其实新的飞行控制软件也已经传输到了火星直升机上了。

看来 NASA 觉得火星直升机还没到“重装试试”的程度,重试就够了。

Facebook 弹窗:请 iOS 用户同意被跟踪

苹果公司已经正式发布了 iOS 14.5 系统,要求应用开发者在跟踪用户前需要首先获得用户同意。Facebook 仍在反对苹果 iOS 14 的隐私更新,因此在其 iOS 应用中添加了一条通知,告诉用户它收集的信息有助于保持 Facebook 免费。该公司将这些通知称作“教育屏幕”,并表示它们提供了关于他们如何将数据用于个性化广告的更多细节信息。

但“保持 Facebook 免费”的策略似乎于 Facebook 长期以来的口号相悖,该公司的口号是“免费,并且永远是免费的。”实际上,Facebook 在 2019 年的时候就悄悄地从其主页上删除了这句口号。

现在看起来苹果在隐私保护方面做的更好,这可能与苹果不是一个“广告公司”有关,而无论是谷歌还是 Facebook ,那都是个“广告公司”。

33 款 App 违法违规收集使用个人信息

网信办通报了 33 款 App 违法违规收集使用个人信息,其中包括 15 款输入法应用和 17 款地图应用,以及一款通信应用连信。被通报的输入法包括了搜狗、讯飞、百度、QQ 等,都是比较流行的输入法;通报的地图应用包括高德、百度、腾讯等。这些应用被指问题主要是“违反必要原则,收集与其提供的服务无关的个人信息”。网信办要求“本通报发布之日起 10 个工作日内完成整改,并将整改情况报我办网络数据管理局,逾期未完成整改的我办将依法予以处置”。

基本上,每个人都至少使用了这些软件中的一个,但凡要是有个合格的开源替代品,我们也可以有的选。

PyPI 的 JSON API 是一种机器可直接使用的数据源,你可以访问和你浏览网站时相同类型的数据。

 title=

PyPI(Python 软件包索引)提供了有关其软件包信息的 JSON API。本质上,它是机器可以直接使用的数据源,与你在网站上直接访问是一样的的。例如,作为人类,我可以在浏览器中打开 Numpy 项目页面,点击左侧相关链接,查看有哪些版本,哪些文件可用以及发行日期和支持的 Python 版本等内容:

 title=

但是,如果我想编写一个程序来访问此数据,则可以使用 JSON API,而不必在这些页面上抓取和解析 HTML。

顺便说一句:在旧的 PyPI 网站上,还托管在 pypi.python.org 时,NumPy 的项目页面位于 pypi.python.org/pypi/numpy,访问其 JSON API 也很简单,只需要在最后面添加一个 /json ,即 https://pypi.org/pypi/numpy/json。现在,PyPI 网站托管在 pypi.org,NumPy 的项目页面是 pypi.org/project/numpy。新站点不会有单独的 JSON API URL,但它仍像以前一样工作。因此,你不必在 URL 后添加 /json,只要记住 URL 就够了。

你可以在浏览器中打开 NumPy 的 JSON API URL,Firefox 很好地渲染了数据:

 title=

你可以查看 inforeleaseurls 其中的内容。或者,你可以将其加载到 Python Shell 中,以下是几行入门教程:

import requests
url = "https://pypi.org/pypi/numpy/json"
r = requests.get(url)
data = r.json()

获得数据后(调用 .json() 提供了该数据的 字典),你可以对其进行查看:

 title=

查看 release 中的键:

 title=

这表明 release 是一个以版本号为键的字典。选择一个并查看以下内容:

 title=

每个版本都包含一个列表,release 包含 24 项。但是每个项目是什么?由于它是一个列表,因此你可以索引第一项并进行查看:

 title=

这是一个字典,其中包含有关特定文件的详细信息。因此,列表中的 24 个项目中的每一个都与此特定版本号关联的文件相关,即在 https://pypi.org/project/numpy/1.20.1/#files 列出的 24 个文件。

你可以编写一个脚本在可用数据中查找内容。例如,以下的循环查找带有 sdist(源代码包)的版本,它们指定了 requires_python 属性并进行打印:

for version, files in data['releases'].items():
    for f in files:
        if f.get('packagetype') == 'sdist' and f.get('requires_python'):
            print(version, f['requires_python'])

 title=

piwheels

去年,我在 piwheels 网站上实现了类似的 APIpiwheels.org 是一个 Python 软件包索引,为树莓派架构提供了 wheel(预编译的二进制软件包)。它本质上是 PyPI 软件包的镜像,但带有 Arm wheel,而不是软件包维护者上传到 PyPI 的文件。

由于 piwheels 模仿了 PyPI 的 URL 结构,因此你可以将项目页面 URL 的 pypi.org 部分更改为 piwheels.org。它将向你显示类似的项目页面,其中详细说明了构建的版本和可用的文件。由于我喜欢旧站点允许你在 URL 末尾添加 /json 的方式,所以我也支持这种方式。NumPy 在 PyPI 上的项目页面为 pypi.org/project/numpy,在 piwheels 上,它是 piwheels.org/project/numpy,而 JSON API 是 piwheels.org/project/numpy/json 页面。

没有必要重复 PyPI API 的内容,所以我们提供了 piwheels 上可用内容的信息,包括所有已知发行版的列表,一些基本信息以及我们拥有的文件列表:

 title=

与之前的 PyPI 例子类似,你可以创建一个脚本来分析 API 内容。例如,对于每个 NumPy 版本,其中有多少 piwheels 文件:

import requests

url = "https://www.piwheels.org/project/numpy/json"
package = requests.get(url).json()

for version, info in package['releases'].items():
    if info['files']:
        print('{}: {} files'.format(version, len(info['files'])))
    else:
        print('{}: No files'.format(version))

此外,每个文件都包含一些元数据:

 title=

方便的是 apt_dependencies 字段,它列出了使用该库所需的 Apt 软件包。本例中的 NumPy 文件,或者通过 pip 安装 Numpy,你还需要使用 Debian 的 apt 包管理器安装 libatlas3-baselibgfortran

以下是一个示例脚本,显示了程序包的 Apt 依赖关系:

import requests

def get_install(package, abi):
    url = 'https://piwheels.org/project/{}/json'.format(package)
    r = requests.get(url)
    data = r.json()
    for version, release in sorted(data['releases'].items(), reverse=True):
        for filename, file in release['files'].items():
            if abi in filename:
                deps = ' '.join(file['apt_dependencies'])
                print("sudo apt install {}".format(deps))
                print("sudo pip3 install {}=={}".format(package, version))
                return

get_install('opencv-python', 'cp37m')
get_install('opencv-python', 'cp35m')
get_install('opencv-python-headless', 'cp37m')
get_install('opencv-python-headless', 'cp35m')

我们还为软件包列表提供了一个通用的 API 入口,其中包括每个软件包的下载统计:

import requests

url = "https://www.piwheels.org/packages.json"
packages = requests.get(url).json()
packages = {
    pkg: (d_month, d_all)
    for pkg, d_month, d_all, \*_ in packages
}

package = 'numpy'
d_month, d_all = packages[package]

print(package, "has had", d_month, "downloads in the last month")
print(package, "has had", d_all, "downloads in total")

pip search

pip search 因为其 XMLRPC 接口过载而被禁用,因此人们一直在寻找替代方法。你可以使用 piwheels 的 JSON API 来搜索软件包名称,因为软件包的集合是相同的:

#!/usr/bin/python3
import sys

import requests

PIWHEELS_URL = 'https://www.piwheels.org/packages.json'

r = requests.get(PIWHEELS_URL)
packages = {p[0] for p in r.json()}

def search(term):
    for pkg in packages:
        if term in pkg:
            yield pkg

if __name__ == '__main__':
    if len(sys.argv) == 2:
        results = search(sys.argv[1].lower())
        for res in results:
            print(res)
    else:
        print("Usage: pip_search TERM")

有关更多信息,参考 piwheels 的 JSON API 文档.


本文最初发表在 Ben Nuttall 的 Tooling Tuesday 博客上,经许可转载使用。


via: https://opensource.com/article/21/3/python-package-index-json-apis-requests

作者:Ben Nuttall 选题:lujun9972 译者:MjSeven 校对:wxy

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

开源技术人员对此深有体会。

 title=

Linux 用户几乎都会记得他们第一次发现无需实际安装,就可以用 Linux 引导计算机并在上面运行。当然,许多用户都知道可以引导计算机进入操作系统安装程序,但是 Linux 不同:它根本就不需要安装!你的计算机甚至不需要有一个硬盘。你可以通过一个 U 盘运行 Linux 几个月甚至几

自然,有几种不同的 “ 临场 live ” Linux 发行版可供选择。我们向我们的作者们询问了他们的最爱,他们的回答如下。

1、Puppy Linux

“作为一名前 Puppy Linux 开发者,我对此的看法自然有些偏见,但 Puppy 最初吸引我的地方是:

  • 它专注于第三世界国家容易获得的低端和老旧硬件。这为买不起最新的现代系统的贫困地区开放了计算能力
  • 它能够在内存中运行,可以利用该能力提供一些有趣的安全优势
  • 它在一个单一的 SFS 文件中处理用户文件和会话,使得备份、恢复或移动你现有的桌面/应用/文件到另一个安装中只需一个拷贝命令”

—— JT Pennington

“对我来说,一直就是 Puppy Linux。它启动迅速,支持旧硬件。它的 GUI 很容易就可以说服别人第一次尝试 Linux。” —— Sachin Patil

“Puppy 是真正能在任何机器上运行的临场发行版。我有一台废弃的 microATX 塔式电脑,它的光驱坏了,也没有硬盘(为了数据安全,它已经被拆掉了),而且几乎没有多少内存。我把 Puppy 插入它的 SD 卡插槽,运行了好几年。” —— Seth Kenlon

“我在使用 U 盘上的 Linux 发行版没有太多经验,但我把票投给 Puppy Linux。它很轻巧,非常适用于旧机器。” —— Sergey Zarubin

2、Fedora 和 Red Hat

“我最喜欢的 USB 发行版其实是 Fedora Live USB。它有浏览器、磁盘工具和终端仿真器,所以我可以用它来拯救机器上的数据,或者我可以浏览网页或在需要时用 ssh 进入其他机器做一些工作。所有这些都不需要在 U 盘或在使用中的机器上存储任何数据,不会在受到入侵时被泄露。” —— Steve Morris

“我曾经用过 Puppy 和 DSL。如今,我有两个 U 盘:RHEL7RHEL8。 这两个都被配置为完整的工作环境,能够在 UEFI 和 BIOS 上启动。当我有问题要解决而又面对随机的硬件时,在现实生活中这就是时间的救星。” —— Steven Ellis

3、Porteus

“不久前,我安装了 Porteus 系统每个版本的虚拟机。很有趣,所以有机会我会再试试它们。每当提到微型发行版的话题时,我总是想起我记得的第一个使用的发行版:tomsrtbt。它总是安装适合放在软盘上来设计。我不知道它现在有多大用处,但我想我应该把它也算上。” —— Alan Formy-Duval

“作为一个 Slackware 的长期用户,我很欣赏 Porteus 提供的 Slack 的最新版本和灵活的环境。你可以用运行在内存中的 Porteus 进行引导,这样就不需要把 U 盘连接到你的电脑上,或者你可以从驱动器上运行,这样你就可以保留你的修改。打包应用很容易,而且 Slacker 社区有很多现有的软件包。这是我唯一需要的实时发行版。” —— Seth Kenlon

其它:Knoppix

“我已经有一段时间没有使用过 Knoppix 了,但我曾一度经常使用它来拯救那些被恶意软件破坏的 Windows 电脑。它最初于 2000 年 9 月发布,此后一直在持续开发。它最初是由 Linux 顾问 Klaus Knopper 开发并以他的名字命名的,被设计为临场 CD。我们用它来拯救由于恶意软件和病毒而变得无法访问的 Windows 系统上的用户文件。” —— Don Watkins

“Knoppix 对临场 Linux 影响很大,但它也是对盲人用户使用最方便的发行版之一。它的 ADRIANE 界面 被设计成可以在没有视觉显示器的情况下使用,并且可以处理任何用户可能需要从计算机上获得的所有最常见的任务。” —— Seth Kenlon

选择你的临场 Linux

有很多没有提到的,比如 Slax(一个基于 Debian 的实时发行版)、Tiny CoreSlitazKali(一个以安全为重点的实用程序发行版)、E-live,等等。如果你有一个空闲的 U 盘,请把 Linux 放在上面,在任何时候都可以在任何电脑上使用 Linux!


via: https://opensource.com/article/21/4/usb-drive-linux-distro

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

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

AI 赢得填字游戏冠军

上周,今年的美国填字游戏锦标赛(ACPT)落下了帷幕,共有 1300 多名人员线上参与。但是官方认定的冠军并不是得分第一名。此次参赛一位选手 Dr.Fill,以 12825 分高居榜首,高出人类冠军 65 分,但并没有得到冠军。为什么最高分反而不是冠军?因为 Dr.Fill 是一“只” AI。AI 又一次在比赛中,战胜了人类。

Dr. Fill 诞生于十年前,不过刚开始的排名并不尽如人意。多年以来,它的排名一直稳步上升,但是最高只达到第 11 名。今年它得到了伯克利 NLP 小组的协助,并运行在一台更好的服务器上,因此,Dr. Fill 只用了 49 秒就完成了谜题,而人类冠军用了三分钟。

以后的棋牌类游戏可能应该分成两个榜单:硅基榜单和碳基榜单。

勒索软件已经成为影响国家安全的全球性威胁

微软、亚马逊和 FBI 等加入了全球的勒索软件任务组(RTF),呼吁对勒索软件采取积极和紧急的行动,他们警告称,短短数年内勒索软件变成了一个严重的国家安全威胁、公共健康和安全问题。

勒索软件黑帮经常将学校和医院作为攻击目标。FBI 称,去年有接近 2400 家美国公司、地方政府、医疗机构和学校成为勒索软件的受害者。英国国家网络安全中心称去年处理的勒索软件事故数量是之前任何一年的三倍以上。安全公司 Emsisoft 估计去年全球勒索软件造成的损失在 420 亿美元到 1700 亿美元之间。

勒索病毒已经不完全是技术的问题了。应该引起全世界的警惕和打击。

微软准备更换 Office 软件的默认字体

微软上次改变 Office 的默认字体是在 2007 年,用 Calibri 取代了 Times New Roman。当时微软说它想要一种在屏幕上看起来更好的字体。而现在,在 Calibri 没有明显缺点的情况下,微软委托制作了五种新字体,准备从中选择一个作为新的默认字体。

默认字体也许最值得注意的是它们没有给人留下印象,这样人们就可以直接进入创意过程,而不是考虑这些想法的形式。不过默认字体也可以在不打搅人们的同时,传达一些个性。

还是英文字体比较简单,总共也没多少字形。