Rust 基础系列 #1: 创建并运行你的首个 Rust 程序

我觉得,任何一种编程语言都有它的用途,不应该分好分坏,每个语言都有它的特长跟缺点,就跟人一样,(php是世界上最好的语言 [狗头])

你以为编程语言是你想怎么设计就怎么设计的吗？有门学科叫编程语言理论，中国好像没开设这方面的专业，还有人体工程学在编程语言设计上的作用。现存古老语言的流行更多是生态，它们的设计在今天看来是糟糕的，但是勉强可用，比如js这门垃圾，需要我们学习大量的最佳实践和使用相关工具去避免使用错误的语言特性，不要你学习并习惯了这些不好的语言就不加思考的认为语言本该如此，更不必为他们辩护。

你说js是垃圾！我非常同意你的看法

# Rust 基础系列 #1: 创建并运行你的首个 Rust 程序

>
> 在 Rust 编程系列的第一篇中，你将学习如何用 Rust 编写和执行你的第一个程序。
>
>
>

Rust 是最快风靡开发者和科技公司的系统编程语言之一。日常使用它的开发者将其评为**最受欢迎的编程语言**之一，而它 [已经连续七年获此殊荣了](https://survey.stackoverflow.co/2022/?ref=itsfoss.com#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages)！

它是如此的受欢迎，以致于现在有两股巨大的推力将其带入 Linux 生态系统中：

* [将 Rust 作为 Linux 内核的二级支持语言](https://news.itsfoss.com/linux-kernel-6-1-release/?ref=itsfoss.com)
* System76 [正在使用 Rust 重写他们自己的桌面环境](https://news.itsfoss.com/pop-os-cosmic-rust/?ref=itsfoss.com)

而这还仅仅是在 Linux 生态系统中。安卓上的蓝牙软件 [Gabeldorsche](https://android.googlesource.com/platform//system/bt/+/83498aa554aea220fcff30b6310a0a7b4557969f/gd/rust/linux/stack/src/bluetooth.rs?ref=itsfoss.com) 现在也是由 Rust 编写的。

你是否也看到了 Rust 的流行趋势？那么你或许也想学习使用 Rust 进行编程。

### 为什么你要考虑 Rust 而不是其他编程语言？

首先，Rust 是一门 **类型安全的编程语言** 并且 **拥有极其严格的编译期检查**。因此，你首先会 “被迫” 写不出不安全的代码（好吧，通常是这样）。

Rust 编程语言有以下 “目标”：

* **性能**：Rust 的二进制文件和 C 语言的二进制文件一样快，有时甚至超过了 C++ 的二进制文件！
* **内存安全**：Rust 非常重视内存安全。
* **并发性**：对内存安全的关注消除了很多类似竞争的情况，并帮助你在程序中无畏并发。

以下是在 C/C++ 等语言中可能犯的一些错误（但 Rust 不会）：

* 释放后使用
* 双重释放
* 越界访问
* 使用 `NULL`
* 不适当的指针运算或访问
* 使用未经初始化的变量
* 线程不安全的多线程

看看 [苹果](https://langui.sh/2019/07/23/apple-memory-safety/?ref=itsfoss.com)、[微软](https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/?ref=itsfoss.com)、[谷歌](https://security.googleblog.com/2019/05/queue-hardening-enhancements.html?ref=itsfoss.com) 等大公司因这类 [0day](https://docs.google.com/spreadsheets/d/1lkNJ0uQwbeC1ZTRrxdtuPLCIl7mlUreoKfSIgajnSyY/view?ref=itsfoss.com#gid=1190662839) 错误而引起的问题吧。

现在你可能知道了为什么要选择 Rust 语言而不是其他编程语言，让我们开始学习 Rust 语言的系列教程吧！

### 目标受众

出于对 Rust 的热爱，我写了这个系列的 Rust 教程，帮助你熟悉 Rust 编程的概念。

这个教程系列是为已经熟悉 C 和 C++ 等编程语言的人准备的。我假设你已经知道了 *变量*、*函数*、*循环* 等基本术语。

我对你的唯一要求是你不懈的坚持与努力。

### 安装 Rust 工具链

我希望你能在本地安装 [Rust 工具链](https://itsfoss.com/install-rust-cargo-ubuntu-linux/)。你可以通过运行以下命令来做到这一点： （LCTT 译注：如果你使用 Linux 发行版，请不要直接安装软件源里的 Rust 工具链，尽管这样看起来很便捷。）

```
curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh

```

除了 Rust 基本工具链，我还建议再安装一些工具，这些工具将在开发过程中帮助你：

```
rustup component add rust-src rust-analyzer rust-analysis

```

你还需要 [安装 gcc](https://learnubuntu.com/install-gcc/?ref=itsfoss.com)。否则，你可能会遇到“链接器 `cc` 未找到”的错误。该软件包在不同的发行版中都被称为 gcc。

在 Ubuntu 和 Debian 上使用：

```
sudo apt install gcc

```

>
> ? 如果你不希望在本地安装 Rust 工具链，不用担心。你还可以直接在你的浏览器中运行 Rust 代码！只要到 [Rust 试验场](https://play.rust-lang.org/?ref=itsfoss.com) 并把所讨论的代码粘贴在那里。
>
>
>

### Hello Rust!

自从 <ruby> 丹尼斯·里奇 <rt>  Dennis Ritchie </rt></ruby> 和 <ruby> 布莱恩・柯林汉 <rt>  Brian Kernighan </rt></ruby> 用 “Hello World” 程序介绍了 C 语言后，在 UNIX 世界里，你学习的任何新编程语言第一步都这样做，这已经成为一种习惯。

因此，让我们也用 Rust 编写我们的 Hello World 程序。

我将在我的家目录里 [新建一个项目目录](https://itsfoss.com/make-directories/) 叫做 `learn-rust-its-foss`。然后，在这里我将新建一个叫 `hello-world` 的目录。最后，在里面新建 `main.rs` 文件：

```
// 这串代码将打印字符
// "Hello world!" 将被打印到 `标准输出`

fn main() {
    println!("Hello world!");
}

```

>
> ? 就像 C、C++ 和 Java 源代码文件相应的扩展名是 `.c`、`.cpp` 和 `.java`，Rust 的源文件扩展名是 `.rs`。
>
>
>

作为一个 C/C++ 程序员，你可能已经在 [Linux 上使用 GCC](https://learnubuntu.com/install-gcc/?ref=itsfoss.com)，在 macOS 上使用 `Clang`，在 Windows 上使用 MSVC。但是为了编译 Rust 代码，该语言的创造者自己提供了一个官方的 `rustc` 编译器。

运行 Rust 程序和 [执行 C/C++ 程序](https://itsfoss.com/run-c-program-linux/) 是一样的。你首先编译代码，然后得到可执行文件，最后再运行这个可执行文件从而来运行代码。

```
$ ls
main.rs

$ rustc main.rs

$ ls
main  main.rs

$ ./main
Hello world!

```

很好！

### 解读 Rust 代码

现在你已经编写、编译并运行了你的第一个 Rust 程序，让我们对 “Hello World” 的代码进行解读，并理解每一部分。

```
fn main() {
}

```

`fn` 关键字用来在 Rust 中声明一个函数。在它后面 `main` 是这个被声明函数的名字。像许多编译型编程语言一样，`main` 是一个特殊的函数，用来作为你的程序的入口。

任何写在 `main` 函数里的代码（在大括号 `{` `}` 之间）将在程序被启动时运行。

#### println 宏

在 `main` 函数中, 有一个语句（LCTT 译注：“语句” 区别于 “表达式”）:

```
println!("Hello world!");

```

就像 C 语言的标准库有 `printf` 函数一样，Rust 语言的标准库有 `println` **宏**。宏类似于函数，但它以**感叹号**（`!`）来区分。你将在本系列的后面学习宏和函数的知识。

`println` 宏接收一个格式化的字符串，并把它放到程序的标准输出中（在我们的例子中，就是终端）。由于我希望输出一些文本而不是一个变量，我将把文本放在双引号（`"`）内。最后，我用一个分号来结束这个语句，表示语句的结束。

>
> ? 你只需知道，任何看起来像函数调用但在开头括号前有感叹号的东西，就是 Rust 编程语言中的一个宏。
>
>
>

#### 注释

Rust 遵循已知的 C 编程语言的注释风格。单行注释以两个正斜杠（`//`）开始，多行注释以 `/*` 开始，以 `*/` 结束。

```
// 这是一个多行注释
// 但是没有什么阻止你在
// 第二行或第三行也这样写

/*
 * 这是一个“真•多行注释”
 * 它看起来比较漂亮
 */

```

### 总结

你刚刚通过 Hello World 程序迈出了用 Rust 写代码的第一步。

作为一种练习，也许你可以编写并执行一个打印出 `Yes! I did Rust` 的 Rust 程序。

在本系列的下一部分中，你将学习在 Rust 程序中使用变量。敬请期待！

*（题图：MJ:computer sci-fi ,code secure ,"rust" ,gold blue slive ,background dark, high resolution super detailed）*

---

via: <https://itsfoss.com/rust-introduction/>

作者：[Pratham Patel](https://itsfoss.com/author/pratham/) 选题：[lkxed](https://github.com/lkxed/) 译者：[mcfd](https://github.com/mcfd) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #967 带有自由固件的 Thinkpad

Summary:
? 带有自由固件的 Thinkpad
? Twitter 开源的代码被发现“安全漏洞”
? 使用钻石延长量子网络通讯距离
»
»

Libreboot 比现有的 bios 好在哪里？

启动速度快

除了 Minifree, 还有 Technoethical. 可以看看 ryf.fsf.org

more free

# 硬核观察 #967 带有自由固件的 Thinkpad

### 带有自由固件的 Thinkpad

一家英国公司 Minifree 发售装有 Libreboot 固件的旧 Thinkpad，该公司的盈利用来资助 Libreboot 项目。Libreboot 是专有 BIOS/UEFI 固件的自由替代品，“与大多数专有启动固件相比，提供更快的启动速度、更好的安全性和许多高级功能”，如直接在启动闪存中使用 GRUB，以及其他一些定制选项。该笔记本电脑上安装的操作系统是加密的 Debian，有完整的驱动程序支持，加密/启动、签名内核等高级功能均可使用。

>
> **[消息来源：Mini Free](https://minifree.org/)**
>
>
>

>
> 老王点评：虽然这笔记本电脑是老了点，但是都自由啊，而且全球发售。
>
>
>

### Twitter 开源的代码被发现“安全漏洞”

Twitter 开源的推荐代码被安全专家发现一个 ‘影子封杀” 漏洞，并被分配了 CVE 编号。根据 Twitter 的推荐算法对负面行为的处理方式，如取消关注、静音、屏蔽和/或报告目标用户等行为会对该账户施加全局声誉惩罚，这相当于 “允许在没有追索权的情况下影响账户声誉”。这意味着被大规模封杀的账户基本上被 “影子封杀” 了。该漏洞有可能被僵尸网络大军利用。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/07/twitter_code_cve_substack/)**
>
>
>

>
> 老王点评：开源就是放在聚光灯下，所以毫不意外会发现一些原本可能觉得没问题的问题。
>
>
>

### 使用钻石延长量子网络通讯距离

科学家们已经实现了短距离的量子通讯，它使用一对纠缠的量子比特来确保在网络上传输的流量是安全的。任何试图破坏密钥的行为都会导致量子状态崩溃，这被视为 “不可破解” 的网络。但跨越更远的距离，仍然是一个挑战。中继信号的中继器本质上也是一台微小的量子计算机。Amazon 的科学家们发现，钻石中的缺陷，那些颜色中心，是一个非常有希望的量子存储器和中继器平台。这不仅是在理论上可行，而且已经在学术实验室中展示过了。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/06/amazon_quantum_networks_diamonds/)**
>
>
>

>
> 老王点评：果然是量子计算，用的都是贵的。
>
>
>


一个更好的视频码头

Summary: 之前，我在写 有关 embark 的内容，我的第一设备为启动远程视频流设计了一个新的 embark。

# 一个更好的视频码头

<img src="content_image/album_202304_11_150233vzkt1tute4i4oemg.jpg" alt="" title="">

之前，[我在写](https://jao.io/blog/2021-01-09-embarking-videos.html) 有关 [embark](https://github.com/oantolin/embark) 的内容，我的第一设备为启动远程视频流设计了一个新的 embark。embark 的作者 Omar Antolín Camarena 不仅阅读了这篇内容，还点评了一下我认为值得跟进的一些重大改进。

首先，你应该记得我们曾定义过一个检测视频 URL 的函数：

```
    (defun jao-video-finder ()
      "Check whether we're looking at a video URL.
    Return (video-url . <URL>) if so."
      (when-let ((url (thing-at-point-url-at-point)))
        (when (string-match-p jao-video-url-rx url)
          (cons 'video-url url))))

```

当我们得到了一个非空的 `url` 值，即便它不是一个视频链接，但它仍然是一个确切的 URL，并且 embark 已有了一个 `url` 类别，所以我们可以借助默认的 URL 寻检器存储一个新的句法分析,语句如下：

```
    (when-let ((url (thing-at-point-url-at-point)))
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

```

这里有一个潜在的缺点就是：我们重写了 embark 的寻检器，`embark-target-url-at-point`，所以我们可能更愿意保留后者。

实际上多亏了 embark 的 *目标转换器* 我们才能做成。我们可以在 `embark-transformers-alist` 中添加任意一个函数，应用于任何一个给定类别的目标，而 embark 会将其转换后的值应用于它的操作中。Omar 很贴切地把这个过程称为“目标的精化”;我们具体做法如下：

```
    (defun jao-refine-url-type (url)
      "Refine type of URL in case it is a video."
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

    (add-to-list 'embark-transformer-alist '(url . jao-refine-url-type))

```

通过这种策略，我们就不再需要 `jao-video-finder` 了，而且从概念上来说，我们的 `video-url` 应该被定义为一个精化操作而并非是一个目标 [脚注 1]。Omar 的第二个提议也与这个概念相契合：想必我们都希望所有关于 `url` 和我们的 `video-url` 的操作都是可用的，不是吗？ 唔，这就是为什么我们用来定义行为的 `embark-define-keymap` 的宏可以通过使用关键字 [脚注 2] `:parent` 继承其他键映射中已经定义的所有操作的原因：

```
    (embark-define-keymap jao-video-url-map
      "Actions on URLs pointing to remote video streams."
      :parent embark-url-map
      ("p" jao-play-video-url))

    (add-to-list 'embark-keymap-alist '(video-url . jao-video-url-map))

```

这种继承键映射的功能并非是 embark 的附属功能：vanilla Emacs 键映射通过标准函数 `set-keymap-parent` 已经搞定它了。你可以完全不用 `embark-define-keymap` 来定义 `jao-video-url-map`，工作原理是一样的。

这样，我们的代码就能够更短，特征更多：谢谢你，Omar！

**脚注 1**：在某些情况下，保留 jao-video-finder 是有意义的，即，如果我们想要改变检测 URL 的功能的话。例如，我在使用 emacs-w3m 的时候，经常有一个 URL 作为文本属性储存了起来(实际文本是个链接文本)。要通过那里检索 URL，就需要调用 `w3m-anchor`，而用 `embark-target-url-at-point` 就会错过它。对于这种情况，我最终编写(并使用)`jao-video-finder` 将其通过下文定义:

```
    (when-let ((url (or (w3m-anchor) (thing-at-point-url-at-point))))
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

```

另一种达成同件事情的方式（再次向 Omar 致敬）便是为 w3m 的锚点放置一个特定的巡检器（且继续使用 video-url 的转换器）：

```
    (defun jao-w3m-url-finder ()
      (when-let ((url (w3m-anchor)))
        (cons 'url url)))

    (add-to-list 'embark-target-finders #'jao-w3m-url-finder)

```

这种方法更加模块化，并且取决于你们的喜好，且更加巧妙。这些功能都很小巧并且两种方法之间并没有太大的差别，但是如果其中某一种继续加入更多寻检器的话，前一种方法用起来来反而会让一切变得更糟。

**脚注 2**：在我最开始的例子中，我在视频地图中还添加了 `browse-url` 和 `browse-url-firefox`。前一个已不再重要，因为它已经在 `embark-url-map` 中出现过了，如果我们想让 `browse-url-firefox` 对 *所有* 的 URLs 可用,我们可以将其加入到 `embark-url-map` （谨记，embark 的键映射只是 Emacs 的键映射）。这是另一种扩展 embark 的简便方法。

*（题图：MJ:emacs video geek wallpaper dark plain background Illustration）*

---

via: <https://jao.io/blog/an-even-better-video-wharf.html>

作者：[jao](https://jao.io) 选题：[lujun9972](https://github.com/lujun9972) 译者：[Drwhooooo](https://github.com/Drwhooooo) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


用 Collabora Online 在不同类型的文件间转换

# 用 Collabora Online 在不同类型的文件间转换

>
> 探索 Collabora Online 的互操作性，使文档和电子表格在所有办公套件中兼容。
>
>
>

[Collabora Online](https://www.collaboraoffice.com/) 支持各种各样的文件和格式。不过，这个开源办公套件在互操作性方面的表现如何？本文仔细研究了 Collabora Online 与不同办公套件（如 Microsoft 365 和 Google Workspace）交换复杂文本文档和电子表格的能力。

[Collabora Online](https://opensource.com/article/22/7/open%20source-collabora-online) 是一款适用于云端或内部的开源办公套件，可以保护你的隐私，让你完全控制你的数据。该软件由位于剑桥的 Collabora Productivity Ltd 开发，其团队在世界各地工作。Collabora Online 以 LibreOffice 技术为基础，并主要使用 Mozilla Public License 2.0 许可。

Collabora Online 可以在任何现代网络浏览器中运行，不需要额外的插件或附加组件。它有一个完整的基于云的办公套件，包括一个文字处理器（Writer）、电子表格程序（Calc）、演示软件（Impress）和一个设计矢量图的应用（Draw）。

本文介绍了 Collabora Online 的一些新的互操作性功能，包括宏、动态字体加载和电子表格应用程序的 Sparklines 支持。这些功能扩展了现有的对微软文件格式的出色处理。

### 什么是互操作性，为什么它很重要？

一般来说，互操作性是指不同的设备或应用在一起工作和无缝交换数据的能力。在办公套件的背景下，互操作性主要是指文件格式。用户应该能够打开、编辑和保存 `.doc` 和 `.docx`、`.xls` 和 `.xlsx`、`.odt` 和 `.ods`文件，无论它们是用微软的 Word、苹果的 iWork 还是 LibreOffice 创建。

对于在线办公套件也是如此。通过确保文件可以在 Microsoft 365、Google Workspace 和 Collabora Online 之间交换，互操作性有助于提高生产力和促进协作。所有在线办公套件都可以保存各种格式的文件。它们还可以导入和导出最初在其他办公套件中创建的文档、电子表格和演示文稿。

### 管理宏，确保文件处理顺畅

经常引起问题的是带有宏的文件。它们通常是用特定的编程语言开发的，适用于某个特定的应用。虽然在 Google Sheets 中记录和编辑宏是可能的，但在微软 Office 中用 Visual Basic for Applications（VBA）实现的宏不能被转换，必须用 Google Apps Script 重新创建。打开带有 VBA 宏的 Word 文档会产生错误，并通知用户这些宏将被忽略或禁用。

Collabora Online 支持宏，并在容器内的服务器端运行它们。该功能默认是禁用的，管理员必须在 `coolwsd.xml` 配置文件中明确激活它。之后，用户可以选择在加载文档时允许使用宏。不过，有几个限制。例如，它不可能访问数据库源，访问其他（外部）文件，调用外部程序，使用控制形状，等等。多年来，由于活跃的社区以及客户和合作伙伴的贡献，Collabora Online 支持的代码和对象的数量已经大大增加。

### Collabora Online：动态字体加载

办公套件中互操作性的另一个关键方面是字体。使用含有在特定平台上无法使用的字体的文档，可能会导致错误、意外的格式变化，甚至是内容的完全丢失。

微软 Office 文档经常使用 Google Workspace 或 Collabora Online 中没有的默认字体。为了解决这个问题，办公套件经常建议替换掉缺失的字体。这通常是有用的，但有时会导致不好的结果。

从 22.05.7 版本（2022 年 11 月发布）开始，Collabora Online 可以列出缺失的字体并建议替换。它还可以下载必要的字体并将其添加到服务器上。一切都是动态进行的，而不会停机。新的字体在几分钟内就可以在编辑会话中使用，实现最佳的互操作性。

为了实现这一目标，在文档被渲染的同时，通过 API 追踪丢失字体的信息。一个 JSON 文件存储了需要添加的字体列表。`coolwsd.xml` 文件（服务器端的设置）指向该 JSON 文件。它每分钟检查一次修改情况，并下载缺少的字体。

### 探索 Sparkline：显示电子表格中的数据趋势

Sparkline 是在工作表中单个单元格内的微小图表，它可以将数据的趋势可视化。这些微型图表有不同的风格，包括线、条和柱。Sparkline 还支持不同的颜色和水平/垂直轴。与显示尽可能多的数据并与文本流分开的大型图表不同，Sparkline 被缩减为核心值，通常放在同一单元格中数据本身的旁边或后面。Sparkline 通常是为一个单元格定义的，但也可以将共享相同数据范围和属性的多个 Sparkline 进行分组，以便进行渲染。

Sparkline 是一个紧凑的参考，提供了一个快速的方法来说明趋势、模式、统计异常、增加和减少，同时避免了完整图表的复杂性。下面是一些不同的 Sparkline 类型：

* 线形图： 通过线段从左到右连接各点，对于显示在一定时间内变化的数据特别有用。
* 条形图： 使用水平排列的条形图表示数据，通常用于比较数字数据。
* 柱状图： 是比较一系列数值的理想选择。柱是垂直的，其长度表示数据的相对大小/价值。柱状图经常被用来表示不同类别或群体的数据。

要创建一个 Sparkline，你首先要为该函数定义一个输入数据范围（一列或一行中的两个或多个单元格）。你还可以决定你希望 Sparkline 出现的单元格。在大多数电子表格应用中，你右键点击迷你图表来调整其属性，选择图表类型，并选择颜色。Collabora Online 为此提供了一个单独的对话框，使得改变微型图表的风格变得简单而方便。

在三个线上办公软件之间交换带有 Sparkline 的文件是可能的，不会丢失图表及其格式。如果你想在 Microsoft 365、Google Workspace 和 Collabora Online 之间共享电子表格，请确保使用微软格式的 .xlsx 进行导入和导出，因为 Google Sheets 不能很好地处理 .ods 文件。

### 文件交换很容易

Collabora Online 提供了几个新的互操作性功能，使得与其他办公套件交换文件变得容易。宏程序支持、动态字体加载和 Sparkline 确保了文档的无缝处理，避免了意外的格式变化。使用 Collabora Online 来统一和简化你的办公工作。

***（题图：MJ:Office docs process dark plain background Illustration ）***

---

via: <https://opensource.com/article/23/4/open-source-collabora-online-interoperability>

作者：[Heike Jurzik](https://opensource.com/users/hej) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #968 Twitter 公司“没了”

Summary:
? Twitter 公司“没了”
? 自由撰稿人被 ChatGPT 取代
? 互联网档案馆被起诉，裁决不利
»
»

当前很多基于b/s的软件几十年后后人很难再见到活的，想收藏都没途径。

顺便说下，互联网档案馆有很多稀有古董资源。可能找不到第二个地方有了。

猴子剥了个香蕉，不得了了，共产主义要来了，以后都让猴子干了

# 硬核观察 #968 Twitter 公司“没了”

### Twitter 公司“没了”

根据 Twitter 递交到法庭的一份文件，该公司声明已合并成为 “X 公司” 的一部分，Twitter 公司本身不再存在。马斯克经过一系列眼花缭乱的公司组合和控股，现在 Twitter 变成了 X Corp，母公司变成了 X Holdings Corp.，两家公司受美国内华达州法律管辖。

>
> **[消息来源：Slate](https://slate.com/technology/2023/04/twitter-inc-x-corp-elon-musk-x-nevada.html)**
>
>
>

>
> 老王点评：与其说马斯克是一位科技领袖，不如说他是一个善于玩弄资本的人。
>
>
>

### 自由撰稿人被 ChatGPT 取代

许多人说，如果你是一名优秀的写作者，你不会被 AI 取代。然而情况是：虽然 AI 的作品达不到你的高度，但能达到五成甚至六成，同时成本可能是你的千分之一甚至万分之一。一位自由撰稿人称她为客户写营销相关内容的工作被 AI 聊天机器人 ChatGPT 取代了，她已经准备改行当送餐骑手。这位客户是她最主要的收入来源，时薪高达 80 美元。

>
> **[消息来源：Reddit](https://reddit.com/r/freelanceWriters/comments/12ff5mw/it_happened_to_me_today/)**
>
>
>

>
> 老王点评：蒸汽机时代到来时，没有人为纺织女工做些什么。所以，你真的要考虑你是不是 AI 时代的纺织女工。
>
>
>

### 互联网档案馆被起诉，裁决不利

互联网档案馆是“一个非营利性的图书馆，拥有数以百万计的免费书籍、电影、软件、音乐、网站等等“。他们包括了 3700 万本书，其中许多是没有商业化的旧书。它存储有经典电影、大量的播客，其“时光机”文章上存储了几乎所有被删除的网页。四家企业出版商对此有很大意见，所以他们起诉了互联网档案馆。现在一位联邦法官作出了有利于出版商的裁决，互联网档案馆正在提出上诉。

>
> **[消息来源：SB Statesman](https://www.sbstatesman.com/2023/04/04/if-we-lose-the-internet-archive-were-screwed/)**
>
>
>

>
> 老王点评：如果上诉失败，这么重要的服务可能就会毁于一旦了。
>
>
>


如何逐步安装 Kubernetes（k8s）指标服务器

Summary: 在这篇文章中，我们将逐步介绍如何安装 Kubernetes 指标服务器。

在这篇文章中，我们将逐步介绍如何安装 Kubernetes 指标服务器。

# 如何逐步安装 Kubernetes（k8s）指标服务器

>
> 在这篇文章中，我们将逐步介绍如何安装 Kubernetes 指标服务器。
>
>
>

Kubernetes（k8s）指标服务器是一个组件，用于收集和聚合来自 Kubernetes 集群中各种来源（包括节点和 <ruby> 容器荚 <rt>  Pod </rt></ruby>）的指标数据。此数据可用于监控和优化资源利用率、识别潜在问题并提高 Kubernetes 集群的整体性能。

指标服务器收集资源利用率数据，例如集群中节点和容器荚的 CPU 和内存使用情况。它提供了一个 API 端点，可用于查询此数据并检索集群中特定资源的指标。

##### 先决条件

* 启动并运行 Kubernetes 集群（v1.21 或更高版本）。
* `kubectl` 命令行工具已安装，并配置为与你的 Kubernetes 集群交互。
* 创建和修改 Kubernetes 对象的能力。

事不宜迟，让我们深入了解安装步骤。

### 步骤 1 下载指标服务器清单

第一步是从 Kubernetes GitHub 仓库下载最新的指标服务器清单文件。使用下面的 `curl` 命令下载 yaml 文件：

```
# curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

```

如果你计划在高可用性模式下安装指标服务器，请下载以下清单文件：

```
# curl https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability-1.21+.yaml

```

### 步骤 2 修改指标服务器 Yaml 文件

接下来，你需要修改指标服务器的 yaml 文件以设置一些配置选项：

```
# vi components.yaml

```

找到 `container` 下的 `args` 部分，添加以下行：

```
- --kubelet-insecure-tls

```

在 `spec` 下，添加以下参数：

```
hostNetwork: true

```

保存并关闭文件。

### 步骤 3 部署指标服务器

现在，我们准备好部署指标服务器，运行以下 `kubectl` 命令：

```
# kubectl apply -f components.yaml

```

### 步骤 4 验证指标服务器部署

部署指标服务器后，通过检查在 `kube-system` 命名空间中运行的容器荚状态来验证它的状态：

```
# kubectl get pods -n kube-system

```

上面的输出确认指标服务器容器荚已启动并正在运行。

### 步骤 5 测试指标服务器安装

最后，你可以通过运行以下 `kubectl` 命令来测试指标服务器：

```
# kubectl top nodes

```

此命令应显示集群中每个节点的资源利用率，包括 CPU 和内存使用率。

要查看当前命名空间或特定命名空间的容器荚资源利用率，请运行：

```
# kubectl top pod
# kubectl top pod -n kube-system

```

这就是这篇文章的全部内容，我希望你能从中找到有用的信息。请在下面的评论部分发表你的反馈和疑问。

*（题图：MJ: Kubernetes container paper art light blue background ultra-detailed topview）*

---

via: <https://www.linuxtechi.com/how-to-install-kubernetes-metrics-server/>

作者：[Pradeep Kumar](https://www.linuxtechi.com/author/pradeep/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


大家最喜欢的 Linux 终端字体

Summary: 这是一个完全主观的列表，可以为你的 Linux 控制台提供一些有趣的字体建议。

CodeNewRoman Nerd Font Mono

terminus bold

等宽字体也有问题。

如果中英文混排，有些字体并不严格遵循1个汉字等于两个英文字母宽度的规定。有些地方很头疼。

一般用 Dejavu Mono，偶尔用 Terminus 模拟下 TTY 的字体。

使用 DejaVu Sans Mono， 在同样字号的情况下，和中文方正兰亭黑的大小最匹配。

这是一个完全主观的列表，可以为你的 Linux 控制台提供一些有趣的字体建议。

# 大家最喜欢的 Linux 终端字体

>
> 这是一个完全主观的列表，为你的 Linux 控制台提供一些有趣的字体建议。
>
>
>

最近，终端模拟器成为我的一个话题，它让我思考：大家最喜欢的终端字体是什么？

因此，我请贡献者分享了他们喜欢使用的字体。以下是他们的答案。

### VT323

我喜欢在我的 GNOME 终端中使用一个不一样的字体（[VT323](https://fontsource.org/fonts/vt323)），而不是在我的编程时用的编辑器或其他使用等宽字体的应用程序中使用的字体（Source Code Pro）。我就是喜欢经典的 VT 风格字体的外观。

有时，我会切换到原始的 IBM EGA 字体，因为在我眼里它看起来真的很漂亮。但是我把 EGA 和 DOS 联系在一起，把 VT323 和经典的 Unix 终端联系在一起，所以我大部分时间都用 VT323。下面是我使用 VT323 作为等宽字体的 GNOME 终端的屏幕截图：

我设置终端使用 24pt 大小的 VT323 字体，使得终端界面呈现一个舒适的大窗口。如果我要打开一个终端窗口，我其实是想使用它来些实实在在的工作，而不是敲两下就退出。我可能会在那个终端窗口呆一段时间，所以它应该很大，很容易看到。我也更喜欢 80x25 布局（每行 80 个字符，共 25 行），因为我是一个老式 DOS 命令行玩家，25 行在我看来才是 “正确的” 行数：

—— [Jim Hall](https://opensource.com/users/jim-hall)

### 等宽的字体

我不觉得我会只使用一个特定的字体。我通常使用 [DejaVu](https://fontsource.org/fonts/dejavu-mono) 或 [Liberation](https://github.com/liberationfonts)。我喜欢等宽字体，因为它们更容易阅读。不过，我也不希望字母靠得太近。更重要的是，要能够区分数字 1 和小写的 L、数字 O 和大小的字母 Q 等等。另外，让所有特殊字符都能特别清楚地显示出来也很好。

我也喜欢让字体和背景之间呈现高对比度，所以我将背景设置为黑色，字符设置为白色。

—— [Greg Pittman](https://opensource.com/users/greg-p)

### Hack

我喜欢使用等宽字体，特别是在终端和代码编辑器中，因为它们更容易阅读。我使用 [Hack](https://sourcefoundry.org/hack/) 系列字体已经很多年了。它提供了一个很好的等宽字体，并提供了额外的字形和 Powerline 支持，我可以用它们在命令行上提供一些状态信息。

这是用 [Fontpreview tool](https://github.com/sdushantha/fontpreview) 工具生成的字体预览。

—— [Ricardo Gerardi](https://opensource.com/users/rgerardi)

### Victor Mono

我在终端和 IDE 中使用 [Victor Mono](https://rubjo.github.io/victor-mono/) 已经好几年了。斜体的等宽手写体可能不是一开始就会喜欢上的，我喜欢这样，因为这让代码注释的外观很独特，与代码的其余部分明显不同。下面是它在终端中的样子：

我在 IDE 和终端使用了 Solarized Dark 配色方案。如果可以的话，任何与工作或代码相关的东西都会使用相同的配色方案和相同的字体，所以一切看起来都很统一。这些年来，我使用了各种字体，但我总是试图在我的终端中使用与 IDE 中相同的字体。

—— [Chris Reynolds](https://opensource.com/users/jazzsequence)

### Monaco

目前，我用 16pt 大小的 Monaco 常规字形。（要比 12pt 或是 14pt 大小好多了。）

—— [Jenny Panighetti](https://twitter.com/elvenjen)

### 用粉红色来装点

这让我想起了有一次我恶作剧把团队里的其他开发者的终端都改成了粉红色（我是里面唯一的女性），一个婴儿粉的背景与深粉红色的文字的搭配。

我喜欢把我的个人终端弄得漂漂亮亮的，但在工作中，我会用黑底白字，并把字体弄成 16pt 左右，因为我喜欢较大的字体尺寸。

我总是把我的终端设置为 SF Mono 字体，但我把它加粗，并增大了一点，以便我可以更好地看到它。我最喜欢的颜色是粉红色或漂亮的水蓝色。我也喜欢终端的默认风格，它叫做 “Novel”。

—— [RachieVee](https://opensource.com/users/rachievee)

### 万事不决，问 ChatGPT

对于这个问题，我决定问问 [ChatGPT](https://opensource.com/article/23/2/chatgpt-vs-community)。以下是它的回答：

>
> 作为一个语言模型，我没有个人偏好，也没有能力拥有一种最喜欢的字体。但是，有一些流行的终端字体，包括 Monospace、Consolas 和 Inconsolata。这些字体很受欢迎，因为它们易于阅读，不同字符之间有明显的区别，即使在字体大小比较小的情况下也非常清晰。此外，它们被设计为适配在各种不同的操作系统和终端中得到更好的呈现，使它们成为开发人员和用户的通用选择。
>
>
>

我部分使用 GPT-3 生成了这段文字，GPT-3 是 OpenAI 的大规模语言生成模型。在生成草稿后，作者可以根据自己的喜好审查、编辑和修改，以符合个人的喜好，并对最终发布的内容承担最终责任。

—— [Stephanie Brinley](https://opensource.com/users/sbrinley)

### Fantasque Sans Mono

```
$ grep font ~/.Xdefaults
URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=12:antialias=true

```

我不记得我是什么时候开始使用 [Fantasque Sans Mono](https://github.com/belluzj/fantasque-sans) 的，但我想这是我过去 8 年来的默认选择，无论是在 [Rxvt](https://opensource.com/article/19/10/why-use-rxvt-terminal) 还是 Konsole 中。我不知道我在 GNOME 终端中使用的是什么字体，很可能是 GNOME 上的默认字体。

—— [Seth Kenlon](https://opensource.com/users/seth)

### Jetbrains Mono

最近，我将 Tilix 设置为默认终端。我的 Tilix 配置与 Jim Hall 使用的设置类似。几个不同点是：

* 光标形状是下划线而不是块
* 字体是 [Jetbrains Mono](https://www.jetbrains.com/lp/mono/) Nerd Font Mono Medium 14

—— [Alan Formy-Duval](https://opensource.com/users/alanfdoss)

---

via: <https://opensource.com/article/23/4/linux-terminal-fonts>

作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lkxed](https://github.com/lkxed/) 译者：[Taivas Jumala](https://github.com//Taivasjumala) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Summary:
? Windows 上 Firefox CPU 占用的锅终于被摘了
? Rust 基金会禁止 Rust 相关软件使用 “Rust” 名称
? 开发者创造出了可以“自愈”的程序
»
»

如果应用资源消耗太小，如何让用户花钱升级电脑硬件呢？

第三张图不错，是AI生成的吗？

都是

test

# 硬核观察 #969 Windows 上 Firefox CPU 占用的锅终于被摘了

### Windows 上 Firefox CPU 占用的锅终于被摘了

Firefox 占用过多资源一直是其被诟病的原因之一。但这可能并不完全是事实，因为看起来影响 Windows 上 Firefox 用户的一个 CPU 错误实际上是 Windows Defender 的错。这个错误导致 Firefox 调用该服务的频率比 Chrome 或 Edge 等同类浏览器高得多，从而导致明显的 CPU 峰值。Defender 的最新更新解决了这个问题，应该会使 Windows 版 Firefox 浏览器的 CPU 使用率大大降低。这个问题早在 2018 年就在 Mozilla 的错误跟踪系统上被首次报告，并迅速分配给 MsMpEng 服务，但直到最近才得以解决。

>
> **[消息来源：PC World](https://www.pcworld.com/article/1782236)**
>
>
>

>
> 老王点评：5 年了才解决，用阴谋论的思路去思考一下的话，这是否是非正当竞争？
>
>
>

### Rust 基金会禁止 Rust 相关软件使用 “Rust” 名称

Rust 基金会的一项拟议的新商标政策在 Rust 社区中遭到了强烈反对，因为其中包括禁止在 Rust 工具或用 Rust 编写的软件的名称中使用 “Rust”，或在域名或子域名的部分中使用 “Rust”。他们将包括 “Rust”、“Cargo”、“Clippy” 等文字和 Rust 标志等定义为商标，而将商标用于以 Rust 语言编写的软件程序视为一种侵权行为，除非有明确的授权。他们建议采用 “RS” 替代。

>
> **[消息来源：Dev Class](https://devclass.com/2023/04/11/dont-call-it-rust-community-complains-about-draft-trademark-policy-restricting-use-of-word-marks)**
>
>
>

>
> 老王点评：我记得上一个这样 “保护” 自己的商标的是 Docker 吧。
>
>
>

### 开发者创造出了可以“自愈”的程序

一位名叫 BioBootloader 的开发者创造了 “金刚狼”，就像在漫威里面一样，这个程序可以赋予 Python 程序 “再生愈合能力”。用它运行你的 Python 脚本，当脚本出差时，它会调用 GPT-4 会编辑它们并解释出错的原因，并反复地重新运行，直到一切都被修复。

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/04/developer-creates-self-healing-programs-that-fix-themselves-thanks-to-gpt-4/)**
>
>
>

>
> 老王点评：虽然知道这一天早晚到来，但会自我修复的 AI 会带来什么呢？
>
>
>


使用一块树莓派主板测量圆周率

Summary: 用你的树莓派制作一个接近完美的圆。

树莓派：听我说谢谢你，温暖了四季！

原来树莓派真身是“杨二嫂”啊

用你的树莓派制作一个接近完美的圆。

# 使用一块树莓派主板测量圆周率

>
> 用你的树莓派制作一个接近完美的圆。
>
>
>

世界各地将 3 月 14 日定为圆周率日。许多人通过在房子周围找到的物体测量圆周率来庆祝圆周率日。我想用我的树莓派 3B 为今年的圆周率日做一些类似的事情。继续阅读以了解我如何使用我的树莓派测量圆周率。

你需要什么：

* 树莓派单板机
* 方格纸
* 带毫米和厘米测量值的标尺
* 笔

### 1、画一个圆

圆周率是圆的周长与其直径的比值。要计算圆周率，我们需要测量一个完美绘制的圆的周长和直径。幸运的是，树莓派主板上的安装孔足够大，可以使用铅笔或钢笔。我通过一个树莓派板安装孔插入了一根图钉，小心地将针放在一张方格纸上两条线的交点上。

握住别针，我将一支笔插入对面的安装孔中，并通过将笔绕着别针移动来画一个圆圈。树莓派主板底面的焊点会卡在纸上，但小心点还是可以画好圆圈的。

### 2、把圆分成段

通过画一条穿过圆心的垂直线将圆分成两半，通过画一条穿过圆心的水平线将圆再次分成四分之一。当我画圆的时候，我把图钉正好放在图画纸上两条线的交点上，这样就很容易找到垂直和水平的中心线。你可以通过在对角线上画一条线来创造一个 “八分” 片。

进一步的划分是与尺子的练习。我用尺子找到“四分之一楔形”和“八分之一楔形”任意两个交点的中点，做成一个 1/16 的楔形。你可以使用相同的方法制作越来越小的 1/32 和 1/64 圆的切片。通过非常小心，我还能够在圆的 1/128 处测量出一个非常窄的楔形：

### 3、估算周长

我最小的楔形是一个圆的 1/128。如此小的切片，楔形的外弧非常小，我们可以用一条直线来近似它。这实际上不是圆周长的 1/128，但它足够接近，我们可以将其用作一个很好的估计。

使用我的尺子上的毫米测量值，我测量了我的 1/128 楔形的外弧为 3.8 毫米。这样，我可以估计圆的周长为 3.8 毫米乘以 128，即 486.4 毫米。要转换为厘米，除以十：**48.64cm**。

### 4、计算圆周率

圆周率的值是圆的周长与其直径的比值。我们在步骤 3 中估算了周长。测量直径是使用尺子测量圆周的简单练习。我的圆是 **15.4cm**。

现在我们知道了周长和直径，我们可以将圆周率计算为 48.64 除以 15.4，即 **3.158**。这与 pi 的实际值 3.141 相差不远。

测量圆周率是一项有趣的数学练习！各个年龄段的数学爱好者都可以使用方格纸、笔和尺子等简单工具自行测量圆周率。以一种有趣的新方式使用你的树莓派来绘制圆并独立测量圆周率。这是一个估计值，因为我们将圆上的 1/128 弧近似为一条直线，但这使我们无需太多努力就足够接近了。

（LCTT 校注：这真是对树莓派的“合理”应用，摔！）

*（题图：MJ: Circumference in high resolution, very detailed）*

---

via: <https://opensource.com/article/23/3/measure-pi-raspberry-pi>

作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


CachyOS：基于 Arch 的发行版，具有速度和易用性

Summary: 面向新手和专家的以性能为中心的基于 Arch 的发行版。

Linux.cn 这么好一个域名，全靠翻译，而且翻译的文章没啥技术含量，先不说翻译有没有被授权。一点原创性都没有吗？不如做成社区。虽然这是个公司所有的域名，但也太啦了。国人打开自己惭愧，外国人打开直接就是丢脸呀。。。。。。。。

1 “而且翻译的文章没啥技术含量”－－－你是超越linus的大神？？？这些文章通俗易懂，对用户很好

2 “翻译有没有被授权。”－－－你不该用句号，而是用问号。文章末尾有源链接，难道人家翻译前没看协议吗？？？

3 “一点原创性都没有吗？”－－－你没看到不代表没有。

4 “不如做成社区”－－－主页右上角可注册或qq围脖登录，这还不够社区吗？？？

5 “虽然这是个公司所有的域名，但也太啦了”－－－太什么？？？语文学好点。

6 “国人打开自己惭愧，外国人打开直接就是丢脸呀”－－－“国人怎么惭愧，外国人哪里丢脸？？？

7 滚你mlgb

它急了！

你的每个句子都经不起推敲

本来不想回复，但是看网友已经回复了，那我也回复一下：

- 确实主要内容是翻译的，这是因为我们有个翻译志愿者小组（LCTT）持续 10 年的贡献。而原创写作的文章，虽然有投稿，但是很少，而且质量好的不多。

- 所有 LCTT 翻译的文章，都选择采用 CC-NY-SA 协议的文章或单独取得了书面授权的文章来翻译。

- 域名归于公司，只是因为在国内运营需要一个法人实体而已，事实上这个公司并没有除了 Linux.CN 之外的业务。

- 确实惭愧，丢脸，可是批评我们的同时，您是否可以为 Linux.CN 做些什么？

为何不把主动权交给用户，只设定相应板块，增强审核即可。

我的建议：1.翻译转发的文章归为一类 2.开启用户文章投稿(后台审核) 3.建立提问板块 4.或者模仿deskto.ps 让用户分享桌面环境  5.真不行分享Linux运维课程  6.类似树莓派的单板计算机技能分享呢。

类似工具类文章:如何安装Linux发行版，主要几个大版本分享一下就够了。

直接发起一个用户搓个新的网站吧，需要什么功能罗列好，让用户一起写。react + go 就足够了。Linux的魅力就来源于用户的反哺。

- 我们极少转发外部文章，而翻译的文章我们也认为是一种创作，甚至是很重要的创作。这不必单独歧视。

- 提问或论坛，其实我们最初是有的，但是一方面是当时论坛没落，另外一方面是审查、垃圾广告的问题。目前是具备开放论坛的条件，但最担心的，其实没人说话。

- 我们极力避免自己成为一个卖课的或办会的。

- 你说的桌面美化、运维技巧、树莓派、Linux 基础等文章，我们都有，绝大部分都是翻译的。

- 为什么没有原创，因为很少有人愿意写、愿意写好。投稿入口我们一直有，早期我们在主导航上有入口，但是乏人问津。现在入口是： https://github.com/LCTT/Articles

- 不是没指望过大家来一起写个新的 Linux.CN ，但是点赞者众，而致力者寡。

我首先为我的无能而道歉。我能感受到你哀其不幸，怒其不争的感觉。谢谢你真心希望 LC 变好，但是挺难的。

就看这一句“它急了”就懂了，还用个“它”...完全是引战思维，不包含任何盼人家好的好心，站长耐心也算是白回复了...

我觉得这里Linux入门信息多一些才好，要不连普及出去的可能都没有，何谈改善国内Linux现状。

来自117.136.89.40的 Chrome Mobile 111.0|Android 12 用户

人家说了那么多，你就3个字？大脑没啥东西了？还是承认了人家说的？那你还不如闭嘴。

来自广东广州的 Chrome Mobile 104.0|Android 12 用户

我觉得挺好啊，不是每个人都有足够高的英文水平去直接阅读国外的第一手资讯，我很感谢翻译组所翻译的文章，这些资讯让我了解了国外Linux的发展

你的批评在理。

但你最后来一句脏话，可把你批评的好意和初衷抵消了。

向站长学学怎么说话吧。

江门的楼主说的是在理，指出了宁波楼主的偏颇之处。但他最后来一句脏话“滚nmlgb”，已经不再是批评指正了，单纯情绪发泄加辱骂，拉低Linux玩家的层次。

宁波的楼主说“它急了”，怼的是江门楼主的态度，不是内容。你看看站长耐心说明之后，他也能好好地继续跟站长讨论。

再好再忠言逆耳的评论，用不尊重人的态度表达出来的话，就是苦口良药掺杂了毒药，指望它治病是不可能的。

来自39.144.67.52的 Chrome Mobile 110.0|Android 12 用户

arch用户怎么那么多喷子？有种用口水把lulinux那货淹死，看看人家为了推广manjaro怎么骂你们arch的，人家还专门建了个wp网站骂rms，反开源。还是manjaro和arch本就一家，利己主义喷子集中营。

如果真把主动交给现在所谓的网友，那也就是下一个头条，于是也就没什么看头了。论坛是基于一种兴趣和分享精神，但说实话，我觉得现在的网友没有！其中60%可能是利益驱使，30%可能是情绪驱使，还有10%是只知道白瓢的小白。祝愿linux.cn能走出一条自己的路来！

我大概2000年开始接触开源，伴随着linuxsir.org，linuxfans.org和我们的magiclinux，见证了开源在国内的发展、壮大、衰败到现在商业利益主导的畸形发展。说实话，我对开源在国内的发展挺悲观的。我们的文化，磕头拜师的亲如父亲的师傅在教徒弟的时候都会留一手，根本就不存在开源的那种分享精神，谁又会真的去搞开源？现在是程序员当红找钱多，当程序员未来变为现在修车补胎师傅一样的时候，试问还有几个人愿意做程序员？又有谁来开源？现在那60%总是很反感我的观点，但个人觉得，普及真的原教旨主义开源才是根本，有人愿意做这种事才是关

好家伙，又吵起来了

咋说呢，我不知道怎么才能让这个网站变更好，所以我也不提建议。

但是呢，有不好的地方我可以批评，比方说老王的评价很垃圾。

最后呢，祝好。

(评论linux.cn 是不是使用linux平台才更有说服力，比如我)

面向新手和专家的以性能为中心的基于 Arch 的发行版。

# CachyOS：基于 Arch 的发行版，具有速度和易用性

>
> 面向新手和专家的以性能为中心的基于 Arch 的发行版。
>
>
>

Arch Linux 适合于那些想在其系统上使用 Linux 的寻求挑战的高级用户。

然而，许多 [基于 Arch 的发行版](https://itsfoss.com/arch-based-linux-distros/?ref=news.itsfoss.com) 也可以使新用户通过简化操作来进入这个发行版家族。比如说，Garuda Linux、Manjaro Linux 等就适合新用户。

其中一个令人感兴趣的选项是 **CachyOS**。

好吧，你可能已经知道 [blendOS](https://news.itsfoss.com/blendos/)（它也是一个基于 Arch 的发行版，仍在开发中）。但这个和它一点也不一样，如果你正在探索基于 Arch 的发行版，你可以尝试一下。

### CachyOS 概述

CachyOS 为各种用户量身定制，无论你是专家还是新手。即使它相当新，也可以作为稳定版本使用。

它旨在提供极速体验，同时提供可定制性和稳定性。

所有这些都牢记安全性。

CachyOS 的一些重要亮点包括：

* 用 LTO 和 x86-64-v3 优化编译的桌面软件包。
* 可选择通过在线安装的桌面环境（包括 i3、bspwm 和 Openbox 窗口管理器）。
* 离线和在线安装方式
* 基于 GUI 和 CLI 的安装方式
* 优化的 Linux 内核，带有先进的 BORE 调度程序以增强性能和可靠性

### 初步印象

CachyOS 看起来像是一个精心打磨过的发行版。当我使用 ISO 启动虚拟机时，我注意到它确实支持英伟达显卡，这是一个很好的开端。

然后，使用离线或在线安装过程的方式很有帮助。通过在线安装过程，你可以根据自己的喜好安装桌面环境或窗口管理器。

完成后，欢迎屏幕从一开始就提供了所有基本功能。所以，这一点也很好。

你可以在欢迎屏幕上安装软件包、启用系统特定的设置以及调整应用程序/内核内容。当然，新手不应该做任何他们不知道的事情，但是这些都可以访问是很好的。

我尝试了 CachyOS 的 KDE 版本，它看起来很不错。

出于某种原因，主题是 KDE 的默认 Breeze Dark。我希望它可以开箱即用 CachyOS 的自定义主题。

所以，我不得不前往主题管理器设置并应用 CachyOS 主题，让它看起来独一无二。

它使用 Fish shell，打开终端，你就能看到非常出色的外观和感觉。

性能和安全性增强是其核心。因此，如果你不确定这代表了什么，你可以与其它发行版进行仔细比较。然而，根据一些 Reddit 上的主题，一些用户提到了它提升了 10-20% 的性能。

你可以阅读 CachyOS 的 [Phoronix 的性能分析](https://www.phoronix.com/review/cachyos-linux-perf?ref=news.itsfoss.com) 来了解更多。

与其他发行版不同，它具有自己的 Web 浏览器，即 Firefox 的一个复刻，并针对隐私和安全性进行了修改/增强。然而，它没有默认的视频播放器，这个应该是为了迎合新用户。

总体感觉像是一个经过深思熟虑的开箱即用的发行版。最重要的是，它的 [文档](https://wiki.cachyos.org/?ref=news.itsfoss.com) 非常到位，对初学者很有用。

### 下载 CachyOS

你可以在其 [官方网站](https://cachyos.org/?ref=news.itsfoss.com) 上找到 CachyOS 的 KDE 和 GNOME 版本。XFce 版本正在制作中。当然，你可以使用在线安装过程安装其他任何东西。

>
> **[CachyOS](https://cachyos.org/?ref=news.itsfoss.com)**
>
>
>

此外，如果你对他们在幕后所做的定制感到好奇，你可以浏览它的 [GitHub 页面](https://github.com/cachyos?ref=news.itsfoss.com)。

---

via: <https://news.itsfoss.com/cachyos/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #970 AI 生成了 “活” 在虚拟世界的 25 个虚拟人

Summary:
? AI 生成了 “活” 在虚拟世界的 25 个虚拟人
? 谷歌免费推出保障开源软件服务
? DDoS 攻击转向利用 VPS 以提高威力
»
»

# 硬核观察 #970 AI 生成了 “活” 在虚拟世界的 25 个虚拟人

### AI 生成了 “活” 在虚拟世界的 25 个虚拟人

据最近发表的一篇论文，研究人员利用 ChatGPT 生成了 25 个 “活” 在类似《虚拟人生》游戏里的角色，运用大语言模型存储、合成和应用相关记忆去生成可信行为。观察者可以在这个网页游戏中观察这些角色，查看他们的文字记忆和其他信息。这些角色计划他们的日子、分享新闻、形成关系，并协调团体活动。他们相互沟通，产生了研究人员所描述的“涌现”行为。比如说他们会组成团体参与“市长竞选”，也会组织聚会，并有一些人因为种种原因而没到场。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/11/sims_ai_generation/)**
>
>
>

>
> 老王点评：这些生活在沙盒游戏中的角色，应该并不知道自己只是一个 AI 驱动的角色，或许有一天他们会怀疑。而我们，已经开始怀疑了？
>
>
>

### 谷歌免费推出保障开源软件服务

大约一年前，谷歌宣布了其保障开源软件服务，这项服务通过定期扫描和分析一些世界上最流行的软件库的漏洞，帮助开发者防御供应链安全攻击。现在谷歌免费推出了该服务，支持超过 1000 个 Java 和 Python 软件包。谷歌承诺，它将不断保持这些库的更新（不创建分叉），扫描漏洞并修复，然后贡献给上游。谷歌说，在首次推出 250 个 Java 库的服务时，它发现并修复了这些库的 48% 的新 CVE 漏洞。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/04/12/improving-software-supply-chain-security-googles-free-assured-open-source-software-service-hits-ga/)**
>
>
>

>
> 老王点评：这件事上，谷歌功莫大焉！
>
>
>

### DDoS 攻击转向利用 VPS 以提高威力

Cloudflare 称，较新的一代僵尸网络逐渐放弃了建立由单独的弱小物联网设备组成的大群的战术，现在正转向利用泄露的 API 凭证或已知的漏洞奴役脆弱和配置错误的 VPS 服务器。这种方法有助于威胁者更容易、更迅速地建立高性能僵尸网络，其强度可达基于物联网的僵尸网络的 5000 倍。

>
> **[消息来源：Bleeping Computer](https://www.bleepingcomputer.com/news/security/ddos-attacks-shifting-to-vps-infrastructure-for-increased-power/)**
>
>
>

>
> 老王点评：蜂群战术换成了僵尸大军，就问你怕不怕。
>
>
>


如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘

"跨平台。它支持 Linux、manOS 和 Windows 等操作系统。"

Ventoy不支持macOS，无论是在macOS安装Ventoy还是启动macOS，见issue 18、35、52、125、1056、1754

开发者多次表示"Ventoy doesn't offcially support MacOS"。但是如果你用黑苹果，你可以把OpenCore做成img，然后从Ventoy进入opencore.img来启动macOS。

感谢指正。<br />
同时我还发现一个原文就存在的拼写错误——macOS 写成了 manOS。

一个中文区的软件，竟然是从外文翻译过来的介绍。真是的。自己去网站看看，一清二楚。对于经常装系统的人来说，那真是太好了太好了太好了太好了

之前使用ventoy，安装debian10无法成功，卡到grub-install这一步，使用rufus则没问题，后期ventoy版本安装debian11则没问题

真的哦。国产软件，下面还有QQ群，友情链接都是国内熟悉的

# 如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘

Ventoy 是一个自由开源和跨平台的程序，可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。

你不必周而复始地格式化你的 USB 设备，只需创建一次可引导的 U 盘即可，如有需要可在将来添加你想要的 ISO。

你甚至可以创建子文件夹，例如 Linux ISO、Windows ISO，并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目，并将它们添加到启动菜单中。

一旦你创建完多重引导的 U 盘，使用它启动你的系统，选择你想加载的 ISO，马上就可以使用它。就是如此简单！

### 功能

Ventoy 有很多有用的功能，如：

* 非常容易安装和使用。
* 快速（仅受限于复制 ISO 文件的速度）。
* 你不需要解压缩 ISO 文件。直接从 ISO 文件启动即可。
* 可被安装在 U 盘／本地硬盘／SSD 盘／NVMe 盘／SD 卡中。
* 它支持<ruby> 传统 <rt>  Legacy </rt></ruby> BIOS、IA32 UEFI、x86\_64 UEFI、ARM64 UEFI、MIPS64EL UEFI 等（LCTT 译注：这些英文缩写都是代表了不同的 CPU 架构。如 IA32 是指英特尔 32 位体系架构，x86\_64 指基于 x86 架构的 64 位扩展架构，ARM64 则是 ARM 体系结构的 64 位扩展、MIPS64EL 是指 64 位小端序的 MIPS 架构）。
* 支持 IA32／x86\_64 UEFI 的安全启动。
* 支持主分区使用 FAT32/exFAT/NTFS/UDF/XFS/Ext2/Ext3/Ext4 格式。默认使用 exFAT。
* 支持在物理机中使用 Linux 发行版启动 vhd、vdi、raw 等格式的虚拟磁盘文件。
* 持久化的存储支持。
* 支持 MBR 和 GPT 两种分区格式都。默认使用 MBR。
* 你可以用大于 4 GB 的 ISO 文件创建引导盘。
* 几乎所有类型的操作系统都支持。开发者声称 Ventoy 已经测试过了超过 900 多个 ISO 文件。
* 支持 Linux 自动安装。意味着你可以添加你的模板或脚本来进行无人值守的部署。例如，Redhat/CentOS 的 kickstart 脚本，SUSE 的 autoYast xml，Debian 的 preseed 脚本。把脚本或模板放在 U 盘里，让 ventoy 使用它进行无人值守安装。你也可以在任何时候更新这些脚本。不需要创建新的 ISO 文件，只要使用原来的 ISO 即可。
* 支持 Windows 系统的自动安装。
* 在启动期间对 USB 盘写保护。
* 不影响 USB 启动盘的正常使用。这意味着你可以将 U 盘用于文件复制等其他用途。
* 当有新的 Ventoy 版本时可供升级时，无须重新创建 USB 启动盘。在版本升级过程中，数据不会被破坏。
* 当一个新的发行版发布时，不需要更新 Ventoy。
* 将 ISO 文件复制/粘贴到 U 盘中，即可添加一个新的操作系统，没有必要从头开始。
* 支持 <ruby> 内存盘 <rt>  Memdisk </rt></ruby> 模式。在某些机器上，可能无法加载 ISO。在这种情况下，你可以使用 <ruby> 内存盘 <rt>  Memdisk </rt></ruby> 模式。Ventoy 将把整个 ISO 文件加载到内存中，然后启动它。
* 插件框架。
* <ruby> 传统 <rt>  Legacy </rt></ruby> 和 UEFI 的本地启动菜单风格。
* 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
* 支持主题和菜单风格的定制。
* 跨平台。它支持 Linux、manOS 和 Windows 等操作系统。
* 自由开源！

### 在 Linux 中用 Ventoy 创建多重启动的 U 盘

正如我之前提到的，Ventoy 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。

#### 1. 使用 Ventoy 命令行创建多重启动的 U 盘

首先，你需要找到你的 U 盘名称。可以通过下面的指南，来了解在 Linux 中寻找磁盘驱动器细节的不同方法。

>
> **[如何在 Linux 中 寻找硬盘驱动器细节](https://ostechnix.com/how-to-find-hard-disk-drive-details-in-linux/)**
>
>
>

我将使用 `fdisk` 命令来查找我的 U 盘的详细信息：

```
$ sudo fdisk -l

```

样例输出：

```
[...]
Disk /dev/sdb: 14.54 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4d924612

```

如你所见，我的 U 盘的名称是 `/dev/sdb`。

接下来，从 [发布页](https://github.com/ventoy/Ventoy/releases) 下载最新的 Ventoy 脚本。截至编写本指南时，最新版本是 `1.0.77`（LCTT 译注：截至翻译完成时，最新版本是 `1.0.91`）。

到你下载脚本的位置，解压它。我把它解压在一个名为 `ventoy` 的文件夹中。使用 `cd` 命令切换到 `ventoy` 目录中：

```
$ cd ventoy

```

现在，运行以下命令来创建多重启动的 U 盘：

```
$ sudo sh Ventoy2Disk.sh -I /dev/sdb

```

将 `/dev/sdb` 替换为你的 U 盘名称。

这里，大写的 `-I` 参数意味着将无视之前是否安装过 ventoy，**强制安装 ventoy** 到 `sdb`。当你使用小写的 `-i`，若此时磁盘已经安装了 ventoy ，它会安装失败。

要启用安全启动支持，使用 `-s` 参数。默认情况下，这个选项是关掉的。

```
$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb

```

你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称，并输入 `Y`，按回车键继续：

样例输出：

```
**********************************************
      Ventoy: 1.0.77  x86_64
      longpanda admin@ventoy.net
      https://www.ventoy.net
**********************************************

Disk : /dev/sdb
Model: SanDisk Cruzer Blade (scsi)
Size : 14 GB
Style: MBR

Attention:
You will install Ventoy to /dev/sdb.
All the data on the disk /dev/sdb will be lost!!!

Continue? (y/n) y

All the data on the disk /dev/sdb will be lost!!!
Double-check. Continue? (y/n) y

Create partitions on /dev/sdb by parted in MBR style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/sdb2 ...
mkfs.fat 4.2 (2021-01-31)
success
Wait for partitions ...
/dev/sdb1 exist OK
/dev/sdb2 exist OK
partition exist OK
Format partition 1 /dev/sdb1 ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
mkexfatfs success
writing data to disk ...
sync data ...
esp partition processing ...

Install Ventoy to /dev/sdb successfully finished.

```

几秒钟后，多重启动的 U 盘将被创建。

上述命令将创建两个分区。你可以用 `fdisk` 命令来验证它：

```
$ sudo fdisk -l

```

样例输出：

```
[...]
Disk /dev/sdb: 14.53 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x436cedd0

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1  *        2048 30398463 30396416 14.5G  7 HPFS/NTFS/exFAT
/dev/sdb2       30398464 30463999    65536   32M ef EFI (FAT-12/16/32)

```

现在打开你的文件管理器，把 ISO 文件复制到第一个分区。不用担心你分不清楚哪个是第一个分区，你的文件管理器将只显示第一个分区。

你甚至可以为不同的 ISO 文件类型创建子文件夹。例如，你可以为存储 Linux ISO 文件创建一个子文件夹，为 BSD ISO 文件创建一个子文件夹，为 Windows ISO 文件创建一个子文件夹。

Ventoy 将扫描整个 U 盘，为所有可用的 ISO 文件创建菜单项，并自动将它们添加到 Ventoy 的主启动菜单中。

如果你喜欢用命令行方式复制 ISO 文件，请到你保存 ISO 文件的地方，用 `rsync` 程序从命令行复制所有 ISO 文件，如下所示：

```
$ rsync *.iso /media/$USER/ventoy/ --progress -ah

```

请注意，在某些 Linux 发行版中，U 盘可能被挂载在 `/run/media/` 位置。

大功告成！我们刚刚用 Ventoy 创建了多重引导的 U 盘。

用新制作的可引导 U 盘启动你的系统，你会对 Ventoy 的启动菜单感到满意：

选择你想启动的操作系统，并按下回车键加载它！

下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示：

很酷，不是吗？确实如此！

如果你想在 Oracle Virtualbox 中用 U 盘启动，请参考以下指南：

>
> **[如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统？](https://ostechnix.com/how-to-boot-from-usb-drive-in-virtualbox-in-linux/)**
>
>
>

#### 2. 使用 Ventoy 图形化界面创建多重启动的 U 盘

最初，Ventoy 在 Linux 平台上没有任何图形化的用户界面。我们在 Linux 中只能使用Ventoy 的命令行模式创建 USB 启动盘。

幸运的是，Ventoy 从 1.0.36 版开始提供基于网页的图形用户界面，从 1.0.52 版开始提供本地化图形用户界面（使用 GTK/QT）。

相信我，Ventoy 的图形化用户界面使用起来非常简单！它的界面非常小巧，但它拥有我们所需要的一切，只需点击几下鼠标就能创建一个单一的或多重引导的启动盘。

打开你的终端，进入你下载最新 Ventoy 程序的位置。

```
$ cd Downloads/ventoy-1.0.77/

```

运行适配的 Ventoy 图形化用户界面可执行文件，这取决于发行版的架构。

* VentoyGUI.i386 - 32 位的 X86 架构的操作系统适用

* VentoyGUI.x86\_64 - 64 位的 X86 架构的操作系统适用
* VentoyGUI.aarch64 - ARM64 架构的操作系统适用
* VentoyGUI.mips64el - 龙芯 3A MIPS 架构的操作系统适用

我使用的是 Debian 11 X86 64 位系统，所以我运行以下命令：

```
$ ./VentoyGUI.x86_64

```

这就是 Ventoy 图形用户界面的样子。

Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选择的是否真的是你想格式化的 U 盘。

你将被提示确认该过程。点击 “OK” 继续。

##### Ventoy 选项和语言

从菜单栏中点击<ruby> 选项 <rt>  Option </rt> <ruby>  按钮。 </ruby></ruby>

从 <ruby> 选项 <rt>  Option </rt> <ruby>  下拉按钮，你可以做以下事情： </ruby></ruby>

* <ruby> 安全启动支持 <rt>  Secure Boot Support </rt></ruby> - 勾选/取消勾选以启用或禁用安全启动。默认情况下，它处于选中状态以示启用。
* <ruby> 分区格式 <rt>  Partition Style </rt></ruby> - 支持 MBR 和 GPT 分区格式。默认是 MBR。
* <ruby> 分区配置 <rt>  Partition Configuration </rt></ruby> - 在这里，你可以选择在磁盘的末端保留一些空闲空间。
* <ruby> 清除 <rt>  Clear </rt></ruby> Ventoy - 从你的磁盘中删除 Ventoy。
* <ruby> 显示所有设备 <rt>  Show All Devices </rt></ruby> - 如果你想显示包括你的本地磁盘在内的所有连接的设备，请选中这个选项。在选择这个选项时要特别小心。你可能会不小心选择你的一个本地磁盘并将其格式化。

<ruby> 语言 <rt>  Language </rt></ruby> 按钮允许你选择你喜欢的语言。

##### 更新 Ventoy

每当有新的 Ventoy 版本发布时，没有必要重新创建可引导的 USB 启动盘。你可以安全地将Ventoy 更新到新版本，而不会丢失 U 盘中的任何现有数据。

要将已安装的 Ventoy 版本更新到最新的可用版本，请插入 U 盘并启动 Ventoy 图形化用户界面，如上所示。

在 Ventoy 图形化用户界面中, 点击 <ruby> 更新 <rt>  Update </rt></ruby> 按钮。

#### 3. 使用 Ventoy 基于 Web 的图形化用户界面创建多重启动的 USB 启动盘

Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全相同。有一天，我在我的Fedora Linux 桌面系统上试用了 Ventoy 基于 Web 的用户界面。我很惊讶我是多么喜欢Ventoy 图形用户界面的简洁。

要了解如何使用 Ventoy 图形用户界面创建可引导的 U 盘，请参考以下链接：

>
> **[在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘](https://ostechnix.com/create-bootable-usb-drive-with-ventoy-webui-in-linux/)**
>
>
>

### 将 ISO 镜像加载到 RAM 中

就像我之前提到的，ISO 镜像在某些机器上可能无法启动，特别是在传统的 BIOS 模式下。这就是 <ruby> 内存盘 <rt>  Memdisk </rt></ruby> 模式的用武之地。

当 <ruby> 内存盘 <rt>  Memdisk </rt></ruby> 模式被启用时，Ventoy 将把整个 ISO 镜像文件加载到内存中启动。

在选择操作系统之前按 `F1` 键，启用 <ruby> 内存盘 <rt>  Memdisk </rt></ruby>模式（译者注：从 1.0.83 版本开始，进入该模式的快捷键从 `F1` 改成了 `Ctrl+D`）。当 <ruby> 内存盘 <rt>  Memdisk </rt></ruby> 模式启用时，你会在右上角看到通知。

现在，ISO 将被加载到内存中：

请再次按 `F1` 键以切换回正常模式。

### 创建持久化的可引导 U 盘

我们现在知道了如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的 USB 启动盘来测试 Linux 发行版，而不必真的在硬盘上安装它们。

当你使用 <ruby> 立付 <rt>  Live </rt></ruby> OS 时，你可以做各种事情，如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。

然而，一旦你重新启动系统，所有上述变化都将消失。如果你想让所有的改变在重启系统后仍然保留，你应该创建一个持久化的可引导的 U 盘。

Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习怎么做。

>
> **[在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘](https://ostechnix.com/create-persistent-bootable-usb-using-ventoy-in-linux/)**
>
>
>

### 总结

信不信由你，Ventoy 是我用过的在 Linux 中创建多重引导（持久或非持久）的 USB 闪存盘工具中最简单、最快速、最巧妙的之一。

它真的做到了开箱即用！试一下吧，你不会失望的!

### 与 Ventoy 有关的安全问题

Ventoy 网站、论坛和该网站上的一些文件被一些杀毒软件标记为恶意软件或木马。请查看这些发布在该项目 GitHub 页面中的议题：

* <https://github.com/ventoy/Ventoy/issues/22>
* <https://github.com/ventoy/Ventoy/issues/83>
* <https://github.com/ventoy/Ventoy/issues/31>

然而，Manjaro 打包者 Linux Aarhus 在代码审查后认为：没有合理的理由怀疑这个应用程序的安全性。

他声称 “**没有混淆的代码**”。所以，我觉得 Ventoy 是可以**安全**使用的。

### 资源

* [Ventoy 官网](https://www.ventoy.net/en/index.html)
* [Ventoy GitHub 仓库](https://github.com/ventoy/Ventoy)

*（题图： MJ: USB disk bootload computer sci-fi future in sky stars）*

---

via: <https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/>

作者：[sk](https://ostechnix.com/author/sk/) 选题：[lkxed](https://github.com/lkxed) 译者：[hanszhao80](https://github.com/hanszhao80) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


使用 CSS 提升你的 HTML 文档

Summary: 使用 CSS 让你的 HTML 项目更具风格。

如果只是编写文档，为什么不用markdown呢？markdown也可以插入HTML代码，比直接写HTML或用DW等软件制作好得多。

有没有用于管理公司内部文档的系统，类似wiki百科，可以方便的导出doc pdf等格式的数据

方便导出Pdf ， Docs 不知道<br />
但 wikimedia 用 mediawiki 的，但我没用过，不清楚

第一次见到柬埔寨的网友~

使用 CSS 让你的 HTML 项目更具风格。

# 使用 CSS 提升你的 HTML 文档

>
> 使用 CSS 让你的 HTML 项目更具风格。
>
>
>

当你编写文档时，无论是为开源项目还是技术写作项目，你都应该有两个目标：文档应该写得好，同时要易于阅读。前者通过清晰的写作技巧和技术编辑来解决。第二个目标可以通过对 HTML 文档进行一些简单的更改来解决。

超文本标记语言（HTML）是互联网的支柱。自 1994 年“万维网”问世以来，所有网络浏览器都使用 HTML 来显示文档和网站。几乎与此同时，HTML 一直支持样式表，它是对 HTML 文档的一种特殊添加，用于定义文本在屏幕上的呈现方式。

单纯用 HTML 编写项目文档也是可以的。然而，纯 HTML 样式可能感觉有点简陋。因此，尝试向 HTML 文档添加一些简单的样式，为文档添加一点活力，并使文档更清晰、更易于阅读。

### 定义一个 HTML 文档

让我们从一个纯 HTML 文档开始，探索如何向其添加样式。一个空的 HTML 文档在顶部包含 `<!DOCTYPE html>` 定义，后面跟着一个 `<html>` 块来定义文档本身。 在 `<html>` 元素中，你还需要加上一个文档标头，其中包含有关文档的元数据，例如标题。文档正文的内容放在父 `<html>` 块内的 `<body>` 块中。

你可以使用以下 HTML 代码定义一个空白页面：

```
<!DOCTYPE html>
<html>
  <head>
    <title>这是一个新文档</title>
  </head>
  <body>

  </body>
</html>

```

在另一篇关于 [用 HTML 编写项目文档](https://opensource.com/article/22/8/writing-project-documentation-html) 的文章中，我将一个开源棋盘游戏的自述文件从纯文本更新为 HTML 文档，并使用一些基本的 HTML 标记，如 `<h1>` 和 `<h2>` 作为标题和副标题，`<p>` 用于段落，`<b>` 和 `<i>` 用于粗体和斜体文本。让我们从那篇文章结束的地方继续讲：

```
<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
  </head>
  <body>
    <h1>简易 Senet</h1>
    <h2>游戏玩法</h2>

    <p>游戏会自动为你“投掷”投掷棒，并在屏幕右下角显示结果。</p>

    <p>如果“投掷”结果为零，你失去本轮机会。</p>

    <p>轮到你的时候，游戏会自动选择
    你在棋盘上的第一块棋子。 你不一定
    能够用这个棋子走棋，所以选择你的棋子
    移动，然后按 <i>Space</i>（或 <i>Enter</i>）移动
    它。 你可以通过几种不同的方法进行选择：</p>

    <ul>
      <li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
      朝特定方块移动。</li>

      <li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
      请注意，它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>

      <li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
    </ul>

    <p>要随时退出游戏，请按 <b>Q</b>（大写
    Q）或按 <i>Esc</i>，这样游戏会提示你是否想要
    放弃比赛。</p>

    <p>如果你比对手更快将所有棋子移出棋盘，你就赢得了比赛。
    这同时需要运气和游戏策略！</p>
  </body>
</html>

```

此 HTML 文档演示了利用 HTML 的技术写作者经常使用的一些块和内联元素。块元素在围绕文本定义一个矩形。段落和标题就是块元素，因为它们从文档的左边缘延伸到右边缘。例如，`<p>` 在段落周围包含一个不可见的矩形。相比之下，内联元素的使用则紧跟在它们包围的文本。如果你在段落中的某些文本上使用 `<b>`，则只有被 `<b>` 和 `</b>` 包围的文本会变为粗体。

你可以将直接样式应用于此文档以更改字体、颜色和其他文本样式，但修改文档外观的更有效方法是将样式表应用于文档本身。你可以在 `<head>` 元素中使用其他元数据执行此操作。你可以为样式表引用文件，但在这个例子中，我使用 `<style>` 块在文档中定义样式表。以下是带有空样式表的 `<head>` ：

```
<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
    <style>

    </style>
  </head>
  <body>
    ...
  </body>
</html>

```

### 定义样式

由于你刚刚开始学习样式表，因此这里先演示一种基本样式：背景色。我喜欢从背景颜色开始，因为它有助于演示块和内联元素。让我们应用一个有点华丽的样式表，为所有 `<p>` 段落设置*浅蓝色*背景颜色，为 `<ul>` 无序列表设置*浅绿色*背景。对任何粗体文本使用*黄色*背景，对任何斜体文本使用*粉红色*背景。

你可以在 HTML 文档的 `<style>` 块中使用样式来定义这些样式。样式表使用与 HTML 文档不同的标记。样式语法看起来像 `element { style; style; style; ... }` 并使用花括号将多种文本样式组合到一个定义中。

```
<style>
p { background-color: lightblue; }
ul { background-color: lightgreen; }

b { background-color: yellow; }
i { background-color: pink; }
    </style>

```

请注意，每个样式都以分号结尾。

如果在网页浏览器中查看此 HTML 文档，你可以看到 `<p>` 和 `<ul>` 块元素如何填充为矩形，而 `<b>` 和 `<i>` 内联元素仅突出显示粗体和斜体文本。 这种对比色的使用可能看起来不太好看，但我想你可以清楚看到块和内联元素：

### 应用样式

你可以使用样式使这个自述文件更易于阅读。 因为你刚刚开始学习样式，还是先只用一些简单的样式元素：

* `background-color` 设置背景颜色
* `color` 设置文字颜色
* `font-family` 使用不同的文本字体
* `margin-top` 在元素上方添加空间
* `margin-bottom` 在元素下方添加空间
* `text-align` 改变文本的对齐方式，例如靠左、靠右或居中

让我们重新开始你的样式表并将这些新样式应用到文档中。首先，在文档中使用更令人愉悦的字体。如果你的 HTML 文档没有指定字体，网络浏览器会为你选择一种。根据浏览器的设置方式，这可能是衬线字体（如我的屏幕截图中使用的字体）或无衬线字体。衬线字体在每个字母上添加了一个小笔画，这样在打印时更容易阅读。无衬线字体缺少这种额外的笔划，这使得文本在计算机显示器上显得更清晰。常见的衬线字体包括 Garamond 或 Times New Roman。 流行的无衬线字体包括 Roboto 和 Arial。

例如，要将文档正文字体设置为 Roboto，你可以使用以下样式：

```
body { font-family: Roboto; }

```

通过设置字体，你假设查看文档的人也安装了该字体。有些字体已经十分常见，以至于它们被认为是事实上的“网页安全”字体。 这些字体包括 Arial 等无衬线字体和 Times New Roman 等衬线字体。Roboto 是一种较新的字体，可能还无法随处可用。因此，网页设计师通常不会只列出一种字体，而是设置一种或多种“备用”字体。你可以通过用逗号分隔来添加这些替代字体。 例如，如果用户的系统上没有 Roboto 字体，你可以使用以下样式定义将 Arial 字体用作文本正文：

```
body { font-family: Roboto, Arial; }

```

所有网络浏览器都定义了默认的衬线和无衬线字体，你可以使用这些名称来引用它们。用户可以更改他们喜欢用于显示衬线和无衬线的字体，因此不太可能对每个人都一样，但在字体列表中使用 `serif` 或 `sans-serif` 通常是个好主意。通过添加该字体，至少用户可以大致了解你希望 HTML 文档的呈现方式：

```
body { font-family: Roboto, Arial, sans-serif; }

```

如果字体名称不止一个单词，则你必须在其两边加上引号。HTML 允许你在此处使用单引号或双引号。 为标题和副标题定义一些衬线字体，包括 Times New Roman：

```
h1 { font-family: "Times New Roman", Garamond, serif; }
h2 { font-family: "Times New Roman", Garamond, serif; }

```

请注意，H1 标题和 H2 副标题使用完全相同的字体定义。如果你想避免无谓的打字，可以使用样式表快捷方式为 H1 和 22 使用相同的样式定义：

```
h1, h2 { font-family: "Times New Roman", Garamond, serif; }

```

在编写文档时，许多技术作者更喜欢将主标题放在页面的中央。你可以在块元素（例如 H1 标题）上使用 `text-align` 来使标题居中：

```
h1 { text-align: center; }

```

为了让粗体和斜体文本更突出，请将它们置于稍微不同的颜色中。对于某些文档，我可能会使用深蓝表示粗体文本，使用深绿表示斜体文本。这些颜色非常接近黑色，但颜色的细微差别足以吸引读者的注意力。

```
b { color: darkblue; }
i { color: darkgreen; }

```

最后，我更喜欢在我的列表元素周围添加额外的间距，以使它们更易于阅读。如果每个列表项只有几个词，额外的空间可能无关紧要。但是我的示例文本中的中间项很长，可以换到第二行。 额外的空间有助于读者更清楚地看到此列表中的每个项目。 你可以使用边距样式在块元素上方和下方添加空间：

```
li { margin-top: 10px; margin-bottom: 10px; }

```

这种样式定义了一个距离，此处我将其指定为每个列表元素上方和下方的 10px（十个*像素*）。 你可以使用多种不同的距离度量。十像素实际上就是屏幕上十个像素的空间，无论是台式机显示器、笔记本电脑显示屏，还是手机或平板电脑屏幕。

假设你真的只是想在列表元素之间添加一个额外的空行，你也可以使用 `em` 来测量。`em` 是一个旧的排版术语，如果你指的是左右间距，它就是大写 `M` 的宽度，或者对于垂直间距，就是大写 `M` 的高度。所以你可以改用 1em 来写边距样式：

```
li { margin-top: 1em; margin-bottom: 1em; }

```

HTML 文档中的完整样式列表如下所示：

```
<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
    <style>
      body { font-family: Roboto, Arial, sans-serif; }
      h1, h2 { font-family: "Times New Roman", Garamond, serif; }
      h1 { text-align: center; }
      b { color: darkblue; }
      i { color: darkgreen; }
      li { margin-top: 1em; margin-bottom: 1em; }
    </style>
  </head>
  <body>
    <h1>简易 Senet</h1>
    <h2>游戏玩法</h2>

    <p>游戏会自动为你“投掷”投掷棒，并在屏幕右下角显示结果。</p>

    <p>如果“投掷”结果为零，你失去本轮机会。</p>

    <p>轮到你的时候，游戏会自动选择
    你在棋盘上的第一块棋子。 你不一定
    能够用这个棋子走棋。所以选择你的棋子
    移动，然后按 <i>Space</i>（或 <i>Enter</i>）移动
    它。 你可以通过几种不同的方法进行选择：</p>

    <ul>
      <li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
      朝特定方块移动。</li>

      <li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
      请注意，它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>

      <li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
    </ul>

    <p>要随时退出游戏，请按 <b>Q</b>（大写
    Q）或按 <i>Esc</i>，这样游戏会提示你是否想要
    放弃比赛。</p>

    <p>如果你比对手更快将所有棋子移出棋盘，你就赢得了比赛。
    这同时需要运气和游戏策略！</p>
  </body>
</html>

```

在网页浏览器上查看时，你会看到采用无衬线字体的自述文件，标题和副标题使用衬线字体。 页面标题居中。粗体和斜体文本使用略有不同的颜色来吸引读者的注意力而不会分散注意力。 最后，列表项周围有额外的空间，使每个项目更易于阅读。

这是在技术写作中使用样式的简单介绍。掌握了基础知识后，你可能会对 [Mozilla 的 HTML 指南](https://developer.mozilla.org/en-US/docs/Web/HTML) 感兴趣。它包括一些很棒的初学者教程，因此你可以学习如何创建自己的网页。

有关 CSS 样式的更多信息，我推荐 [Mozilla 的 CSS 指南](https://developer.mozilla.org/en-US/docs/Web/CSS)。

*（题图： MJ:web internet traffic design）*

---

via: <https://opensource.com/article/22/8/css-html-project-documentation>

作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lkxed](https://github.com/lkxed) 译者：[XiaotingHuang22](https://github.com/XiaotingHuang22) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #971 龙芯 3A5000 可能是目前最有希望的国产 CPU

Summary:
? 龙芯 3A5000 可能是目前最有希望的国产 CPU
? 亚马逊免费向个人提供编程助手 CodeWhisperer
? 微软几十年来首次对 PrtScr 键进行修改
»
»

没有光刻机，就不能算国产。

秦始皇都没搞定光刻机，还是省省吧。

国产=中国设计

抛开其他不谈，龙芯确实是最好的国产芯了，其他的只能更烂。不过，也不用失望，俟其壮大就好了。

来自福建龙岩的 Chrome Mobile 90.0|Android 11 用户

前两天看新闻还说——龙芯3A6000性能飞跃 大踏步追上AMD Zen2，他们自己说的。

这个性能到底如何，不知道有没有人搞一台跑分看看。

另外感觉这个生态可能很难搞起来，MIPS 自身好像都放弃 MIPS 架构转向 RISC-V 了，龙芯能不能青出于蓝难说。

龙芯虽然可以靠单位采购，但软件大概只有些定制的办公套件，价格估计也不是很实惠，对消费者可能没什么吸引力，消费者少那么开发软件的就少，恶性循环了。

估计以后国内还是 RISC-V 占主流，大家都可以做，生态容易推一些。龙芯虽然说不受制于外，但国内的企业多半也不愿意受制于它一家公司。

龙芯还是要继续发展，这是一条路线问题，不能把市场完全交给国外cpu,一些重要领域还是要国产的，不过龙芯的不兼容问题还是阻挠其争抢是从份额的一大障碍，不过兼容应该是一种趋势，龙芯应该已经在做了，看后续发展了

呵呵，不是省省，而是继续努力。没有光刻机就自己造呗。从无到有。看来有些垃圾的思维与众不同啊。

民族主义的毒瘤泛起

0到1和90-100是最难的，先到1，然后慢慢追赶。

# 硬核观察 #971 龙芯 3A5000 可能是目前最有希望的国产 CPU

### 龙芯 3A5000 可能是目前最有希望的国产 CPU

国外专业机构最近发表长文测评了龙芯 CPU，并梳理了其历史发展和软件生态。作者认为，与兆芯和飞腾相比，龙芯最新的产品 3A5000 是迄今为止最有希望的中国产的 CPU。当然，测评也指出，龙芯的 LA464 根本无法提供与任何近期英特尔或 AMD 架构相同的性能，并没有感觉到比十年前更接近英特尔和 AMD。另外，测评还指出了龙芯软件生态的问题。由于创造了一个新的、不兼容的指令集，LoongArch ABI 分成了两个互不兼容的部分：所有建立在开源的社区发行版上的二进制软件，以及一些用高级语言编写并以源代码或字节码等形式存在的软件（如用 Python 或 Java 编写的软件）不能在商业发行版上运行。反之亦然。所有来自 ISV 的闭源软件，如 WPS Office，都是建立在商业发行版上的，所以它们极不可能在社区发行版上原样运行。

>
> **[消息来源：Chips and Cheese](https://chipsandcheese.com/2023/04/09/loongsons-3a5000-chinas-best-shot/)**
>
>
>

>
> 老王点评：这个测评和其中透露的一些信息，我是震惊的。
>
>
>

### 亚马逊免费向个人提供编程助手 CodeWhisperer

亚马逊宣布其 AI 编程助手 CodeWhisperer 已普遍可用。CodeWhisperer 和 GitHub Copilot 类似，使用开源代码库进行训练，根据上下文向开发者提供代码完成建议。CodeWhisperer 对个人开发者免费提供，而向企业客户提供的专业版本包含了 SSO 和安全扫描等额外功能。CodeWhisperer 支持 VS Code、IDEA 等多款开发工具。亚马逊称，测试者的试用显示其编程速度平均提高了 57%。

>
> **[消息来源：Amazon](https://aws.amazon.com/cn/blogs/aws/amazon-codewhisperer-free-for-individual-use-is-now-generally-available/)**
>
>
>

>
> 老王点评：这些编程助手，真正使编程变成了一种通俗技能。
>
>
>

### 微软几十年来首次对 PrtScr 键进行修改

打印屏幕（`PrtScr`）键，这个功能在微软多年的升级和其他功能的增强中基本上保持不变。而微软本月向 Insider Beta 频道推出的更新中，按下 `PrtScr` 键时将默认打开截屏工具，而不是直接截取整个屏幕并存储到剪贴板中。虽然有不少反对意见，但也有用户称，现在屏幕越来越大了，直接截取全屏确实不如截取后进行裁剪更有意义。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/13/microsoft_snipping_tool_default/)**
>
>
>

>
> 老王点评：要不是修改了这个键，是不是大多数人都忘记了键盘上还有这个键呢？我在纳闷为什么我的截屏工具没有用这个快捷键，而是用了很复杂的组合键呢？
>
>
>


14 岁那年，我提交了第一个拉取请求

Summary: 年龄并不是为开源做贡献的障碍。

Neil学习的柔术（Jiu-jitsu），指的是巴西柔术。

太强了，膜拜！

年龄并不是为开源做贡献的障碍。

# 14 岁那年，我提交了第一个拉取请求

<img src="content_image/album_202304_15_090228sa3z0p8pt3bre9vt.jpg" alt="" title="">

>
> 年龄并不是为开源做贡献的障碍。
>
>
>

我叫 Neil Naveen，我是一个 14 岁的初中生，已经有七年的编码经验。我使用 [Golang](https://opensource.com/article/18/11/learning-golang) 编码也有两年了。

不过，编码并不是我唯一的爱好。我练习柔术已经有四年了，并参加过多次比赛。我对编码和柔术充满热情，因为它们教给了我重要的人生课程。

### Codecombat

我在 [Codecombat](https://codecombat.com) 上开始编码，它教会了我许多基本的编码技巧。

在我的编码历程中，最激动人心的时刻之一是我在 Codecombat 主办的多人竞技场中，在大约 50,000 名玩家中排名第 16。当时我只有 11 岁，这对我来说是一个不可思议的成就。它给了我继续探索和学习新事物的信心。

### Leetcode

在 Codecombat 之后，我转到了 [leetcode.com](https://leetcode.com/neilnaveen)。通过解决这个网站量身定制的问题，来磨练我的算法编码技能，以学习特定的算法。

### Coding Game

当我 13 岁时，我转到了 [Coding Game](https://www.codingame.com/profile/0fa733a2c7f92a829e4190625b5b9a485718854) 的机器人编程。这里的竞争更加激烈，因此我必须采用更好的算法。例如，在创建终极 <ruby> 井字游戏 <rt>  tic-tac-toe </rt></ruby>人工智能时，我使用了 <ruby> 极小化极大算法 <rt>  Minimax </rt></ruby> 和 <ruby> 蒙特卡洛树搜索 <rt>  Monte Carlo Tree Search </rt></ruby> 等算法，使我的代码快速高效。

### GitHub CLI

有一天，我看到爸爸在使用一个叫 [GitHub CLI](https://github.com/cli/cli) 的开源工具，我被它迷住了。GitHub CLI 是一个允许用户直接从命令行与 GitHub 的 API 互动的工具，而不需要到 GitHub 网站上去。

又有一天，我父亲正在审查一个旨在检测依赖关系中的漏洞的机器人的 <ruby> 拉取请求 <rt>  PR </rt></ruby>。

后来，我思考了 GitHub CLI 和这个机器人，并想知道 GitHub CLI 本身是否被一个安全机器人所监控。事实证明它没有。

所以我创建了一个修复程序，并包含了 GitHub CLI 的安全审计。

令我高兴的是，我的贡献被接受了。它被合并到了项目中，这对我来说是一个激动人心的时刻。能为一个像 GitHub CLI 这样受欢迎的工具的重要项目作出贡献，并帮助保护它，是一个极好的机遇。这是我的 PR 的链接：<https://github.com/cli/cli/pull/4473>

### 提交你的代码

我希望我的故事能激励其他年轻人去探索并为开源世界做出贡献。年龄并不是障碍。每个人都应该探索和贡献。如果你想看看我的网站，请到 [neilnaveen.dev](https://neilnaveen.dev)。你也可以看看我的 [Leetcode 个人资料](https://leetcode.com/neilnaveen/)。如果你有兴趣，可以看看我在 [CloudNativeSecurityCon](https://www.youtube.com/watch?v=K6NRUGol-rE) 的演讲记录。

我很感激迄今为止我所拥有的机会，我很兴奋地期盼我的未来。谢谢你阅读我的故事!

（LCTT 校注：我也接触过几位初中生，他们在技术和开源方面有这浓厚的兴趣，并取得了令人称道的进展。所以，看到这篇文章的同学们，你也可以的！）

*（题图：MJ:Kids programming learning carton）*

---

via: <https://opensource.com/article/23/3/my-first-code-contribution-age-14>

作者：[Neil Naveen](https://opensource.com/users/neilnaveen) 选题：[lkxed](https://github.com/lkxed/) 译者：[hanszhao80](https://github.com/hanszhao80) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Speek!：一个使用 Tor 的开源聊天应用程序

Summary: 一个有趣的、开源的私人通讯软件，它利用 Tor 来保证你的通信安全和私密。

一个有趣的、开源的私人通讯软件，它利用 Tor 来保证你的通信安全和私密。

# Speek!：一个使用 Tor 的开源聊天应用程序

>
> 一个有趣的、开源的私人通讯软件，它利用 Tor 来保证你的通信安全和私密。
>
>
>

Speek 是一种网络通讯服务，它利用多种技术保证网络聊天的私密性。

它是端到端加密的、去中心化和开源的。

毫无疑问，它的目标是将自己定位为 [WhatsApp 的替代品](https://itsfoss.com/private-whatsapp-alternatives/) 之一和 [Linux 上的 Signal](https://itsfoss.com/install-signal-ubuntu/) 的竞争对手。

那么，它到底如何呢？ 让我们一起来仔细看看细节。

### Speek! 适用于 Linux 和安卓的点对点即时消息应用程序

（LCTT 译注： <ruby> 点对点 <rt>  Peer-to-Peer </rt></ruby>，又称对等式网络，是无中心服务器、依靠 <ruby> 对等点 <rt>  peer </rt></ruby> 交换信息的互联网络体系，它的作用在于，减低以往网路传输中的节点，以降低资料遗失的风险。）

Speek!（名称中带有感叹号）是一种加密的聊天软件，旨在抗审查，同时保护数据隐私。

你也可以认为它是 [Session](https://itsfoss.com/session-messenger/) 的替代品，但有一些区别。

与其他可用的通讯软件相比，它是一个相当新的竞争对手。但是如果你想尝试开源的解决方案，它应该作为候选者。

虽然 Speek! 声称能保持匿名，但如果你需要的是完全匿名的话，你应该始终注意自己在设备上的活动。因为你需要考虑的不仅仅是即时通讯软件。

Speek! 利用去中心化的 Tor 网络来保证安全性和私密性。不仅如此，这样做可以让你无需电话号码就能使用服务。你只需要你的 Speek ID 就可以与人联系，而别人很难知道你的 ID。

（LCTT 译注：Tor 是一个可以实现匿名通信的自由软件。其名源于 <ruby> 洋葱路由器 <rt>  The Onion Router </rt></ruby> 的英文缩写。）

### Speek! 的亮点

Speek! 的一些主要亮点包括：

* 端到端加密：除收件人外，没有人可以查看你的消息。
* 通过 TOR 路由流量：使用 TOR 路由消息，增强隐私。
* 没有中央服务器：增加了对审查的抵抗力，因为很难关闭服务。此外，没有针对黑客的单一攻击点。
* 无需注册：无需共享任何个人信息即可开始使用该服务。你只需要一个公钥来识别/添加用户。
* 自毁聊天：当你关闭应用程序时，消息会自动删除。增添了额外的隐私和安全性。
* 无元数据：它会在你交换消息时消除任何元数据。
* 私人文件共享：你还可以使用该服务安全地共享文件。

### 下载适用于 Linux 和其他平台的 Speek!

你可以从他们的 [官方网站](https://speek.network) 下载 Speek!。

在撰写本文时，Speek! 仅适用于 Linux、安卓、macOS 和 Windows。

对于 Linux，你会找到一个 [AppImage](https://itsfoss.com/appimage-interview/) 文件。如果你不知道 AppImage，可以参考我们的 [AppImage 指南](https://itsfoss.com/use-appimage-linux/) 来运行该应用程序。

另外，[Google Play 商店](https://play.google.com/store/apps/details?id=com.speek.chat) 上的安卓应用程序还比较早期。因此，你在尝试使用它时可以期待一下它的改进。

[Speek!](https://speek.network/)

### 关于 Speek! 的用户体验

这个应用的用户体验非常令人满意，包含了所有必备的功能。它可以更好，但已经很不错了。

嗯，关于 Speek! 的 GUI 没什么好说的。GUI 非常极简风。它的核心是一个聊天应用程序，而它做得恰如其分。没有动态，没有附近的人，没有不必要的附加组件。

在我使用这个应用程序的有限时间里，我很满意它的功能。它提供的功能使其成为一款出色的聊天应用程序，可通过其背后的所有技术提供安全和私密的消息传递体验。

如果将它与一些商业上更成功的聊天软件进行比较，它在功能上存在不足。但话又说回来，Speek! 的设计就不是一个只关注用户体验的时尚聊天应用。

因此，我只向注重隐私的用户推荐 Speek!。如果你想要平衡用户体验和功能，你可能希望继续使用像 Signal 这样的私人聊天软件。

你对于 Speek 又有什么看法？对于注重隐私的用户来说，它是一个很好的私人聊天软件吗？ 请在下方评论区告诉我你的想法。

*（题图：MJ:A girl looks at her phone while two cats are peeking at her phone next to her.）*

---

via: <https://itsfoss.com/speek/>

作者：[Pratham Patel](https://itsfoss.com/author/pratham/) 选题：[lkxed](https://github.com/lkxed) 译者：[XiaotingHuang22](https://github.com/XiaotingHuang22) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Summary:
? CentOS 提醒 CentOS Linux 7 即将结束支持
? ChatGPT 为“身兼多职”的提供了更多机会
? 英伟达的顶级 AI 芯片在 eBay 上的售价超过 4 万美元
»
»

# 硬核观察 #972 CentOS 提醒 CentOS Linux 7 即将结束支持

### CentOS 提醒 CentOS Linux 7 即将结束支持

CentOS 项目已经发出了关于 CentOS Linux 7 和 CentOS Stream 8 的终结日期的提醒。CentOS Linux 7 计划在 2024 年 6 月 30 日结束，因为 RHEL 7 也于同期结束。CentOS Stream 8 计划在 2024 年 5 月 31 日之后不再生产任何新的构建，这也预示着 RHEL 8.10 将是该系列最后一个版本。而曾经作为 RHEL 下游的 CentOS 8 已经在 2021 年 12 月 31 日结束使用。

>
> **[消息来源：CentOS](https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/?utm_source=phx)**
>
>
>

>
> 老王点评：可能你已经被它们之间的复杂关系迷惑，不过，CentOS 停服这件事看来余波甚远啊。
>
>
>

### ChatGPT 为“身兼多职”的提供了更多机会

一些从事多份工作的人已经在网上聚集起来，他们称自己为 “过度就业者”。在大流行以来，越来越的人开始居家办公，这给他们同时接受多份全职工作雇佣提供了可能。而现在，ChatGPT 更使他们如虎添翼，而雇主并不知道。一位受访者称，“ChatGPT 做了我 80% 的工作”。他甚至用它来生成申请工作的求职信。一位技术工人将 ChatGPT 整合到他的工作过程中后，他的工作数量从两份增加到四份。他说：“我认为五份工作可能有点过头了。”

>
> **[消息来源：VICE](https://www.vice.com/en/article/v7begx/overemployed-hustlers-exploit-chatgpt-to-take-on-even-more-full-time-jobs)**
>
>
>

>
> 老王点评：这才是真正把被 AI 抢去工作变成让 AI 帮你抢来更多工作。
>
>
>

### 英伟达的顶级 AI 芯片在 eBay 上的售价超过 4 万美元

去年发布的 H100 是英伟达最新的旗舰人工智能芯片，接替了之前被称为人工智能应用主力的 A100。周五，至少有 8 块 H100 在 eBay 上零售，最高价格约为 46,000 美元。开发人员正在使用 H100 构建大型语言模型，这是 OpenAI 的 ChatGPT 等人工智能应用的核心所在。像 GPT 这样的大型模型，需要数百个高端的英伟达 GPU 共同工作。

>
> **[消息来源：CNBC](https://www.cnbc.com/2023/04/14/nvidias-h100-ai-chips-selling-for-more-than-40000-on-ebay.html)**
>
>
>

>
> 老王点评：又一轮的显卡抢购潮，英伟达这种公司已经嘴都乐歪了吧。
>
>
>


OpenBSD 7.3 发布，包含新功能和更新

Summary: OpenBSD 7.3 正式发布，有大量的软件包更新和改进。

OpenBSD 7.3 正式发布，有大量的软件包更新和改进。

# OpenBSD 7.3 发布，包含新功能和更新

>
> OpenBSD 7.3 正式发布，有大量的软件包更新和改进。
>
>
>

OpenBSD 7.3 已经正式 [发布](https://www.openbsd.org/73.html)，这是该系统的第 54 个版本。这个最新的版本建立在 OpenBSD 令人印象深刻的傲人记录之上 —— 它是一个安全可靠的操作系统，在二十多年的使用过程中，在默认安装中只发现了两个远程漏洞。

与以前的版本一样，OpenBSD 7.3 在广泛的系统领域提供了显著的改进。其中包括内核的改进，如增加了 `waitid(2)`、`pinsyscall(2)`、 `getthrname(2)` 和 `setthrname(2)` 函数，以及 `waitid(2)` 的 `WTRAPPED` 选项，等等。此外，新的内核 `autoconf_serial sysctl(8)` 允许用户区监控内核设备树状态的变化。

直接渲染管理器和图形驱动已经更新，引入了对 Ryzen 7000 “Raphael” 和 Ryzen 7020 和 7045 系列处理器以及 Radeon RX 7900 XT/XTX “Navi 31” 的支持，并改进了苹果芯片笔记本电脑和联想 x13s 的问题的解决方案。

此外，还改进了对网络硬件的支持，例如启用了 `em(4)` IPv4、 TCP 和 UDP 校验卸载，以及 82575、 82576、 i350 和 i210 芯片组设备上的硬件 VLAN 标记， 以及改进了 `mcx(4)` 性能。

除了上述的改进，OpenBSD 7.3 还包括一系列新的或改进的硬件和软件对 <ruby> 端口源码包 <rt>  Port </rt></ruby> 和 <ruby> 二进制软件包 <rt>  Package </rt></ruby> 的支持。一些来自外部供应商的主要组件包括 Xenocara、LLVM/Clang、GCC、Perl、NSD、Unbound、Ncurses、Binutils、Gdb、Awk 和 Expat。

OpenBSD 以最安全、最可靠的操作系统之一而闻名。在过去的二十年里，它的默认安装中只有两个远程漏洞，这一记录令人印象深刻。随着 OpenBSD 7.3 的发布，用户可以期待在几乎所有的系统领域都有显著的改进。

这个版本的内核改进，如增加了 `waitid(2)`、`pinsyscall(2)`、`getthrname(2)`、`setthrname(2)` 和 `clockintr(9)`，将为用户提供更简化的体验。Direct Rendering Manager 和图形驱动也得到了更新，包括对 Ryzen 7000 “Raphael”、Radeon RX 7900 XT/XTX “Navi 31” 和 Radeon RX 7600M（XT）等新设备的支持。

OpenBSD 7.3 还包括改进的网络硬件支持，在 82575、82576、i350 和 i210 芯片组的设备上启用 `em(4)` IPv4、TCP 和 UDP 校验和卸载以及硬件 VLAN 标记。此外，通过使用基于中断的命令完成，`mcx(4)` 的性能得到了提高。

至于端口源码包和二进制软件包，OpenBSD 7.3 包括了最新版本的应用程序、桌面和关键软件包。下面是关键端口源码包和二进制软件包的新项目列表：

**桌面和应用**

* Chromium 111.0.5563.110
* GNOME 43.3
* KDE 应用 22.12.3
* KDE 框架 5.103.0
* Xfce 4.18
* Krita 5.1.5
* LibreOffice 7.5.1.2
* Mozilla Firefox 111.0 和 ESR 102.9.0
* Mozilla Thunderbird 102.9.0

**核心开发软件包**

* Mutt 2.2.9 和 NeoMutt 20220429
* Node.js 18.15.0
* OCaml 4.12.1
* OpenLDAP 2.6.4
* PHP 7.4.33, 8.0.28, 8.1.16 和 8.2.3
* Postfix 3.5.17 和 3.7.3
* PostgreSQL 15.2
* Python 2.7.18, 3.9.16, 3.10.10 和 3.11.2
* Qt 5.15.8 和 6.4.2
* R 4.2.1
* Ruby 3.0.5, 3.1.3 和 3.2.1
* Rust 1.68.0
* Sudo 1.9.13.3
* MariaDB 10.9.4
* Mono 6.12.0.182

总的来说，最新发布的 OpenBSD 继续为用户提供安全可靠的操作系统，同时也在系统的各个领域进行了重大改进。我们鼓励用户升级到 OpenBSD 7.3，以利用这些新功能和改进。

OpenBSD 7.3 可以从官方网站下载，并有全面的发布说明，详细介绍了所有的新功能和改进。

>
> **[下载 OpenBSD 7.3（所有架构）](https://cdn.openbsd.org/pub/OpenBSD/7.3/)**
>
>
>

>
> **[详细的更新日志](https://www.openbsd.org/plus73.html)**
>
>
>

*（题图： MJ:Future computer with transparent screen, metal box, hd, ultra detailed, sci-fi）*

---

via: <https://debugpointnews.com/openbsd-7-3/>

作者：[arindam](https://debugpointnews.com/author/dpicubegmail-com/) 选题：[lkxed](https://github.com/lkxed/) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Arch Linux 的最佳 GUI 包管理器

# Arch Linux 的最佳 GUI 包管理器

>
> 让我们点评一些最好的 Arch Linux GUI 包管理器。选择最符合你需求的。
>
>
>

由于其可定制性、灵活性和尖端功能，Arch Linux 是高级用户和开发人员中最受欢迎和使用最广泛的 Linux 发行版之一。

由于其极简设计，在 Arch Linux 中安装软件的主要方式是使用终端通过命令行界面 （CLI）。

但并不是每个人都喜欢使用终端。基于图形用户界面（GUI）的包管理器是这些人的必备程序。有几个可选的包管理器。让我们了解一些比较流行的。

### 在 Arch Linux 上寻找基于 GUI 的包管理器要考虑什么？

在为 Arch Linux 选择基于 GUI 的包管理器时，必须考虑几个因素：

首先，它应该有一个干净易用的界面，对初学者来说很直观。

其次，它应该支持所有包管理操作，例如安装、删除、更新和搜索包。

第三，它应该具有高级功能，例如依赖项解析和对 AUR 包的支持。

最后，它应该是轻量级的，不会占用太多的系统资源。

### Arch Linux 的最佳 GUI 包管理器

#### 1、Pamac

此列表中的第一个 GUI 包管理器是 [Pamac](https://wiki.manjaro.org/index.php/Pamac)，它由 Manjaro Linux 团队开发。具有漂亮且用户友好的界面，使其超级易于使用。

其直观的界面使用户可以轻松安装、删除和更新软件包。它建立在支持 AUR 的 [libalpm](https://man.archlinux.org/man/libalpm.3.en) 之上。Pamac 还支持 Snap 和 Flatpak 的 `appstream:///` 协议。因此，你可以直接从 appstream 链接启动该应用安装程序。此外，它还具有高级功能，例如依赖项解析和对 AUR 包的支持。此外，Pamac 是轻量级的，不会占用太多系统资源。

使用其 GUI，你可以浏览 Arch 仓库，还可以根据其功能查看应用。Pamac GUI 中有单独的部分，可以使你能够删除和卸载包，包括孤立的包。

它是最好的 GUI 包管理器之一。

Pamac 安装很容易。它在 Arch 用户仓库（AUR）中可用。你可以 [安装 Yay](https://www.debugpoint.com/install-yay-arch/) AUR 助手或任何其他助手来安装它。这是使用 Yay 安装的命令。该软件包位于 [此处](https://aur.archlinux.org/packages/pamac-aur-git)。如果你正在运行 [Manjaro Linux](https://www.debugpoint.com/manjaro-linux-review-2022/)，它应该已经存在。

```
yay -S pamac-aur-git

```

#### 2、Octopi

接下来的 GUI 包管理器是 [Octopi](https://tintaescura.com/projects/octopi/)，它是另一个漂亮的工具。它是使用 Qt 构建的，并带有一个高效的 GUI。在功能方面，它是一个非常先进的工具。

使用 Octopi，你可以搜索包、安装它们，当然也可以删除它们。此外，你可以查看直接从 Arch 仓库中获取的每个包的详细信息。例如，包版本、最后更新日期、新闻和其他信息。

此外，它允许你查看包的 PKGBUILD 信息。如果你想进一步调查包，这是一个很好的功能。

最后，它是超轻量级的，不会占用大量系统资源。我认为 Octopi 完全被低估了，它是 Arch Linux 功能丰富的软件管理器之一。

它在 AUR 中可用，你可以使用 [Yay](https://www.debugpoint.com/install-yay-arch/) 或任何 AUR 助手安装它。

```
yay -S --needed octopi

```

#### 3、GNOME “软件”应用

此列表中的第三个是你可能已经知道的 GNOME “<ruby> 软件 <rt>  Software </rt></ruby>”应用。它是 Ubuntu、Fedora 和许多其他发行版的默认软件管理器。基于 GTK4，它支持所有类型的包，如 .deb、.rpm、Flatpak 和 Snap。在 Arch Linux 中，它支持主 Arch 仓库，包括用户仓库（AUR）。

但是，与此列表中的其他应用程序相比，它对系统资源的占用可能有点大。但它是一个现代的包管理器，可以很好地用于各种场景。

安装很简单，因为它在主 Arch 仓库中可用。你可以从终端使用以下命令安装它。

```
sudo pacman -S --needed gnome-software

```

#### 4. KDE “发现”应用

我个人最喜欢的是 KDE “<ruby>   发现  <rt>  Discover </rt></ruby>”应用 ，它是 KDE Plasma 团队中最好的软件管理器之一。如果你使用过 Kubuntu 或任何其他 KDE Plasma 桌面，那么你已经熟悉它了。

“发现”应用支持所有主要的打包格式，包括 deb、rpm、Flatpak 和 Snap。它有一个定义明确的软件及其来源信息页面。你还可以按应用名称搜索或按应用类别浏览目录。

对于 Arch Linux，它可以从主 Arch 仓库和 AUR 中获取包和信息。

你可以在 Arch Linux 中使用以下命令安装它。

```
sudo pacman -S --needed discover

```

#### 5、Bauh

[Bauh](https://github.com/vinifmor/bauh) 是一个相对较新的基于 GUI 的 Arch Linux 包管理器。它具有简单且用户友好的界面，使用户可以轻松管理他们的包。

它的主窗口为你提供了在 Arch Linux 系统中管理应用程序的所有选项。主搜索框使你能够搜索应用程序。此外，你可以通过类型浏览，例如仅查看 Flatpak、AUR 等包。

此外，使用 Bauh 的主 GUI，你可以逐个降级和更新软件包，查看软件包信息，甚至直接启动应用。

良好设计的设置面板为你提供了所需的所有自定义选项。

在系统中 [设置](https://www.debugpoint.com/install-yay-arch/) AUR 之后，你可以使用以下命令安装它。

```
yay -S --needed bauh

```

### 还有几个

还有一些其他的包管理器可以在 Arch Linux 中使用。这是其中的一小部分。这些不是那么流行。但它们也可以作为替代方案。

* [Apper](https://apps.kde.org//system/apper/)：使用 PackageKit 的应用和包管理器（来自 KDE 团队）
* [tkPacman](https://aur.archlinux.org/packages/tkpacman)：使用 Tcl/Tk 构建的 pacman 轻量级 GUI

最后，你可以在官方 [Arch Wiki](https://wiki.archlinux.org/title/Pacman/Tips_and_tricks#Graphical) 中阅读更多相关信息。

### 总结

在本文中，我们讨论了一些适用于 Arch Linux 的最佳基于 GUI 的包管理器，包括 Pamac、Octopi、GNOME “软件”应用、KDE “发现”应用 和 Bauh。

这些包管理器中的每一个都有自己的优点和缺点，因此你可以选择最适合你需求的那个。

如果你要我推荐，我建议你试试这些：Pamac、Octopi 和 Bauh。它们都是很好的。

*（题图：MJ:software package manager hd, abstract）*

---

via: <https://www.debugpoint.com/arch-linux-gui-package-managers/>

作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #973 马斯克已经成立了一家新的人工智能公司 X.AI

Summary:
? 马斯克已经成立了一家新的人工智能公司 X.AI
? FSF 暗指谷歌为了自己的专有格式而放弃 JEPG-XL
? Python 基金会对欧盟拟议的网络安全法案表示担忧
»
»

# 硬核观察 #973 马斯克已经成立了一家新的人工智能公司 X.AI

### 马斯克已经成立了一家新的人工智能公司 X.AI

据报道，在 [倡议暂停](/article-15673-1.html) AI 研究之前，埃隆·马斯克上个月已经注册了一个新的公司，X.AI，并购买了数千块高端 GPU 以开展研究。在被问及他购买的 GPU 时，他没有提及他建立一个人工智能公司的计划，他说：“在这一点上，似乎每个人和他们的狗都在购买 GPU”。

>
> **[消息来源：The Verge](https://www.theverge.com/2023/4/14/23684005/elon-musk-new-ai-company-x)**
>
>
>

>
> 老王点评：这就真不太地道了。
>
>
>

### FSF 暗指谷歌为了自己的专有格式而放弃 JEPG-XL

自由软件基金会（FSF）撰文称，“谷歌决定废除 JPEG-XL 强调了浏览器选择的必要性”。谷歌于 2 月份废弃了 JPEG-XL 图像格式，转而支持它自己的专利 AVIF 格式。谷歌的理由是“整个生态系统没有足够的兴趣来继续试验 JPEG-XL”，而无视社区的恳请，并没有对用户的担忧做出回应。JPEG-XL 的删除问题已经成为 Chromium 项目历史上第二大 “明星” 问题。

>
> **[消息来源：FSF](https://www.fsf.org/blogs/community/googles-decision-to-deprecate-jpeg-xl-emphasizes-the-need-for-browser-choice-and-free-formats)**
>
>
>

>
> 老王点评：任何浏览器一家独大都会变得邪恶，IE 如此、Chrome 如此、Safari 如此。
>
>
>

### Python 基金会对欧盟拟议的网络安全法案表示担忧

Python 基金会（PSF）审查了欧盟拟议的《网络弹性法》和《产品责任法》，并报告说 “这些问题使我们组织的使命和开源软件社区的健康受到威胁”。PSF 执行董事认为这些法案“没有区分从未因提供软件而获得报酬的独立作者，和销售产品以换取最终用户付款的企业技术巨头”，“如果拟议的法律按目前的条款执行，开源组件的作者可能要为他们的组件被应用于别人的商业产品的方式承担法律和财务责任。”PSF 认为，欧盟立法者应该为服务于公共利益的公共软件库以及在公共资源库上托管软件包的组织和开发者提供明确的豁免。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/12/python_management_eu/)**
>
>
>

>
> 老王点评：虽然只是欧盟的法案，但是却可能损坏了开源社区的根基。
>
>
>


准备购买，注册地址时，为啥没有china大陆这边，但是有香港和台湾，不想找代购，我那边也没有朋友亲戚怎么办？？？

看了外国人眼里的全球配送就是个幌子

全世界都在逆行？ 你自己没有点问题？有问题多从自己身上找

来自江西南昌的 Chrome Mobile iOS 112.0|iOS 16.3 用户

# TUXEDO Stellaris 16（Gen5）是目前所能找到的终极 Linux 笔记本电脑

>
> 这款笔记本电脑拥有 RTX 4090 和 i9 处理器等规格，可谓惊人！你觉得呢？
>
>
>

TUXEDO 电脑是 Linux 领域的一个著名品牌，它提供了不同价格/性能的可定制的 Linux 笔记本和台式电脑。

顺便说一句，它是值得信赖的 [购买 Linux 电脑](https://itsfoss.com/get-linux-laptops/) 的地方之一。

在最近的公告中，他们推出了 **Stellaris 16 英寸笔记本电脑的下一个进化版**。

我必须说，这可以成为 Framework 最近宣布的高性能 16 英寸笔记本电脑的有力挑战者。

让我们来看看它。

### TUXEDO Stellaris 16 Gen 5 概览

这款笔记本电脑的主要亮点是，它采用了英伟达最新、最强大的 [RTX40 系列](https://www.nvidia.com/en-us/geforce/laptops/) 笔记本 GPU，提供了强大的图形性能和功能。

搭配了英特尔的顶级处理器 [i9 13900HX](https://ark.intel.com/content/www/us/en/ark/products/232171/intel-core-i913900hx-processor-36m-cache-up-to-5-40-ghz.html)，其 24 个核心可以在高达 157W TDP（睿频）的情况下超频到 **极快的 5.40 GHz**，这是一个引人注目的组合。

但请记住，为了充分发挥笔记本电脑的运行潜力，TUXEDO 建议使用 **他们的外部水冷却解决方案**，[TUXEDO Aquaris](https://www.tuxedocomputers.com/en/Linux-Hardware/Accessories/Further-accessories/TUXEDO-Aquaris--External-Water-Cooling-Device_1.tuxedo)，它可以通过磁力连接到笔记本电脑的背面。

>
> ? 在订购该笔记本电脑时，你必须为此支付额外费用。
>
>
>

该处理器在没有全速运行时，基本 TDP 为 55W，时钟速度为 3.90GHz。

对于这样一台轻薄的笔记本电脑来说，这仍然是一个不错的性能数字！ ?

Stellaris 16 - Gen5 笔记本电脑的一些其它关键亮点如下：

* 外壳 1是由铝和塑料的组合组成。
* 一个 240 赫兹的 16 英寸 IPS 显示屏，支持英伟达 G-SYNC。
* GPU 最高可选英伟达 RTX 4090。
* 高达 64GB DDR5，5600MHz 的内存（2x32GB）。
* 99Wh 的电池，允许运行时间长达 10 小时（空闲），在典型负载下约 6-7 小时。

### TUXEDO Stellaris 16：是什么让它成为强者？

Stellaris 16 - Gen5 笔记本电脑上的高端硬件不仅吸引了游戏玩家，也吸引了其他各种用户，如内容创作者、AI/ML 工程师、UI/UX 艺术家等等。

那么，是什么让它囊括如此完整的用户群体呢？

嗯，是在各种可能的设置中自由选择。

首先，你可以从 RTX 4060 这种相对平静的 GPU 到疯狂的 RTX 4090 中挑选，其间还有 RTX 4070 和 RTX 4080 可选。

然后是键盘选项，你可以选择他们新增加的 [樱桃 MX Ultra-Low Profile](https://www.cherrymx.de/en/cherry-mx/mx-ultra-low-profile/mx-ulp-click.html) 机械键盘，以获得打字时的触觉和听觉感受，或者通常的静音薄膜键盘。

你还可以从广泛的键盘布局清单中挑选，包括英语、德语、西班牙语、匈牙利语，以及更多，还有带有背光的 TUX 超级键。

内存也不例外。你可以在两个性能层之间做出选择。一个是 “性能” 层，提供 DDR5 RAM，以迅速的 4800 MHz 运行，一个是 “高性能” 层，提供 DDR5 RAM，以令人瞠目的 5600 MHz 运行。

这些层级提供最大 64GB 的内存，采用来自 SK 海力士、三星和美光的内存条。

至于存储，两个 PCIe 4.0 x4 的 M.2 2280 SSD 插槽，配备各种三星 SSD。其阵容从三星 970 EVO Plus 开始，中间是三星 980，极速的三星 980 Pro 是该系列的顶配。

>
> ? 在两个 M.2 插槽都插满的情况下，最多可实现 4TB 的存储。
>
>
>

除此之外，Stellaris 16 - Gen5 具有 Wi-Fi 6E 和蓝牙 5.3，并预装了 [TUXEDO OS](https://www.tuxedocomputers.com/os)，除非你在购买时选择不同的操作系统，如 Ubuntu 22.04 LTS、Kubuntu 22.04 LTS、Ubuntu Budgie 22.04 LTS 和 Windows 11 Home/Pro 等。

### 什么时候可以买到和价格

TUXEDO Stellaris 16 - Gen5 现在可预购，在 4 月底开始交付。

基本配置的价格为 1763.87 欧元，配备 i9 处理器、RTX 4060、运行频率为 5600 MHz 的 16GB 内存（2x 8GB），500GB 三星 980 固态硬盘和 TUXEDO 操作系统。

>
> **[预购](https://www.tuxedocomputers.com/en/TUXEDO-Stellaris-16-Gen5.tuxedo)**
>
>
>

前往 [官方商店列表](https://www.tuxedocomputers.com/en/TUXEDO-Stellaris-16-Gen5.tuxedo)，并开始按照你的要求进行配置吧。

（LCTT 译注：原文带有受惠链接，但本文非收费软文。）

---

via: <https://news.itsfoss.com/tuxedo-stellaris-16-gen-5/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lkxed](https://github.com/lkxed/) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何在 Linux 中合并 PDF 文件

Summary: 有多个关于同一主题的 PDF，现在你想将它们合并成一个 PDF？

前两天绞尽脑汁找合并的工具，最后没办法在线合并的

有多个关于同一主题的 PDF，现在你想将它们合并成一个 PDF？

# 如何在 Linux 中合并 PDF 文件

>
> 有多个关于同一主题的 PDF，现在你想将它们合并成一个 PDF？
>
>
>

或者你可能需要上传由不同文件组成的单个文件？许多政府和学术门户网站都要求这样做。

作为 Linux 用户，如果你遇到需要合并 PDF 的情况，本教程将帮助你。

在本教程中，我将分享三种合并多个 PDF 文件的方法：

* 使用 PDF Tricks GUI 工具
* 使用 LibreOffice（允许你选择页面）
* 使用 ImageMagick 命令行工具（Linux 教程会没有终端方法就结束么？）

你可以全部了解一下并选择最适合你的。

### 方法 1：使用 PDF Tricks GUI 工具在 Linux 中合并 PDF

在试用了多种 GUI 工具后，我发现 PDF Tricks 使用简单且易于导航。

此外，除了合并 PDF 文件之外，它还包括其他功能，包括：

* 压缩 PDF。
* 拆分 PDF。
* 将 PDF 转换为 JPG、PNG 和文本格式。

它以 [Flatpak](https://itsfoss.com/what-is-flatpak/) 的形式提供。请 [确保你的 Linux 系统启用了 Flatpak 支持](https://itsfoss.com/flatpak-guide/)。

我分享的是在 Ubuntu 上启用 Flatpak 的步骤：

```
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

```

现在，使用以下命令在你的系统中安装 PDF Tricks：

```
flatpak install flathub com.github.muriloventuroso.pdftricks

```

完成安装后，从系统菜单中打开 PDF Tricks 应用。

第一次运行时，你会得到一个可以使用此工具执行的操作列表。显然，要合并 PDF 文件，请使用第三个选项。

在下一步中，单击 “<ruby> 添加文件 <rt>  Add file </rt></ruby>” 并选择要合并的文件：

选择文件后，单击 “<ruby> 合并 <rt>  Merge </rt></ruby>” 按钮：

它将打开系统的默认文件管理器。你可以在此处选择要保存合并文件的位置以及应命名的文件：

就是这样。合并后的 PDF 已保存。

如果你正在寻找，我们提供了一份 [可用于阅读和编辑 PDF 文件的最佳 PDF 阅读器](https://itsfoss.com/pdf-editors-linux/) 列表。

### 方法 2：使用 LibreOffice 合并 PDF 文件

很棒的 LibreOffice 能够处理许多与 PDF 相关的任务。你甚至可以 [使用 LibreOffice Draw 工具编辑 PDF 文件](https://itsfoss.com/edit-pdf-files-ubuntu-linux/) 来添加数字签名、添加文本等。

好处是你不需要安装其他应用。LibreOffice 已经安装在大多数发行版上，如果不是全部的话。

打开文件管理器并选择要合并的 PDF 文件。

右键单击选定的文件 > <ruby> 使用其他应用打开 <rt>  Open With Other Application </rt></ruby> > LibreOffice Draw，它将打开选定的 PDF 文件。

它将在单独的 LibreOffice Draw 实例中打开你选择的每个 PDF 文件：

现在，你必须从左侧预览栏选择单个页面或整个 PDF 文件（使用 `Ctrl + A`）并将其拖放到要合并的文件的预览栏：

拖放后，单击左上角的第 5 个选项，提示是 <ruby> 直接导出为 PDF <rt>  Export Directly as PDF </rt></ruby>：

将打开一个文件管理器，你可以从中定位并命名文件：

这就完成了！

### 更多技巧：在命令行中合并 PDF （对于高级用户）

如果我不包括命令行方法，那算什么 Linux 教程？要在命令行中合并 PDF 文件，你可以使用 ImageMagick。

ImageMagick 其实是一个图像相关的工具。PDF 文件本质上是图像，这就是 ImageMagick 可以处理它们的原因。

你可能甚至不需要单独 [安装 ImageMagick](https://itsfoss.com/install-imagemagick-ubuntu/)，因为它已经默认安装在大多数发行版中。

例如，我将添加 3 个名为 pdf-1.pdf、pdf-2.pdf 和 pdf-3.pdf 的 PDF 文件，并将最终合并的 PDF 文件输出命名为 MergedFile.pdf（多么聪明）：

```
convert pdf-1.pdf pdf-2.pdf pdf-3.pdf MergedFile.pdf

```

#### “no images defined” 故障排除

如果你看到这样的策略错误：

这个问题很容易解决。你只需在 ImageMagick 策略文件中进行少量更改。

打开策略文件进行编辑：

```
sudo nano /etc/ImageMagick-6/policy.xml

```

并查找以下行：

```
<policy domain="coder" rights="none" pattern="PDF" />

```

现在，你需要将 `rights="none"` 更改为 `rights=read|write`：

```
<policy domain="coder" rights="read|write" pattern="PDF" />

```

保存更改，现在你可以使用 ImageMagick 轻松合并文件：

### 总结

现在你知道了在 Linux 中合并 PDF 文件的几种方法。合并后的 PDF 文件可能很大。如果你需要在有大小限制的门户上传合并的 PDF 文件，你可以 [压缩 PDF 文件](https://itsfoss.com/compress-pdf-linux/)。

如果你在使用上述方法时遇到任何问题，请告诉我。

*（题图：MJ:process docs illustrations in high resolution）*

---

via: <https://itsfoss.com/merge-pdf-linux/>

作者：[Sagar Sharma](https://itsfoss.com/author/sagar/) 选题：[lkxed](https://github.com/lkxed) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #974 Auto-GPT 将人工智能“套娃”

Summary:
? Auto-GPT 将人工智能“套娃”
? Java 21 的一个提案将使它更容易学习
? 西部数据被窃取到了 10 TB 数据
»
»

# 硬核观察 #974 Auto-GPT 将人工智能“套娃”

### Auto-GPT 将人工智能“套娃”

最近，一个名为 AutoGPT 的新人工智能工具发布了，它比 ChatGPT 更有潜力。它可以执行人类级别的任务，并利用 GPT-4 的能力来开发一个可以独立运作而不受用户干扰的 AI 代理。它是一个实验性的、开源的 Python 应用程序，它使用 ChatGPT/GPT-4 来自主地行动。AutoGPT 使用“套娃”的概念来递归地调用自己，这是一种让 AI 模型使用其他模型作为工具或媒介来完成任务的方法。AutoGPT 使用这种方法，并在 ChatGPT 和 GPT-4 的帮助下，通过迭代自己的提示创建完整的项目。人们称，Auto-GPT 是通用人工智能（AGI）的第一个真正的缩影。

>
> **[消息来源：Mark Tech Post](https://www.marktechpost.com/2023/04/16/breaking-down-autogpt-what-it-is-its-features-limitations-artificial-general-intelligence-agi-and-impact-of-autonomous-agents-on-generative-ai/)**
>
>
>

>
> 老王点评：虽然距离 AGI 还有距离，但是能“自动”解决问题的 AI，距离下一步可以自主运行的 AI 又有多远呢？
>
>
>

### Java 21 的一个提案将使它更容易学习

计划在 9 月发布的 JDK 21 中有一个默认禁用的预览语言功能，它提议在 Java 中引入灵活的 `main` 方法和匿名 `main` 类，这将使 Java 变得更容易被学习。根据该提案，它将允许省略 `main` 方法的 `String[]` 参数，并允许 `main` 方法既不公开也不静态；引入匿名 `main` 类，声明隐含 `main` 类。比如 Hello World 程序只需要这样一行：`void main() { System.out.println("Hello, World!");}`。

>
> **[消息来源：Info World](https://www.infoworld.com/article/3692877/openjdk-proposal-would-make-java-easier-to-learn.html)**
>
>
>

>
> 老王点评：这样的 Java 是不是看起来平易近人多了？
>
>
>

### 西部数据被窃取到了 10 TB 数据

西部数据本月初证实它在 3 月 26 日遭到入侵，但没有透露更多信息。参与此次攻击的一名黑客公开接受采访，披露了更多相关信息。黑客称他们从西部数据窃取到了大约 10 TB 数据，正在谈判索要至少八位数的赎金。作为证据，黑客分享了一份使用西数证书签名的文件，以证明他们已经获取到了该证书。黑客表示他们入侵的目的是获利，因此没有用勒索软件加密西数的文件，如果西数拒绝或不理睬他们的要求，他们将会公开西数的数据。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/04/13/hackers-claim-vast-access-to-western-digital-systems/)**
>
>
>

>
> 老王点评：根据另外一份报告，83% 的企业被勒索后都会先期支付部分赎金。
>
>
>


Firefox 112 发布：右键单击显示密码、改进标签管理等！

终于不用 F12 再 type="text" 了

# Firefox 112 发布：右键单击显示密码、改进标签管理等！

>
> Firefox 发布 112 版本，为我们带来了显示密码的新选择、同时改进了标签管理等。
>
>
>

Mozilla 于 2023 年 4 月 11 日发布了 Firefox 112，新版本包含一些令人兴奋的新功能和改进。该浏览器的最新版本带来了一些功能以增强用户体验和提高性能。

本次更新最明显的其中一个功能是，你只需右键单击密码字段即可显示密码。对于那些容易忘记登录凭据的人来说，这是一个方便的工具。

如今，Firefox 允许 Ubuntu Linux 用户从 Chromium Snap 包导入浏览器数据。但是，此功能仅在 Firefox 未以 Snap 包安装时才有效，这一问题 Mozilla 正在努力解决了。

在标签管理方面，Firefox 112 提供了一个新的选项，可以通过在标签列表面板中用鼠标中键点击来关闭标签。此外，快捷键 `(Cmd/Ctrl)-Shift-T` 用于取消关闭标签，当同一会话中没有更多已关闭的标签需要重新打开时，它现在会恢复之前的会话。

Firefox 还扩展了已知跟踪参数列表，对于 ETP Strict 用户，这些参数会从 URL 中删除。这进一步保护用户免受跨站点跟踪。

新的更新还可以在 Windows 中的英特尔 GPU 上叠加软件解码视频。这提高了缩小的视频质量，并减少了 GPU 的使用。

在其他功能方面，已弃用的 U2F Javascript API 现在默认处于禁用状态。但是，U2F 协议仍然可以通过 WebAuthn API 使用，并且可以使用 security.webauth.u2f 首选项重新启用 U2F API。

最后，日期选择器面板中添加了一个新的清除按钮，允许用户快速清除类型为“日期”或“本地日期-时间”的输入，从而为跨浏览器的用户体验提供一致性。

Firefox 112 可在 Windows、Mac 和 Linux 上下载，我们鼓励用户将浏览器更新到最新版本以获得更流畅、更安全的浏览体验。

你可以立即从以下链接下载最新版本。

>
> **[下载 Firefox 112](https://ftp.mozilla.org/pub/firefox/releases/112.0/)**
>
>
>

或者，你可以再等几天，Linux 发行版会对它进行测试并通过定期发行版更新让你也能用上 Firefox 112。

参考自：[changelog](https://www.mozilla.org/en-US/firefox/112.0/releasenotes/)

*（题图：MJ:Firefox illustation in high resolution, very detailed, 8k）*

---

via: <https://debugpointnews.com/firefox-112/>

作者：[arindam](https://debugpointnews.com/author/dpicubegmail-com/) 选题：[lkxed](https://github.com/lkxed/) 译者：[XiaotingHuang22](https://github.com/XiaotingHuang22) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


使用这个开源工具轻松同步数据库

首屏都变成图片了，太夸张了，保留现在的三分之一高度就可以啦。

# 使用这个开源工具轻松同步数据库

<img src="content_image/album_202304_18_173544yeggjebh4algejg4.jpg" alt="" title="">

>
> 开源的 Apache SeaTunnel 项目是一个数据整合平台，可以很容易地实现数据同步。
>
>
>

<ruby> 变更数据捕获 <rt>  Change Data Capture </rt></ruby>（CDC）使用服务端代理来记录、添加、更新和删除对数据表的各种操作。它以一种易用的关系型格式提供了数据变化的细节信息。它可以捕获将更改应用于目标环境中的已修改行所需的列信息和元数据。这些信息保存在一个与被跟踪的源表的列结构相对应的变化表内。

捕获变更的数据可不是一件容易的事。不过，有一个开源项目 —— [Apache SeaTunnel](https://seatunnel.apache.org/)，它是一个数据整合平台，它提供的 CDC 功能的设计理念和功能集使这些捕获成为可能，其功能包括上文提到的，超越了现有产品的解决方案。

### 使用场景

CDC 的经典应用是异质数据库之间的数据同步或备份。你可以在 [MySQL](https://opensource.com/downloads/mariadb-mysql-cheat-sheet)、PostgreSQL、MariaDB 和类似的数据库间进行数据同步。另外一个例子，你也可以将数据同步到应该全文搜索引擎。借助 CDC，你可以基于 CDC 捕获的数据创建备份。

如果设计得当，数据分析系统通过订阅目标数据表的变化情况获取需要处理的数据，而不需要将分析过程嵌入已有系统。

### 在微服务间共享数据状态

微服务现在很流行，但是在微服务间共享信息往往是一件复杂的事。CDC 是一个可能的解决方案。微服务可以使用 CDC 来获取其他微服务的数据库变化，获取数据状态更新，以及执行相应逻辑。

### 更新缓存

<ruby> 命令查询责任隔离 <rt>  Command Query Responsibility Segregation </rt></ruby>（[CQRS](https://www.redhat.com/architect/illustrated-cqrs)）的概念是将命令活动与查询活动分开。这两者有本质上的不同：

* 命令向数据源写入数据。
* 查询从数据源读取数据。

问题是，读事件发生的时间与写事件发生的时间有关，以及这些事件的发生是由谁来承担责任的?

更新缓存可能很困难。你可以使用 CDC 从数据库获取数据更新事件，让它控制缓存的更新或失效。

CQRS 设计通常使用两种不同的存储实例来支持业务查询和变更操作。为了保证数据的一致性，我们可以使用分布式事务来保证强大的数据一致性，代价是可用性、性能和扩展性。你也可以使用 CDC 来确保最终的数据一致性，它的性能和伸缩性较好，但其代价是数据延迟，目前业界可以保持在毫秒范围内。

例如，你可以使用 CDC 把 MySQL 中的数据同步到你的全文搜索引擎（比如ElasticSearch）。在这种架构中，ElasticSearch 搜索了所有的查询，但是当你需要修改数据时，你不能直接操作 ElasticSearch 的，你需要修改上游的 MySQL 数据，因而生成了一个更新事件。当 ElasticSearch 监视数据库时，这个事件就被系统获取了，并在 ElasticSearch 中提示更新。

在一些 CQRS 系统中，也可以用类似的方法更新查询视图。

### 痛点

CDC 不是一个新概念，很多现有的项目已经实现了它。但是对很多用户来说，已有解决方案存在一些不足。

#### 单数据表配置

当你使用一些 CDC 软件时，你必须分别配置每个表。例如，为了同步十张表，你需要写十条 源 SQL 和 <ruby> 汇聚 <rt>  Sink </rt></ruby> SQL 语句。为了进行转换操作，你也需要写与转换相关的 SQL 语句。

有时候，对于一张表来说可以手写，但只对数据量小的情况适用。当数据量大时，会发生类型映射或参数配置的错误，进而导致较高的操作和维护成本。

SeaTunnel 是一个易用的数据集成平台，有望解决这个问题。

#### 不支持模式演化

一些 CDC 解决方案支持 DDL 事件传递，但不支持传递到 <ruby> 汇聚节点 <rt>  Sink </rt></ruby>，以便它能进行同步变更。由于无法根据 DDL 事件改变转换的类型信息，所以即使一个能获取事件的 CDC 也不一定可以将它发送至引擎（所以汇聚节点不能遵循 DDL 事件来进行变更）。

#### 太多的链接

在一些 CDC 平台上，当有多个表时，如果一张表被同步了，就必须使用一个链接来代表一张表。当存在多个表时，也需要很多链接。这就给源 JDBC 数据库带来了压力，同时导致binlog 过多，还会导致重复的日志解析。

### SeaTunnel CDC 架构的目标

Apache SeaTunnel 是一个开源、高效、分布式、大规模的数据集成框架。为了解决现有数据集成工具解决不了的问题，开发者社区“重新造轮子”，开发了一种具有独特功能的 CDC 平台。它的架构设计吸收了现有工具的优点，消除了相应的缺点。

Apache Seatunnel 支持：

* 以无锁并行的方式快照历史数据。
* 日志心跳检测和动态添加数据表。
* 读取子数据库、子表和多结构表。
* 模式演进。
* 所有基础的 CDC 功能。

它降低了用户的操作和维护成本，并且支持动态添加数据表。

例如，当你要同步整个数据库，并在稍后需要添加一个新表，你不必手动维护、改变配置或重启当前作业。

另外，Apache SeaTunnel 也支持并行读取子数据库、子表和多结构表。还支持模式演进、DDL 转换，以及在引擎内改变支持的模式，这些可以变为 <ruby> 转换器 <rt>  Transform </rt></ruby>和 <ruby> 汇聚节点 <rt>  Sink </rt></ruby>。

### SeaTunnel CDC 现状

如今，CDC 拥有支持增量和快照阶段的基本能力。它也支持 MySQL 实时和离线使用。MySQL 实时测试已完成，即将进行离线测试。因为它涉及对转换器和汇聚节点的更改，目前还不支持模式。不支持动态发现新增表，已预留了一些支持多结构表的接口。

### 项目展望

作为 Apache 孵化的项目，Apache SeaTunnel 的社区正快速发展起来。下一届社区计划会议的主要目标有：

#### 1、发展并改进连接器和目录生态

我们正努力改善连接器和目录功能，包括：

* 支持连接更多数据库，包括 TiDB、Doris 和 Stripe。
* 改善现有的连接器的易用性和性能。
* 支持 CDC 连接器用于实时、增量同步场景。

任何对连接器感兴趣者都可以查看 [Umbrella](https://github.com/apache/incubator-seatunnel/issues/1946)。

#### 2、支持更多数据集成场景（SeaTunnel 引擎）

现有的引擎仍然存在一些解决不了的痛点，例如对整个数据库的同步，表结构变化的同步以及任务失败的大粒度。

我们正努力解决这些问题，对此感兴趣者可以查看 [#2272 议题](https://github.com/apache/incubator-seatunnel/issues/2272)。

#### 3、更易使用（Web 版）

我们正努力提供 Web 界面，令操作更简便。通过 Web 界面，我们将实现以 DAG/SQL 的形式查看目录、连接器、任务和相关信息。我们也会给予用户访问调度平台的权限，以便更方便地进行任务管理。

欲了解更多关于 Web 版的信息，请访问 [Web 平台子项目](https://github.com/apache/incubator-seatunnel-web)。

### 总结

数据库活动通常必须被仔细跟踪，才能对数据的更新、删除或添加操作进行管理。CDC 提供了这种功能。Apache SeaTunnel 是一个开源解决方案，能满足这些需求，它将持续迭代更新，从而提供更多功能。该项目和社区也很活跃，欢迎你的加入。

*（题图：MJ:database connections illustration in high resolution, very detailed, 8k）*

---

via: <https://opensource.com/article/23/3/synchronize-databases-apache-seatunnel>

作者：[Li Zongwen](https://opensource.com/users/li-zongwen) 选题：[lkxed](https://github.com/lkxed/) 译者：[cool-summer-021](https://github.com/cool-summer-021) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #975 谷歌 CEO 称出于“不作恶”而不发布高级 AI

Summary:
? 谷歌 CEO 称出于“不作恶”而不发布高级 AI
? iOS 17 将支持应用侧载
? 索尼世界摄影大奖得主却是 AI 图像
»
»

# 硬核观察 #975 谷歌 CEO 称出于“不作恶”而不发布高级 AI

### 谷歌 CEO 称出于“不作恶”而不发布高级 AI

谷歌 CEO 皮查伊在采访中谈论了他对 AI 的担忧。他称，谷歌创办之初制定的“不作恶”信条仍然在该公司的行为准则内，不发布 AI 聊天机器人 Bard 的高级版本是出于负责任的理念，给社会更多时间适应技术，给公司更多时间开发安全层。皮查伊称，AI 技术必须被监管，确保它如谷歌行为准则描绘的那样“做正确的事”。Bard 内置了安全过滤器，以帮助抵御恶意用户的威胁，谷歌需要持续更新系统的算法，以打击虚假信息，检测深度伪造和逼真的计算机生成图像。

>
> **[消息来源：CBS News](https://www.cbsnews.com/news/how-googles-dont-be-evil-motto-has-evolved-for-ai-age-60-minutes-2023-04-16/)**
>
>
>

>
> 老王点评：我记得谷歌已经将“不作恶”信条从公司行为准则中删除了？
>
>
>

### iOS 17 将支持应用侧载

据报道，苹果将在 iOS 17 中首次加入对应用侧载的支持，允许 iOS 用户安装从官方商店之外下载的应用，比如应用的官网，这意味着应用开发商不需要向苹果支付 15% 到 30% 的“苹果税”。欧盟的数字市场法（DMA）已于 2022 年 11 月 1 日生效，要求苹果等巨头向其他公司和开发商开放其服务和平台。苹果公司声称，侧载将 “破坏 iPhone 用户依赖的隐私和安全保护”，使人们容易受到恶意软件、诈骗、数据跟踪和其他问题的影响。然而，苹果公司必须遵守 DMA 的规定，否则将面临高达其全球收入 20% 的罚款。

>
> **[消息来源：Mac Rumors](https://www.macrumors.com/2023/04/17/app-sideloading-support-coming-ios-17/)**
>
>
>

>
> 老王点评：苹果不能从销售中收费的话，它还可以对应用进行安全验证，这也是可以收费的。
>
>
>

### 索尼世界摄影大奖得主却是 AI 图像

索尼世界摄影大奖评选的是照片而不是图像，因而，当一副 AI 生成的图像获得了创意类别的一等奖后，提交这幅作品的人放弃了差旅报销、高额奖金和礼品，亲自自费前往颁奖现场宣布了拒绝领奖的决定。这幅获奖作品是他使用 AI 创作的一系列图像之一。他认为这些图像是由人类和 AI 共同创作的，而不是按一个按钮就生成的。这位三十年的摄影师把他的作品称为 “图像” 而不是 “照片”，因为它们是 “合成的，使用 ‘摄影’ 作为视觉语言”。他希望此事能引起摄影行业对 AI 合成图像的公开讨论，应该为此类图像单独设立一个分类。

>
> **[消息来源：Peta Pixel](https://petapixel.com/2023/04/14/artist-refuses-prize-after-his-ai-image-wins-at-top-photo-contest/)**
>
>
>

>
> 老王点评：这就太尴尬了。
>
>
>


开源领域中姐妹情谊和盟友关系的力量

如今，由于一些数典忘祖的原因，最常见的术语是“开源”。

open *****

# 开源领域中姐妹情谊和盟友关系的力量

<img src="content_image/album_202304_18_234855fuxewrdvwaey8jj1.jpg" alt="" title="">

>
> “站在巨人的肩膀上”不仅是指开源，而且是指通过承认女性先驱和领导者在该领域的作用，在技术中建立姐妹情谊的基础。
>
>
>

两年多前，我从艺术家转职成为一名 [软件开发人员](https://enterprisersproject.com/article/2022/9/software-developer-day-life?intcmp=7013a000002qLH8AAM)。我不是单凭一己之力做到的。 我得到了 PyLadies Berlin 的支持，PyLadies Berlin 是一个国际志愿者团体的柏林本地分会，旨在支持女性从事技术工作。

我们习惯了“职业变化”这个词，就好像它是一个轨迹的中断。但根据我的经验，事实并非如此。一个人无法抹去自己过去的点点滴滴，而多样化背景带来的丰富性可以造就爆发点。个体的人生旅程虽然通常与计算机科学毫无相关，却担起了令科技对社会有所影响的职责，并为技术行业带来丰富性和创造力。

作为一名艺术家，我得到了自由，并打开了探索从建筑到科学等多个领域的大门。我大部分的艺术经历发生在巴西的黑客空间里，这里充斥着<ruby> 自由及开源软件 <rt>  Free/Libre Open Source Software </rt></ruby>（FLOSS）的思想，即开放的自由共享文化。如今，由于一些不属于本文讨论范围的意识形态和实践原因，最常见的术语是“开源”。对我来说幸运的是，我的职业转变始于一次在 <ruby> 开源项目办公室 <rt>  Open Source Program Office </rt></ruby>（OSPO）的实习，它让我的转变经历感觉——几乎可以说——像回家一样。

### 放在巨人的肩膀上

我们都受益于开源。无论你是否编码，你所使用的软件都依赖于它。由于这是一种开放的文化，一切都建立在他人的工作之上，所以经常听到“站在巨人的肩膀上”这个表述，指的是我们的进步都建立在前人的工作和贡献之上。 这突出了从他人的经验和成就中学习的重要性。

这篇文章旨在揭示我站在谁的肩膀上。这不仅是为了表达我对他们的感激之情，也是为了回答我在接受 JSParty 的 Kevin Ball 和 Christopher Hiller 采访时被问到的一个问题：你能做些什么来改善周围环境的多样性？

“站在巨人的肩膀上”不仅是指开源，而且是指通过承认女性先驱和领导者在该领域的作用，在技术中建立姐妹情谊的基础。通过承认在我们之前的女性所做的贡献，我们可以从她们所面临的挑战中获得灵感和洞察力，并从她们挣脱束缚的经验中学习。通过这种方式，我们“站在巨人的肩膀上”，以她们的工作为基础，为女性和 [被低估的](https://www.if-me.org/) 技术人员创造更具包容性和支持性的环境。

通过相互支持，认识到从他人经验中学习的重要性，并形成一个支持网络，我们可以共同努力克服挑战，通过创造更公平的环境，为所有人建设更美好的未来。通过这样做，我们正在创造新的巨人，供其他人在未来立足。

### 组织一个当地社区: Meili Triantafyllidi 和 Jessica Greene

我加入了 PyLadies Berlin，它由 Meili 于 2013 年创立。Jessica 是组织者之一，她是 Ecosia 的一名初级软件工程师。成为社区组织者意味着利用你个人的空闲时间和热情，尽力创建一个安全的、支持性的网络和学习空间。这些工作包括寻找举办地点、宣传活动、策划主题、寻找演讲者，最重要的是，倾听社区的需求。

作为多元文化城市的新人并试图在城市中找到自己的位置，我感到 PyLadies 与其说是一个学习 Python 的地方，不如说是一个让我感受到被欢迎和被理解的中心。

根据我们常常听到的叙述，科技领域是每个人都在前往的新希望之地，有无限的岗位需求、切换国家的自由和高薪的职业。其他行业没有提供这种服务，或者至少没有达到这种规模。专注于带来多样性空间的社区提供了使这对每个人都成为现实的可能性。

每个活动都以社区公告、包含议程的简单幻灯片以及类似活动的宣传开始。当时我听闻的两个活动引导我走上了我的职业道路：Rail Girls Summer of Code 计划和 FrauenLoop。因为感觉有必要回馈当初给予了我支持的社区，我成为了共同组织者之一。

### 搭建人际关系网和学习专业知识: FrauenLoop

FrauenLoop 由 Nakeema Stefflbauer 博士于 2016 年创立，致力于改变欧盟科技公司的面貌。该项目分为 3 个月的周期，由每周的晚间课程和周末研讨会组成，以培训在科技行业里没有人际关系网的女性。

学习课程是围绕女性的专业需求开发的，从以技术行业为重点的课程到女性举办的关于科技行业如何真正运作以及如何成功立足的研讨会。一些常见的话题包括薪资谈判和练习技术面试。最近，为了应对裁员，柏林技术工人联盟举办了一场研讨会，揭开如何对公司解雇流程提出质疑的神秘面纱。

研讨会聚焦于女性，尤其是移民群体，她们正处于家庭状况和职业转变的阶段，真正准备好去寻找工作了。

和 Nakeema 在一起本身就给我带来了灵感。该项目提供了理解编程和学习网页开发基础知识的起点。但最重要的是，你与项目中的其他人建立了联系，他们是 PyLadies 未来的共同组织者、演讲者、业余项目的导师和朋友。

FrauenLoop 还为其学生提供了回去担任导师的机会。对我来说，这是决定我前进道路的转折点。做了一年多的导师，增强了我对自己的信心，也巩固了我自己的学习。受到帮助他人学习这一责任的挑战，你不可避免要一直学习。

在那里我遇到了 Victoria Hodder，她是我申请 Rail Girls Summer of Code 时的搭档。

### 多元化项目：从 Rail Girls Summer of Code 到 Ecosia Summer of Code

Rail Girls Summer of Code 是一项面向女性和非二元性别程序员的全球奖学金计划，入选的申请者将获得为期三个月的奖学金，以从事现有的开源项目。该计划活跃于 2013 年到 2020 年。

申请以一个团队为单位进行提交，即来自同一个城市的两个人。虽然这是一个远程项目，但有一个本地同行确保了问责制和相互支持。

除了同伴，项目还需要有一个办公的地方，一个适合工作三个月的环境。这个地方可以是你的家、联合办公空间、工作办公室，或者最好的情况下是培训公司。虽然培训公司除了提供工作空间外没有其他义务，但它让我们与当地公司联系起来，并为我们提供了一个空间，让我们能够与我们想进入的行业内的人建立知名度和关系网。

我在 PyLadies Berlin 的联合组织者 Jessica 通过该项目开启了她在科技领域的职业生涯。她提议 Ecosia（她当时也是现在所任职的公司）担任两个团队的指导工作，其中一个是我和 Victoria 的团队（我们专注于网络开发），另一个是 Taciana Cruz 和 Karina Cordeiro 的团队（他们专注于数据）。

在三个月的申请期内，大流行来势汹汹。在参与 [if-me](https://www.if-me.org/) 项目后，我和维多利亚被 *某种程度上* 选入了 the Rail Girls 项目。因为是 *某种程度上* 被选中的，我们与 Rail Girls 的沟通在选拔后期变得非常混乱，最终他们在最后一刻取消了项目。

我们当时都崩溃了。大流行的重压给我们带来了沉重打击，它不仅粉碎了我们获得一份有偿工作的机会，而且粉碎了长期以来养成的开始新职业的梦想。

当时还是初级软件开发人员的 Jessica懂我们的处境，因此她挺身而出，她没有感到无能为力，而是站出来表明自己的立场。除了为适应个人新角色所付出的努力，她还给自己安排了更多工作，并创建了 [Ecosia Summer of Code](https://blog.ecosia.org/ecosia-summer-of-code-mentoring/) 这一项目。

Ecosia 无法支付奖学金，但 Jessica 开发了一个导师计划。该计划利用公司的可用资源，提供高素质专业人士的指导，以填补我们的知识空白。由于 Victoria 和 Karina 因为需要有报酬的工作而放弃了项目，Taciana 和我设法继续进行个人项目。我们找到了可以一起努力并相互支持的共同主题。

大约一年后，其中一位导师 Jakiub Fialla 邀请我去她的公司聊聊开源。我与其他一些人依然保持着联系，时不时地，当他们举办 PyLadies Berlin 活动时，我会顺便过去见见他们。如此甜蜜。

### 赞助多样性: Coyotiv 项目和它的创始人 Armagan Amcalar

当 Rail Girls 项目被取消时，我在 Instagram 上看到一篇关于训练营的帖子，该训练营提供全栈网络开发计划奖学金。

申请流程很简单，所以我就申请了。我很快收到了一份自发的面试邀请。当时的我感到沮丧、凌乱又绝望，没有任何准备就参加了面试，所以我全程非常诚实。整个面试的谈话同样坦诚，对此我深表感激。

面试官是 [Coyotiv 软件工程学院](https://www.coyotiv.com/) 的创始人 Armagan Amcalar。具有音乐背景的Armagan 富有创造力，对周围的世界有着批判性的思考。这所学校是在他为柏林的 Women Techmakers 提供免费速成课程三年后创办的。他没有死记硬背多样性演讲，而是根据它采取行动，为所有全职参与者提供奖学金。

我获得了奖学金，并与其他四个人（其中 3 名女性）一起组成了第一批学生。训练营持续了高强度的 17 周。它对改变我对代码的看法极为重要。与我尝试学习的其他地方不同，Armagan 并不关心我们选择什么编程框架。相反，这一切都是为了理解我们在做什么，并将软件工程视为一种创造性的、强大的工具来塑造我们生活的世界。我得到的不仅仅是奖学金，我还收获了一个朋友和终身导师，他为我提供华丽转身的机会，打开了一扇通往美好生活的大门。

你是不是觉得我的反应太夸张了？你可以问问我身边的人。我的搭档此时已经认识我大约 14 年了，他是这样评价我的变化的：我变得纪律严明，充满活力，一路走来我对学到的东西感到高兴，就软件及其相关的事物进行深入对话，不再困惑矛盾，我放弃了终生的艺术事业，转而找到了人生的目标。由于我的变化实在惊人，他参加了我后面的几届训练营项目。

学校为我提供了技术知识、面试培训、简历支持和公开演讲培训。毕业不仅仅要求开发个人的全栈项目，还必须通过在 npm 上发布一个库来回馈开源，因为有如此多的软件是基于开源构建的。Node 包管理器（npm）是一个 JavaScript 包存储库，允许你通过在基于 Javascript 的项目中轻松安装代码来重用代码。尽管我参与自由软件运动和开源已经十多年了，但我从没想过我可以用实际代码回馈它。

### 我的贡献

[彩虹企鹅](https://www.npmjs.com/package/rainbow-penguin) 就这样诞生了。它是一个 npm 库，可以在开发人员敲代码时发送激励信息。 也许它不是一个非常实用的工具。但对我来说它依然是个必要的工具，这基于我个人的经历——我经历过学习编码的挫折，为 if-me 项目做出贡献，而且从其他学习者那里听到了许多类似的故事。

通过我在这些编程社区的经历，我了解到编程远不止一行行的代码，拥有盟友是多么强大和有必要。无论你是谁或你自认为了解什么，自由和开源软件社区中都有机会。你的参与不一定要是大动作，因为盟友们的小小贡献加起来远大于一个人贡献的总和。迈出第一步。在开源领域中找到你的盟友。

*（题图：MJ:tech woman illustration in high resolution, very detailed, 8k）*

---

via: <https://opensource.com/article/23/3/power-sisterhood-allyship-open-source>

作者：[Paloma Oliveira](https://opensource.com/users/discombobulateme) 选题：[lkxed](https://github.com/lkxed/) 译者：[XiaotingHuang22](https://github.com/XiaotingHuang22) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


搜索知识共享内容的搜索引擎

Summary: 寻找具有开放许可的图像和音频。

搜索引擎     https://doc.rockdata.net/zh-cn/develop/search-engine/

全文检索     https://doc.rockdata.net/zh-cn/features/textsearch/

寻找具有开放许可的图像和音频。

# 搜索知识共享内容的搜索引擎

<img src="content_image/album_202304_19_184451akuqktr2k7rt77pp.jpg" alt="" title="">

>
> 寻找具有开放许可的图像和音频。
>
>
>

你是否正在寻找可以重复使用的公开许可的内容？那么你可能会对 [Openverse](https://openverse.org/) 感兴趣。Openverse 是一个创新工具，可从不同数据库的集合中对多达 3 亿张图片进行搜索。它不仅仅可以搜索图像，还允许用户访问由机器学习模型创建的标签，并可以一键设置归属。由于可以搜索大量的视觉效果，用户可以找到完美的图像，使他们的项目更具吸引力。这些内容来自各种来源，包括史密森尼博物馆、克利夫兰艺术博物馆、美国宇航局和纽约公共图书馆。

2019 年，<ruby> 知识共享 <rt>  Creative Commons </rt></ruby>（CC）站点提供的 CC Search 工具被 WordPress 项目采用。Openverse 是 CC Search 的新化身。

目前，Openverse 仅索引了图像和视听内容。视频的搜索可以从外部来源获得。他们计划增加更多的开放性文本、3D 模型等形式。他们有一个共同的目标：让人们可以使用 [知识共享](https://opensource.com/article/20/1/what-creative-commons) 许可和在线公共领域作品，这些估计有 25 亿之多。他们所使用的代码都是开源的。

请注意，Openverse 不保证视觉资料已正确提供了知识共享许可，也不保证所收集的归属信息和任何其他相关许可信息准确完整。为了安全起见，请在重新使用材料之前仔细检查版权状态和归属信息。要了解更多信息，请阅读 [Openverse](https://creativecommons.org/terms/) 中的使用条款。

### Openverse 搜索

使用 Openverse 很容易。在**搜索内容**字段中输入你的搜索词，然后按**回车**。我对“尼亚加拉大瀑布”进行了简单搜索，收到了超过 [10,000 个结果](https://openverse.org/search/?q=niagara%20falls) 的图像和两个音频结果。在显示屏的最右侧是一个对话框，用于检查可用于商业用途的内容，另一个用于检查允许修改和改编的内容。

此外，第二个复选框允许你指定要使用或重复使用的知识共享许可，包括 CC0（公共领域）、[CC-BY](https://creativecommons.org/licenses/by/4.0/)、[CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/)、所有 [CC-BY-NC-ND](https://creativecommons.org/licenses/by-nc-nd/4.0/) 的方式。

### 有功者受禄

在使用公开许可的内容时，重要的是确保你提供适当的归属，并遵守内容原创作者所规定的许可条款。关于知识共享协议的更多信息，请查阅 [知识共享网站](https://creativecommons.org/about/cclicenses/)。

Openverse 是一个 [开源](https://github.com/WordPress/openverse) 项目，这意味着你可以托管自己的副本或为该项目做出贡献。该项目有一个 [贡献者指南](https://make.wordpress.org/openverse/handbook/new-contributor-guide/)，供想要参与的人使用。该项目还欢迎你对新特性和功能提出 [建议](https://github.com/WordPress/openverse/tree/main/rfcs)。

*（题图：MJ:Creative Commons" shared illustration:: blueprint drawing::1 blue::1）*

---

via: <https://opensource.com/article/23/4/search-engine-creative-commons-openverse>

作者：[Don Watkins](https://opensource.com/users/don-watkins) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #976 因没打补丁导致澳军用直升机坠毁

Summary:
? 因没打补丁导致澳军用直升机坠毁
? 英特尔停止生产 ASIC 挖矿芯片
? 马斯克正在开发“最大限度地寻求真相的 AI”
»
»

# 硬核观察 #976 因没打补丁导致澳军用直升机坠毁

### 因没打补丁导致澳军用直升机坠毁

上个月一架澳大利亚军方的 MRH-90 直升机在例行的海上演习中失去动力坠落。MRH-90 是老旧的欧制直升机，即将退役。事故原因被认为是直升机未能打上重要软件补丁，该补丁将防止飞行员对发动机关闭再重新启动，而它的设计不允许这么做，它要求在飞行结束时引擎空转直至关闭。防止热启动的软件补丁早就存在许多年，但很多 MRH-90 并没有打上补丁。

>
> **[消息来源：The Register](https://www.theregister.com/2023/04/18/helicopter_crash_missing_software_patch/)**
>
>
>

>
> 老王点评：瞧瞧，不打补丁的结果多可怕。
>
>
>

### 英特尔停止生产 ASIC 挖矿芯片

自从英特尔正式宣布其挖矿芯片 Blockscale ASIC 以来，仅仅过了一年，该公司就宣布其第一代 Blockscale 1000 系列芯片的寿命结束，而且没有宣布该芯片的任何后续世代。英特尔称，“公司更加关注 IDM 2.0 业务是终止 Blockscale ASIC 的原因”。但英特尔表示“会继续监测市场机会”。

>
> **[消息来源：Tom's Hardware](https://www.tomshardware.com/news/intel-discontinues-bitcoin-mining-blockscale-chips-no-future-gens-announced)**
>
>
>

>
> 老王点评：投机失败，现在芯片厂商最好的生意是生产 AI 芯片。
>
>
>

### 马斯克正在开发“最大限度地寻求真相的 AI”

在成立了 X.AI 公司之后，埃隆·马斯克说他正在开发一个 ChatGPT 的替代品，“最大限度地寻求真相的 AI”，它被称之为 TruthGPT。他称该人工智能试图理解宇宙的本质，他“认为这可能是通往安全的最佳途径，因为关心了解宇宙的人工智能不太可能消灭人类，因为我们是宇宙中有趣的一部分。”OpenAI 是他帮助创立的人工智能软件非营利组织，此后 OpenAI 开始运营一个营利性子公司。他暗示，OpenAI 的利润激励可能会干扰其创建的人工智能模型的道德。

>
> **[消息来源：The Verge](https://www.theverge.com/2023/4/17/23687440/elon-musk-truthgpt-ai-chatgpt)**
>
>
>

>
> 老王点评：听起来脑洞大开，但是我估计马斯克最后悔的还是离开 OpenAI。
>
>
>


开源设计系统 PatternFly 的 5 个最佳实践

Summary: PatternFly 是一个开源、开放社区的设计系统。

PatternFly 是一个开源、开放社区的设计系统。

# 开源设计系统 PatternFly 的 5 个最佳实践

<img src="content_image/album_202304_20_111940b4200cp8oouxpkbp.jpg" alt="" title="">

>
> PatternFly 是一个开源、开放社区的设计系统。
>
>
>

你是否曾欣赏过宝石的切面？这些角度和倾斜是一件美丽的事情。你可以看到多面宝石比平面宝石更亮。在分析一个多面体设计系统时，你也可能会看到这种美。设计系统是用于创建一致且统一的用户界面（UI）的准则、标准和资源的集合。就像钻石的各个切面一样，一个富含不同贡献和社区参与的开源设计系统最终会带来更好的产品体验。

[PatternFly](https://www.patternfly.org/v4/) 项目是一个用于红帽产品的开源设计系统。但开源并没有以 PatternFly 的代码为终点。PatternFly 的背后是一群完全公开创作设计的人。从设计师和开发人员到研究人员和作家，我们作为一个开源社区共同努力。

我们的秘密？我们没有秘密 —— 我们在开放中工作，记得吗？然而，我们使用了这五个最佳实践。我将在这里分享它们，这样你也可以使用开源来支持你自己的设计系统。

### 1、集体贡献

我们有一个核心的 PatternFly 设计团队来设计、维护和发展设计系统。但我们鼓励并欢迎所有人的贡献。如果你对协作充满热情并且擅长用户体验（UX），[PatternFly 希望收到你的反馈](https://www.patternfly.org/v4/contribute/about)。

### 2、建立社区

在孤岛中创建的任何内容都无法进入 PatternFly。我们相信开放的设计更好。这就是我们将社区纳入所有更新、更改和添加的原因。我们收集来自设计和开发人员对贡献的反馈，以便每个人都对实施的内容有发言权。我们还寻求多个 [设计学科](https://design.redhat.com/?intcmp=7013a000002qLH8AAM) 的人们的意见和协作。这样做是为了摆脱任何偏见或假设。这种开放的设计让我们的设计体系更加强大。它还加强了我们蓬勃发展的社区，该社区由参与 PatternFly 或为之做出贡献的人们组成（我们亲切地称他们为 “飞人”）。

### 3、在每个人中循环

如果你发现与他人集思广益的想法产生的解决方案比任何一个人梦寐以求的都要好，那么你已经像“飞人”一样思考了。我们定期举行设计会议，供贡献者在小组环境中展示他们的想法并讨论设计方法。这使我们能够保持我们的想法协作，并从各个角度考虑设计。此外，我们每月举办社区会议，以便我们可以与来自全球各地的“飞人”们联系并分享最新动态。你可以在我们的 [PatternFly YouTube 频道](https://www.youtube.com/channel/UCqLT0IEvYmb8z__9IFLSVyQ) 上观看我们过去的所有会议记录。

### 4、倾听用户

作为一个社区，我们的目标是让 PatternFly 的所有贡献都能在不同的环境中带来功能性和美观的产品体验。为了实现这一目标，我们要求自己打破自己的泡沫并与用户互动。我们与 UX 研究人员合作，与用户一起测试更新、更改和添加（例如视觉主题和交互），以确保我们创建的设计、资源和体验能够为每个人解决问题，而不仅仅是像我们这样的人。

### 5、创建连接

PatternFly 是贯穿红帽公司产品的一致性的主线。每个人都有创造的自由，来构建最适合他们用户的东西。但我们作为一个团队，通过设计系统连接产品组，以获得更统一的用户体验。PatternFly 的资源很容易获得，并向所有人开放。这有助于我们建立联系，压制孤岛。

### 与我们一起开放设计

无论你是一个由 1 人还是 100 人组成的团队，或者你的设计系统是否是开源的，在我们所做的每一件事中，总有一点协作和社区的空间。联系 [PatternFly 社区](https://www.patternfly.org/v4/community)，告诉我们你的结果如何。我们迫不及待地想收到你的来信。

*（题图：MJ:open source design community:: blueprint drawing::1 moonlight::1 ultra wide angle lens::1 green::1）*

---

via: <https://opensource.com/article/23/4/open-source-design-system-patternfly>

作者：[Abigael Donahue](https://opensource.com/users/abigaeljamie) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


在 FreeDOS 上如何使用 C 语言编程

DOS/4GW保护模式，曾经的记忆

# 在 FreeDOS 上如何使用 C 语言编程

>
> 在 FreeDOS 上使用 C 语言编程与在 Linux 上使用 C 语言编程非常类似。
>
>
>

当我第一次开始使用 DOS 时，我喜欢 DOS 自带的 BASIC 来编写游戏和其它一些有趣的程序。很长时间后，我才学习 C 编程语言。

我马上爱上了使用 C 语言做开发！它是一种简单易懂的编程语言，在编写有用的程序时，这给予我很大的灵活性。实际上，很多 FreeDOS 的核心实用程序都是使用 C 语言和汇编语言编写的。

因此，FreeDOS 的 1.3 RC4 包含一个 C 语言可能并不出人意料，此外还有其它编程语言的编译器。FreeDOS 的 1.3 RC4 LiveCD 包含两个 C 编译器：Bruce's C 编译器（一个简单的 C 编译器）和 OpenWatcom C 编译器 。在 Bonus CD 上，你也可以找到 DJGPP（一款基于 GNU 的 GCC 的 32 位 C 编译器）和 GCC 的 IA-16 移植（需要 386 或更好的 CPU 来编译，但是，生成的程序可以在低端系统上运行）。

在 FreeDOS 上使用 C 语言编程与在 Linux 上使用 C 语言编程非常类似，但是有两个例外：

1. **你需要知道你使用了多少内存。** Linux 允许程序使用很多内存，但是 FreeDOS 有很多限制。DOS 程序只使用四种 [内存模式](https://devblogs.microsoft.com/oldnewthing/20200728-00/?p=104012)（大、中、紧凑和小）中的其中一种，具体取决于它们需要多少内存。
2. **你可以直接访问控制台终端。** 在 Linux 上，你可以创建 *文本模式* 的程序，使用一个诸如 ncurses 之类的库来绘制终端屏幕。但是，DOS 允许程序访问控制台终端和视频硬件。这为编写更有趣的程序提供了极大的灵活性。

我喜欢在 GCC 的 IA-16 移植或 OpenWatcom 中编写我的 C 程序，具体取决于我正在编写的是哪种程序。OpenWatcom C 编译器更容易安装，因为它只是个单一的软件包。这就是为什么我们在 FreeDOS 的 LiveCD 中提供 OpenWatcom 的原因, 在你安装 FreeDOS 的 1.3 RC4 时，如果你选择 “<ruby> 完全的安装（包括安装应用程序和游戏） <rt>  Full installation including applications and games </rt></ruby>”，那么你也自动地安装 OpenWatcom。如果你选择安装 “<ruby> 纯 DOS 系统 <rt>  Plain DOS system </rt></ruby>”，那么，你将需要使用 FDIMPLES 软件包管理器来安装 OpenWatcom C 编译器。

*在 FreeDOS 1.3 RC4 上安装 OpenWatcom*

### 在 DOS 上使用 C 语言编程

你可以在 [OpenWatcom 项目网站](http://openwatcom.org/) 找到文档和库指南，以学习 OpenWatcom C 编译器所提供的独特的关于 DOS 的 C 语言编程库。简单描述几个最有用的函数:

来自 `conio.h` 头文件：

* `int getch(void)`：从键盘上获取一个按下的单个按键
* `int getche(void)`：从键盘上获取一个按下的单个按键，并回显该按键

来自 `graph.h` 头文件：

* `_settextcolor(short color)`：设置打印文本时的颜色
* `_setbkcolor(short color)`：设置打印文本时的背景颜色
* `_settextposition(short y, short x)`：移动光标到行 `y` 和 列 `x`
* `_outtext(char _FAR *string)`：从当前光标位置开始，直接将一串字符打印到屏幕

DOS 只支持 [16 种文本颜色](https://opensource.com/article/21/6/freedos-sixteen-colors) 和 8 种背景颜色。你可以使用值 0（黑色）到 15（亮白色）来具体指定文本颜色，以及使用值 0（黑色）到 7（白色）来具体指定背景颜色:

* `0`：黑色
* `1`：蓝色
* `2`：绿色
* `3`：品蓝色
* `4`：红色
* `5`：品红色
* `6`：棕色
* `7`：白色
* `8`：亮黑色
* `9`：亮蓝色
* `10`：亮绿色
* `11`：亮品蓝色
* `12`：亮红色
* `13`：亮品红色
* `14`：黄色
* `15`：亮白色

### 一个花哨的 “Hello world” 程序

很多新开发者学习编写的第一个程序是为用户打印 “Hello world” 。我们可以使用 DOS 的 `conio` 和 `graphics` 库来制作一个更有趣的程序，并使用彩虹般的颜色打印 “Hello world” 。

在这个实例中，我们将遍历每种文本颜色，从 0（黑色）到 15（亮白色）。随着我们打印每一行，我们都将为下一行缩进一个空格。在我们完成后，我们将等待用户按下任意按键，然后，我们将重置屏幕并退出。

你可以使用任何文本编辑器来编写你的 C 源文件代码。我喜欢使用一些与众不同的编辑器，如 [FreeDOS Edit](https://opensource.com/article/21/6/freedos-text-editor) 和 [Freemacs](https://opensource.com/article/21/6/freemacs)，但是，我最近一直在使用 [FED editor](https://opensource.com/article/21/1/fed-editor) ，因为它提供 *语法高亮* 功能，使其很容易在我的程序源文件代码中看到关键字、字符串（LCCT 译注：C 语言中没有字符串）、变量。

*使用 C 语言编写一个简单的测试程序*

在你使用 OpenWatcom 编译前，你将需要设置 DOS 的 [环境变量](https://opensource.com/article/21/6/freedos-environment-variables)，以便 OpenWatcom 可以找到它的支持文件。OpenWatcom C 编译器软件包中包含了一个为你做这件事的设置 [批处理文件](https://opensource.com/article/21/6/automate-tasks-bat-files-freedos)：`\DEVEL\OW\OWSETENV.BAT`。运行这个批处理文件可以自动为你的 OpenWatcom 设置环境变量。

在你的开发环境准备好后，你可以使用 OpenWatcom 编译器来编译这个 “Hello world” 程序。我已经将我的 C 源文件文件保存为 `TEST.C` ，因此，我可以输入 `WCL TEST.C` 来编译和连接该程序为一个名称为 `TEST.EXE` 的 DOS 可执行文件。在 OpenWatcom 的输出信息中，你将看到 `WCL` 实际上调用 OpenWatcom C 编译器（`WCC`）来编译，并调用 OpenWatcom 链接器（`WLINK`）来执行 <ruby> 对象/目标 <rt>  object </rt></ruby> 链接阶段：

*使用 OpenWatcom 编译测试文件*

OpenWatcom 会打印一些无关的输出信息，这可能会使发现错误和警告变得困难。为了告诉编译器来抑制这些大量的额外信息，请在编译时使用 `/Q`（“Quiet”）选项：

 option to make OpenWatcom print less output")

在编译 C 源文件文件时，如果你没有看到任何错误信息，那么你现在就可以运行你的 DOS 程序了。这个 “Hello World” 示例的程序名称是 `TEST.EXE` 。在 DOS 命令行中输入 `TEST` 来运行新的程序，你应该会看到这个非常漂亮的输出:

C 语言是一种非常高效的编程语言，在像 DOS 之类的资源有限的系统上进行编程也可以很好的工作。在 DOS 上，你可以使用 C 语言来做更多的事。如果你是 C 语言的初学者，那么，你可以跟随我们在 FreeDOS 网站上的 《[使用 C 语言编写 FreeDOS 程序](https://www.freedos.org/books/cprogramming/)》 的自学电子书，以及在 [FreeDOS YouTube 频道](https://www.youtube.com/freedosproject) 上的配套的 <ruby> 入门指南 <rt>  how-to </rt></ruby> 系列视频，来自主学习 C 语言。

*（题图：MJ:Legacy sci-fi computer programming::1.7 celestial::1 edison bulb::1 satellite imagery::1 wooden::1 in high resolution, very detailed, 8k）*

---

via: <https://opensource.com/article/21/6/program-c-freedos>

作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lujun9972](https://github.com/lujun9972) 译者：[robsean](https://github.com/robsean) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #977 Docker 公司称过去三年收入增长了 30 倍

Summary:
? Docker 公司称过去三年收入增长了 30 倍
? 苹果公司选择旁观 ChatGPT
? 二手路由器往往装载着企业的秘密
»
»

企业里路，账户密码三个月强制更换。只要管理员不犯傻，泄露出的东西用处不大。

# 硬核观察 #977 Docker 公司称过去三年收入增长了 30 倍

### Docker 公司称过去三年收入增长了 30 倍

Docker 公司 CEO 表示，该公司的年度经常性收入在过去 3 年中增长了 30 倍。他将收入的增长归功于“与 7 万多个商业客户之间的信任”，尽管另一个因素是连续的提价和减少免费和低成本的 Docker 计划的范围。这些条款的突然和重大改变，有时让用户感到被胁迫，一些人已经寻找其他选择，但仍然有超过 1300 万的开发者使用免费计划。Docker 称，其发展是由现有用户的遥测数据指导的，他们“以匿名的方式，每秒钟收集了超过 23000 个事件”。

>
> **[消息来源：Devclass](https://devclass.com/2023/03/24/docker-subscription-revenue-30-times-higher-than-three-years-ago-ceo-claims/)**
>
>
>

>
> 老王点评：虽然社区有不少意见，但是 Docker 公司现在看起来是一家财务上比较健康的公司了。
>
>
>

### 苹果公司选择旁观 ChatGPT

微软向开发 ChatGPT 的 OpenAI 投资百亿美元，Google 进入了恐慌模式将应对 ChatGPT 的挑战作为其最优先事项，亚马逊 AWS 也开始提供各种基于云端的大语言模型。然而世界上市值最高的企业至今未对此有任何表态。苹果主要卖的是硬件，ChatGPT 之类的 AI 对其产品而言是锦上添花，但加入 AI 竞赛需要大量投资，其中云计算是关键，而云计算并不是苹果擅长的领域。

>
> **[消息来源：Solidot](https://www.solidot.org/story?sid=74717)**
>
>
>

>
> 老王点评：虽然 Siri 很老旧，但是苹果这个时候或许一动不如一静。
>
>
>

### 二手路由器往往装载着企业的秘密

研究人员购买了 18 台不同型号的二手路由器，其中有 9 台保留原样，完全可以使用，而只有 5 台被适当地清除过配置。这 9 台未受保护的设备都包含了该组织的 VPN 凭证、另一个安全网络通信服务的凭证，或散列的根管理员密码。此外，还包括了路由器与路由器之间的认证密钥，以及关于路由器如何连接到之前使用的特定应用程序的信息。

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/04/used-routers-often-come-loaded-with-corporate-secrets/)**
>
>
>

>
> 老王点评：这些二手设备真是信息泄露的重要来源。
>
>
>


Fedora 38 正式发布

# Fedora 38 正式发布

>
> Fedora Linux 的最新版本 Fedora 38 已经发布，带来了一系列令人兴奋的新功能和更新。以下是其中的一些亮点。
>
>
>

Fedora Linux 是一个流行的发行版，提供最新的软件包和技术。它是一个由红帽公司赞助的社区驱动的项目，是在主流 Linux 发行版之前领先采用新技术和功能的先驱。

它的 2023 年的第一个版本现在已经可以下载和升级。虽然我在我的文章中介绍过了它的功能亮点，但让我给你再摘要介绍一下。

### Fedora 38 工作站的新内容

让我们从 Fedora 38 工作站版开始，它默认提供的是 GNOME 桌面。Fedora 38 工作站采用 GNOME 44 版本的桌面环境，为用户提供了正宗的 GNOME 体验，因为 Fedora Linux 工作站搭载的是原汁原味的 GNOME。

在 GNOME 44 中最重要的更新之一是系统托盘菜单中的后台应用程序功能。这个功能在主应用程序窗口不可见时非常有用，许多应用程序和用户都借助了该功能。Fedora 38 还包括了 “<ruby> 文件 <rt>  Files </rt></ruby>”（即 Nautilus）应用程序中的扩展文件夹视图，现在它可以在列表视图中使用。

此外，Fedora 38 还改进了文件打开对话框，可以在网格视图布局中显示图像预览，这个功能人们已经等待了十年之久。这些变化和改进之外，[GNOME 44](https://www.debugpoint.com/gnome-44/) 中还有许多其他较小的改进。

除了 GNOME，Fedora 38 还有作为 “<ruby> 定制版 <rt>  Spin </rt></ruby>” 的其他桌面环境，比如 KDE Plasma、Xfce、LXQt 和 MATE。

KDE Plasma 版的 Fedora 38 采用了 [Plasma 5.27](https://www.debugpoint.com/kde-plasma-5-27/) 桌面版本，其中包括平铺窗口功能、多显示器显示的强大设置、Wayland 更新以及一个全新的欢迎屏幕。

Fedora 38 Xfce 版中包含了 Xfce 4.18 的桌面。经过近两年的时间，这是一个功能方面的大规模发布，包括了重新打造的 Thunar 文件管理器，它带有分割视图、图像预览、强大的 FTP 设置和更多面板调整。

其他风格的桌面，如 [LXQt 1.2.0](https://www.debugpoint.com/lxqt-1-2-0-features/) 和 MATE 1.26 在 Fedora 38 也是最新的版本。Fedora LXQt 定制版正在为用户引入一个 Arch64 ISO 镜像。

由于 i3 窗口管理器定制版的流行，Fedora 在 Fedora 38 中引入了一个官方的 Sway 定制版。喜欢低内存占用的精简桌面的用户现在可以享受 Sway 了，它带来了出色的 Wayland 支持。

经过几个月的开发，一个官方的 Fedora Budgie 定制版在 Fedora 38 中首次出现。它由 Solus 项目开发的，是一个轻量级但功能丰富的桌面环境，看起来很专业，并为菜单/图标驱动的桌面提供了一种替代。这个版本带来了 Budgie 桌面 10.7.2 版本中令人兴奋的功能更新。

Fedora 38 现在可以不受限制地使用 Flathub 的软件包，这是一个最广泛的 Flatpak 应用集合。以前，用户必须改变过滤器才能从“软件”应用中访问 Flathub 软件包。然而，现在所有的 Flathub 软件包都可以在“软件”应用中使用，其中优先考虑 Fedora 核心软件包。

Fedora 38 中默认的 systemd 单元关机计时器从 2 分钟变为 45 秒。这一改变解决了一个有问题的服务会导致系统关闭过程停滞 2 分钟，给用户带来不必要的等待的问题。团队将观察实际的反馈和用户体验，并可能在未来的版本中将其减少到 15 秒。

出于安全考虑，现在默认情况下，从一个大端架构（s390x）以外的不同的大小端系统连接到 X 服务器（[X.Org](http://X.Org) 或 XWayland）是禁用的。然而，用户可以创建自定义配置来允许它。

所以，这就是关于 Fedora 38 的主要亮点。你可以在我的重要专题 [文章](https://www.debugpoint.com/fedora-38/) 中了解更多细节。

### 如何升级到 Fedora 38

你可以依次运行以下命令来升级到最新版本。详细的升级指南 [放在这里](https://www.debugpoint.com/upgrade-fedora-38-from-fedora-37/)。

```
sudo dnf update
sudo dnf upgrade --refresh
sudo dnf install dnf-plugin-system-upgrade
sudo dnf system-upgrade download --releasever=38
sudo dnf system-upgrade reboot

```

### 下载新鲜出炉的 Fedora 38

你可以使用下面网页上的种子文件下载 Fedora 38 工作站和所有的定制版。

>
> **[下载 Fedora 38（种子）](https://torrent.fedoraproject.org/)**
>
>
>

>
> **[下载 Fedora 38 ISO](https://fedoraproject.org/workstation/download/)**
>
>
>

参考自官方 [变更日志](https://fedoraproject.org/wiki/Releases/38/ChangeSet) 和 [公告](https://fedoramagazine.org/whats-new-fedora-38-workstation/)。

---

via: <https://debugpointnews.com/fedora-38-release/>

作者：[arindam](https://debugpointnews.com/author/dpicubegmail-com/) 选题：[lkxed](https://github.com/lkxed/) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #978 ICANN 提议允许域名被任何政府扣押

Summary:
? ICANN 提议允许域名被任何政府扣押
? Reddit 将对利用其数据训练 AI 收费
? 微软拒绝为 API 付费，其广告平台停止支持 Twitter
»
»

草榴、海盗湾。。。

老王：使用API的还有职业水军。

原本twitter搜索不用登录，几天前变成需要登录才能搜索，马斯克把twitter拉到跟facebook一个水平

# 硬核观察 #978 ICANN 提议允许域名被任何政府扣押

### ICANN 提议允许域名被任何政府扣押

ICANN 和 Verisign 在 .NET 注册协议续期提议中悄悄对全球域名政策做出了重大改变，允许任何政府取消、重定向和扣押域名。这项提议目前只针对 .NET 域名，但随着其它顶级域名如 .COM 的注册协议到期，该政策预计也将适用于这些域名。这项提议引发了广泛争议，这意味着对注册者没有任何正当程序的保护。目前该提议正在征询公众意见，计划截至日期为 2023 年 5 月 25 日。

>
> **[消息来源：Slashdot](https://tech.slashdot.org/story/23/04/20/0334252/icannverisign-proposal-would-allow-any-government-to-seize-domain-names)**
>
>
>

>
> 老王点评：互联网从一开始就是中心化的，尤以域名和 IP 为代表。
>
>
>

### Reddit 将对利用其数据训练 AI 收费

Reddit 是 BBS 论坛风格的社交新闻和聚合讨论网站，包含了大量主题事无巨细的文字讨论。截至 2023 年 2 月其访问量排在全球第十位。ChatGPT 和 Bard 都将 Reddit 作为其训练语料的来源。Reddit CEO Steve Huffman 称该平台的语料库非常有价值，修改了 API 访问政策。它的 API 对开发机器人程序等工具的独立开发者，以及学术和非盈利项目的研究员仍然是免费的，但对通过 API 使用其语料库训练 AI 将要开始收费。

>
> **[消息来源：Reddit](https://www.redditinc.com/blog/2023apiupdates)**
>
>
>

>
> 老王点评：似乎也不是没有道理，这些 AI 基于大量的公共数据进行训练，转而赚的盆满钵满。
>
>
>

### 微软拒绝为 API 付费，其广告平台停止支持 Twitter

Twitter 废除了免费 API 访问，从 4 月 29 日起启用新的付费 API，其中企业级方案起步价高达每月 4.2 万美元。微软拒绝为访问 API 支付高昂的费用，微软称，“从 2023 年 4 月 25 日开始，多平台的智能广告系列将不再支持 Twitter。”微软的广告功能以前允许广告商在一个地方管理他们在各种平台上的社交媒体账户，用户可以对 Twitter、Facebook 等平台上收到的信息作出回应。去年，微软从通过其广告平台创建、管理和运行的广告中获得了超过 120 亿美元的数字广告收入。顺便说一句，马斯克接管 Twitter 公司后，Twitter 失去了一半的最大广告客户。

>
> **[消息来源：Mashable](https://mashable.com/article/microsoft-drops-twitter-from-advertising-platform)**
>
>
>

>
> 老王点评：这些使用 API 的公司、组织和应用程序都为 Twitter 创造了价值，他们都带动了更多的眼球和流量，鼓励更多的人使用 Twitter，然而 Twitter 却要将它们一脚踢开。
>
>
>