diff --git a/sources/tech/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md b/published/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md
similarity index 55%
rename from sources/tech/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md
rename to published/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md
index 64780494e4..af80f8bfac 100644
--- a/sources/tech/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md
+++ b/published/20220514 Hidden Features! 25 Fun Things You Can Do With DuckDuckGo Search Engine.md
@@ -2,70 +2,73 @@
[#]: via: "https://itsfoss.com/duckduckgo-easter-eggs/"
[#]: author: "sreenath https://itsfoss.com/author/sreenath/"
[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
+[#]: translator: "TravinDreek"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14696-1.html"
隐藏功能!在 DuckDuckGo 搜索引擎中,你可以做这 25 件有趣的事情
======
+
+![](https://img.linux.net.cn/data/attachment/album/202206/11/142806ebr5xtzgcwcr5955.jpg)
+
比起无处不在的 Google,[有些搜索引擎替代品更加尊重隐私][1],而 DuckDuckGo 就是其中之一。
最近,这个搜索引擎有了很大的改进,搜索一般网页十分顺畅。在搜索本地地点方面,则还远不及 Google。
-不过,DuckDuckGo(其爱称为 DDG)有一些很酷的功能,大部分用户还没注意到。如果你是一位 DDG 狂热粉,你可能会喜欢用这些小技巧来提升你的搜索体验。
+不过,DuckDuckGo(简称为 DDG)有一些很酷的功能,大部分用户还没注意到。如果你是一位 DDG 狂热粉,你可能会喜欢用这些小技巧来提升你的搜索体验。
-### 1. 跳转特定网页
+### 1、跳转到特定网页
-在你最喜欢的网站名称前输入 ! 即可直接进入这个网站。则类似于 Google 的 “运气不错” 功能,但用 DDG 的话来说,这就叫 “叹号搜索”。
+在你最喜欢的网站名称前输入 `!` 即可直接进入这个网站。则类似于 Google 的 “运气不错” 功能,但用 DDG 的话来说,这就叫 “叹号搜索”。
-网站有缩写,开始输入时便会提示。
+有一些网站有缩写形式,开始输入时便会提示。
![duckduckgo bang feature][2]
在网站名后面输入搜索词,就可以直接抵达那个网站的搜索结果处。
-### 2. 文本转 ASCII
+### 2、文本转 ASCII
-Figlet 是一个[有趣的 Linux 命令][3],可以将任意文本转换为漂亮的 ASCII 画格式。
+Figlet 是一个 [有趣的 Linux 命令][3],可以将任意文本转换为漂亮的 ASCII 画格式。
-在任意搜索词前输入 **figlet**,就会显示 ASCII 输出。无需打开终端。
+在任意搜索词前输入 `figlet`,就会显示 ASCII 输出。无需打开终端。
![Figlet in DDG][4]
-### 3. 检查社交媒体的状态
+### 3、检查社交媒体的状态
-在某个人的 Twitter 名前加上 ‘@’,就会显示 TA 的状态(关注者等)。
+在某个人的 Twitter 名前加上 `@`,就会显示 TA 的状态(关注者等)。
![Itsfoss Twitter][5]
-### 4. 生成强密码
+### 4、生成强密码
-输入 ‘password’ 并加上需要的字符数,就可以生成一个独特的强密码。
+输入 `password` 并加上需要的字符数,就可以生成一个独特的强密码。
![Generating password in DuckDuckGo][6]
-### 5. 生成随机密码短语
+### 5、生成随机密码短语
-输入 ‘random passphrase’ 可生成一段密码短语,通常长度为 4 个词。
+输入 `random passphrase` 可生成一段密码短语,通常长度为 4 个词。
![Random Passphrase][7]
-### 6. 获取一份速查表
+### 6、获取一份速查表
-在需要看速查表的搜索词后面,可输入 cheatsheet。如果要搜索的东西有速查表,就会立即显示在搜索页面。
+在需要看速查表的搜索词后面,可输入 `cheatsheet`。如果要搜索的东西有速查表,就会立即显示在搜索页面。
![Vim Cheatsheet][8]
-### 7. 通过色码获取颜色
+### 7、通过色码获取颜色
-输入 ‘color’ 并加上你想查的颜色的十六进制码,便可显示这个颜色。
+输入 `color` 并加上你想查的颜色的十六进制码,便可显示这个颜色。
![Color][9]
-### 8. 生成随机数
+### 8、生成随机数
-搜索 ‘random number’ 会输出一个 0 到 1 之间的随机数。
+搜索 `random number` 会输出一个 0 到 1 之间的随机数。
![Random Number][10]
@@ -73,113 +76,113 @@ Figlet 是一个[有趣的 Linux 命令][3],可以将任意文本转换为漂
![Random Number between 1 and 1000][11]
-### 9. 转换为二进制等形式
+### 9、转换为二进制等形式
-输入一个二进制数并加上 ‘binary’,可将其从二进制转换为十进制。
+输入一个二进制数并加上 `binary`,可将其从二进制转换为十进制。
![Binary to Decimal][12]
-类似地,它也能用于十六禁止和八进制,但我不清楚它们的处理逻辑。
+类似地,它也能用于十六进制和八进制,但我不清楚它们的处理逻辑。
-### 10. 寻找韵词
+### 10、寻找韵词
-输入 ‘what rhymes with ’ 并带上要找同韵词的词语。作诗能力变强了,对吧?
+输入 `what rhymes with` 并带上要找同韵词的词语。作诗能力变强了,对吧?
![What rhymes with rain][13]
-### 11. 获取拉马努金数、圆周率等常数
+### 11、获取拉马努金数、圆周率等常数
输入想获取数值的常数名,便可在搜索结果中看到它。
![Ramanujan Number][14]
-### 12. 查询现在谁在太空中
+### 12、查询现在谁在太空中
-输入 ‘people in space’ 获取当前在太空中的人员名单。同时还会显示他们在太空中居住的时间。
+输入 `people in space` 获取当前在太空中的人员名单。同时还会显示他们在太空中居住的时间。
![People in Space][15]
-### 13. 查询网页是否无法访问
+### 13、查询网页是否无法访问
-如果你想知道某个网站是你无法访问了,还是大家都无法访问了,只需在搜索词中输入 “is xyz.com down”。
+如果你想知道某个网站是你无法访问了,还是大家都无法访问了,只需在搜索词中输入 `is xyz.com down`。
![Is down?][16]
-### 14. 获取特定话题的名言
+### 14、获取特定话题的名言
-输入一个词并带上 quotes,就会显示与这个词相关的名言。
+输入一个词并带上 `quotes`,就会显示与这个词相关的名言。
![Get quotes in DDG][17]
-### 15. 获取占位文本
+### 15、获取占位文本
-搜索 ‘lorem ipsum’ 就可以获取 5 段占位文本。对 Web 开发者应该会有用。
+搜索 `lorem ipsum` 就可以获取 5 段占位文本。对 Web 开发者应该会有用。
![Lorem ipsum][18]
-### 16. 获取任意月份的日历
+### 16、获取任意月份的日历
-在年、月、日后面输入 calendar,就会为你显示该月份的交互式日历。
+在年、月、日后面输入 `calendar`,就会为你显示该月份的交互式日历。
![Calendar][19]
-### 17. 生成二维码
+### 17、生成二维码
-在文字、链接等后面输入 ‘qr’,就会生成对应的二维码。
+在文字、链接等后面输入 `qr`,就会生成对应的二维码。
![QRCode][20]
-### 18. 获取一些 CSS 动画
+### 18、获取一些 CSS 动画
-搜索 ‘css animations’ 以获取一些 CSS 动画例子。
+搜索 `css animations` 以获取一些 CSS 动画例子。
![CSS Animations][21]
-### 19. 展开短链接
+### 19、展开短链接
如果有一个 Bitly 链接或其他短链接,但不确定它指向哪里,不必再跳转到充满垃圾信息的网页了,只需展开短链接,看看真正的网址。
-在短链接后面输入关键词 expand,就会显示真正的目标 URL。
+在短链接后面输入关键词 `expand`,就会显示真正的目标 URL。
![Expand Link][22]
-### 20. 获取特殊字符的 HTML 代码
+### 20、获取特殊字符的 HTML 代码
-搜索 ‘html chars’,可以获取一份很长的列表,上面有 HTML 实体及其描述,按下后会在结果中显示更多信息。
+搜索 `html chars`,可以获取一份很长的列表,上面有 HTML 实体及其描述,按下后会在结果中显示更多信息。
![HTML Chars][23]
-### 21. 我用这东西干啥?
+### 21、我用这东西干啥?
-这功能没什么用。如果你输入 “why should I use this?” ,它就会在搜索结果顶部显示 “cause it's awesome”。显然,DuckDuckGo 在说他自己。
+这功能没什么用。如果你输入 `why should I use this?` ,它就会在搜索结果顶部显示 `cause it's awesome`。显然,DuckDuckGo 在说他自己。
![Why should I use this?][24]
-### 22. 转换大小写
+### 22、转换大小写
-大小写都可转换。lowercase <大写搜索词> 就会显示小写的结果
+大小写都可转换。`lowercase <大写搜索词>` 就会显示小写的结果
![Lowercase][25]
-uppercase <小写搜索词> 就会显示大写的结果。
+`uppercase <小写搜索词>` 就会显示大写的结果。
![Uppercase][26]
-### 23. 编码 URL
+### 23、编码 URL
-搜索 ‘encode’ 并加上 URL,就会给出编码后的结果
+搜索 `encode` 并加上 URL,就会给出编码后的结果
![URL Encode][27]
-### 24. Motherboard
+### 24、Motherboard
-搜索 ‘Motherboard’就会看见左侧的 DuckDuckGo 的 logo 变了。它会显示选好的几个随机 logo。
+搜索 `Motherboard` 就会看见左侧的 DuckDuckGo 的 logo 变了。它会显示选好的几个随机 logo。
![Motherboard][28]
-### 25. 获取 HTML 色码
+### 25、获取 HTML 色码
-搜索 ‘color codes’ 便可获得一份颜色表。一样,这个功能多为 Web 开发者和设计师所用。
+搜索 `color codes` 便可获得一份颜色表。一样,这个功能多为 Web 开发者和设计师所用。
![Color Codes][29]
@@ -196,7 +199,7 @@ via: https://itsfoss.com/duckduckgo-easter-eggs/
作者:[sreenath][a]
选题:[lkxed][b]
译者:[Peaksol](https://github.com/TravinDreek)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/translated/tech/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md b/published/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md
similarity index 66%
rename from translated/tech/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md
rename to published/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md
index 0a27cd46b5..4004bcb938 100644
--- a/translated/tech/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md
+++ b/published/20220516 How to Dual Boot Ubuntu 22.04 LTS and Windows 11.md
@@ -3,45 +3,47 @@
[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/"
[#]: collector: "lkxed"
[#]: translator: "robsean"
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14699-1.html"
如何双启动 Ubuntu 22.04 LTS 和 Windows 11
======
-嗨,伙计们,在这篇指南中,我们将演示如何在 Windows 11 的旁侧配置 Ubuntu 22.04 LTS (Jammy Jellyfish) 的双启动设置
-为使其能工作,你需要在你的计算机上安装 windows 11 。接下来,你将需要在你的硬盘驱动器上创建一个单独的分区,你将在此分区上安装 Ubuntu 22.04 。我们将包含这点知识,因此不要担心。
+![](https://img.linux.net.cn/data/attachment/album/202206/12/110546fff10ck07e2p0z2f.jpg)
-##### 必要条件
+嗨,伙计们,在这篇指南中,我们将演示如何在 Windows 11 的之外配置 Ubuntu 22.04 LTS(Jammy Jellyfish)的双启动设置。
-在设置双启动前,这些是你所需要的。
+为使其能工作,你需要在你的计算机上已经安装好了 Windows 11 。接下来,你将需要在你的硬盘驱动器上创建一个单独的分区,你将在此分区上安装 Ubuntu 22.04 。我们将包含这点知识,因此不要担心。
-* 一个 Ubuntu 22.04 的可启动 USB 驱动器,你可以转到 [Ubuntu 22.04 下载页面][1] 来下载 Ubuntu 22.04 的 ISO 镜像文件。在 ISO 镜像文件到位后,抓取一个 16GB USB 驱动器,并使用 Rufus 应用程序来使其可启动。
+**前置条件:**
-* 快速稳定的因特网连接
+在设置双启动前,这些是你所需要的:
+
+* 一个 Ubuntu 22.04 的可启动 USB 驱动器,你可以转到 [Ubuntu 22.04 下载页面][1] 来下载 Ubuntu 22.04 的 ISO 镜像文件。在 ISO 镜像文件到位后,拿一个 16GB USB 驱动器,并使用 Rufus 应用程序来使其可启动。
+* 快速稳定的互联网连接
### 步骤 1、在你的硬盘驱动器上创建一个可用的分区
正如介绍中所提到的,我们首先需要在硬盘驱动器上创建一个单独的分区,我们将在其中安装 Ubuntu 22.04 。
-因此,通过按下 **Windows + R** 组合键来打开磁盘管理器实用程序
+因此,通过按下 `Windows + R` 组合键来打开磁盘管理器实用程序。
-在对话框中,输入 diskmgmt.msc ,并按下 回车键 按键。
+在对话框中,输入 `diskmgmt.msc` ,并按下回车键。
![][2]
- 磁盘管理控制台将显示当前磁盘分区,如你将在下面所看到的一样。我们将通过压缩 ‘卷 E’ 来创建一个用于安装 Ubuntu 的分区。这在你的安装过程中可能有所不同,但是只需要跟着做,你就会理解其中的大体意思。
+磁盘管理控制台将显示当前磁盘分区,如你将在下面所看到的一样。我们将通过压缩 “卷 E” 来创建一个用于安装 Ubuntu 的分区。这在你的安装过程中可能有所不同,但是只需要跟着做,你就会理解其中的大体意思。
![][3]
-因此,在你想要压缩的磁盘驱动器卷上右键,并在弹出的菜单中选择 压缩卷 选项。
+因此,在你想要压缩的磁盘驱动器卷上点击鼠标右键,并在弹出的菜单中选择 压缩卷 选项。
![][4]
-一个弹出对话框将会出现,如下所示。具体指定压缩的控件大小(以 MB 为单位),并单 压缩卷 。
+将会出现一个弹出对话框,如下所示。具体指定压缩的控件大小(以 MB 为单位),并单击 压缩卷 。
-这是指定给 Ubuntu 22.04 安装所用的空间.
+这是指定给 Ubuntu 22.04 安装所用的空间。
![][5]
@@ -49,11 +51,11 @@
![][6]
-随着可用空间的到来,现在将可启动 USB 媒介盘插入到你的 PC ,并重新启动你的系统。此外,要确保访问 BIOS 设置,并修改启动优先级,来使 USB 驱动器成为第一优先级。保存 BIOS 更改并继续启动。
+随着有了可用空间,现在将可启动 USB 驱动器插入到你的 PC ,并重新启动你的系统。此外,要确保访问 BIOS 设置,并修改启动优先级,来使 USB 驱动器成为第一优先级。保存 BIOS 更改并继续启动。
### 步骤 2、开始安装
-在第一屏幕中,你将得到如图所示的 GRUB 菜单。选择第一个选项 尝试或安装 Ubuntu ,并按下 回车键 按键。
+在第一个屏幕中,你将得到如图所示的 GRUB 菜单。选择第一个选项 尝试或安装 Ubuntu ,并按下 回车键 按键。
![][7]
@@ -69,7 +71,7 @@ Ubuntu 22.04 将开始加载,如下所示。这最多需要一分钟。
![][10]
-在 更新和其它软件 步骤中,选择 正常安装以便安装 Ubuntu的 GUI 版本,通过勾选其它剩余选项来允许下载更新和安装第三方的针对于图像、WIFI 硬件和其它实用程序的软件包
+在 更新和其它软件 步骤中,选择 正常安装 以便安装 Ubuntu的 GUI 版本,通过勾选其它剩余选项来允许下载更新和安装第三方的针对于图像、WIFI 硬件和其它实用程序的软件包。
接下来,单击 继续 按钮。
@@ -85,29 +87,29 @@ Ubuntu 22.04 将开始加载,如下所示。这最多需要一分钟。
针对 Ubuntu 22.04 ,我们将创建下面的分区:
-* /boot – 1 GB
-* /home – 10 GB
-* / – 12 GB
-* Swap – 2 GB
-* EFI – 300 MB
+* `/boot` – 1 GB
+* `/home` – 10 GB
+* `/` – 12 GB
+* 交换分区 – 2 GB
+* EFI – 300 MB
-为开始使用这些分区,单击 可用空间分区下面的 [ + ] 符号。
+为开始使用这些分区,单击 可用空间分区下面的 “+” 符号。
![][13]
-如图显示填写 /boot 分区的详细信息,然后单击 确定 按钮。
+如图显示填写 `/boot` 分区的详细信息,然后单击 确定 按钮。
![][14]
-接下来,具体指定 /home 分区,并单击 确定 按钮。
+接下来,具体指定 `/home` 分区,并单击 确定 按钮。
![][15]
-接下来,定义 / ( root ) 分区,并单击 确定 按钮。
+接下来,定义 `/`(根)分区,并单击 确定 按钮。
![][16]
-为定义 swap 空间,设置大小,并在 使用为:选项中选择 交换区域。
+为定义交换空间,设置大小,并在 使用为:选项中选择 交换区域。
![][17]
@@ -115,7 +117,7 @@ Ubuntu 22.04 将开始加载,如下所示。这最多需要一分钟。
![][18]
-下图是一份我们的分区表的分区摘要。
+下图是一份我们的分区表的分区摘要:
![][19]
@@ -141,17 +143,17 @@ Ubuntu 22.04 将开始加载,如下所示。这最多需要一分钟。
![][24]
-在这时,移除你的可启动 USB 驱动器,并按下 回车键 按键。
+在这时,移除你的可启动 USB 驱动器,并按下回车键。
![][25]
-在系统重新启动时,你将找到 Ubuntu 和 Windows 11 的所有选项。
+在系统重新启动时,你将找到包括 Ubuntu 和 Windows 11 在内的各种选项。
-选择 ‘Ubuntu’ 来启动到你的新 Ubuntu 22.04 安装。为启动到 Windows 11,选择标有 Windows 恢复环境 的条目。
+选择 “Ubuntu” 来启动到你的新 Ubuntu 22.04 安装。要启动到 Windows 11,请选择标有 Windows 恢复环境 的条目。
![][26]
-就这样。我们演示了如何双启动 Windows 11 和 Ubuntu 22.04.
+就这样。我们演示了如何双启动 Windows 11 和 Ubuntu 22.04。
--------------------------------------------------------------------------------
@@ -160,7 +162,7 @@ via: https://www.linuxtechi.com/dual-boot-ubuntu-22-04-and-windows-11/
作者:[James Kiarie][a]
选题:[lkxed][b]
译者:[robsean](https://github.com/robsean)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/translated/tech/20220530 Dynamically linking libraries while compiling code.md b/published/20220530 Dynamically linking libraries while compiling code.md
similarity index 67%
rename from translated/tech/20220530 Dynamically linking libraries while compiling code.md
rename to published/20220530 Dynamically linking libraries while compiling code.md
index b9f2239cfc..200b9a7fda 100644
--- a/translated/tech/20220530 Dynamically linking libraries while compiling code.md
+++ b/published/20220530 Dynamically linking libraries while compiling code.md
@@ -3,19 +3,18 @@
[#]: author: "Seth Kenlon https://opensource.com/users/seth"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14690-1.html"
-编译代码时动态链接库
+编译代码时动态地链接库
======
-编译软件在你如何运行你的系统方面给你很大的灵活性。LD_LIBRARY_PATH 变量,以及 GCC 的 -L 和 -l 选项,是这种灵活性的组成部分。
-![women programming][1]
+![](https://linux.cn/article-14690-1.html)
-图片提供:WOCinTech Chat。由 Opensource.com 修改。CC BY-SA 4.0
+> 编译软件在你如何运行你的系统方面给你很大的灵活性。`LD_LIBRARY_PATH` 变量,以及 GCC 的 `-L` 和 `-l` 选项,是这种灵活性的组成部分。
-编译软件是开发者经常做的事情,在开源中,一些用户甚至选择自己动手。Linux 播客 Dann Washko 称源码为“通用包格式”,因为它包含了使一个应用在任何平台上运行所需的所有组件。当然,并不是所有的源码都是为所有的系统编写的,所以它只是在目标系统的子集内是“通用”的,但问题是,源码是非常灵活的。有了开源,你可以决定代码的编译和运行方式。
+编译软件是开发者经常做的事情,在开源世界中,一些用户甚至选择自己动手。Linux 播客 Dann Washko 称源码为“通用包格式”,因为它包含了使一个应用在任何平台上运行所需的所有组件。当然,并不是所有的源码都是为所有的系统编写的,所以它只是在目标系统的子集内是“通用”的,但问题是,源码是非常灵活的。有了开源,你可以决定代码的编译和运行方式。
当你在编译代码时,你通常要处理多个源文件。开发人员倾向于将不同的类或模块放在不同的文件中,这样它们可以被单独维护,甚至可能被不同的项目使用。但当你编译这些文件时,许多文件会被编译成一个可执行文件。
@@ -23,12 +22,12 @@
### 在编译过程中定位一个共享对象
-当你[用 GCC 编译][2]时,你通常需要在你的工作站上安装一个库,以便 GCC 能够定位到它。默认情况下,GCC 假定库在系统库路径中,例如 `/lib64` 和 `/usr/lib64`。然而,如果你要链接到一个你自己的尚未安装的库,或者你需要链接到一个没有安装在标准位置的库,那么你必须帮助 GCC 找到这些文件。
+当你 [用 GCC 编译][2] 时,你通常需要在你的工作站上安装一个库,以便 GCC 能够定位到它。默认情况下,GCC 假定库在系统库路径中,例如 `/lib64` 和 `/usr/lib64`。然而,如果你要链接到一个你自己的尚未安装的库,或者你需要链接到一个没有安装在标准位置的库,那么你必须帮助 GCC 找到这些文件。
有两个选项对于在 GCC 中寻找库很重要:
-* -L(大写字母 L)在 GCC 的搜索位置上增加一个额外的库路径。
-* -l(小写字母 L)设置你要链接的库的名字。
+* `-L`(大写字母 L)在 GCC 的搜索位置上增加一个额外的库路径。
+* `-l`(小写字母 L)设置你要链接的库的名字。
例如,假设你写了一个叫做 `libexample.so` 的库,并且你想在编译你的应用 `demo.c` 时使用它。首先,从 `demo.c` 创建一个对象文件:
@@ -36,7 +35,7 @@
$ gcc -I ./include -c src/demo.c
```
-`-I` 选项在 GCC 搜索头文件的路径中增加了一个目录。在这个例子中,我假设自定义头文件在一个名为 `include` 的本地目录中。`-c` 选项防止 GCC 运行链接器,因为这个任务只是为了创建一个对象文件。而这正是所发生的:
+`-I` 选项在 GCC 搜索头文件的路径中增加了一个目录。在这个例子中,我假设自定义头文件在一个名为 `include` 的本地目录中。`-c` 选项防止 GCC 运行链接器,因为这个任务只是为了创建一个对象文件。结果如下:
```
$ ls
@@ -70,11 +69,11 @@ $ ldd ./myDemo
/lib64/ld-linux-x86-64.so.2 (0x00007f514b839000)
```
-你已经知道`libexample` 不能被定位,但 `ldd` 输出至少确认了对*工作*库的期望。例如,`libc.so.6 `已经被定位,`ldd` 显示其完整路径。
+你已经知道定位不到 `libexample`,但 `ldd` 输出至少确认了它对*工作*库的期望位置。例如,`libc.so.6 `已经被定位,`ldd` 显示其完整路径。
### LD_LIBRARY_PATH
-`LD_LIBRARY_PATH` [环境变量][3]定义了库的路径。如果你正在运行一个依赖于没有安装到标准目录的库的应用程,你可以使用 `LD_LIBRARY_PATH` 添加到系统的库搜索路径。
+`LD_LIBRARY_PATH` [环境变量][3] 定义了库的路径。如果你正在运行一个依赖于没有安装到标准目录的库的应用程,你可以使用 `LD_LIBRARY_PATH` 添加到系统的库搜索路径。
有几种设置环境变量的方法,但最灵活的是在运行命令前放置环境变量。看看设置 `LD_LIBRARY_PATH` 对 `ldd` 命令在分析一个“损坏”的可执行文件时的作用:
@@ -112,9 +111,8 @@ hello world!
在大多数情况下,`LD_LIBRARY_PATH` 不是你需要设置的变量。按照设计,库安装到 `/usr/lib64` 中,因此应用自然会在其中搜索所需的库。在两种情况下,你可能需要使用 `LD_LIBRARY_PATH`:
-* 你正在编译的软件需要链接到本身刚刚编译但尚未安装的库。好的构建系统,例如 [Autotools][4] 和 [CMake][5],可以帮助处理这个问题。
-
-* 你正在使用设计为在单个目录之外运行的软件,没有安装脚本或将库放置在非标准目录中的安装脚本。一些应用具有 Linux 用户可以下载、复制到 `/opt` 并在“不安装”的情况下运行的版本。`LD_PATH_LIBRARY` 变量是通过封装脚本设置的,因此用户通常甚至不知道它已被设置。
+* 你正在编译的软件需要链接到本身刚刚编译但尚未安装的库。良好设计的构建系统,例如 [Autotools][4] 和 [CMake][5],可以帮助处理这个问题。
+* 你正在使用设计为在单个目录之外运行的软件,它没有安装脚本,或安装脚本将库放置在非标准目录中。一些应用具有 Linux 用户可以下载、复制到 `/opt` 并在“不安装”的情况下运行的版本。`LD_PATH_LIBRARY` 变量是通过封装脚本设置的,因此用户通常甚至不知道它已被设置。
编译软件为你在运行系统方面提供了很大的灵活性。`LD_LIBRARY_PATH` 变量以及 `-L` 和 `-l` GCC 选项是这种灵活性的组成部分。
@@ -125,7 +123,7 @@ via: https://opensource.com/article/22/5/compile-code-ldlibrarypath
作者:[Seth Kenlon][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/translated/tech/20220530 Using a Machine Learning Model to Make Predictions.md b/published/20220530 Using a Machine Learning Model to Make Predictions.md
similarity index 74%
rename from translated/tech/20220530 Using a Machine Learning Model to Make Predictions.md
rename to published/20220530 Using a Machine Learning Model to Make Predictions.md
index 94a7feb229..7fb0ad690d 100644
--- a/translated/tech/20220530 Using a Machine Learning Model to Make Predictions.md
+++ b/published/20220530 Using a Machine Learning Model to Make Predictions.md
@@ -3,13 +3,16 @@
[#]: author: "Jishnu Saurav Mittapalli https://www.opensourceforu.com/author/jishnu-saurav-mittapalli/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14689-1.html"
-使用机器学习模型进行预测
+机器学习:使用 Python 进行预测
======
-机器学习基本上是人工智能的一个子集,它使用以前存在的数据对新数据进行预测。当然,现在我们所有人都知道这个道理了!这篇文章展示了如何将 Python 中开发的机器学习模型作为 Java 代码的一部分来进行预测。
+
+> 机器学习基本上是人工智能的一个子集,它使用以前存在的数据对新数据进行预测。
+
+当然,现在我们所有人都知道这个道理了!这篇文章展示了如何将 Python 中开发的机器学习模型作为 Java 代码的一部分来进行预测。
![Machine-learning][1]
@@ -28,14 +31,15 @@ import matplotlib.pyplot as plt
```
from google.colab import files
uploaded = files.upload()
-for fn in uploaded.keys(): print(‘User uploaded file “{name}” with length {length} bytes’.format(
-name=fn, length=len(uploaded[fn])))
-Choose files No file chosen
+for fn in uploaded.keys():
+ print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))
```
-只有在当前浏览器会话中执行了该单元格时,上传部件才可用。请重新运行此单元,上传文件 *“Hoppers Crossing-Hourly-River-Level.csv”*,大小 2207036 字节。
+如果没有选择文件的话,选择上传的文件。
-完成后,我们就可以使用 *sklearn 库*来训练我们的模型。为此,我们首先需要导入该库和算法模型,如图 1 所示。
+只有在当前浏览器会话中执行了该单元格时,上传部件才可用。请重新运行此单元,上传文件 `Hoppers Crossing-Hourly-River-Level.csv`,大小 2207036 字节。
+
+完成后,我们就可以使用 `sklearn` 库来训练我们的模型。为此,我们首先需要导入该库和算法模型,如图 1 所示。
![Figure 1: Training the model][2]
@@ -51,7 +55,7 @@ regressor.fit(X_train, y_train)
### 在 Java 中使用 ML 模型
-我们现在需要做的是把 ML 模型转换成一个可以被 Java 程序使用的模型。有一个叫做 sklearn2pmml 的库可以帮助我们做到这一点:
+我们现在需要做的是把 ML 模型转换成一个可以被 Java 程序使用的模型。有一个叫做 `sklearn2pmml` 的库可以帮助我们做到这一点:
```
# Install the library
@@ -75,7 +79,7 @@ via: https://www.opensourceforu.com/2022/05/using-a-machine-learning-model-to-ma
作者:[Jishnu Saurav Mittapalli][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/translated/tech/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md b/published/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md
similarity index 69%
rename from translated/tech/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md
rename to published/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md
index 994b53dc05..328acf878a 100644
--- a/translated/tech/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md
+++ b/published/20220601 How to Create Local Yum-DNF Repository on RHEL 9.md
@@ -3,19 +3,22 @@
[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14697-1.html"
如何在 RHEL 9 上创建本地 Yum/DNF 仓库
======
-你好,技术人员,最近红帽发布了最新的操作系统 RHEL 9,RHEL 9 满足了混合云的所有要求。它可以安装在物理服务器、虚拟机和容器镜像中。
-当我们没有订阅的时候,想安装软件包来做 POC,那么设置本地的 yum 或 dnf 仓库将是很方便的。
+![](https://img.linux.net.cn/data/attachment/album/202206/11/164149y9zzm7kkxwsxgszw.jpg)
-在本指南中,我们将介绍如何在 RHEL 9 上使用 DVD 或 ISO 文件一步一步地创建本地 yum/dnf 资源库。
+你好,技术兄弟,最近红帽发布了最新的操作系统 RHEL 9,RHEL 9 满足了混合云的所有要求。它可以安装在物理服务器、虚拟机和容器镜像中。
-创建本地 yum/dnf 资源库的先决条件:
+当我们没有订阅的时候,想安装软件包来做实验,那么设置本地的 Yum 或 DNF 仓库将是很方便的。
+
+在本指南中,我们将介绍如何在 RHEL 9 上使用 DVD 或 ISO 文件一步一步地创建本地 Yum/DNF 资源库。
+
+创建本地 Yum/DNF 资源库的先决条件:
* 最小化安装 RHEL 9 系统
* 具有管理权限的 sudo 用户
@@ -23,7 +26,7 @@
### 1)挂载 RHEL 9 ISO 文件或 DVD
-我们假设 RHEL 9 iso 文件已经被复制到系统中。运行下面的挂载命令,将 ISO 文件挂载到 /opt/repo 文件夹。
+我们假设 RHEL 9 iso 文件已经被复制到系统中。运行下面的挂载命令,将 ISO 文件挂载到 `/opt/repo` 文件夹。
```
$ sudo mkdir /var/repo
@@ -32,15 +35,15 @@ $ sudo mount -o loop rhel-baseos-9.0-x86_64-dvd.iso /var/repo/
![Mount-RHEL9-ISO-File-Command][1]
-如果是 dvd,运行:
+如果是 DVD 光盘,运行:
```
$ sudo mount /dev/sr0 /var/repo/
```
-### 2)在 “/etc/yum.repos.d/” 目录中创建仓库文件
+### 2)在 /etc/yum.repos.d/ 目录中创建仓库文件
-在 /etc/yum.repos.d/ 目录下创建一个名为 “rhel9-local.repo” 的仓库文件,内容如下:
+在 `/etc/yum.repos.d/` 目录下创建一个名为 “rhel9-local.repo` 的仓库文件,内容如下:
```
$ sudo vi /etc/yum.repos.d/rhel9-local.repo
@@ -65,9 +68,9 @@ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
![RHEL8-Local-Repo-File][2]
-### 3)刷新 yum/dnf 和订阅管理器的缓存
+### 3)刷新 Yum/DNF 和订阅管理器的缓存
-执行以下命令来清理 yum 或 dnf 和订阅管理器的缓存。
+执行以下命令来清理 Yum 或 DNF 和订阅管理器的缓存。
```
$ sudo dnf clean all
@@ -76,7 +79,7 @@ $ sudo subscription-manager clean
![DNF-Subscription-Manager-Clean][3]
-在上面的输出中,我们得到一个警告信息 “This system is not registered with an entitlement”(系统没有注册权限)。所以,为了抑制这个警告信息,编辑文件 “/etc/yum/pluginconf.d/subscription-manager.conf”,将参数 “enabled=1” 改为 “enabled=0”。
+在上面的输出中,我们得到一个警告信息 `This system is not registered with an entitlement`(系统没有注册权限)。所以,为了抑制这个警告信息,编辑文件 `/etc/yum/pluginconf.d/subscription-manager.conf`,将参数 `enabled=1` 改为 `enabled=0`。
```
$ sudo vi /etc/yum/pluginconf.d/subscription-manager.conf
@@ -98,7 +101,7 @@ $ sudo dnf repolist
![DNF-Repolist-RHEL-9][5]
-现在,试试用 dnf 命令通过上面配置的本地仓库安装软件包。
+现在,试试用 `dnf` 命令通过上面配置的本地仓库安装软件包。
```
$ sudo dnf install nfs-utils
@@ -110,7 +113,7 @@ $ sudo dnf install nfs-utils
![Package-Installation-Completion-RHEL9-DNF-Command][7]
-完美,上述输出证实了 nfs-utils 包及其依赖项已经通过本地配置的 yum 或 dnf 仓库成功安装。
+完美,上述输出证实了 `nfs-utils` 包及其依赖项已经通过本地配置的 Yum 或 DNF 仓库成功安装。
这就是本指南的全部内容。我希望你觉得它有参考价值。请在下面的评论区发表你的疑问和反馈。
@@ -121,7 +124,7 @@ via: https://www.linuxtechi.com/create-local-yum-dnf-repository-rhel/
作者:[Pradeep Kumar][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/published/20220606 6 Linux word processors you need to try.md b/published/20220606 6 Linux word processors you need to try.md
new file mode 100644
index 0000000000..9fd712d06f
--- /dev/null
+++ b/published/20220606 6 Linux word processors you need to try.md
@@ -0,0 +1,82 @@
+[#]: subject: "6 Linux word processors you need to try"
+[#]: via: "https://opensource.com/article/22/6/word-processors-linux"
+[#]: author: "Don Watkins https://opensource.com/users/don-watkins"
+[#]: collector: "lkxed"
+[#]: translator: "duoluoxiaosheng"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14693-1.html"
+
+值得尝试的六款 Linux 文字处理程序
+======
+
+> 选择一款最中意的文字处理程序把你的想法打印到纸上。
+
+![](https://img.linux.net.cn/data/attachment/album/202206/10/120032h7jlo1ozm37fdyfv.jpg)
+
+作家们总是在寻找更好的方法将他们的文字和想法以更好的方式呈现给他们的读者。我对文字处理程序最早的印象是在 Apple II 上使用 AppleWorks 和后来的 FrEDWriter,后者是一个创建于 1985 年的免费文字处理程序。这是我的学生们的标配,他们许多人来自没有钱购买专有软件的家庭。
+
+### Abiword
+
+在 20 世纪 90 年代时,我开始使用 Linux,寻找我可以使用的高质量的写作程序,并推荐给跟随我进入开源软件世界的学生们。我首先接触的文字处理程序是 [AbiWord][2]。AbiWord 来自西班牙语 Abierto,意思是“开放”。它最早发布于 1998 年,并且之后一直在升级。它使用 GPLv2 开源协议。它支持列表、缩进,字符格式等基本功能,支持 .doc、.html、.docx、.odt 等多种格式文件的导入和导出。
+
+![Image of Abiword][3]
+
+### Etherpad
+
+[Etherpad][4] 是一个开源协作编辑项目。它可以让你像 Google Drive 那样实时编辑文档,主要的区别是它是完全开源的。据它的网站上介绍,你可以“与你的朋友、同学或同事一起写文章、新闻稿、待办事项,同时在同一个文件上工作”。其源代码可随时查看。Etherpad 采用 Apache 2.0 开源协议。你可以直接在线使用它,或者把它下载并 [安装][5] 到你的 Linux 电脑上。
+
+### Cryptpad
+
+[CryptPad][6] 是一个端到端加密的写作套件。使用 GPLv3 开源协议,并且源代码公开在 [GitHub][7] 上。它由 [Xwiki][8] 实验室开发。可替代 Google Drive,并且是自主托管的。根据其网站描述,“CryptPad 旨在实现协作办公。实时同步文档的更改。由于所有数据都已加密,因此该服务及其管理员无法查看正在编辑和存储的内容。” Cryptpad 为用户提供了 [丰富的文档][9]。
+
+### Focuswriter
+
+[FocusWriter][10] 是一个简单的免干扰的编辑器。它使用隐藏式界面,鼠标移动到屏幕边界时才显示界面。它使用 GPLv3 开源协议,并为 Linux 提供了 Flatpak 软件包,也为 [Ubuntu][11] 和 [Fedora][12] 提供了 DEB 和 RPM。下图是一个 FocusWriter 桌面的例子。这是一个非常简单直观的界面,菜单自动隐藏,当鼠标指向屏幕顶部或边缘时才会显示。文件默认保存为 .odt 格式,也支持纯文本、.docx 和富文本。
+
+![Image of FocusWriter][13]
+
+### LibreOffice Writer
+
+[LibreOffice Writer][14] 是我最喜欢的,我已经使用了十多年了。它拥有我需要的所有特性,包括富文本格式化。它还拥有我见过的最多的导入、导出方式。类似于 [APA][15] 这样的问卷和出版模板它拥有十多种。我最喜欢的是它可以将文件导出为 PDF 和 epub。 LibreOffice Writer 是一个自由软件,使用 Mozilla 公开许可证(MPL)2.0 开源协议。其 [源代码][16] 由文档基金会提供。LibreOffice 支持大多数 Linux 发行版。同时它也提供 Flatpak、Snap 和 AppImage 软件包。另外,你也可以把它下载并安装到 MacOS 和 Windows 上。
+
+![Image of LibreOffice work space][17]
+
+### OpenOffice Writer
+
+Apache [OpenOffice Writer][18] 是一个全功能的文字处理程序。它可以简单地用于备忘录,也可以复杂到足以编写你的第一本书。依据官网的描述,OpenOffice Writer 将文档自动保存为 .odt。它还支持将文档保存为 .doc、.docx、富文本和其他格式。OpenOffice Writer 使用 Apache 许可证 2.0 开源协议。源代码在 [GitHub][19] 上公开。
+
+还有许多自由开源软件等着大家去发现。它们非常适合完成你的日常任务,你也可以为它们的发展做出贡献。你最喜欢的 Linux 文字处理器程序是什么呢?
+
+--------------------------------------------------------------------------------
+
+via: https://opensource.com/article/22/6/word-processors-linux
+
+作者:[Don Watkins][a]
+选题:[lkxed][b]
+译者:[duoluoxiaosheng](https://github.com/duoluoxiaosheng)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://opensource.com/users/don-watkins
+[b]: https://github.com/lkxed
+[1]: https://opensource.com/sites/default/files/lead-images/typewriter-hands.jpg
+[2]: https://www.abisource.com/
+[3]: https://opensource.com/sites/default/files/2022-05/abiword.png
+[4]: https://etherpad.org/#
+[5]: https://github.com/ether/etherpad-lite#installation
+[6]: https://cryptpad.fr/what-is-cryptpad.html
+[7]: https://github.com/xwiki-labs/cryptpad
+[8]: https://github.com/xwiki-labs
+[9]: https://docs.cryptpad.fr/en/user_guide/index.html
+[10]: https://gottcode.org/focuswriter/
+[11]: https://packages.ubuntu.com/jammy/focuswriter
+[12]: https://src.fedoraproject.org/rpms/focuswriter
+[13]: https://opensource.com/sites/default/files/2022-05/focuswriter.png
+[14]: https://www.libreoffice.org/discover/writer/
+[15]: https://extensions.libreoffice.org/en/extensions/show/apa-style-paper-template
+[16]: https://www.libreoffice.org/about-us/source-code/
+[17]: https://opensource.com/sites/default/files/2022-05/Libreofficewriter.png
+[18]: https://www.openoffice.org/product/writer.html
+[19]: https://github.com/apache/openoffice
diff --git a/published/20220606 Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else.md b/published/20220606 Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else.md
new file mode 100644
index 0000000000..0ccbb7c9bc
--- /dev/null
+++ b/published/20220606 Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else.md
@@ -0,0 +1,113 @@
+[#]: subject: "Amberol is a Stunning Looking Music Player for Linux That Just Plays Music and Nothing Else"
+[#]: via: "https://itsfoss.com/amberol-music-player/"
+[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
+[#]: collector: "lkxed"
+[#]: translator: "geekpi"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14700-1.html"
+
+Amberol 是一款外观漂亮的 Linux 音乐播放器,只播放音乐,不做其他事情
+======
+
+![](https://img.linux.net.cn/data/attachment/album/202206/12/155846b0sbsvtt1et70ttf.jpg)
+
+虽然音乐世界被流媒体服务所主导,但这并没有阻止开发者为桌面电脑创建音乐播放器。
+
+最近,我发现了一个外观漂亮的新的 Linux 桌面音乐播放器。它名为 Amberol,我被它的美丽所震撼。
+
+![amberol music player interface][1]
+
+看起来不错,不是吗?让我们仔细看看它。
+
+### Amberol,Linux 上的可爱的音乐播放器
+
+看起来不错是它所做的两件(或几件)事情中的一件。另一件事是播放音乐。
+
+这就是它,[Amberol][2] 没有额外的花哨(和有用)的功能,如生成专辑封面、元数据编辑、歌词显示或播放列表和库管理。
+
+这些功能也不像是会在未来的版本中加入。Amberol 只想播放音乐。就是这样。
+
+#### 令人惊叹的用户界面
+
+Amberol 和大多数新的 GNOME 应用一样,是用 Rust 和 GTK 编写的。
+
+它有一个自适应的用户界面,可以根据你正在播放的专辑颜色来改变颜色。渐变效果给了它一个现代、时尚的外观,肯定会成为你的 Linux 美化截图的一部分。
+
+![amberol music player][3]
+
+由于其 UI 没有传统的手柄和菜单,它给应用一个统一的外观。
+
+#### 播放列表
+
+它会从你添加的文件夹中的文件自动生成一个播放列表,显示在左手边的侧边栏。
+
+![amberol playlist][4]
+
+你可以在左上角看到整个播放列表将播放多长时间的音乐。点击“勾选”符号,你可以选择歌曲,并从播放列表中删除它们。
+
+如果你愿意,可以隐藏播放列表的侧边栏。
+
+![amberol without playlist][5]
+
+#### 音乐播放选项
+
+你可以在界面上看到歌曲的进度。该播放器与键盘上的媒体控制按钮整合得很好。你可以用专用的媒体键来播放、暂停和改变曲目(如果你的系统上有)。
+
+Amberol 为你提供了一些播放音乐的选项。你可以打开随机播放功能,按随机顺序播放音乐。你也可以单曲循环,直到你厌倦它。
+
+![amberol music playing options][6]
+
+底部的汉堡菜单让你可以选择添加文件或文件夹,并显示可用的键盘快捷方式。
+
+![amberol keyboard shortcuts][7]
+
+你也可以从这里禁用 UI 颜色变化以配合专辑封面。
+
+### 在 Linux 上安装 Amberol
+
+Amberol 是 [以 Flatpak 形式提供的][8]。请确保 [你的系统已启用 Flatpak 支持][9]。
+
+要安装 Amberol,请打开终端并使用以下命令:
+
+```
+flatpak install flathub io.bassi.Amberol
+```
+
+安装完毕后,在菜单中搜索该应用,并点击启动。
+
+第一次运行时,它会要求你添加音乐文件或文件夹。你也可以拖放文件播放。
+
+![amberol first run][10]
+
+### 总结
+
+就个人而言,我更喜欢流媒体服务,因为我没有本机音乐珍藏。但我知道有的人有大量的 CD 收藏,现在都保存在硬盘上。
+
+Amberol 是一个外观漂亮的应用,对于播放本机音乐来说,它足够好。最吸引人的是它基于专辑封面的自适应用户界面。
+
+请你试试它,并在评论区分享你的经验。
+
+--------------------------------------------------------------------------------
+
+via: https://itsfoss.com/amberol-music-player/
+
+作者:[Abhishek Prakash][a]
+选题:[lkxed][b]
+译者:[geekpi](https://github.com/geekpi)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://itsfoss.com/author/abhishek/
+[b]: https://github.com/lkxed
+[1]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-music-player-interface-800x693.png
+[2]: https://apps.gnome.org/app/io.bassi.Amberol/
+[3]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-music-player-800x580.png
+[4]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-playlist-800x548.png
+[5]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-without-playlist-800x693.png
+[6]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-music-playing-options-800x548.png
+[7]: https://itsfoss.com/wp-content/uploads/2022/06/Amberol-keyboard-shortcuts-800x528.png
+[8]: https://flathub.org/apps/details/io.bassi.Amberol
+[9]: https://itsfoss.com/flatpak-guide/
+[10]: https://itsfoss.com/wp-content/uploads/2022/06/amberol-first-run-800x693.png
diff --git a/published/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md b/published/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md
new file mode 100644
index 0000000000..3e2c88b021
--- /dev/null
+++ b/published/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md
@@ -0,0 +1,100 @@
+[#]: subject: "Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work"
+[#]: via: "https://www.debugpoint.com/2022/06/linux-kernel-5-19-rc1/"
+[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
+[#]: collector: "lkxed"
+[#]: translator: "Donkey-Hao"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14692-1.html"
+
+Linux 内核 5.19 RC1 发布,完成了 ARM 通用内核的工作
+======
+
+![](https://img.linux.net.cn/data/attachment/album/202206/10/100401b0t82bd0ww0o2tgn.jpg)
+
+> Linus Torvalds 发布了用来测试的 Linux 内核 5.19 RC1,带来了一些重大变化。
+
+继上个月 [Linux 内核 5.18][1] 发布之后,Linus Torvalds 宣布了 Linux 内核 5.19 系列第一个候选版本。与此同时,Linux 内核 5.19 官方合并窗口关闭,这意味着除非是关键性的,否则不会再接受任何新功能。
+
+简单看一下 Linux 内核 5.19 的新内容,会发现 CPU、GPU、网络、存储和核心模块都有常规的更新。此外,代码清理、淘汰过时硬件和对以后芯片组的持续支持是此版本的亮点。
+
+在进一步介绍之前,让我们简单来看一下这些新特性。
+
+### Linux 内核 5.19(RC1)的新特性
+
+#### CPU
+
+首先需要提及的是,Linux 内核 5.19 开始 [初步支持][2] 龙芯架构的 CPU 系列。龙芯由中国龙芯中科公司设计开发。龙芯架构的 CPU 是兼容 MIPS 架构的通用微处理器。不过虽然现在提供了支持,但是你仍不能在龙芯 CPU 上启动 Linux,因为一些代码还在审核中。希望在 5.20 版本中能够使用。
+
+新的 [英特尔 IFS 驱动][4] 在该版本中落地,这有助于在部署前后发现硬件问题。它能够在早期阶段检测电路层面的 CPU 错误。
+
+在前几个针对英特尔 CPU 的内核版本中一直在对电源管理和散热方面进行开发,[这个版本][5] 也不例外。首先,为 Raptor 和 Alder Lake 家族添加了英特尔 运行时平均功率限制(RAPL)的支持。其次,改进了 P-state 驱动以处理频率变化,并且基于 CPU 的缩放支持被添加到被动 devfreq 中。
+
+虽然英特尔 CPU 主要是散热和电源管理方面的工作,但对 AMD CPU 系列来说有更多的性能更新。首先,计划在今年年底完成 ZMD Zen 4 CPU 的 基于指令的采样(IBS)模块引入了更多更新。此外,此版本引入了 PerfMonV2,提供了更多性能监视能力。
+
+此外,该版本中移除了 a.out 支持。同样,过时的 Renesas H8/300 CPU 也被移除了。
+
+#### 主要 ARM 更新
+
+终于,主线 Linux 内核能够 [支持 ARM 多平台][7] 了。在 Linus 的 RC1 开场白中可以看到,这是该版本中的巨大改变!从 Linux 3.7 开始,跨越了十多年的工作,这是多么漫长的过程。
+
+![Linux 内核 5.19 Rc1 发布公告提到了 ARM 变化][8]
+
+#### 图形和存储升级
+
+存储子系统在各种流行的文件系统中都有性能提升。最主要的变化包括苹果 M1 NVMe 控制器支持和对 XFS 文件系统的更好支持。此外,Btrfs、F2FS 以及 exFAT 文件系统也有增强。
+
+在代码行数方面,有一个令人兴奋的指标是仅是图形驱动程序 Linux 内核 5.19 就增加了大约[50 万行代码][9]。它包括 AMD 的 RDNA、CDNA,英特尔的 Raptor Lake、DG2/Alchemist 等图形驱动更新。
+
+#### 重要的网络变化
+
+鉴于数据传输大幅增长,对 Big TCP 的支持有助于支持数据中心 400 GBit 级别的流量。它还可以在高性能网络环境中降低延迟。
+
+继续改进了 多路径 TCP(MPTCP)。此外,高通 ath11k WiFi 驱动程序在此版本中添加了网络唤醒功能。同样增加了对瑞昱的 8852ce 芯片、联发科的 T700 调制解调器以及瑞萨科技的 RZ/V2M 的支持。
+
+#### 其他值得注意的功能
+
+首先,内核中著名的随机函数生成器(RNG)在此版本中 [继续][10] 改进。
+
+其次,著名的新兴的 Framework 模块化笔记本电脑获得了此版本 Chrome OS EC 驱动支持。Framework 笔记本现在可以作为一个非 Chromebook 设备利用 ChromeOS 的嵌入式控制器。
+
+此外,Wacom 绘画板以及其他相关设备也有众多更新。[包括][11] 对联想 Thinkpad TrackPoint II、谷歌 Whiskers Touchpad、联想 X12 TrackPoint 等设备支持的提升。
+
+### Linux 内核 5.19 下载
+
+如果你想要测试并尝试该候选版本,可以在 [这里][12] 下载。
+
+预计在 2022 年 7 月左右最终版本发布前,将会有多个版本更迭。
+
+参考自:[内核邮件列表][17]
+
+--------------------------------------------------------------------------------
+
+via: https://www.debugpoint.com/2022/06/linux-kernel-5-19-rc1/
+
+作者:[Arindam][a]
+选题:[lkxed][b]
+译者:[Donkey-Hao](https://github.com/Donkey-Hao)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://www.debugpoint.com/author/admin1/
+[b]: https://github.com/lkxed
+[1]: https://www.debugpoint.com/2022/05/linux-kernel-5-18/
+[2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6f2f3e2c80e975804360665d973211e4d9390cb
+[3]: http://www.loongson.cn/
+[4]: https://lore.kernel.org/lkml/13e61c61-0d4b-5f48-6373-f056bf8b603f@redhat.com/
+[5]: https://lore.kernel.org/linux-acpi/CAJZ5v0hKBt3js65w18iKxzWoN5QuEc84_2xcM6paSv-ZHwe3Rw@mail.gmail.com/
+[6]: https://lore.kernel.org/lkml/You6yGPUttvBcg8s@gmail.com/
+[7]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ecf0aa5317b0ad6bb015128a5b763c954fd58708
+[8]: https://www.debugpoint.com/wp-content/uploads/2022/06/Linux-Kernel-5.19-Rc1-release-announcement-mentions-ARM-changes.jpg
+[9]: https://lore.kernel.org/lkml/CAPM=9tw62EZfAm0PbiOPmMrpfR98QMFTWGEQcA34G4ap4xxNkA@mail.gmail.com/
+[10]: https://lore.kernel.org/lkml/20220522214457.37108-1-Jason@zx2c4.com/T/#u
+[11]: https://lore.kernel.org/lkml/nycvar.YFH.7.76.2205241107530.28985@cbobk.fhfr.pm/
+[12]: https://www.kernel.org/
+[13]: https://git.kernel.org/torvalds/t/linux-5.19-rc1.tar.gz
+[14]: https://git.kernel.org/torvalds/p/v5.19-rc1/v5.18
+[15]: https://git.kernel.org/torvalds/ds/v5.19-rc1/v5.18
+[16]: https://git.kernel.org/torvalds/h/v5.19-rc1
+[17]: https://lore.kernel.org/lkml/CAHk-=wgZt-YDSKfdyES2p6A_KJoG8DwQ0mb9CeS8jZYp+0Y2Rw@mail.gmail.com/T/#u
diff --git a/published/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md b/published/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md
new file mode 100644
index 0000000000..18e0fae1d8
--- /dev/null
+++ b/published/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md
@@ -0,0 +1,47 @@
+[#]: subject: "OpenInfra Foundation Launches ‘directed funding’ To Support Open Source Projects"
+[#]: via: "https://www.opensourceforu.com/2022/06/openinfra-foundation-launches-directed-funding-to-support-open-source-projects/"
+[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
+[#]: collector: "lkxed"
+[#]: translator: "lkxed"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14707-1.html"
+
+OpenInfra 基金会启动“定向资助”以支持开源项目
+======
+![OpenInfra][1]
+
+OpenInfra 基金会的前身为 OpenStack 基金会,几年前它将范围扩展到其旗舰项目之外,于是改了名字。2022 年 6 月 7 日,它宣布了一种有趣的新方式,让企业资助基金会内的开源项目。一般来说,开源基金会的企业成员通过支付会员费来支持该组织,然后基金会按照他们认为合适的方式分发这些费用。OpenInfra 基金会现在推出了一种新的“定向资助”模式,允许成员将他们的资金直接用于项目。
+
+此前,基金会并不允许这样做,因为正如 Bryce 指出的那样,它可能会产生混合激励和付费游戏动态,而该组织一直试图避免这种情况。然而,社区对支持特定项目有很大的兴趣,这是有道理的,因为该基金会现在拥有更多种类的项目,但并不是每个成员都对每个项目进行了大量投入。
+
+Bryce 表示,基金会的领导层和董事会,花费了大量时间来考虑,如何使基金会的核心原则与这种新模式相协调。因此,该模型试图将过去十年运行良好的 OpenStack/OpenInfra 技术治理模型的优点,与这些新的财务考虑相结合。
+
+在这种“定向资助”模式下,每个新项目都将拥有自己的法人实体来持有项目资金。为确保新项目的合法性,OpenInfra 白金会员(目前为 9 家,包括蚂蚁集团、华为、Meta、微软和红帽)必须担任项目的发起人,之后其他组织才能加入项目基金。如果赞助公司还不是 OpenInfra 成员,则必须成为成员。然后,所有这些资助成员组成一个项目基金管理委员会,决定创建预算的费用。与此同时,OpenInfra 基金会将为这些项目提供社区建设服务。
+
+这种新模式暂时只适用于加入基金会的新项目。Bryce 和 Collier 指出,组织可能会在一些现有项目中追溯应用这种新模式,但这个考虑目前不在路线图上。
+
+自从将范围扩展到 OpenStack 之外后,OpenInfra 基金会增加了一些新项目,例如用于提高容器安全性的 Kata Containers、用于基础设施生命周期管理的 Airship、Startling X 边缘计算堆栈以及 Zuul CI/CD 平台。
+
+“我们从每个成功的项目中学到的最重要的一点是,协作是关键,支持生态系统的范围越广越好,” OpenInfra 基金会总经理 Thierry Carrez 说,“事实上,我们发现最成功的开源项目是由多家公司资助的,因为他们能够整合资源以实现更高的回报率。”
+
+这种新模式显然是 OpenInfra 基金会引入新项目和新成员的一种方式。正如领导团队欣然承认的那样,其在多方生态系统中管理开源项目的模型 —— 无论是通过新的定向资金还是更传统的方法 —— 可能并不适合每个项目。即使 OpenInfra 基金会只收到一小部分项目,随着对这些复杂云基础设施项目需求的增长,开源项目的数量也在增加,同时它们也变得更加复杂。
+
+基金会还宣布了其各个项目的几个里程碑版本的发布,包括 Kata Containers 2.0 版、Zuul 5.0 版和 StarlingX 6.0 。
+
+Collier 说:“基金会今年庆祝成立 10 周年,在展望下一个十年的开放基础设施之际,我们正在推动我们的模型如此成功的关键,那就是:将希望合作的公司和个人联合起来,为他们提供一个框架和有效协作的工具,并帮助他们投资资金以最好地帮助他们关心的项目。”
+
+--------------------------------------------------------------------------------
+
+via: https://www.opensourceforu.com/2022/06/openinfra-foundation-launches-directed-funding-to-support-open-source-projects/
+
+作者:[Laveesh Kocher][a]
+选题:[lkxed][b]
+译者:[lkxed](https://github.com/lkxed)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://www.opensourceforu.com/author/laveesh-kocher/
+[b]: https://github.com/lkxed
+[1]: https://www.opensourceforu.com/wp-content/uploads/2022/06/open-infra-berlin-event.png
diff --git a/published/20220609 openSUSE Leap 15.4 Release Adds Leap Micro 5.2, Updated Desktop Environments, and More.md b/published/20220609 openSUSE Leap 15.4 Release Adds Leap Micro 5.2, Updated Desktop Environments, and More.md
new file mode 100644
index 0000000000..740bfc4082
--- /dev/null
+++ b/published/20220609 openSUSE Leap 15.4 Release Adds Leap Micro 5.2, Updated Desktop Environments, and More.md
@@ -0,0 +1,100 @@
+[#]: subject: "openSUSE Leap 15.4 Release Adds Leap Micro 5.2, Updated Desktop Environments, and More"
+[#]: via: "https://news.itsfoss.com/opensuse-leap-15-4-release/"
+[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
+[#]: collector: "lkxed"
+[#]: translator: "robsean"
+[#]: reviewer: "wxy"
+[#]: publisher: "wxy"
+[#]: url: "https://linux.cn/article-14695-1.html"
+
+openSUSE Leap 15.4 发布版本添加了 Leap Micro 5.2、更新桌面环境等等
+======
+
+> 为奋起直追 SUSE Linux Enterprise 的 SP 4 ,openSUSE Leap 15.4 到来了,带来了新的升级和极其重要的改善。
+
+![opensuse 15.4][1]
+
+即将到来的 openSUSE 小发布版本终于来了。如果你使用 openSUSE 作为你日常使用的桌面或服务器版本,你现在可能已经测试候选版本好几周了。
+
+openSUSE Leap 15.4 的重点是软件包的更新,用以奋起直追 SUSE Linux Enterprise 的 SP 4 。因此,你将注意到一些弃用的软件包,以及可用于替换它们的新的升级。
+
+当然,你应该有一些可用的软件包来确保兼容性。但是,大多数较旧的版本已经被移除。
+
+### openSUSE Leap 15.4: 有什么新的变化?
+
+为与最新的 SUSE Linux Enterprise(SLE)相适应,像 Python 2 和 KDE 4 一样的软件包已经被移除。你可以在这次的发布版本中找到较新的桌面环境。
+
+此外,在容器和 AI/ML 用例方面,更新了 Podman、Containerd、Tensorflow 和 Grafana。
+
+#### Leap Micro 5.2
+
+Leap Micro 是针对容器和虚拟化工作负载定制的轻量级操作系统的最新版本。它也是 Leap 版的 [MicroOS][2],是 Tumbleweed 的一种变体,提供了自动管理和修补。
+
+#### 桌面环境
+
+Xfce 4.16 继续保留,但你可以找到主要功能的一些新补充,包括新图标和调色板。
+
+Xfce 4.16 中的设置管理器也获得了视觉上的刷新。类似地,文件管理器(Thunar)也有一些改善,新的状态托盘插件的深色模式支持等等。
+
+KDE 4 软件包已经被弃用,Plasma 5.24 LTS 已经作为长期支持版本中包含于其中。
+
+要深入了解这些变化,你可以查看我们之前针对 [KDE Plasma 5.24 LTS][3] 的报道。总体来说,新的 KDE Plasma 体验应该会令桌面用户赞叹。
+
+说到 GNOME,你可以发现包含在 openSUSE Leap 15.4 中的 GNOME 41 带来了一系列的改善和新的特色功能。了解更多关于 [GNOME 41][4] 的信息,你可以期待它的一些新的特色功能。
+
+对于其它的可用的桌面环境来说,Leap 15.4 包括:
+
+* MATE 桌面环境 1.26
+* Enlightenment 桌面环境0.25.3
+* 深度桌面环境 20.3
+
+#### 弃用的软件包
+
+移除了一些基础的软件包,包括 Python 2(生命终结)、Digikam、TensorFlow 1.x 和 Qt 4 等软件包。
+
+在更新系统后,你可以使用 Qt 5 和 Plasma 5 。
+
+#### 更新的软件包
+
+很多重要的软件包在 Leap 15.4 中得到了更新,包含一些流行的软件包:
+
+* TensorFlow 2.6.2
+* Podman 3.4.4
+* GNU Health 4.0
+* sudo 1.9.9
+* systemd 249.10
+* AppArmor 3.04
+* DNF 4.10.0
+* LibreOffice 7.2.5
+
+因此,你应该会注意到一些针对服务器用户和桌面用户的各种应用程序的有用更新。很多多媒体应用程序,像 VLC、GNOME MPV 等,都得到了升级。
+
+#### 其它改善
+
+随着基本软件的更新和清理,你也可以找到一个由 SUSE 维护的较新的 Linux 内核 5.14.21。
+
+更新后的内核对硬件的支持应该会有改善。
+
+更多信息,你可以参考针对 [openSUSE Leap 15.4][5] 的发布版本说明。
+
+> **[下载 openSUSE Leap 15.4][6]**
+
+--------------------------------------------------------------------------------
+
+via: https://news.itsfoss.com/opensuse-leap-15-4-release/
+
+作者:[Ankush Das][a]
+选题:[lkxed][b]
+译者:[robsean](https://github.com/robsean)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://news.itsfoss.com/author/ankush/
+[b]: https://github.com/lkxed
+[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/opensuse-leap-15-4.jpg
+[2]: https://microos.opensuse.org/
+[3]: https://news.itsfoss.com/kde-plasma-5-24-lts-release/
+[4]: https://news.itsfoss.com/gnome-41-release/
+[5]: https://doc.opensuse.org/release-notes/x86_64/openSUSE/Leap/15.4/#rnotes
+[6]: https://get.opensuse.org/leap/15.4/
diff --git a/sources/news/20220531 Rocket.Chat is Switching to Matrix to Enable Cross-App Messaging.md b/sources/news/20220531 Rocket.Chat is Switching to Matrix to Enable Cross-App Messaging.md
deleted file mode 100644
index 8e6dbfde37..0000000000
--- a/sources/news/20220531 Rocket.Chat is Switching to Matrix to Enable Cross-App Messaging.md
+++ /dev/null
@@ -1,81 +0,0 @@
-[#]: subject: "Rocket.Chat is Switching to Matrix to Enable Cross-App Messaging"
-[#]: via: "https://news.itsfoss.com/rocket-chat-matrix/"
-[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-Rocket.Chat is Switching to Matrix to Enable Cross-App Messaging
-======
-Rocket.Chat is embracing the Matrix protocol to enable decentralized communication for the platform. That’s a huge change, isn’t it?
-
-![rocket chat matrix][1]
-
-Rocket.Chat is an excellent open-source messaging (collaboration) platform.
-
-In fact, it is one of the [best open-source Slack alternatives][2] available. We use it as well for internal communication.
-
-Rocket.Chat is also making good progress compared to some of its open-source competitors. For instance, they [teamed up with Nextcloud to provide an alternative to Office 365][3].
-
-And recently announced a switch to Matrix protocol to introduce federation capabilities that allow its users to communicate with users on other platforms. In other words, [Rocket.Chat][4] will be utilizing a decentralized network for communication with the Matrix integration.
-
-As a Rocket.Chat user; you can talk to users on any other app using the Matrix protocol.
-
-### Rocket.Chat is Switching to a Decentralized Protocol to Enhance Collaboration
-
-![][5]
-
-Matrix protocol is a fantastic choice to enable an interoperable federation. Now, with Rocket.Chat onboard; the decentralized network should be stronger than ever.
-
-Not to forget, we already have [Element][6], and [Gitter][7], as some of the platforms that already utilize Matrix. So, Rocket.Chat joining the network sounds exciting!
-
-The [official announcement][8] further explains the collaboration:
-
-> The Rocket.Chat adoption of Matrix makes it simple for organizations to easily connect with external parties, whether they’re using Rocket.Chat or any other Matrix compatible platform. This initiative is another step forward on Rocket.Chat’s journey to let every conversation flow without compromise and enable full interoperability with its ecosystem.
-
-The new change with the Matrix network is already available in the latest [alpha release for Rocket.Chat 4.7.0][9]. Unless you want to experiment with it, you should wait for the stable release to introduce the Matrix network support.
-
-**Aron Ogle** (*Core Developer at Rocket.Chat*) has put together a [guide][10] and a video to help you out if you want to explore the technical details of Rocket.Chat integration with the Matrix. Here’s the video for it:
-
-![Setting up Rocket Chat to talk with Matrix][11]
-
-### Is This a Good Move?
-
-While decentralized tech hasn’t taken the internet by storm, it is promising and makes more sense with its reliability and decentralized capabilities. Matrix protocol has been getting all the praise for a couple of years now, and it seems to be heading in the right direction.
-
-As of now, most of the big platforms rely on centralized infrastructure to make things work.
-
-And, with the current implementations, cross-communication is not possible with most of the chat applications.
-
-So, Rocket.Chat will be making a difference by offering cross-app interactions, like the ability to chat with an Element user on **matrix.org,** as shown in the image above.
-
-Rocket.Chat entering the scene with Matrix protocol could open up the potential for its competitors or other services to give a second thought to solutions like Matrix protocol.
-
-*What do you think about Rocket.Chat adopting the Matrix protocol? Share your thoughts in the comments section below.*
-
---------------------------------------------------------------------------------
-
-via: https://news.itsfoss.com/rocket-chat-matrix/
-
-作者:[Ankush Das][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://news.itsfoss.com/author/ankush/
-[b]: https://github.com/lkxed
-[1]: https://news.itsfoss.com/wp-content/uploads/2022/05/rocketchat-matrix-protocol.jpg
-[2]: https://itsfoss.com/open-source-slack-alternative/
-[3]: https://news.itsfoss.com/rocket-chat-nextcloud-collaboration/
-[4]: https://itsfoss.com/rocket-chat/
-[5]: https://news.itsfoss.com/wp-content/uploads/2022/05/rocket-chat-matrix.jpg
-[6]: https://itsfoss.com/element/
-[7]: https://itsfoss.com/gitter/
-[8]: https://rocket.chat/press-releases/rocket-chat-leverages-matrix-protocol-for-decentralized-and-interoperable-communications
-[9]: https://github.com/RocketChat/Rocket.Chat/releases/tag/4.7.0
-[10]: https://geekgonecrazy.com/2022/05/30/rocketchat-and-the-matrix-protocol/
-[11]: https://youtu.be/oQhIH8kql9I
diff --git a/sources/news/20220601 Google Makes Data Centre Scale Encryption Open Source.md b/sources/news/20220601 Google Makes Data Centre Scale Encryption Open Source.md
deleted file mode 100644
index beb885cdd7..0000000000
--- a/sources/news/20220601 Google Makes Data Centre Scale Encryption Open Source.md
+++ /dev/null
@@ -1,37 +0,0 @@
-[#]: subject: "Google Makes Data Centre Scale Encryption Open Source"
-[#]: via: "https://www.opensourceforu.com/2022/06/google-makes-data-centre-scale-encryption-open-source/"
-[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-Google Makes Data Centre Scale Encryption Open Source
-======
-![google-ranking-factors][1]
-
-Google has made open source an encryption scheme it developed to protect traffic between its data centres. PSP, which stands for PSP Security Protocol, was created to relieve Google’s processors of the growing burden of software-based encryption, according to the company. PSP has been hailed as a success in the company’s own environment, and the company has stated that it is “making PSP open source to encourage broader adoption by the community and hardware implementation by additional NIC [network interface card] vendors.” PSP offloads encryption to NICs, which was previously possible with existing encryption schemes, but not at the scale or with the traffic coverage required by Google.
-
-“At Google’s scale,” the company wrote when announcing its decision, “the cryptographic offload must support millions of live transmission control protocol (TCP) connections and sustain 100,000 new connections per second at peak.”
-
-Existing security protocols, according to Google Cloud’s Amin Vahdat and Soheil Hassas Yeganeh, had flaws. “While TLS meets our security requirements, it is not an offload-friendly solution because of the tight coupling between the connection state in the kernel and the offload state in hardware. TLS also does not support non-TCP transport protocols, such as UDP”, they stated.
-
-However, the IPSec protocol cannot be offloaded to hardware at the required scale. “IPSec … cannot economically support our scale partly because they store the full encryption state in an associative hardware table with modest update rates,” the post explains.
-
-Google added a custom header and trailer to standard User Datagram Protocol (UDP) encapsulation to create PSP. PSP is currently implemented in three ways: one for Google’s Andromeda Linux virtualisation kernel, one for its Snap networking system, and an application-layer version, SoftPSP, created so Google Cloud customers could use PSP on computers with traditional NICs.
-
---------------------------------------------------------------------------------
-
-via: https://www.opensourceforu.com/2022/06/google-makes-data-centre-scale-encryption-open-source/
-
-作者:[Laveesh Kocher][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://www.opensourceforu.com/author/laveesh-kocher/
-[b]: https://github.com/lkxed
-[1]: https://www.opensourceforu.com/wp-content/uploads/2022/06/google-ranking-factors-e1654074528236.jpg
diff --git a/sources/news/20220603 Spotify Introduces an Open-Source Tool to Fix a Big Problem for Modern Musicians.md b/sources/news/20220603 Spotify Introduces an Open-Source Tool to Fix a Big Problem for Modern Musicians.md
deleted file mode 100644
index 782197f1a9..0000000000
--- a/sources/news/20220603 Spotify Introduces an Open-Source Tool to Fix a Big Problem for Modern Musicians.md
+++ /dev/null
@@ -1,85 +0,0 @@
-[#]: subject: "Spotify Introduces an Open-Source Tool to Fix a Big Problem for Modern Musicians"
-[#]: via: "https://news.itsfoss.com/spotify-basic-pitch/"
-[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-Spotify Introduces an Open-Source Tool to Fix a Big Problem for Modern Musicians
-======
-Spotify’s new open-source tool helps you convert audio to MIDI version. Explore why it is a big deal for modern musicians.
-
-![spotify][1]
-
-Spotify is a leading music streaming platform with several open-source projects.
-
-While most of the projects/tools are built for niche users, they have finally introduced something that seems enticing to all the modern musicians involved with digital music production.
-
-‘Basic Pitch’ is a new free and open-source tool by Spotify that lets you convert any audio file to its MIDI (Musical Instrument Digital Interface) version.
-
-In case you did not know, with MIDI notes, you can easily tweak what’s being played and analyze more to help you in digital music production.
-
-### Basic Pitch: Making Things Easier
-
-With Basic Pitch, one can easily have MIDI notes of an audio file they have always wanted, and with better accuracy.
-
-![spotify basic pitch][2]
-
-Spotify explains that it is better than existing note-detection systems by offering some advantages that include:
-
-> **Polyphonic + instrument-agnostic:** Unlike most other note-detection algorithms, Basic Pitch can track multiple notes at a time and across various instruments, including piano, guitar, and ocarina. Many systems limit users to only monophonic output (one note at a time, like a single vocal melody), or are built for only one kind of instrument.
-
-> **Pitch bend detection:** Instruments, like guitar or the human voice, allow for more expressiveness through pitch-bending: vibrato, glissando, bends, slides, etc. However, this valuable information is often lost when turning audio into MIDI. Basic Pitch supports this right out of the box.
-
-> **Speed:** Basic Pitch is light on resources, and is able to run faster than real time on most modern computers ([Bittner et al. 2022][3]).
-
-Basic Pitch uses a machine learning model that turns various instrumental performances into MIDI. The audio file may also contain your voice, but it should still be able to convert the instrument to its MIDI version.
-
-![Basic Pitch demo: Convert audio into MIDI using ML][4]
-
-I tried converting an MP3 karaoke file with a single instrument to get the MIDI notes, and it seemed to work pretty well.
-
-The tool also lets you process more than one audio file at a time and offers a few parameter controls that include note segmentation, confidence threshold, minimum/maximum pitch, and note length.
-
-### Made for Creators and Researchers
-
-Spotify mentions that it targets the creators primarily, but they are also interested to learn how machine learning researchers build upon it and help develop better solutions using the [open-source project on GitHub][5].
-
-As a creator/musician, you can access the open-source tool on its [official website][6] for a demo. The parameters can be adjusted using the website, and you can also download the MIDI file from there.
-
-[Basic Pitch][7]
-
-![spotify basic pitch][8]
-
-It is also available via [PyPI][9] to install and use via the command-line interface on Linux, Windows, and macOS.
-
-You can explore its [GitHub page][10] to know more about its usage/commands.
-
-If you are curious, the [official announcement post][11] provides more technical comparisons and explanations regarding the development of the tool.
-
---------------------------------------------------------------------------------
-
-via: https://news.itsfoss.com/spotify-basic-pitch/
-
-作者:[Ankush Das][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://news.itsfoss.com/author/ankush/
-[b]: https://github.com/lkxed
-[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/spotify-midi.jpg
-[2]: https://news.itsfoss.com/wp-content/uploads/2022/06/spotify-basic-pitch-1024x531.png
-[3]: https://ieeexplore.ieee.org/document/9746549
-[4]: https://youtu.be/DhlvfgS73ZQ?list=PLf1KFlSkDLIAYLdb-SD9s8TdGy0rWIwVr
-[5]: https://github.com/spotify/basic-pitch
-[6]: https://basicpitch.spotify.com/
-[7]: https://basicpitch.spotify.com/
-[8]: https://news.itsfoss.com/wp-content/uploads/2022/06/basic-pitch-parameters.jpg
-[9]: https://pypi.org/
-[10]: https://github.com/spotify/basic-pitch
-[11]: https://engineering.atspotify.com/2022/06/meet-basic-pitch/
diff --git a/sources/news/20220606 Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative.md b/sources/news/20220606 Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative.md
deleted file mode 100644
index 6a737060e0..0000000000
--- a/sources/news/20220606 Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative.md
+++ /dev/null
@@ -1,69 +0,0 @@
-[#]: subject: "Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative"
-[#]: via: "https://news.itsfoss.com/internxt-photos/"
-[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-Cloud Storage Service Internxt Has a Photos Feature as a Google Photos Alternative
-======
-Internxt is already an interesting cloud storage service. It also has a Photos feature that can be a replacement to Google Photos for some.
-
-![internxt photos][1]
-
-Internxt is an open-source encrypted cloud service with a native Linux client. Our [older article][2] explaining its cloud storage service can be an interesting read if you did not know about it.
-
-Initially, we focused on their cloud storage offering. And, it seems like we missed out on another product “Photos” that was unveiled by them last month in a tweet.
-
-[Internxt Photos][3] pitches itself as an open-source Google Photo alternative with privacy and security in mind.
-
-*The post includes an affiliate link for Internxt. If you get a subscription through our link, we get a commission, and you get to support us at no extra cost to you.*
-
-### Internxt Photos with Zero-Knowledge Encryption
-
-![][4]
-
-Internxt Photos claims that it puts privacy and security at its core compared to some competitors in the industry.
-
-While respecting user privacy, they also try to offer the basic features that help you easily organize the photos you upload to the service.
-
-Note that the Photos service is included with the cloud storage subscription. Unlike Google’s offering, there are no separate pricing plans for just storing the Photos.
-
-Likewise, you need to rely on the same Internxt app to access your Photo gallery.
-
-You should not have anything to worry about considering the Internxt app is available on the Google Play Store, and the App Store as well.
-
-The photos you upload to the gallery get synced across multiple devices. So, even if you do not have access to one of your devices, it should not be a problem.
-
-![][5]
-
-The look of the photo gallery seems inspired by Apple’s Photos app, but that’s a good approach for simplicity and usability. The Photos also provide you the ability to share photos with your friends and family using a link. You can also customize the link to tweak the open limit to control access to your shared links.
-
-Considering it as an open-source encrypted alternative with a primary cloud storage offering to mainstream Photo storage services, does this sound like something interesting to you?
-
-You can get started using our link to the product page to explore more about it and get started. The [GitHub page][6] can also be useful if you’re curious.
-
-[Internxt Photos][7]
-
---------------------------------------------------------------------------------
-
-via: https://news.itsfoss.com/internxt-photos/
-
-作者:[Ankush Das][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://news.itsfoss.com/author/ankush/
-[b]: https://github.com/lkxed
-[1]: https://news.itsfoss.com/wp-content/uploads/2022/06/internxt-photos.jpg
-[2]: https://itsfoss.com/internxt-cloud-service/
-[3]: https://itsfoss.com/go/internxt-photos/
-[4]: https://news.itsfoss.com/wp-content/uploads/2022/06/internxt-gallery.jpg
-[5]: https://news.itsfoss.com/wp-content/uploads/2022/06/mobile-photos-share-mockup-506x1024.webp
-[6]: https://github.com/internxt
-[7]: https://itsfoss.com/go/internxt-photos/
diff --git a/sources/news/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md b/sources/news/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md
deleted file mode 100644
index 8f58b6aa8a..0000000000
--- a/sources/news/20220607 Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work.md
+++ /dev/null
@@ -1,101 +0,0 @@
-[#]: subject: "Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work"
-[#]: via: "https://www.debugpoint.com/2022/06/linux-kernel-5-19-rc1/"
-[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-Linux Kernel 5.19 RC1 Released, Concluding ARM Generic Kernel Work
-======
-Linus Torvalds releases Linux Kernel 5.19 RC1 for testing, bringing a vast amount of changes.
-
-Following the [Linux Kernel 5.18][1] release last month, Linus Torvalds announced the first release candidate availability of Linux Kernel 5.19. With this announcement, the official merge window of Linux Kernel 5.19 closes, meaning no new features are to be accepted unless it’s critical.
-
-A brief look at the new items in Linux Kernel 5.19 shows regular updates across CPU, GPU, networking, storage and core modules. In addition, the code cleanups, removal of obsolete hardware and continuous support for future chipsets are the highlight of this release.
-
-Without further introduction, let’s take a look at the new features.
-
-### Linux Kernel 5.19 – New Features (RC1)
-
-#### Processor
-
-First and foremost, Linux Kernel 5.19 begins [initial support][2]for the LoongArch CPU family. It is developed by the Chinese company [Loongson][3]. LoongArch CPUs are the general general-purpose, MIPS architecture-compatible microprocessors. Although the support is now available, you can not boot Linux in these CPUs because some code is still under review. And hopefully, they will be already in the 5.20 version.
-
-The new [Intel IFS driver lands][4] in this version which helps to detect hardware issues before deployment and after. It will help detect CPU faults at the circuit level at an early stage.
-
-The power management and thermal work have continued for the last couple of Kernel releases for Intel CPUs. And [this release][5] also is no exception. Firstly, the Intel Run-Time Average Power Limiting (RAPL) support was added for Raptor and Alder Lake family. Second, the P-state driver is improved to handle frequency variance and CPU based scaling support is added to the passive devfreq.
-
-While the thermal and power dominated Intel CPUs, AMD sees more performance updates in its own CPU families. Firstly, more updates were [introduced][6] in the Instruction-Based Sampling (IBS) module for AMD Zen 4 CPUs are planned for the end of this year. Moreover, PerfMonV2 is introduced in this release giving more performance monitoring capabilities.
-
-Furthermore, the a.out support is removed in this release. Also, the Renesas H8/300 CPU architecture support is removed as its obsolete by now.
-
-#### Major ARM update
-
-Finally, the mainline Linux Kernel can [support multiple ARM platforms][7] with this release. This is a big step in this version, which is heard in Linus’s opening note on this Rc1 release. This is a long process that started with Linux 3.7 and spanned more than a decade of work and patches.
-
-![Linux Kernel 5.19 Rc1 release announcement mentions ARM changes][8]
-
-#### Graphics and Storage Updates
-
-The storage subsystem sees performance improvements across popular file systems. The significant changes include Apple M1 NVMe controller support and better support for the XFS file system. In addition, enhancements arrive for Btrfs, F2FS and exFAT file systems.
-
-One of the exciting metrics in terms of LOC is Linux Kernel 5.19 adds around [half-million lines of code][9] for the Graphics driver alone. It includes graphics updates across AMD RDNA, CDNA, Intel’s Raptor Lake, Intel’s DG2/Alchemist and more.
-
-#### Important Networking Changes
-
-Looking at the massive growth in the data transmission, the support for Big TCP lands which helps the data centre traffic at a range of 400GBit. It also aims to give lower latency in high-performance networking environments.
-
-The Multi-Path TCP (MPTCP) continues its improvements. In addition to that, Qualcomm ath11k WiFi driver adds wake-on-lan support in this version. Also, support is added for Realtek 8852ce chipset, MediaTek T700 modems and Rensas RZ/V2M
-
-#### Other Notable Features
-
-Firstly, the famous random number generator in Kernel [continues][10] its improvements in this release.
-
-Second, the famous and emerging Framework Modular Laptop gets this release Chrome OS EC Driver support. The Framework laptop now can take advantage of ChromeOS’s embedded controller as a non-Chromebook device.
-
-Moreover, more updates arrive at Wacom tabs and other related devices. It [includes][11] improved support for Lenovo Thinkpad TrackPoint II, Google Whiskers Touchpad, Lenovo X12 TrackPoint, etc.
-
-### Linux Kernel 5.19 Download
-
-If you want to test and try this release candidate, download the release tarball [here][12]. Or refer below for a direct link to tar and diffs.
-
-| - | - | - | - | - | - | - | - | - |
-| :- | :- | :- | :- | :- | :- | :- | :- | :- |
-| mainline: | 5.19-rc1 | 2022-06-06 | [tarball][13] | | [patch][14] | | [view diff][15] | [browse][16] |
-
-There will be multiple kernel iterations until the final release, expected around July 2022.
-
-*[Via Kernel mailing list.][17]*
-
---------------------------------------------------------------------------------
-
-via: https://www.debugpoint.com/2022/06/linux-kernel-5-19-rc1/
-
-作者:[Arindam][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://www.debugpoint.com/author/admin1/
-[b]: https://github.com/lkxed
-[1]: https://www.debugpoint.com/2022/05/linux-kernel-5-18/
-[2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6f2f3e2c80e975804360665d973211e4d9390cb
-[3]: http://www.loongson.cn/
-[4]: https://lore.kernel.org/lkml/13e61c61-0d4b-5f48-6373-f056bf8b603f@redhat.com/
-[5]: https://lore.kernel.org/linux-acpi/CAJZ5v0hKBt3js65w18iKxzWoN5QuEc84_2xcM6paSv-ZHwe3Rw@mail.gmail.com/
-[6]: https://lore.kernel.org/lkml/You6yGPUttvBcg8s@gmail.com/
-[7]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ecf0aa5317b0ad6bb015128a5b763c954fd58708
-[8]: https://www.debugpoint.com/wp-content/uploads/2022/06/Linux-Kernel-5.19-Rc1-release-announcement-mentions-ARM-changes.jpg
-[9]: https://lore.kernel.org/lkml/CAPM=9tw62EZfAm0PbiOPmMrpfR98QMFTWGEQcA34G4ap4xxNkA@mail.gmail.com/
-[10]: https://lore.kernel.org/lkml/20220522214457.37108-1-Jason@zx2c4.com/T/#u
-[11]: https://lore.kernel.org/lkml/nycvar.YFH.7.76.2205241107530.28985@cbobk.fhfr.pm/
-[12]: https://www.kernel.org/
-[13]: https://git.kernel.org/torvalds/t/linux-5.19-rc1.tar.gz
-[14]: https://git.kernel.org/torvalds/p/v5.19-rc1/v5.18
-[15]: https://git.kernel.org/torvalds/ds/v5.19-rc1/v5.18
-[16]: https://git.kernel.org/torvalds/h/v5.19-rc1
-[17]: https://lore.kernel.org/lkml/CAHk-=wgZt-YDSKfdyES2p6A_KJoG8DwQ0mb9CeS8jZYp+0Y2Rw@mail.gmail.com/T/#u
diff --git a/sources/news/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md b/sources/news/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md
deleted file mode 100644
index 887fd972a7..0000000000
--- a/sources/news/20220607 OpenInfra Foundation Launches -directed funding- To Support Open Source Projects.md
+++ /dev/null
@@ -1,47 +0,0 @@
-[#]: subject: "OpenInfra Foundation Launches ‘directed funding’ To Support Open Source Projects"
-[#]: via: "https://www.opensourceforu.com/2022/06/openinfra-foundation-launches-directed-funding-to-support-open-source-projects/"
-[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
-[#]: collector: "lkxed"
-[#]: translator: " "
-[#]: reviewer: " "
-[#]: publisher: " "
-[#]: url: " "
-
-OpenInfra Foundation Launches ‘directed funding’ To Support Open Source Projects
-======
-![open-infra-berlin-event][1]
-
-The OpenInfra Foundation, formerly known as the OpenStack Foundation until it expanded its scope beyond its flagship project a few years ago, announced today an intriguing new way for companies to fund open source projects within the foundation. Corporate members of open source foundations have traditionally supported the organisation by paying a membership fee, which the foundations then distribute as they see fit. The OpenInfra foundation is now launching a new ‘Directed Funding’ model that allows members to direct their funds directly to a project.
-
-The foundation previously did not allow this because, as Bryce pointed out, it can create mixed incentives and a pay-for-play dynamic, which the organisation has always tried to avoid. However, there was a lot of interest in the community to support specific projects, which makes sense given that the foundation is now home to a wider variety of projects, but not every member is heavily invested in every project.
-
-Bryce stated that the foundation’s leadership and board spent a significant amount of time considering how to reconcile the foundation’s core principles with this new model. As a result, the model tries to combine the best of the OpenStack/OpenInfra technical governance model, which has worked well over the last decade, with these new financial considerations.
-
-Under this ‘directed funding’ model, each new project will have its own legal entity that will hold the project funding. To ensure that the new projects are legitimate, an OpenInfra Platinum member (currently nine, including Ant Group, Huawei, Meta, Microsoft, and Red Hat) must serve as the project’s sponsor, after which other organisations can join the project fund. If a sponsoring company is not already an OpenInfra member, it must become one. All of these funding members then form a project fund governing board, which decides on the fees for creating a budget. Meanwhile, the OpenInfra Foundation will provide these projects with community-building services.
-
-This new model will, for the time being, only apply to new projects that join the foundation. Bryce and Collier noted that there may be some existing projects where the organisation could retroactively apply this new model, but that is not currently on the roadmap.
-
-The OpenInfra foundation has added projects such as Kata Containers for increased container security, Airship for infrastructure lifecycle management, the Startling X edge compute stack, and the Zuul CI/CD platform since it expanded beyond OpenStack.
-
-“The most important thing we’ve learned from each of these successful projects is that collaboration is key and the more breadth in the ecosystem of support the better,” said Thierry Carrez, general manager of the OpenInfra Foundation. “In fact, we’ve found that the most successful open source projects are funded by multiple companies, because they are able to combine their resources to achieve a much stronger rate of return.”
-
-This new model is clearly a way for the OpenInfra Foundation to bring new projects — and new members — into the fold. Its models for managing open source projects in a multi-party ecosystem — both through the new directed funds and its more traditional approach — may not be suitable for every project, as the leadership team readily admits. Even if the OpenInfra Foundation only receives a small percentage of projects, the number of open-source projects is increasing as the demand for these sophisticated cloud infrastructure projects grows, all while they become more complex.
-
-The Foundation also announced a couple of milestone releases for its various projects, including version 2.0 of Kata Containers, version 5.0 of Zuul, and the release of StarlingX 6.0.
-
-“The Foundation celebrates its 10 anniversary this year, and as we look to our next decade of open infrastructure, we’re building momentum on what makes our model so successful: aligning companies and individuals who wish to work together, providing them with a framework and tools to effectively collaborate, and helping them invest their funds to best help the project they care about,” said Collier.
-
---------------------------------------------------------------------------------
-
-via: https://www.opensourceforu.com/2022/06/openinfra-foundation-launches-directed-funding-to-support-open-source-projects/
-
-作者:[Laveesh Kocher][a]
-选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]: https://www.opensourceforu.com/author/laveesh-kocher/
-[b]: https://github.com/lkxed
-[1]: https://www.opensourceforu.com/wp-content/uploads/2022/06/open-infra-berlin-event.png
diff --git a/sources/talk/20220523 7 pieces of Linux advice for beginners.md b/sources/talk/20220523 7 pieces of Linux advice for beginners.md
index bc902926eb..73fe5790cc 100644
--- a/sources/talk/20220523 7 pieces of Linux advice for beginners.md
+++ b/sources/talk/20220523 7 pieces of Linux advice for beginners.md
@@ -2,7 +2,7 @@
[#]: via: "https://opensource.com/article/22/5/linux-advice-beginners"
[#]: author: "Opensource.com https://opensource.com/users/admin"
[#]: collector: "lkxed"
-[#]: translator: " "
+[#]: translator: "lightchaserhy"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
diff --git a/sources/talk/20220602 Why Do Enterprises Use and Contribute to Open Source Software.md b/sources/talk/20220602 Why Do Enterprises Use and Contribute to Open Source Software.md
index 1de91d1449..939f7865be 100644
--- a/sources/talk/20220602 Why Do Enterprises Use and Contribute to Open Source Software.md
+++ b/sources/talk/20220602 Why Do Enterprises Use and Contribute to Open Source Software.md
@@ -2,7 +2,7 @@
[#]: via: "https://www.linux.com/news/why-do-enterprises-use-and-contribute-to-open-source-software/"
[#]: author: "Dan Whiting https://www.linuxfoundation.org/blog/why-do-enterprises-use-and-contribute-to-open-source-software/"
[#]: collector: "lkxed"
-[#]: translator: " "
+[#]: translator: "aREversez"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@@ -97,7 +97,7 @@ via: https://www.linux.com/news/why-do-enterprises-use-and-contribute-to-open-so
作者:[Dan Whiting][a]
选题:[lkxed][b]
-译者:[译者ID](https://github.com/译者ID)
+译者:[aREversez](https://github.com/aREversez)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/sources/talk/20220609 SSL Certificates- Make the Right Choice.md b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md
new file mode 100644
index 0000000000..7f66bd67f9
--- /dev/null
+++ b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md
@@ -0,0 +1,120 @@
+[#]: subject: "SSL Certificates: Make the Right Choice"
+[#]: via: "https://www.opensourceforu.com/2022/06/ssl-certificates-make-the-right-choice/"
+[#]: author: "Jitendra Bhojwani https://www.opensourceforu.com/author/jitendra-bhojwani/"
+[#]: collector: "lkxed"
+[#]: translator: " "
+[#]: reviewer: " "
+[#]: publisher: " "
+[#]: url: " "
+
+SSL Certificates: Make the Right Choice
+======
+Increasingly sophisticated techniques are being used to hack into data today. So it has become extremely important to use even better ways to protect your customers’ data. SSL certification is one such way. This article looks at the different types of SSL certificates and how to choose one that suits your organisation.
+
+![SSL-certificate][1]
+
+*Increasingly sophisticated techniques are being used to hack into data today. So it has become extremely important to use even better ways to protect your customers’ data. SSL certification is one such way. This article looks at the different types of SSL certificates and how to choose one that suits your organisation.*
+
+SSL certificates are an apt solution for securing data in transit. They create an automated mechanism to encrypt the transfer of data between the server and browser (or site and visitor). This encryption can only be decrypted by the intended system. So it discourages hackers from stealing data, and offers complete security against transit attacks on it.
+
+Along with securing communication, SSL certificates also build trust with customers and help you emerge as a credible business by displaying virtual trust icons like a padlock, HTTPS prefix, and a green address bar. So let’s learn about the major types of SSL certificates and how to choose the one that works best for you.
+
+### SSL certificate options: Similarities and differences
+
+Let’s first discuss the basic similarity all SSL certificates share. Regardless of their type, price and scope, every SSL certificate encrypts the to-and-fro communication between the site’s server and the Internet browser of your visitor.
+
+The difference lies in the terms and conditions of the validation process and the number of domains/subdomains it covers, etc. Proceeding to purchase an SSL certificate without first reviewing your present and future needs may result in costly mistakes, and you may end up paying a hefty amount for advanced features that are irrelevant to your business. Or you may get tempted to buy a cheap certificate that isn’t a perfect fit for your business needs.
+Due to the crucial role it plays, an SSL certificate is issued by an official certificate authority after a thorough verification procedure to confirm the legitimacy of ownership. So, this certificate not only encrypts the communication between websites and audiences, but also ensures the legal position of a site. It plays a vital role in building trust.
+
+As you have now understood why we need a SSL certificate, we can discuss the different types of popular SSL certificates, along with their benefits and issuance procedures.
+
+### Domain validation (DV) SSL certificate
+
+The most basic of the three types of SSL certificates, the DV or domain validation certificate confirms the ownership of a domain through an automated online process. All you have to do is to complete a few basic steps to prove that you are the legitimate owner of the domain to get this certificate. Though easiest to get, this type of certificate helps in building only a basic level of trust.
+
+After completing the DV certification procedure, you are allocated trust-building visual elements — a static seal, a padlock icon, and an HTTPS prefix in your URL.
+
+Cheapest prices and quick, automated processes are the two major benefits of a DV certificate. On the flip side, you get only the basic trust signs that aren’t enough to satisfy the security concerns of more demanding customers or visitors.
+
+*Important to know:* DV misses the most important trust sign — vetting the real, legal business that owns the domain name. For instance, suppose Mr X buys a domain ‘abc.com’ to lure gullible people into investing money in a business that seems genuine. Being a legitimate domain owner, he can get a DV through an automated process. With HTTPS URLs and other trust signs, it is easy to gain people’s trust too. However, the company (or fraud mechanism) behind this domain isn’t vetted/verified, which makes it easier for Mr X to continue duping investors of their hard-earned money.
+
+Is DV SSL the right choice for you?: DV is best for a small and general website, which doesn’t demand or require any sensitive information that can be misused like credit card numbers, social security information, or details of a financial portfolio. For websites that post children’s stories, general e-magazines, personal blogs, professional portfolios, and other static websites on general topics, a DV certificate is a perfect and cheap solution. Securing more mission-critical sites that collect sensitive data like credit card numbers and social security details is a different story though.
+
+### Organisation validation (OV) SSL certificate
+
+As the name suggests, the OV certificate not only validates the domain ownership but also vets the real identity of the organisation to which the domain officially belongs. It builds an extra layer of trust for visitors who have stronger concerns, by displaying the key information about the business. Interested visitors just need to check the details of the certificate to ascertain the credibility of the company.
+
+As compared to a DV certificate, an OV certification requires a more detailed process carried out by an authorised certificate authority that demands and vets key documents representing the legal status of the company. Hence, along with domain ownership, this certificate also assures that it is owned by a legitimate organisation.
+
+Though the issuance process is more expensive and demanding, this type of certificate does empower you to position your company as a legal, real company doing legitimate business. It makes you stand out and even more concerned visitors are able to trust your organisation.
+
+Is OV the right choice for you?: Sites that ask for sensitive data that can be misused by threat actors should obtain this certificate. E-commerce sites with online payment gateways, digital health practitioners, government websites that demand citizens’ information, defence-related websites, online trading platforms, or professional networking sites are all the right candidates for obtaining an OV certificate.
+
+### Extended validation (EV) SSL certificate
+
+In the digital domain, visuals matter a lot. A company seal, security icons, or even assuring colours (like green) can go a long way in leaving a lasting impression, winning you a big deal or helping you forge business relations with dynamic brands.
+
+The vetting procedure for issuing an EV SSL certificate is quite stringent and involves a manual process as well. It starts by verifying the ownership of the domain. After that, the certification authority asks for your identification number. Next, it gets your legal working contact number from relevant authentic sources. That contact number is manually verified by calling your office and talking with the real person. Only after satisfying all such verification parameters can you get the EV certificate.
+
+Unlike an OV certificate, you don’t just get a static site seal with a basic look, but get dynamic seals as well. Additionally, the full legal company name is displayed in the address bar along with a green-coloured padlock. Added to this, the entire address bar turns green as soon as your site loads. All these visible signs vouch for the legality of your firm, build a ‘visual comfort zone’ and reaffirm the credibility of your organisation.
+
+Such certificates satisfy the sophisticated digital security vetting parameters of global brands and corporate conglomerates. If highly expensive items like gold and diamond jewellery are being sold on a website, then such superior trust factors satisfy the higher trust demands of buyers. Though this certificate is the most expensive among all the SSL certificates, it is worth investing in the extra dollars as it has the potential to significantly boost your sales revenue.
+
+### Scope of different SSL certificates
+
+Apart from the type of certificate, the other crucial question is: how many digital properties you want your certificate to cover? If you own a single domain property and do not want to expand in the foreseeable future, then a single DV would do for you. But what if you own, say, 20 different domains — most of which deal with e-commerce or collect sensitive client information? It wouldn’t be practical to buy the more expensive EV certificate for each of these domains. Here is some guidance on that.
+
+### Wildcard SSL certificate
+
+With a single wildcard SSL certificate you can protect the main domain and practically unlimited sub-domains related to it. For instance, yoursite.com (the main domain) may have three subdomains:
+
+* mail.yoursite.com
+* login.yoursite.com
+* ftp.yoursite.com
+
+This certificate relieves you from the stress and expenses of purchasing a separate certificate for every domain after going through the complete validation process, followed by an installation process for each. It also saves you a lot of time on repetitive processes and almost eliminates potential errors.
+
+| - |
+| :- |
+| Note: Both DV and OV offer wildcard certificate options. |
+
+### Multi-domain (or SAN SSL) certificate
+
+One level above the wildcard SSL certificate is the multi-domain certificate, which helps to secure primary domains and their related subdomains. It does everything that a wildcard certificate can do, and more. If you own multiple domains and want a uniform and standard SSL security for all, then a multi-domain certificate is the right choice for you.
+
+### Is SSL certification only about visual trust signs?
+
+Obviously, when you spend significant money on an SSL certificate you would like to get more than security icons or trust signals. Well, your certification authority does offer a specific amount of warranty or a payback if your customers become victims of a fraud. The amount of this warranty depends upon the type of certificate and how much it costs.
+
+### How to choose the ideal certificate authority (CA) for SSL
+
+The next question is: who can judge the judge? It is you. Carefully consider some of the prime factors while finding the right SSL certificate provider/CA for your site. Before buying any certificate, thoroughly vet the reputation, credentials and experience of the certificate authority.
+
+Also, ask questions. Do they have a credible history? What type of customers do they have in their repertoire? Do they have an impressive portfolio of regular customers? Most importantly, is the company passively following old industry standards, or is it actively investing in research and development on how to prevent the latest cyber frauds? All such questions will help you to make informed decisions and get the best value for your money.
+
+Also make another very important check: Has any major browser banned the CA? The very objective of the SSL certificate is defeated if the CA has been banned by a major browser.
+
+### How long does it take for an SSL certificate to be issued?
+
+The time taken to issue a certificate varies and depends upon the validation procedure and its requirements. A DV certificate, for instance, is issued within minutes as it has the least verification requirements. An OV SSL, with more detailed vetting requirements, can take up to three days for issuance. Since it has the most demanding vetting process, the EV certificate can take up to four days for issuance.
+
+The validation period of the certificate, along with its credibility and scope, plays an important role in influencing its price. It is always best to use your discretion, and find a fine balance between the price and value of the certificate.
+
+A few reputed SSL certificates go the extra mile and also offer extra security measures to customers. You can never be secure enough on a digital platform. So it is always best to see if such additional security elements will be helpful. However, your prime focus should be the credibility and portfolio of the company. It isn’t wise to compromise with that just to get some extra security elements.
+
+SSL certificates encrypt the data and information that customers share with organisations. They help to save customers from data theft and misuse by threat actors. But it’s always advisable to check the credibility and reviews of a certificate authority carefully before buying a SSL certificate from it.
+
+--------------------------------------------------------------------------------
+
+via: https://www.opensourceforu.com/2022/06/ssl-certificates-make-the-right-choice/
+
+作者:[Jitendra Bhojwani][a]
+选题:[lkxed][b]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]: https://www.opensourceforu.com/author/jitendra-bhojwani/
+[b]: https://github.com/lkxed
+[1]: https://www.opensourceforu.com/wp-content/uploads/2022/05/SSL-certificate.jpg
diff --git a/sources/tech/20210319 Create a countdown clock with a Raspberry Pi.md b/sources/tech/20210319 Create a countdown clock with a Raspberry Pi.md
index bc376bd374..6b042c6d86 100644
--- a/sources/tech/20210319 Create a countdown clock with a Raspberry Pi.md
+++ b/sources/tech/20210319 Create a countdown clock with a Raspberry Pi.md
@@ -2,7 +2,7 @@
[#]: via: (https://opensource.com/article/21/3/raspberry-pi-countdown-clock)
[#]: author: (Chris Collins https://opensource.com/users/clcollins)
[#]: collector: (lujun9972)
-[#]: translator: ( )
+[#]: translator: ( Donkey-Hao )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
diff --git a/sources/tech/20210503 Learn the Lisp programming language in 2021.md b/sources/tech/20210503 Learn the Lisp programming language in 2021.md
index a1de95ead8..6f73c62d9c 100644
--- a/sources/tech/20210503 Learn the Lisp programming language in 2021.md
+++ b/sources/tech/20210503 Learn the Lisp programming language in 2021.md
@@ -1,83 +1,79 @@
-[#]: subject: (Learn the Lisp programming language in 2021)
-[#]: via: (https://opensource.com/article/21/5/learn-lisp)
-[#]: author: (Seth Kenlon https://opensource.com/users/seth)
-[#]: collector: (lujun9972)
-[#]: translator: ( )
-[#]: reviewer: ( )
-[#]: publisher: ( )
-[#]: url: ( )
+[#]: subject: "Learn the Lisp programming language in 2021"
+[#]: via: "https://opensource.com/article/21/5/learn-lisp"
+[#]: author: "Seth Kenlon https://opensource.com/users/seth"
+[#]: collector: "lkxed"
+[#]: translator: " "
+[#]: reviewer: " "
+[#]: publisher: " "
+[#]: url: " "
-Learn the Lisp programming language in 2021
+Let's learn the Lisp programming language
======
-A lot of Lisp code lurks inside big codebases, so it's smart to get
-familiar with the language.
-![Woman sitting in front of her laptop][1]
+A lot of Lisp code lurks inside big codebases, so it's smart to get familiar with the language.
+
+![Women in tech and computing][1]
+
+Image by: kris krüg
Lisp was invented in 1958, which makes it the second-oldest computer programming language. It has spawned several modern derivatives, including Common Lisp, Emacs Lisp (Elisp), Clojure, Racket, Scheme, Fennel, and GNU Guile.
-People who love thinking about the design of programming languages often love Lisp because of how its syntax and data share the same structure: Lisp code is essentially a list of lists, and its name is an acronym for _LISt Processing_. People who love thinking about the aesthetics of programming languages often hate Lisp because of its frequent use of parentheses for scoping; in fact, it's a common joke that Lisp stands for _Lots of Irritating Superfluous Parentheses_.
+People who love thinking about the design of programming languages often love Lisp because of how its syntax and data share the same structure: Lisp code is essentially a list of lists, and its name is an acronym for *LISt Processing*. People who love thinking about the aesthetics of programming languages often hate Lisp because of its frequent use of parentheses for scoping; in fact, it's a common joke that Lisp stands for *Lots of Irritating Superfluous Parentheses*.
Whether you love or hate its design philosophies, Lisp is an interesting glimpse at the past and, thanks to Clojure and Guile, into the future. You might be surprised how much Lisp code there is lurking within big codebases in any given industry, so it's a good idea to have at least a passing familiarity with the language.
### Install Lisp
-There are many implementations of Lisp. Popular open source versions include [SBCL][2] and [GNU Common Lisp][3] (GCL). You can install either of these with your distribution's package manager.
+There are many implementations of Lisp. Popular open source versions include [SBCL][2], [GNU Lisp][3], and [GNU Common Lisp][4] (GCL). You can install any of these with your distribution's package manager, but for this article I use `clisp`.
On Fedora Linux:
-
```
-`$ sudo dnf install gcl`
+$ sudo dnf install clisp
```
On Debian:
-
```
-`$ sudo apt install gcl`
+$ sudo apt install clisp
```
-For macOS, you can use [MacPorts][4] or [Homebrew][5]:
-
+For macOS, you can use [MacPorts][5] or [Homebrew][6]:
```
-`$ sudo port install gcl`
+$ sudo port install clisp
```
-For Windows, download a binary from [gnu.org/software/gcl][6].
+For Windows, you can either use [clisp on Cygwin][7] or download a GCL binary from [gnu.org/software/gcl][8].
-For this article, I'm using GCL and its `clisp` command, but most of the principles apply to any Lisp.
+Even though I'm using the `clisp` command, most of the principles in this article apply to any Lisp. Should you choose to use a different Lisp implementation, the command to run Lisp code is different from what I use in this article (`gcl` or `sbcl` instead of `clisp`, for example) but everything else is the same.
### List processing
-The basic unit of Lisp source code is an _expression_, which is written as a list. For instance, this is a list of an operator (`+`) and two integers (`1` and `2`):
-
+The basic unit of Lisp source code is an *expression*, which is written as a list. For instance, this is a list of an operator (`+` ) and two integers (`1` and `2` ):
```
-`(+ 1 2)`
+(+ 1 2)
```
-It's also a Lisp expression, using a symbol (`+`) that evaluates to a function (addition) and two arguments (`1` and `2`). You can run this expression and others in an interactive Common Lisp environment called REPL (read-eval-print loop). If you're familiar with Python's IDLE, Lisp's REPL should feel somewhat familiar to you.
+It's also a Lisp expression, using a symbol (`+` ) that evaluates to a function (addition) and two arguments (`1` and `2` ). You can run this expression and others in an interactive Common Lisp environment called REPL (read-eval-print loop). If you're familiar with Python's IDLE, Lisp's REPL should feel somewhat familiar to you.
To launch a REPL, launch Common Lisp:
-
```
$ clisp
-[1]>
+[1]>
```
At the REPL prompt, type a few expressions:
-
```
-[1]> (+ 1 2)
+[1]> (+ 1 2)
3
-[2]> (- 1 2)
+[2]> (- 1 2)
-1
-[3]> (- 2 1)
+[3]> (- 2 1)
1
-[4]> (+ 2 3 4)
+[4]> (+ 2 3 4)
9
```
@@ -85,109 +81,100 @@ At the REPL prompt, type a few expressions:
Now that you know the basic structure of a Lisp expression, you can utilize Lisp functions in useful ways. The `print` function takes any argument you provide and displays it on your terminal, while the `pprint` function "pretty" prints it. There are other variations on the print function, but `pprint` is nice in REPL:
-
```
-[1]> (pprint "hello world")
+[1]> (pprint "hello world")
"hello world"
-[2]>
+[2]>
```
You can create your own functions with `defun`. The `defun` function requires a name for your function and any parameters you want your function to accept:
-
```
-[1]> (defun myprinter (s) (pprint s))
+[1]> (defun myprinter (s) (pprint s))
MYPRINTER
-[2]> (myprinter "hello world")
+[2]> (myprinter "hello world")
"hello world"
-[3]>
+[3]>
```
### Variables
-You can create variables in Lisp with `setf`:
-
+You can create variables in Lisp with `setf` :
```
-[1]> (setf foo "hello world")
+[1]> (setf foo "hello world")
"hello world"
-[2]> (pprint foo)
+[2]> (pprint foo)
"hello world"
-[3]>
+[3]>
```
You can nest expressions within expressions in a kind of pipeline. For instance, you can pretty print the contents of your variable after invoking the `string-upcase` function to convert its characters to uppercase:
-
```
-[3]> (pprint (string-upcase foo))
+[3]> (pprint (string-upcase foo))
"HELLO WORLD"
-[4]>
+[4]>
```
Lisp is dynamically typed in the sense that you don't have to declare variable types when setting them. Lisp treats integers as integers by default:
-
```
-[1]> (setf foo 2)
-[2]> (setf bar 3)
-[3]> (+ foo bar)
+[1]> (setf foo 2)
+[2]> (setf bar 3)
+[3]> (+ foo bar)
5
```
If you intend for an integer to be interpreted as a string, you can quote it:
-
```
-[4]> (setf foo "2")
-"2"
-[5]> (setf bar "3")
+[4]> (setf foo "2")
+"2"
+[5]> (setf bar "3")
"3"
-[6]> (+ foo bar)
+[6]> (+ foo bar)
*** - +: "2" is not a number
The following restarts are available:
USE-VALUE :R1 Input a value to be used instead.
ABORT :R2 Abort main loop
-Break 1 [7]>
+Break 1 [7]>
```
In this sample REPL session, both `foo` and `bar` are set to quoted numbers, so Lisp interprets them as strings. Math operators can't be used on strings, so REPL drops into a debugger mode. To get out of the debugger, press **Ctrl+D** on your keyboard.
-You can do some introspection on objects using the `typep` function, which tests for a specific data type. The tokens `T` and `NIL` represent _True_ and _False_, respectively.
-
+You can do some introspection on objects using the `typep` function, which tests for a specific data type. The tokens `T` and `NIL` represent *True* and *False*, respectively.
```
-[4]> (typep foo 'string)
+[4]> (typep foo 'string)
NIL
-[5]> (typep foo 'integer)
+[5]> (typep foo 'integer)
T
```
-The single quote (`'`) before `string` and `integer` prevents Lisp from (incorrectly) evaluating those keywords as variables:
-
+The single quote (`'` ) before `string` and `integer` prevents Lisp from (incorrectly) evaluating those keywords as variables:
```
-[6]> (typep foo string)
+[6]> (typep foo string)
*** - SYSTEM::READ-EVAL-PRINT: variable STRING has no value
[...]
```
It's a shorthand way to protect the terms, normally done with the `quote` function:
-
```
-[7]> (typep foo (quote string))
+[7]> (typep foo (quote string))
NIL
-[5]> (typep foo (quote integer))
+[5]> (typep foo (quote integer))
T
```
@@ -195,19 +182,17 @@ T
Unsurprisingly, you can also create lists in Lisp:
-
```
-[1]> (setf foo (list "hello" "world"))
+[1]> (setf foo (list "hello" "world"))
("hello" "world")
```
Lists can be indexed with the `nth` function:
-
```
-[2]> (nth 0 foo)
+[2]> (nth 0 foo)
"hello"
-[3]> (pprint (string-capitalize (nth 1 foo)))
+[3]> (pprint (string-capitalize (nth 1 foo)))
"World"
```
@@ -216,19 +201,17 @@ Lists can be indexed with the `nth` function:
To end a REPL session, press **Ctrl+D** on your keyboard, or use the `quit` keyword in Lisp:
-
```
-[99]> (quit)
+[99]> (quit)
$
```
### Scripting
-Lisp can be compiled or used as an interpreted scripting language. The latter is probably the easiest option when you're starting, especially if you're already familiar with Python or [shell scripting][7].
+Lisp can be compiled or used as an interpreted scripting language. The latter is probably the easiest option when you're starting, especially if you're already familiar with Python or [shell scripting][9].
Here's a simple dice roller script written in GNU Common Lisp:
-
```
#!/usr/bin/clisp
@@ -241,26 +224,24 @@ Here's a simple dice roller script written in GNU Common Lisp:
(roller userput)
```
-The first line tells your [POSIX][8] terminal what executable to use to run the script.
+The first line tells your [POSIX][10] terminal what executable to use to run the script.
The `roller` function, created with `defun`, uses the `random` function to print a pseudo-random number up to, and not including, the zeroth item of the `num` list. The `num` list hasn't been created yet in the script, but the function doesn't get executed until it's called.
The next line assigns any argument provided to the script at launch time to a variable called `userput`. The `userput` variable is a list, and it's what becomes `num` once it's passed to the `roller` function.
-The penultimate line of the script starts a _random seed_. This provides Lisp with enough entropy to generate a mostly random number.
+The penultimate line of the script starts a *random seed*. This provides Lisp with enough entropy to generate a mostly random number.
The final line invokes the custom `roller` function, providing the `userput` list as its sole argument.
Save the file as `dice.lisp` and mark it executable:
-
```
-`$ chmod +x dice.lisp`
+$ chmod +x dice.lisp
```
Finally, try running it, providing it with a maximum number from which to choose its random number:
-
```
$ ./dice.lisp 21
@@ -275,9 +256,11 @@ $ ./dice.lisp 21
Not bad!
+You may notice that your emulated die has a pontential value of 0, and never reaches the maximum number you provide to it as an argument. In other words, this script never rolls 20 on a 20-sided die (unless you count 0 as 20). There's a simple fix to this, and you only need the knowledge gained from this article to do it. Can you fix this bug?
+
### Learn Lisp
-Whether you can imagine using Lisp as a utilitarian language for personal scripts, to advance your career, or just as a fun experiment, you can see some particularly inventive uses at the annual [Lisp Game Jam][9] (most submissions are open source, so you can view the code to learn from what you play).
+Whether you can imagine using Lisp as a utilitarian language for personal scripts, to advance your career, or just as a fun experiment, you can see some particularly inventive uses at the annual [Lisp Game Jam][11] (most submissions are open source, so you can view the code to learn from what you play).
Lisp is a fun and unique language with an ever-growing developer base and enough historic and emerging dialects to keep programmers from all disciplines happy.
@@ -286,20 +269,22 @@ Lisp is a fun and unique language with an ever-growing developer base and enough
via: https://opensource.com/article/21/5/learn-lisp
作者:[Seth Kenlon][a]
-选题:[lujun9972][b]
+选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/seth
-[b]: https://github.com/lujun9972
-[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_women_computing_4.png?itok=VGZO8CxT (Woman sitting in front of her laptop)
+[b]: https://github.com/lkxed
+[1]: https://opensource.com/sites/default/files/lead-images/OSDC_women_computing_4.png
[2]: http://sbcl.org
-[3]: https://www.gnu.org/software/gcl/
-[4]: https://opensource.com/article/20/11/macports
-[5]: https://opensource.com/article/20/6/homebrew-linux
-[6]: http://mirror.lagoon.nc/gnu/gcl/binaries/stable
-[7]: https://opensource.com/article/20/4/bash-programming-guide
-[8]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains
-[9]: https://itch.io/jam/spring-lisp-game-jam-2021
+[3]: http://clisp.org
+[4]: https://www.gnu.org/software/gcl/
+[5]: https://opensource.com/article/20/11/macports
+[6]: https://opensource.com/article/20/6/homebrew-linux
+[7]: https://cygwin.fandom.com/wiki/Clisp
+[8]: http://mirror.lagoon.nc/gnu/gcl/binaries/stable
+[9]: https://opensource.com/article/20/4/bash-programming-guide
+[10]: https://opensource.com/article/19/7/what-posix-richard-stallman-explains
+[11]: https://itch.io/jam/spring-lisp-game-jam-2021
diff --git a/sources/tech/20210722 Write your first JavaScript code.md b/sources/tech/20210722 Write your first JavaScript code.md
deleted file mode 100644
index d02ca214cd..0000000000
--- a/sources/tech/20210722 Write your first JavaScript code.md
+++ /dev/null
@@ -1,204 +0,0 @@
-[#]: subject: (Write your first JavaScript code)
-[#]: via: (https://opensource.com/article/21/7/javascript-cheat-sheet)
-[#]: author: (Seth Kenlon https://opensource.com/users/seth)
-[#]: collector: (lujun9972)
-[#]: translator: ( )
-[#]: reviewer: ( )
-[#]: publisher: ( )
-[#]: url: ( )
-
-Write your first JavaScript code
-======
-JavaScript was created for the web, but it can do so much more. Learn
-the basics, then download our cheat sheet so you always have the details
-at hand.
-![Code with javascript on white background][1]
-
-JavaScript is a programming language full of pleasant surprises. Many people first encounter JavaScript as a language for the web. There's a JavaScript engine in all the major browsers, there are popular frameworks such as JQuery, Cash, and Bootstrap to help make web design easier, and there are even programming environments written in JavaScript. It seems to be everywhere on the internet, but it turns out that it's also a useful language for projects like [Electron][2], an open source toolkit for building cross-platform desktop apps with JavaScript.
-
-JavaScript is a surprisingly multipurpose language with a wide assortment of libraries for much more than just making websites. Learning the basics of the language is easy, and it's a gateway to building whatever you imagine.
-
-### Install JavaScript
-
-As you progress with JavaScript, you may find yourself wanting advanced JavaScript libraries and runtimes. When you're just starting, though, you don't have to install JavaScript at all. All major web browsers include a JavaScript engine to run the code. You can write JavaScript using your favorite text editor, load it into your web browser, and see what your code does.
-
-### Get started with JavaScript
-
-To write your first JavaScript code, open your favorite text editor, such as [Notepad++][3], [Atom][4], or [VSCode][5]. Because it was developed for the web, JavaScript works well with HTML, so first, just try some basic HTML:
-
-
-```
-<[html][6]>
- <[head][7]>
- <[title][8]>JS</[title][8]>
- </[head][7]>
- <[body][9]>
- <[p][10] id="example">Nothing here.</[p][10]>
- </[body][9]>
-</[html][6]>
-```
-
-Save the file, and then open it in a web browser.
-
-![HTML displayed in browser][11]
-
-(Seth Kenlon, [CC BY-SA 4.0][12])
-
-To add JavaScript to this simple HTML page, you can either create a JavaScript file and refer to it in the page's `head` or just embed your JavaScript code in the HTML using the `
+
+