This commit is contained in:
PeterPan0106 2022-09-28 13:09:40 +08:00
commit 22382d0c4a
20 changed files with 1439 additions and 359 deletions

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: true

18
.github/ISSUE_TEMPLATE/questions.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Ask Questions | 提问
description: Please describe your problem. | 请描述您的问题。
labels: ["question"]
assignees: []
body:
- type: markdown
attributes:
value: |
Please answer these questions before you submit the desired feature. | 请在您提交期望的功能之前,回答以下这些问题
- type: textarea
attributes:
label: Your Questions
description: Please describe your problem. | 请描述您的问题。
placeholder: I have a question...
validations:
required: true

67
.github/ISSUE_TEMPLATE/topics.yml vendored Normal file
View File

@ -0,0 +1,67 @@
name: 推荐选题
description: 推荐一个选题
title: "[推荐类型] 文章日期 文章标题"
labels: []
assignees:
- lkxed
body:
- type: markdown
attributes:
value: |
标题请使用 **`[推荐类型] 文章日期 文章标题`** 格式,选题类型、文章日期和文章标题中间有一个 **空格**。
完整示例:
- [推荐选题] 20220823 The Lost Art of the Makefile
- [推荐选题] 20220905 Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19
- type: input
id: url
attributes:
label: 原文链接地址
description: 填写原文章的链接地址
placeholder: https://......
validations:
required: true
- type: dropdown
id: terms
attributes:
label: 版权协议
description: 填写原文章的版权协议
multiple: false
options:
- CC-SA-BY
- 其它公域许可证
- 已获取作者授权
validations:
required: true
- type: dropdown
id: difficulty
attributes:
label: 文章难度
description: 选择文章的难度
multiple: false
options:
- 困难
- 一般
- 容易
validations:
required: true
- type: dropdown
id: category
attributes:
label: 文章分类
description: 选择文章的分类
multiple: false
options:
- 新闻news
- 观点talk
- 技术tech
validations:
required: true
- type: textarea
id: reason
attributes:
label: 推荐理由
description: 填写你的推荐理由
placeholder:
validations:
required: false

View File

@ -3,29 +3,28 @@
[#]: author: "David Both https://opensource.com/users/dboth"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15080-1.html"
我如何使用 Live USB 设备恢复我的 Linux 系统
我如何使用现场 USB 设备恢复我的 Linux 系统
======
Fedora Live USB 发行版为引导和进入恢复模式提供了有效的解决方案。
![USB 驱动器][1]
![](https://img.linux.net.cn/data/attachment/album/202209/28/121226rh7vq7qhwhqzh76m.jpg)
图片来源:[Markus Winkler][2] 发布于 [Unsplash][3]
> Fedora 现场 USB 发行版为引导和进入恢复模式提供了有效的解决方案。
我的家庭实验室里有十几台物理计算机以及更多的虚拟机。我使用这些系统中的大多数进行测试和实验。我经常写关于使用自动化来简化系统管理任务的文章。我还在多个地方写过,我从自己的错误中学到的东西比几乎任何其他方式都多。
我的家庭实验室里有十几台物理计算机以及更多的虚拟机。这些系统中的大多数是我用来进行测试和实验。我经常写使用自动化来简化系统管理任务的文章。我还在多个地方写过,我从自己的错误中学到的东西比几乎任何其他方式都多。
在过去的几周里,我学到了很多东西。
我给自己制造了一个大问题。作为系统管理员多年,写了数百篇关于 Linux 的文章和五本书,我应该知道得更清楚。话又说回来,我们都会犯错,这是一个重要的教训:你永远不会因为有经验而不犯错。
我给自己制造了一个大麻烦。作为多年的系统管理员,我写了数百篇关于 Linux 的文章和五本书,我应该对 Linux 更了解。话又说回来,我们都会犯错,这是一个重要的教训:你永远不会因为有经验而不犯错。
我不打算讨论我的错误的细节。告诉你这是一个错误就足够了,在我做之前我应该多考虑一下我在做什么。此外,细节并不是重点。经验不能让你免于犯下的每一个错误,但它可以帮助你恢复。这就是本文要讨论的内容:使用 Live USB 发行版启动并进入恢复模式。
我不打算讨论我的错误的细节。告诉你这是一个错误就足够了,在我做之前我应该多考虑一下我在做什么。此外,细节并不是重点。经验不能让你免于犯下的每一个错误,但它可以帮助你恢复。这就是本文要讨论的内容:使用现场 USB 发行版启动并进入恢复模式。
### 问题
首先,我创建了问题,这本质上是 `/etc/default/grub` 文件的错误配置。接下来,我使用 Ansible 将错误配置的文件分发到我所有的物理计算机并运行 `grub2-mkconfig`。全部 12 个。这真的,真的很快。
首先,我制造了问题,这本质上是 `/etc/default/grub` 文件的错误配置。接下来,我使用 Ansible 将错误配置的文件分发到我所有的物理计算机并运行 `grub2-mkconfig`。全部 12 个。这真的,真的很快。
除了两台之外,所有的都无法启动。它们在 Linux 启动的早期阶段崩溃,出现各种无法定位 `/root` 文件系统的错误。
@ -33,11 +32,11 @@ Fedora Live USB 发行版为引导和进入恢复模式提供了有效的解决
### Fedora 恢复模式
解决此问题的唯一方法是找到进入恢复模式的方法。当一切都失败时Fedora 提供了一个非常酷的工具:用于安装 Fedora 新实例的同一个 Live USB 驱动器。
解决此问题的唯一方法是找到进入恢复模式的方法。当一切都失败时Fedora 提供了一个非常酷的工具:用于安装 Fedora 新实例的<ruby>现场 USB<rt>Live USB</rt></ruby> 驱动器。
将 BIOS 设置为从 Live USB 设备启动后,我启动到 Fedora 36 Xfce live 用户桌面。我在桌面上打开了两个相邻的终端会话,并在两者中都切换到了 root 权限。
将 BIOS 设置为从现场 USB 设备启动后,我启动到 Fedora 36 Xfce 的<ruby>现场<rt>live</rt></ruby>用户桌面。我在桌面上打开了两个相邻的终端会话,并在两者中都切换到了 root 权限。
我在一个运行了 `lsblk` 以供参考。我使用结果来识别 `/` 根分区以及 `boot``efi` 分区。我使用了我的一台虚拟机,如下所示。在这种情况下没有 `efi` 分区,因为此 VM 不使用 UEFI。
我在其中一个运行了 `lsblk` 以供参考。我使用结果来识别 `/` 根分区以及 `boot``efi` 分区。我使用了我的一台虚拟机,如下所示。在这种情况下没有 `efi` 分区,因为此 VM 不使用 UEFI。
```
# lsblk
@ -61,63 +60,50 @@ sr0 11:0 1 1.6G 0 rom /run/initramfs/live
zram0 252:0 0 8G 0 disk [SWAP]
```
`/dev/sda1` 分区很容易识别为 `/boot`,根分区也很明显。
`/dev/sda1` 分区很容易识别为 `/boot`,根`/`分区也很明显。
在另一个终端会话中,我执行了一系列步骤来恢复我的系统。特定的卷组名称和设备分区(例如 `/dev/sda1`)因系统而异。此处显示的命令特定于我的情况。
目标是使用 Live USB 引导并完成启动,然后仅在镜像目录中挂载必要的文件系统,并运行 `chroot` 命令在 chroot 镜像目录中运行 Linux。这种方法绕过损坏的 GRUB或其他配置文件。但是它提供了一个完整的运行系统其中安装了所有原始文件系统以进行恢复既是所需工具的来源也是要进行更改的目标。
目标是使用现场 USB 引导并完成启动,然后仅在镜像目录中挂载必要的文件系统,并运行 `chroot` 命令在 chroot 镜像目录中运行 Linux。这种方法绕过损坏的 GRUB或其他配置文件。但是它提供了一个完整的运行系统其中安装了所有原始文件系统以进行恢复既是所需工具的来源也是要进行更改的目标。
以下是步骤和相关命令:
1. 创建目录 `/mnt/sysimage` 以提供 `chroot` 目录的位置。
2. 将根分区挂载到 `/mnt/sysimage`
```
# mount /dev/mapper/vg01-root /mnt/sysimage
```
```
# mount /dev/mapper/vg01-root /mnt/sysimage
```
3. 将 `/mnt/sysimage` 设为你的工作目录:
```
# cd /mnt/sysimage
```
```
# cd /mnt/sysimage
```
4. 挂载 `/boot``/boot/efi` 文件系统。
5. 挂载其他主要文件系统。此步骤不需要像 `/home``/tmp` 这样的文件系统:
```
# mount /dev/mapper/vg01-usr usr
```
# mount /dev/mapper/vg01-usr usr
# mount /dev/mapper/vg01-var var
```
6. 绑定已挂载的重要文件系统,它们必须在已经 chroot 的系统和原始的现场系统之间共享,而后者仍然在外部运行:
```
# mount --bind /sys sys
# mount /dev/mapper/vg01-var var
```
# mount --bind /proc proc
```
7. 一定要最后操作 `/dev` 目录,否则其他文件系统不能挂载:
```
# mount --bind /dev dev
```
8. chroot 到系统镜像:
```
# chroot /mnt/sysimage
```
6. 挂载重要但已挂载的文件系统,它们必须在已经 chroot 的系统和原始 Live 系统之间共享,而后者仍然在外面运行:
```
# mount --bind /sys sys
# mount --bind /proc proc
```
7. 一定要最后操作 `/dev` 目录,否则其他文件系统不会挂载:
```
# mount --bind /dev dev
```
8. chroot 系统镜像:
```
# chroot /mnt/sysimage
```
系统现在已经准备好了,无论你需要做什么,都可以把它恢复到一个工作状态。然而,有一次我能够在这种状态下运行我的服务器数天,直到我能够研究和测试真正的修复方法。我并不推荐这样做,但在紧急情况下,当有任务需要启动和运行时,这可能是一个选择。
系统现在已经准备好了,无论你需要做什么,都可以把它恢复到一个工作状态。然而,有一次我能够在这种状态下运行我的服务器数天,直到我能够研究测试出真正的修复方法。我并不推荐这样做,但在紧急情况下,当有任务需要启动和运行时,这可能是一个选择。
### 解决方案
当我让每个系统进入恢复模式,修复就很容易了。因为我的系统现在就像成功启动一样工作,我只需对 `/etc/default/grub``/etc/fstab` 进行必要的更改并运行 `grub2-mkconfig > boot/grub2/grub.cfg ` 命令。我使用 `exit` 命令退出 chroot然后重启主机。
当我让每个系统进入恢复模式,修复就很容易了。因为我的系统现在就像成功启动一样工作,我只需对 `/etc/default/grub``/etc/fstab` 进行必要的更改并运行 `grub2-mkconfig > boot/grub2/grub.cfg` 命令。我使用 `exit` 命令退出 chroot 环境,然后重启主机。
当然,我无法自动从我的意外事故中恢复过来。我必须在每台主机上手动执行整个过程,这是使用自动化快速和容易地传播我自己的错误的一点报应。
@ -142,7 +128,7 @@ via: https://opensource.com/article/22/9/recover-linux-system-live-usb
作者:[David Both][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,100 @@
[#]: subject: "Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support"
[#]: via: "https://news.itsfoss.com/audacity-3-2-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lkxed"
[#]: translator: "littlebirdnest"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15079-1.html"
Audacity 3.2 发布,增加了 VST3 插件和 Apple 芯片支持
======
> Audacity 的新更新带来了一些重要功能,例如 VST3 插件支持和新效果按钮。
![Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support][1]
Audacity 3.2 来了,这是这个最流行的自由开源音频编辑和录制工具之一的小版本更新。
[此版本是在之前的主要版本 Audacity 3.0][2] 发布一年多之后发布的。
[即使在去年引起争议][3] 之后,它仍然是目前最好的 Linux 音频编辑器之一。
此版本有许多新增功能,例如对**VST3 插件的支持、对 Apple 芯片、FFMPEG 5.0 的支持**等等。
让我们快速了解一下 Audacity 的新功能。
### Audacity 3.2:有什么新功能?
这是一个小版本更新,带来了重大的变化和补充。
一些主要亮点包括:
- 支持 VST3 插件。
- Apple 芯片支持。
- FFMPEG 5.0。
- VST3、LV2、音频单元和 LADSPA 的实时功能。
- 用于实时效果的专用按钮。
- 删除对 Linux 系统的 JACK 要求。
- 对用户界面的各种调整。
### 新的效果按钮
![audacity 3.2 effects button][6]
Audacity 的界面中添加了一个专用的实时效果按钮,使用户可以轻松地即时下载和应用效果。
[你可以访问官方维基][7] 了解有关此功能的更多信息。
### VST3 插件支持
Audacity 3.2 还引入了对 VST3 插件的支持,这使用户能够利用 VST3 的高级音频处理功能,包括高效利用 CPU、更好地处理 MIDI、支持 MIDI I/O 等等。
### 将音频上传到云端
![audacity 3.2 share audio button][8]
在 Audacity 中加入的另一个令人兴奋的功能是,可以选择直接从应用程序中分享音频到 Audacity 的新云音频平台 [audio.com][9]。
### FFMPEG 5.0
Audacity 现在也支持了 FFMPEG 5.0;这确保了用户可以利用最新的开源音频/视频库套件。
### 苹果芯片支持
此版本还为基于 arm64 架构的 Apple 芯片带来了 macOS 支持。
### 下载 Audacity 3.2
[你可以通过其官方网站][10]、[GitHub 发布区][11]、[Flathub][12] 或 [Snap][13] 下载最新的 Audacity 版本。
> **[Audacity 3.2 下载][10]**
💬 *你会尝试 Audacity 3.2 吗我认为对VST3插件的支持应该是一个改变游戏规则的因素你怎么看在下面的评论部分分享它*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/audacity-3-2-release/
作者:[Sourav Rudra][a]
选题:[lkxed][b]
译者:[littlebirdnest](https://github.com/littlebirdnest)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/audacity-3-2-release.jpg
[2]: https://news.itsfoss.com/audacity-3-0-release/
[3]: https://news.itsfoss.com/audacity-fiasco-fork/
[4]: https://itsfoss.com/best-audio-editors-linux/
[6]: https://news.itsfoss.com/content/images/2022/09/Audacity_3.2_effects_button.gif
[7]: https://support.audacityteam.org/audio-editing/using-realtime-effects
[8]: https://news.itsfoss.com/content/images/2022/09/Audacity_3.2_share_audio_button.png
[9]: https://audio.com/
[10]: https://www.audacityteam.org/download/
[11]: https://github.com/audacity/audacity/releases
[12]: https://flathub.org/apps/details/org.audacityteam.Audacity
[13]: https://snapcraft.io/audacity
[14]: https://www.audacityteam.org/download/

View File

@ -1,36 +0,0 @@
[#]: subject: "Kubernetes To Soon Support Confidential Computing"
[#]: via: "https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/"
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Kubernetes To Soon Support Confidential Computing
======
*Constellation is the first kubernetes to be always-encrypted (K8S). This refers to a K8S in which all of your workloads and control plane are completely shielded and you can remotely confirm this using cryptographic certificates.*
Using secret computing and confidential VMs, the Constellation Kubernetes engine isolates Kubernetes clusters from the rest of the cloud architecture. As a result, data is always encrypted, both at rest and in memory, and a confidential context is created. Since it adds security and secrecy to data and workflows operating on the public cloud, confidential computing, according to Edgeless Systems, the company that created Constellation, is the future of cloud computing.
Kubernetes nodes run inside private virtual machines using Constellation. According to Edgeless Systems, confidential machines are an evolution of secure enclaves that extend the three principles of confidential computing—runtime encryption, isolation, and remote attestation—across the entire virtual system. The underlying hardwares particular support for private computing, such as AMD Secure Encrypted Virtualization (AEM), SEV-Secure Nested Paging (SEV-SNP), and Intel Trust Domain Extensions, is used by confidential VMs (TDX). Additionally, ARM revealed its new V9 architecture, known as Realms, last year. This design includes private VM features.
Constellation attempts to offer attestation, or verification via cryptographic certificates, in addition to “always-on” encryption, at the cluster level. Fedora CoreOS, which is built on an immutable file system and is geared for containers, is used by Confidential VMS in Constellation. Constellation also makes use of Sigstore to protect the DevOps chain of trust.
Performance may be a worry while using secret computing. Yes, encryption affects performance, but a joint benchmark by AMD and Microsoft found that this only results in a tiny performance hit of between 2% and 8%. Edgeless Systems claims that Constellation will perform similarly for heavy workloads.
Given that Constellation is CNCF-certified and interoperable with all major clouds, including GCP and Azure, this should guarantee its interoperability with other Kubernetes workloads and tools.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/
作者:[Laveesh Kocher][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/laveesh-kocher/
[b]: https://github.com/lkxed

View File

@ -0,0 +1,36 @@
[#]: subject: "Attacks On Open Source Software Are On The Rise"
[#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/"
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Attacks On Open Source Software Are On The Rise
======
*Attacks on open source repositories are becoming more frequent.*
According to recent research, cybercriminals are profiting from the fact that more businesses are using open source code repositories to develop their software solutions. According to a recent research from software supply chain management service provider Sonatype, the frequency of infected packages, typosquatting assaults on such platforms, and similar hacks has increased dramatically over the past three years.
The organisation discovered about 95,000 harmful packages over the course of the last three years and over 55,000 dangerous packages that were only recently published by employing their repository Firewall. By then, it had increased by an average of 700% in 36 months.
The business claims that it continuously finds and blocks harmful packages as well as potentially vulnerable components by fusing behavioural analysis with automated policy enforcement. Additionally, it employs AI to assess each piece of freshly published open source software to see if it poses any security risks. It asserts that manual analysis has become nearly impossible as a result of the significant increase in open source.
Furthermore, it is irrelevant whether the business includes the malicious component in the finished product or not. The corporation claims that if it is downloaded on their endpoints(opens in new tab), it is already too late.
“The volume, frequency, severity, and sophistication of malicious cyberattacks continue to increase. Organizations cantand shouldntavoid the use of open source(opens in new tab) just to protect themselves,” Fox added. “But they can use preventative toolssuch as the Sonatype Firewallto keep developers on track and software supply chains secure.”
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/
作者:[Laveesh Kocher][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/laveesh-kocher/
[b]: https://github.com/lkxed

View File

@ -0,0 +1,40 @@
[#]: subject: "Google Unveils An Open Source C++ And Python Library, TensorStore"
[#]: via: "https://www.opensourceforu.com/2022/09/google-unveils-an-open-source-c-and-python-library-tensorstore/"
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Google Unveils An Open Source C++ And Python Library, TensorStore
======
*TensorStore, an open source software library written in C++ and Python for the storage and manipulation of n-dimensional data.*
Multidimensional datasets that span a single broad coordinate system are used in a variety of contemporary computer science and machine learning applications. Examples include forecasting the weather using air measurements over a grid of locations or predicting medical imaging outcomes using multi-channel image intensity values from a 2D or 3D scan. These datasets can be difficult to work with since users frequently wish to run studies on multiple workstations at once and may receive and write data at unpredictable intervals and varied scales. Under these conditions, even a single dataset might require petabytes of storage.
Googles TensorStore has already been used to solve fundamental engineering issues in scientific computing related to the administration and processing of big datasets in neuroscience. To solve the issue of storing and manipulating n-dimensional data, Google Research created the open source TensorStore C++ and Python software package. Numerous storage systems, including local and network filesystems, Google Cloud Storage, etc. are supported by this module. It provides a uniform API that can read and write a variety of array types. The library offers read/writeback caching, transactions, and a robust atomicity, isolation, consistency, and durability (ACID) guarantee. Concurrency that is optimistic guarantees secure access from several processes and systems.
TensorStore offers a straightforward Python API that can be used to load and manipulate huge arrays of data. Due to the fact that no actual data is read or maintained in memory until the specific slice is needed, arbitrary large underlying datasets can be loaded and edited without having to store the entire dataset in memory. The syntax for indexing and manipulation, which is much the same as that used for NumPy operations, makes this possible. TensorStore also supports virtual views, broadcasting, alignment, and other advanced indexing features (data type conversion, downsampling, lazily on-the-fly generated arrays).
Processing and analysing large numerical datasets requires a lot of processing power. Typically, this is done by parallelizing activities among a large number of CPU or accelerator cores dispersed across multiple devices. Since reading and writing to TensorStore does not become a bottleneck during computation, one of TensorStores key goals has been to enable simultaneous processing of specific datasets while maintaining good performance (by preventing corruption or inconsistencies resulting from concurrent access patterns).
Additionally, TensorStore includes an asynchronous API that enables read or write operations to go concurrently. The application also does various operations and customisable in-memory caching at the same time (which decreases slower storage system interactions for frequently accessed data). When multiple machines are accessing the same dataset, optimistic concurrency protects the security of parallel operations. Without significantly reducing performance, it maintains compatibility with a number of underlying storage layers. In order to make TensorStore distributed computing compatible with many existing data processing workflows, TensorStore has also been integrated with parallel computing frameworks like Apache Beam and Dask.
PaLM and other advanced big language models are among the exciting TensorStore application cases. With their hundreds of billions of parameters, these neural networks push the boundaries of computing infrastructure while displaying unexpected ability in producing and understanding plain language. During this training process, accuracy in reading and writing the model parameters provides a challenge. Despite the fact that training is distributed across many workstations, it is required to regularly store parameters to a single checkpoint on a long-term storage system without causing the training process to lag. TensorStore has already been used to resolve these problems. Large-scale (“multipod”) models trained using JAX have been connected to checkpoints using this framework, which has been integrated with frameworks like T5X and Pathways.
An other fascinating application is brain mapping. The goal of synapse-resolution connectomics is to map the complex network of individual synapses in the brains of both animals and people. Petabyte-sized datasets are required for this, which are created by imaging the brain at a very high resolution with fields of view as small as a millimetre or more. Current datasets, however, present major storage, manipulation, and processing challenges because they require millions of gigabytes to store, modify, and process data inside a coordinate system. TensorStore has been utilised to handle the computational challenges provided by some of the biggest and most well-known connectomic datasets, with Google Cloud Storage acting as the underlying object storage system.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/google-unveils-an-open-source-c-and-python-library-tensorstore/
作者:[Laveesh Kocher][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/laveesh-kocher/
[b]: https://github.com/lkxed

View File

@ -0,0 +1,132 @@
[#]: subject: "ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More"
[#]: via: "https://news.itsfoss.com/onlyoffice-7-2-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More
======
ONLYOFFICE 7.2 includes essential upgrades with usability improvements and interesting features.
![ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More][1]
ONLYOFFICE is an open-source office suite that offers a lot of utility in a relatively small package.
This follows the previous major release of [ONLYOFFICE 7.1][2] and offers quite a few improvements.
Let's see what is on offer.
### ONLYOFFICE 7.2 Docs: What's New?
![ONLYOFFICE Docs 7.2 — what's new?][3]
ONLYOFFICE 7.2 introduces many improvements to Docs and a few enhancements to the spreadsheet editor.
Some of the key highlights include:
* Live Viewer
* Plugin Marketplace
* New Interface Theme
* Ligature Support
* Spreadsheet Improvements
#### Live Viewer
![onlyoffice 7.2 live viewer][4]
This feature lets users view changes made to a document by other collaborators in real-time.
Do note that this feature is only made available to server users.
![][5]
![][6]
#### Plugin Marketplace
![onlyoffice 7.2 plugin marketplace][7]
ONLYOFFICE 7.2 features a dedicated marketplace for getting plugins; this makes it very straightforward for users to install and remove plugins.
#### Ligature Support
![onlyoffice 7.2 ligature support][8]
Ligature allows merging multiple symbols into one. It has been added with ONLYOFFICE 7.2, which results in new language support, including Hindi, Bengali, Portuguese and more.
#### Usability Improvements
![onlyoffice 7.2 new theme][9]
Usability improvements to ONLYOFFICE include a new interface theme named 'Dark Contrast', the ability to switch to dark or light mode according to the system theme.
Additionally, you will find a bunch of new interface languages, such as Portuguese, Basque, Malay, etc., made possible due to the support for ligatures.
#### Spreadsheet Improvements
![onlyoffice 7.2 spreadsheet improvements][12]
A quick switcher option has been added to let users switch their diagrams or charts between rows and columns.
The 1904 date system has also been added, with the ability to share a link to a data range with other users.
Another significant addition is the ability to insert a spreadsheet into a text document or presentation.
![onlyoffice 7.2 insert spreadsheet][13]
#### Other Refinements
![Introducing ONLYOFFICE 7.2: Detailed feature overview][14]
There are several other enhancements. Some of them include:
* Updated search/replace tool
* New hotkeys for paste special
* Ability to rename files via title in the editors.
* Support for PPSX presentations for viewing.
* More intuitive advanced settings.
You can learn more about this release by reading the [full changelog][15].
### Download ONLYOFFICE 7.2
ONLYOFFICE 7.2 is available for various platforms, you can head to its [downloads page][16] to find options for Docker, Windows, AWS Cloud, and more.
[Download ONLYOFFICE 7.2][17]
If you want it for personal use, you can head to its [free ONLYDESKTOP apps][18] section to download it for your desktop or mobile device. It is available for Windows, Linux, and macOS.
*💬 What do you think of ONLYOFFICE 7.2? Do the improvements sound good to you?*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/onlyoffice-7-2-release/
作者:[Sourav Rudra][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/onlyoffice-7-2-release.png
[2]: https://news.itsfoss.com/onlyoffice-7-1-release/
[3]: https://youtu.be/wF0qB78hRo8
[4]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Live_Viewer.gif
[5]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173
[6]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173
[7]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Plugin_Manager-1.png
[8]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Ligatures-1.png
[9]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_New_Theme-1.png
[12]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_LinktoRange-1.png
[13]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Insert_Spreadsheet.gif
[14]: https://youtu.be/Aul3xxZeAdc
[15]: https://github.com/ONLYOFFICE/DocumentServer/blob/master/CHANGELOG.md#720
[16]: https://www.onlyoffice.com/download-docs.aspx
[17]: https://www.onlyoffice.com/download-desktop.aspx#desktop
[18]: https://www.onlyoffice.com/download-desktop.aspx#desktop

View File

@ -0,0 +1,90 @@
[#]: subject: "System76 Won't Release Pop!_OS 22.10 Linux Distro: Here's Why!"
[#]: via: "https://news.itsfoss.com/no-pop-os-21-10/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
System76 Won't Release Pop!_OS 22.10 Linux Distro: Here's Why!
======
There will be no Pop!_OS 22.10. So, you can't get your hands on GNOME 43.. Here's why!
![System76 Won't Release Pop!_OS 22.10 Linux Distro: Here's Why!][1]
Pop!_OS is an Ubuntu-based distro that offers a polished user experience alongside a robust software suite.
Pop!_OS releases are usually worth the wait for their latest tech stack and useful tweaks they bring in with their desktop environment experience.
But, you will not be getting a Pop!_OS 22.10 release.
[System76][2] wants to focus on developing its own Rust-based COSMIC desktop environment ditching GNOME for future releases. 😲
**In case you did not know**, here is our older coverage on the COSMIC desktop for Pop!_OS to provide clarity:
[Oh, Wow! Pop!_OS Linux Devs Are Creating a New Rust-based Desktop Environment][3]
### No Pop!_OS 22.10 Release
A new Pop!_OS release usually comes just after Ubuntu's new release for both the LTS and non-LTS versions.
Without Pop!_OS 22.10, some users might be disappointed not to get their hands on GNOME 43 experience on Pop!_OS.
Thanks to [OMG!Ubuntu!][5] for spotting this on a [Reddit comment][6] by Pop!_OS developer **Michael Murphy**.
Michael mentions:
> We are going to focus our development time onto the Rust implementation of COSMIC instead of 22.10. It takes a lot of effort to support multiple releases of Ubuntu, and the 6 month release cycle really eats into development time and stability of the product.
👏 I believe that is an excellent decision. Last year, when they announced their plans for a Rust-based built-from-scratch desktop environment, I always wondered how they could pull it off.
It is a huge task to make something from the ground up and reach the expectation of users who already have a great experience on Pop!_OS with a GNOME-based desktop.
### COSMIC Desktop Environment
![pop os cosmic de early build][9]
It would be interesting to see more developments in the COSMIC desktop environment. The last time we tried it (or saw the mockups), it sparked excitement among the users even when they were just starting out.
Technically, it has been in development since 2021, with a Pop!_OS release coming in 2023.
It is written in the [Rust][10] programming language following the freedesktop [interoperability specifications][11], and to completely remove any dependence on GNOME and its shell extensions.
We had previously covered the early preview build of the COSMIC desktop environment, you can check that out here:
[I Tried System76s New Rust-based COSMIC Desktop!][12]
### Why Is This a Good Thing?
The LTS releases for Pop!_OS already receive regular package updates and kernel upgrades more than Ubuntu, so you have nothing to worry about not getting a 22.10 version release.
Instead, we should look forward to Pop!_OS's next major upgrade where they properly introduce the Rust-COSMIC desktop environment.
*💬 What do you think about this decision? Are you excited to see what's in store with future Pop!_OS releases?*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/no-pop-os-21-10/
作者:[Sourav Rudra][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/no-pop-os-22-10-release.png
[2]: https://system76.com/
[3]: https://news.itsfoss.com/pop-os-cosmic-rust/
[4]: https://news.itsfoss.com/pop-os-cosmic-rust/
[5]: https://www.omgubuntu.co.uk/2022/09/excited-for-pop_os-22-10-dont-be
[6]: https://www.reddit.com/r/pop_os/comments/xifwt6/comment/ip3l425/
[7]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173
[8]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173
[9]: https://news.itsfoss.com/content/images/2022/09/pop_os_cosmic_early_build.png
[10]: https://www.rust-lang.org/
[11]: https://www.freedesktop.org/wiki/Specifications/
[12]: https://news.itsfoss.com/system76-rust-cosmic-desktop/

View File

@ -2,7 +2,7 @@
[#]: via: "https://opensource.com/article/21/6/java-serverless-functions"
[#]: author: "Daniel Oh https://opensource.com/users/daniel-oh"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "cool-summer-021"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "

View File

@ -2,7 +2,7 @@
[#]: via: "https://ostechnix.com/prevent-command-arguments-with-sudo/"
[#]: author: "sk https://ostechnix.com/author/sk/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "Donkey-Hao"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
@ -94,7 +94,7 @@ via: https://ostechnix.com/prevent-command-arguments-with-sudo/
作者:[sk][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
译者:[Donkey-Hao](https://github.com/Donkey-Hao)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,157 +0,0 @@
[#]: subject: "5 Free and Open-Source Figma Alternatives"
[#]: via: "https://itsfoss.com/figma-alternatives/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
5 Free and Open-Source Figma Alternatives
======
Figma is a popular interface designing tool. You can get started free or opt for premium subscription plans for advanced use.
It is an impressive platform that many professionals rely on. However, in 2021, [Figma][1] changed its free plan by imposing certain restrictions. While this made some users look for alternatives, it was still manageable for many.
Unfortunately, in 2022, the **announcement of Adobe acquiring Figma for $20 billion** put off many users. So, everyone has started looking for alternatives that are free and potentially open-source.
To help you out, we decided to compile a list of free and open-source alternatives to Figma that you can try.
**Note:** The alternatives mentioned are not necessarily exact replacements for Figma. We recommend you try them to see how they fit your requirements.
### 1. Penpot
![A Video from YouTube][2]
**Key Highlights:**
* Self-hosting option.
* Uses SVG as the native format.
* Web-based.
* Cross-platform.
Penpot is quickly being recognized as a solid free and open-source Figma alternative.
Even if it is in its beta phase, the users seem to like what it offers when writing this. Im not a design expert, but the user experience with the tool seems impressive.
The unique thing about Penpot is that it uses SVG as its native format, which is rare but also provides immense benefits to the designers.
![penpot screenshot][3]
You can expect the essential features from Figma as the developers mention the tools original inspiration is Figma, and they aim to provide a familiar user experience without adding hurdles to your design adventures.
Head to its official website or GitHub page to explore more.
[Penpot][4]
### 2. Quant UX
![A Video from YouTube][5]
**Key Highlights:**
* Prototyping and Testing.
* Limited access without signing up.
* New beta features are regularly added.
* Self-host option.
Quant UX is a prototyping tool where you can test your designs and get insights about them.
You can create a custom prototype or select any available screen sizes for an Android phone, iPhone, or desktop.
This is also something where you will find features constantly added, and some of them are in beta. It is focused more on testing things by letting you import your designs or create a simple mockup.
It allows you access to a few things without signing up, but to get all features working, you need to sign up for an account. Explore more on its [GitHub page][6].
[Quant UX][7]
### 3. Plasmic
![A Video from YouTube][8]
**Key Highlights:**
* Free and open source.
* Drag and drop functionality.
* It supports importing designs from Figma.
Plasmic is a remarkable design tool for building web pages. If you were using Figma for web design, this could be an alternative tool to check out.
It provides most of the features for free and unlocks things like more extended version history, analytics, and other special features for teams when you opt for a premium plan. It is not just limited to designing the web pages but also supports A/B testing to experiment and improve the user interaction of your website.
Whether you are using an [open-source CMS][9] or a Jamstack site, Plasmic supports integration almost everywhere. Head to its official site or [GitHub page][10] to learn more.
[Plasmic][11]
### 4. Wireflow
![wireflow userflow][12]
**Key Highlights:**
* Free to use.
* No paid options.
* It is not actively maintained.
Wireflow is an interesting offering as a user flow prototype tool, and it is entirely free to use with no paid option.
Also, you do not need to sign up for an account. Get started from its official website and collaborate with others to plan your project and brainstorm.
Unfortunately, it has not seen any recent development activity since 2021. But, it is still active and remains a free and open-source solution. You can check out its [GitHub page][13] for more information.
[Wireflow][14]
### 5. Akira UX
![akira ux 2020][15]
**Key Highlights:**
* Early development app.
* Focuses on being a native Linux UX app.
[Akira UX][16] is an exciting project aiming to bring a native Linux design utility that works as well as some web-based solutions.
Akiras project lead joined Mozilla Thunderbird as a product design manager. So, as of now, the project is not super actively developed. But, as a free and open-source project, anyone can pick it up and work on the same vision.
It is currently an early development version that you can test. You can find it available on Flathubs beta channel and get it installed as per its [GitHub page instructions][17].
[Akira UX][18]
### Wrapping Up
It is not easy to replace Figma with a free and open-source solution. However, if you are not concerned about all of Figmas functionalities, some of our recommendations should help you get the job done.
*Do you know of any other free and open-source replacements to Figma? Let me know your thoughts in the comments below.*
--------------------------------------------------------------------------------
via: https://itsfoss.com/figma-alternatives/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://www.figma.com/
[2]: https://youtu.be/JozESuPcVpg
[3]: https://itsfoss.com/wp-content/uploads/2022/09/penpot-screenshot.jpg
[4]: https://penpot.app/
[5]: https://youtu.be/eGDTAJlB-uI
[6]: https://github.com/KlausSchaefers/quant-ux
[7]: https://quant-ux.com/
[8]: https://youtu.be/sXXpe5jjnRs
[9]: https://itsfoss.com/open-source-cms/
[10]: https://github.com/plasmicapp/plasmic
[11]: https://www.plasmic.app/
[12]: https://itsfoss.com/wp-content/uploads/2022/09/wireflow-userflow-800x570.jpg
[13]: https://github.com/vanila-io/wireflow
[14]: https://wireflow.co/
[15]: https://itsfoss.com/wp-content/uploads/2022/09/akira-ux-2020.png
[16]: https://itsfoss.com/akira-design-tool/
[17]: https://github.com/akiraux/Akira
[18]: https://github.com/akiraux/Akira

View File

@ -2,7 +2,7 @@
[#]: via: "https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using-google-docs/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "

View File

@ -0,0 +1,439 @@
[#]: subject: "165+ JavaScript terms you need to know"
[#]: via: "https://opensource.com/article/22/9/javascript-glossary"
[#]: author: "Sachin Samal https://opensource.com/users/sacsam005"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
165+ JavaScript terms you need to know
======
Keep this JavaScript glossary bookmarked to reference variables, methods, strings, and more.
![Javascript code close-up with neon graphic overlay][1]
Photo by Jen Wike Huger
JavaScript is a rich language, with sometimes a seemingly overwhelming number of libraries and frameworks. With so many options available, it's sometimes useful to just look at the language itself and keep in mind its core components. This glossary covers the core JavaScript language, syntax, and functions.
### JavaScript variables
`var` : The most used variable. Can be reassigned but only accessed within a function, meaning function scope. Variables defined with `var` move to the top when code is executed.
`const` : Cannot be reassigned and not accessible before they appear within the code, meaning block scope.
`let` : Similar to `const` with block scope, however, the `let` variable can be reassigned but not re-declared.
#### Data types
Numbers: `var age = 33`
Variables: `var a`
Text (strings): `var a = "Sachin"`
Operations: `var b = 4 + 5 + 6`
True or false statements: `var a = true`
Constant numbers: `const PI = 3.14`
Objects: `var fullName = {firstName:"Sachin", lastName: "Samal"}`
#### Objects
This is a simple example of objects in JavaScript. This object describe the variable `car`, and includes *keys* or *properties* such as `make`, `model`, and `year` are the object's property names. Each property has a value, such as `Nissan`, `Altima`, and `2022`. A JavaScript object is a collection of properties with values, and it functions as a method.
```
var car = {
make:"Nissan",
model:"Altima",
year:2022,
};
```
#### Comparison operators
`==` : Is equal to
`===` : Is equal value and equal type
`!=` : Is not equal
`!==` : Is not equal value or not equal type
`>` : Is greater than
`<` : Is less than
`>=` : Is greater than or equal to
`<=` : Is less than or equal to
`?` : Ternary operator
#### Logical operators
`&&` : Logical AND
`||` : Logical OR
`!` : Logical NOT
#### Output data
`alert()` : Output data in an alert box in the browser window
`confirm()` : Open up a yes/no dialog and return true/false depending on user click
`console.log()` : Write information to the browser console. Good for debugging.
`document.write()` : Write directly to the HTML document
`prompt()` : Create a dialog for user input
### Array methods
Array: An object that can hold multiple values at once.
`concat()` : Join several arrays into one
`indexOf()` : Return the primitive value of the specified object
`join()` : Combine elements of an array into a single string and return the string
`lastIndexOf()` : Give the last position at which a given element appears in an array
`pop()` : Remove the last element of an array
`push()` : Add a new element at the end
`reverse()` : Sort elements in descending order
`shift()` : Remove the first element of an array
`slice()` : Pull a copy of a portion of an array into a new array
`splice()` : Add positions and elements in a specified way
`toString()` : Convert elements to strings
`unshift()` : Add a new element to the beginning
`valueOf()` : Return the first position at which a given element appears in an array
### JavaScript loops
Loops: Perform specific tasks repeatedly under applied conditions.
```
for (before loop; condition for loop; execute after loop) {
// what to do during the loop
}
```
`for` : Creates a conditional loop
`while` : Sets up conditions under which a loop executes at least once, as long as the specified condition is evaluated as true
`do while` : Similar to the `while` loop, it executes at least once and performs a check at the end to see if the condition is met. If it is, then it executes again
`break` : Stop and exit the cycle at certain conditions
`continue` : Skip parts of the cycle if certain conditions are met
### if-else statements
An `if` statement executes the code within brackets as long as the condition in parentheses is true. Failing that, an optional `else` statement is executed instead.
```
if (condition) {
// do this if condition is met
} else {
// do this if condition is not met
}
```
### Strings
#### String methods
`charAt()` : Return a character at a specified position inside a string
`charCodeAt()` : Give the Unicode of the character at that position
`concat()` : Concatenate (join) two or more strings into one
`fromCharCode()` : Return a string created from the specified sequence of UTF-16 code units
`indexOf()` : Provide the position of the first occurrence of a specified text within a string
`lastIndexOf()` : Same as `indexOf()` but with the last occurrence, searching backwards
`match()` : Retrieve the matches of a string against a search pattern
`replace()` : Find and replace specified text in a string
`search()` : Execute a search for a matching text and return its position
`slice()` : Extract a section of a string and return it as a new string
`split()` : Split a string object into an array of strings at a specified position
`substr()` : Extract a substring depended on a specified number of characters, similar to `slice()`
`substring()` : Can't accept negative indices, also similar to `slice()`
`toLowerCase()` : Convert strings to lower case
`toUpperCase()` : Convert strings to upper case
`valueOf()` : Return the primitive value (that has no properties or methods) of a string object
#### Number methods
`toExponential()` : Return a string with a rounded number written as exponential notation
`toFixed()` : Return the string of a number with a specified number of decimals
`toPrecision()` : String of a number written with a specified length
`toString()` : Return a number as a string
`valueOf()` : Return a number as a number
#### Math methods
`abs(a)` : Return the absolute (positive) value of `a`
`acos(x)` : Arccosine of `x`, in radians
`asin(x)` : Arcsine of `x`, in radians
`atan(x)` : Arctangent of `x` as a numeric value
`atan2(y,x)` : Arctangent of the quotient of its arguments
`ceil(a)` : Value of a rounded up to its nearest integer
`cos(a)` : Cosine of `a` (`x` is in radians)
`exp(a)` : Value of Ex
`floor(a)` : Value of a rounded down to its nearest integer
`log(a)` : Natural logarithm (base E) of `a`
`max(a,b,c…,z)` : Return the number with the highest value
`min(a,b,c…,z)` : Return the number with the lowest value
`pow(a,b)` : `a` to the power of `b`
`random()` : Return a random number between 0 and 1
`round(a)` : Value of `a` rounded to its nearest integer
`sin(a)` : Sine of `a` (`a` is in radians)
`sqrt(a)` : Square root of `a`
`tan(a)` : Tangent of an angle
### Dealing with dates in JavaScript
#### Set dates
`Date()` : Create a new date object with the current date and time
`Date(2022, 6, 22, 4, 22, 11, 0)` : Create a custom date object. The numbers represent year, month, day, hour, minutes, seconds, milliseconds. You can omit anything except for year and month.
`Date("2022-07-29")` : Date declaration as a string
#### Pull date and time values
`getDate()` : Day of the month as a number (1-31)
`getDay()` : Weekday as a number (0-6)
`getFullYear()` : Year as a four-digit number (yyyy)
`getHours()` : Hour (0-23)
`getMilliseconds()` : Millisecond (0-999)
`getMinutes()` : Minute (0-59)
`getMonth()` : Month as a number (0-11)
`getSeconds()` : Second (0-59)
`getTime()` : Milliseconds since January 1, 1970
`getUTCDate()` : Day (date) of the month in the specified date according to universal time (also available for day, month, full year, hours, minutes, etc.)
`parse` : Parse a string representation of a date and return the number of milliseconds since January 1, 1970
#### Set part of a date
`setDate()` : Set the day as a number (1-31)
`setFullYear()` : Set the year (optionally month and day)
`setHours()` : Set the hour (0-23)
`setMilliseconds()` : Set milliseconds (0-999)
`setMinutes()` : Set the minutes (0-59)
`setMonth()` : Set the month (0-11)
`setSeconds()` : Set the seconds (0-59)
`setTime()` : Set the time (milliseconds since January 1, 1970)
`setUTCDate()` : Set the day of the month for a specified date according to universal time (also available for day, month, full year, hours, minutes, etc.)
### Dom mode
#### Node methods
`appendChild()` : Add a new child node to an element as the last child node
`cloneNode()` : Clone an HTML element
`compareDocumentPosition()` : Compare the document position of two elements
`getFeature()` : Return an object which implements the APIs of a specified feature
`hasAttributes()` : Return **true** if an element has any attributes, otherwise **false**
`hasChildNodes()` : Return **true** if an element has any child nodes, otherwise **false**
`insertBefore()` : Insert a new child node before a specified, existing child node
`isDefaultNamespace()` : Return **true** if a specified `namespaceURI` is the default, otherwise **false**
`isEqualNode()` : Check if two elements are equal
`isSameNode()` : Check if two elements are the same node
`isSupported()` : Return **true** if a specified feature is supported on the element
`lookupNamespaceURI()` : Return the `namespaceURI` associated with a given node
`normalize()` : Join adjacent text nodes and removes empty text nodes in an element
`removeChild()` : Remove a child node from an element
`replaceChild()` : Replace a child node in an element
#### Element methods
`getAttribute()` : Return the specified attribute value of an element node
`getAttributeNS()` : Return string value of the attribute with the specified namespace and name
`getAttributeNode()` : Get the specified attribute node
`getAttributeNodeNS()` : Return the attribute node for the attribute with the given namespace and name
`getElementsByTagName()` : Provide a collection of all child elements with the specified tag name
`getElementsByTagNameNS()` : Return a live HTMLCollection of elements with a certain tag name belonging to the given namespace
`hasAttribute()` : Return **true** if an element has any attributes, otherwise **false**
`hasAttributeNS()` : Provide a true/false value indicating whether the current element in a given namespace has the specified attribute
`removeAttribute()` : Remove a specified attribute from an element
`lookupPrefix()` : Return a `DOMString` containing the prefix for a given `namespaceURI`, if present
`removeAttributeNS()` : Remove the specified attribute from an element within a certain namespace
`removeAttributeNode()` : Take away a specified attribute node and return the removed node
`setAttribute()` : Set or change the specified attribute to a specified value
`setAttributeNS()` : Add a new attribute or changes the value of an attribute with the given namespace and name
`setAttributeNode()` : Set or change the specified attribute node
`setAttributeNodeNS()` : Add a new namespaced attribute node to an element
### JavaScript events
#### Mouse
`onclick` : User clicks on an element
`oncontextmenu` : User right-clicks on an element to open a context menu
`ondblclick` : User double-clicks on an element
`onmousedown` : User presses a mouse button over an element
`onmouseenter` : Pointer moves onto an element
`onmouseleave` : Pointer moves out of an element
`onmousemove` : Pointer moves while it is over an element
`onmouseover` : Pointer moves onto an element or one of its children
`setInterval()` : Call a function or evaluates an expression at
`oninput` : User input on an element
`onmouseup` : User releases a mouse button while over an element
`onmouseout` : User moves the mouse pointer out of an element or one of its children
`onerror` : Happens when an error occurs while loading an external file
`onloadeddata` : Media data is loaded
`onloadedmetadata` : Metadata (like dimensions and duration) is loaded
`onloadstart` : Browser starts looking for specified media
`onpause` : Media is paused either by the user or automatically
`onplay` : Media is started or is no longer paused
`onplaying` : Media is playing after having been paused or stopped for buffering
`onprogress` : Browser is in the process of downloading the media
`onratechange` : Media play speed changes
`onseeked` : User finishes moving/skipping to a new position in the media
`onseeking` : User starts moving/skipping
`onstalled` : Browser tries to load the media, but it is not available
`onsuspend` — Browser is intentionally not loading media
`ontimeupdate` : Play position has changed (e.g., because of fast forward)
`onvolumechange` : Media volume has changed (including mute)
`onwaiting` : Media paused but expected to resume (for example, buffering)
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/javascript-glossary
作者:[Sachin Samal][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/sacsam005
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/code_javascript.jpg

View File

@ -0,0 +1,102 @@
[#]: subject: "Get change alerts from any website with this open source tool"
[#]: via: "https://opensource.com/article/22/9/changedetection-io-open-source-website-changes"
[#]: author: "Leigh Morresi https://opensource.com/users/dgtlmoon"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Get change alerts from any website with this open source tool
======
Use changedetection.io to get alerts when a website makes changes or updates.
![Browser of things][1]
The year was 2020, and news about COVID-19 came flooding in so quickly that everyone felt completely overwhelmed with similar news articles providing updates with varying degrees of accuracy.
But all I needed to know was when my official government guidelines changed. In the end, that's all that mattered to me.
Whether the concern is a pandemic or just the latest tech news, keeping ahead of changes in website content can be critical.
The [changedetection.io][2] project provides a simple yet highly capable, open source solution for website change detection and notification. It's easy to set up, and it can notify over 70 (and counting) different notification systems, such as Matrix, Mattermost, [Nextcloud][3], [Signal][4], [Zulip][5], [Home Assistant][6], email, and more. It also notifies proprietary applications like Discord, Office365, Reddit, Telegram, and many others.
But [changedetection.io][7] isn't just limited to watching web page content. You can also monitor XML and JSON feeds, and it will build an RSS feed of the websites that changed.
Thanks to its built-in JSON simple storage system, there's no need to set up complicated databases to receive and store information. You can [run it as a Docker image][8] or install it with `pip`. The project has an [extensive wiki help section][9], and most common questions are covered there.
For sites using complex JavaScript, you can connect your changedetection.io installation to a Chromium or Chrome browser with the built-in [Playwright content fetcher][10].
Once running, access the application in your browser (`http://localhost:5000`, by default). You can set a password in the **Settings** section if your computer can be reached from an outside network.
![change detection watch list][11]
Submit the URL of a page you want to monitor. There are several settings related to how the page is filtered. For example, you more than likely do not want to know when a company's stock price listed in their site footer has changed, but you may want to know when they post a news article to their blog.
### Monitor a site
Imagine you want to add your favorite website, Opensource.com, to be monitored. You only want to know when the main call-out article contains the word "python" and you want to be notified over Matrix.
To do this, begin with the **visual-selector** tool. (This requires the **playwright** browser interface to be connected.)
![Find an element to monitor][12]
The **visual-selector** tool automatically calculates the best Xpath or CSS filter to target the content. Otherwise, you would get a lot of noise from the daily page updates.
Next, visit the **Filters & Triggers** tab.
![Filters and triggers][13]
In **CSS/JSON/XPATH Filter** field (the blue circle), you can see the automatically generated CSS filter from the previous step.
There are several useful filters available, such as **Remove elements** (good for removing noisy elements), **Ignore text, Trigger/wait for text,** and **Block change-detection if text matches** (used for waiting for some text to disappear, like "sold out").
In **Trigger/wait for text** (the red circle), type in the keyword you want to monitor for. (That's "python" in this example.)
The final step is in the **Notifications** tab, where you configure where you want to receive your notification. Below I added a Matrix room as the notification target, using the Matrix API.
![Notifications tab][14]
The notification URL is in the format of `matrixs://username:password@matrix.org/#/room/#room-name:matrix.org`
However, [t2Bot][15] format is also supported. Here are more [Matrix notification options][16].
And that's it! Now you'll receive a message over Matrix whenever the content changes.
### There's more
There's so much more to changedetection.io. If you prefer calling a custom JSON API, you don't have to use an API for notifications (use `jsons://` ). You can also create a custom HTTP request (POST and GET), execute JavaScript before checking (perhaps to pre-fill a username and password login field), and many more interesting features, with more to come.
Stop browsing the web and start watching the web instead!
Image by: (Leigh Morresi, CC BY-SA 4.0)
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/changedetection-io-open-source-website-changes
作者:[Leigh Morresi][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/dgtlmoon
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/browser_desktop_website_checklist_metrics.png
[2]: https://github.com/dgtlmoon/changedetection.io
[3]: https://opensource.com/tags/nextcloud
[4]: https://opensource.com/article/19/10/secure-private-messaging
[5]: https://opensource.com/article/22/3/open-source-chat-zulip
[6]: https://opensource.com/article/20/11/home-assistant
[7]: https://github.com/dgtlmoon/changedetection.io
[8]: https://github.com/dgtlmoon/changedetection.io#docker
[9]: https://github.com/dgtlmoon/changedetection.io/wiki
[10]: https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher
[11]: https://opensource.com/sites/default/files/2022-09/screenshot.png
[12]: https://opensource.com/sites/default/files/2022-09/changedetect-osdc.png
[13]: https://opensource.com/sites/default/files/2022-09/changedetect-filters-triggers.webp
[14]: https://opensource.com/sites/default/files/2022-09/step3-notification-matrix.png
[15]: https://t2bot.io/
[16]: https://github.com/caronc/apprise/wiki/Notify_matrix

View File

@ -0,0 +1,176 @@
[#]: subject: "How to Migrate to Fedora Linux from Ubuntu [Beginners Guide]"
[#]: via: "https://www.debugpoint.com/migrate-to-fedora-from-ubuntu/"
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
[#]: collector: "lkxed"
[#]: translator: " "
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
How to Migrate to Fedora Linux from Ubuntu [Beginners Guide]
======
Heres a quick model on how to migrate to Fedora from the Ubuntu desktop, for good & save yourself from “snap drama”.
[Ubuntu][1] and [Fedora][2] are both great Linux operating systems.
They are used by millions of users every day and are available for desktops, servers, and cloud deployments. Fedora is sponsored by Red Hat and developed by the community, whereas Ubuntu development is managed by Canonical.
They follow a separate release schedule and have a different package management process. Otherwise, they are the same if you think of them as just a Linux distribution. So that said, it is not that difficult to migrate to Fedora for a long-term Ubuntu user. And use Fedora as a daily driver.
![KDE Plasma 5.21 in Fedora 34][3]
The objective of this guide is for desktop migration.
That means if you have been using Ubuntu on your Laptop/desktop for some time and never had a chance to try out the Fedora Linux workstation, then this article is for you.
Server migration to Fedora from Ubuntu Sever is an entirely different topic and requires an advanced assessment before you try. Server migration is not covered in this guide.
### Steps to migrate to Fedora from Ubuntu
#### Housekeeping
* I assume that you have adequate disk space and partition ready where you want to install Fedora Linux. Also, if you want to completely get rid of Ubuntu, you can install Fedora in the same partition easily.
* Make sure you take backups of your data from the Ubuntu installation. I would suggest you review your files in `/home` directory. Verify what backup you need to take in Documents, Pictures, Download directories.
* Write down the applications you additionally installed so that you can re-install them in your Fedora system. You can easily open GNOME Software (if you are using GNOME) and get a list of manually installed applications.
* Also, keep a note about the list of GNOME Extensions you use (if you are using GNOME).
* Write down the partitions of your disks and decide in which partition you want to install Fedora Linux. The easiest way to do this is using the GParted tool. Install it in Ubuntu using `sudo apt install gparted`. And get a list of partitions.
* Alternatively, run the following command from the terminal to get the partition list.
```
sudo lsblk -o name,mountpoint,label,size,uuid
```
* Like the Ubuntu desktop installer, Fedora also comes with Workstation editions (GNOME) for desktop installs. It also gives you a dedicated installer featuring all popular desktops. For example, if you prefer KDE Plasma, you get the Fedora KDE Plasma Spin.
* If you are all done with the housekeeping mentioned above, its time to download the ISO file for Fedora. So, download Fedora Workstation (GNOME) or Spin (like the different flavours with desktops) as per your need from the below link.
[download fedora workstation edition (gnome)][4]
[download fedora spins][5]
* Once downloaded, write the iso in USB using GNOME disk utility or use [Etcher][6] for easy and flawless LIVE USB preparation. Also, you may want to try [Fedora Media Writer][7] which is a nice ISO creator, by the way.
#### Installation steps and differences
* The main installation is handled by different utilities by Fedora and Ubuntu. Hence if you are first time in Fedora, it would be a little tricky.
* Ubuntu uses the Ubiquity installer, and Fedora uses the Anaconda installer program. In my experience, the Ubiquity is fairly simple, and Anaconda is a little confusing on the disk partition section. But once you get to use Anaconda, it will be seamless for you.
* Start booting from the Fedora LIVE USB you created and boot into the live system desktop. After that, click on the install to the hard disk to start the installation.
* In the Anaconda installer, after selecting the language, click on the SYSTEM installation destination. This is a very important and the only complex step.
![Choose destination][8]
* Select disk and configuration as custom. This is easier than Blivet-GUI (based on my experience over the years).
![Select disk and configuration][9]
* Click on the “+” sign and give your partition size after selecting the partition format.
![Create partition][10]
![Provide the mountpoint and size][11]
![Verify and accept changes][12]
![Begin Installation][13]
* Click on begin installation to start the installation process and reboot when finished.
* Once you boot into the Fedora system, you are good to go. If you are already familiar with your desktop environment, such as GNOME or KDE Plasma, etc, then you would not feel the difference whether you are using Fedora or Ubuntu.
* The account creation, such as user name, password and other settings, is available the first time boot after the installation. This is another difference when you compare it with the Ubuntu installation.
### Important Commands
Fedora and Ubuntu are both Linux distributions. But their package manager is different.
Ubuntu uses an **apt** package manager, and Fedora uses **dnf**. Hence you need to know the basic terminal commands for daily usage. Heres a quick comparison for you so that you know what are the different commands for dnf.
| Function | Fedora Usage | Ubuntu Usage |
| :- | :- | :- |
| Update system | sudo dnf update | sudo apt update |
| Upgrade system | sudo dnf upgrade | sudo apt upgrade |
| Install a package | sudo dnf install <package> | sudo apt install <package> |
| Remove a package | sudo dnf remove <package> | sudo apt remove <package> |
| Search a package | dnf search <package> | apt-cache search <package> |
### Restricted repository in Fedora
Like Ubuntu restricted repository, you also can have the same in Fedora using a repository called RPMFusion. You can enable this repo to access restricted packages, including the non-free version of several packages such as 3D graphics drivers, etc.
This is how you can enable it using the following commands. For detailed instructions, refer to [this guide][14].
```
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
```
```
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
```
### Distribution differences
Another fact you should be aware of while using Fedora.
Unlike Ubuntu, **Fedora doesnt come with a long-term support release**. So, you get a new Fedora major version twice a year on the “April-May” and “Oct-Nov” timeframe.
This is one of the main advantages of Fedora, you get updated latest upstream Linux Kernel and other packages twice a year. Stability-wise, Fedora is well stable unless you have a completely different setup/hardware box.
The upgrade process of Fedora is very [straightforward and stre][15]amlined. And most cases, you can keep on updating your existing installation, year after year, without any major problems.
### Help in Communities
From the user base, it is a well-known fact that Ubuntu has a more extensive user base across desktops, servers, and other flavors. Hence the free support channels are also full of reasonable solutions and fixes.
But Fedora also has a huge forum with always active members to help you when stuck with any issues while using Fedora. Using the following link, you can create a topic and get help anytime.
[https://ask.fedoraproject.org/][16]
So, thats some of the essential items you need to know to migrate to Fedora from Ubuntu Linux.
### Closing Notes
I hope this essential guide helps you to jump the ship from Ubuntu to Fedora.
If you are a beginner or an average Linux user, you can quickly start with Fedora and do your necessary work. And once you are comfortable using dnf and other commands, navigating around problems in Fedora will be effortless.
In my personal experience, Fedora can be used as a daily driver for many years without any sudden surprises. The upgrades are painless with a stable package base with the best vanilla GNOME experience.
Cheers.
--------------------------------------------------------------------------------
via: https://www.debugpoint.com/migrate-to-fedora-from-ubuntu/
作者:[Arindam][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.debugpoint.com/author/admin1/
[b]: https://github.com/lkxed
[1]: https://ubuntu.com
[2]: https://getfedora.org
[3]: https://www.debugpoint.com/wp-content/uploads/2021/04/KDE-Plasma-5.21-in-Fedora-34.png
[4]: https://getfedora.org/en/workstation/download/
[5]: https://spins.fedoraproject.org/
[6]: https://www.debugpoint.com/2021/01/etcher-bootable-usb-linux/
[7]: https://www.debugpoint.com/fedora-media-writer/
[8]: https://www.debugpoint.com/wp-content/uploads/2021/04/Choose-destination.jpg
[9]: https://www.debugpoint.com/wp-content/uploads/2021/04/Select-disk-and-configuration.jpg
[10]: https://www.debugpoint.com/wp-content/uploads/2021/04/Create-partition.jpg
[11]: https://www.debugpoint.com/wp-content/uploads/2021/04/Provide-the-mountpoint-and-size.jpg
[12]: https://www.debugpoint.com/wp-content/uploads/2021/04/Verify-and-accept-changes.jpg
[13]: https://www.debugpoint.com/wp-content/uploads/2021/04/Begin-Installation.jpg
[14]: https://www.debugpoint.com/2020/07/enable-rpm-fusion-fedora-rhel-centos/
[15]: https://www.debugpoint.com/upgrade-fedora-36-from-fedora-35/
[16]: https://ask.fedoraproject.org/

View File

@ -1,107 +0,0 @@
[#]: subject: "Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support"
[#]: via: "https://news.itsfoss.com/audacity-3-2-release/"
[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/"
[#]: collector: "lkxed"
[#]: translator: "littlebirdnest"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Audacity 3.2 发布,增加了 VST3 插件和 Apple Silicon 支持
======
Audacity 的新更新带来了一些重要功能,例如 VST3 插件支持和新效果按钮。
![Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support][1]
Audacity 3.2 来了,一个最流行的免费和开源音频编辑和录制工具更新了
[此版本是在之前的主要版本Audacity 3.0](https://news.itsfoss.com/audacity-3-0-release/)是一年多之前发布的。
[即使在去年引起争议](https://news.itsfoss.com/audacity-fiasco-fork/)之后,它仍然是目前最好的 Linux 音频编辑器之一。
此版本有许多新增功能,例如对**VST3 插件的支持、对 Apple 芯片、FFMPEG 5.0 的支持**等等。
让我们快速了解一下 Audacity 的新功能。
### **Audacity 3.2:有什么新功能?**
这是一个点更新,带来了重大的变化和补充。
一些主要亮点包括:
- 支持 VST3 插件。
- 苹果芯片支持。
- FFMPEG 5.0。
- VST3、LV2、音频单元和 LADSPA 的实时功能。
- 用于实时效果的专用按钮。
- 删除 Linux 系统的 JACK 要求。
- 对用户界面的各种调整。
### **推荐阅读📖**
[Linux 的最佳音频编辑器 - 它是 FOSS](https://itsfoss.com/best-audio-editors-linux/)
### **新效果按钮**
![audacity 3.2 effects button][6]
Audacity 的界面中添加了一个专用的实时效果按钮,使用户可以轻松地即时下载和应用效果。
[您可以访问官方 wiki](https://support.audacityteam.org/audio-editing/using-realtime-effects)了解有关此功能的更多信息。
### **VST3 插件支持**
Audacity 3.2 还引入了对 VST3 插件的支持,这使用户能够利用 VST3 的高级音频处理功能,包括高效利用 CPU、更好地处理 MIDI、支持 MIDI I/O 等等。
### **将音频上传到云端**
Audacity 3.2 also brings in support for VST3 plugins, this enables users to take advantage of the advanced audio handling features of VST3, which include efficient usage of CPU, better handling of MIDI, support for MIDI I/O, and more.
#### Upload Audio To The Cloud
![audacity 3.2 share audio button][8]
Another exciting feature that has been added to Audacity is the option to share audio directly from the application to Audacity's new cloud audio platform [audio.com][9].
### **FFMPEG 5.0**
Audacity 现在还支持 FFMPEG 5.0;这确保了用户可以利用最新的开源音频/视频库套件。
### **苹果芯片支持**
此版本还为基于 arm64 架构的 Apple Silicon 带来了 macOS 支持。
### **下载 Audacity 3.2**
[您可以通过其官方网站](https://www.audacityteam.org/download/)、[GitHub 版本部分](https://github.com/audacity/audacity/releases)、[Flathub](https://flathub.org/apps/details/org.audacityteam.Audacity)或[Snap](https://snapcraft.io/audacity)下载最新的 Audacity 版本。
[无畏 3.2 下载](https://www.audacityteam.org/download/)
💬 *你会尝试 Audacity 3.2 吗?我认为 VST3 插件支持应该会改变游戏规则,想法?在下面的评论部分分享它!*
--------------------------------------------------------------------------------
via: https://news.itsfoss.com/audacity-3-2-release/
作者:[Sourav Rudra][a]
选题:[lkxed][b]
译者:[littlebirdnest](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://news.itsfoss.com/author/sourav/
[b]: https://github.com/lkxed
[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/audacity-3-2-release.jpg
[2]: https://news.itsfoss.com/audacity-3-0-release/
[3]: https://news.itsfoss.com/audacity-fiasco-fork/
[4]: https://itsfoss.com/best-audio-editors-linux/
[6]: https://news.itsfoss.com/content/images/2022/09/Audacity_3.2_effects_button.gif
[7]: https://support.audacityteam.org/audio-editing/using-realtime-effects
[8]: https://news.itsfoss.com/content/images/2022/09/Audacity_3.2_share_audio_button.png
[9]: https://audio.com/
[10]: https://www.audacityteam.org/download/
[11]: https://github.com/audacity/audacity/releases
[12]: https://flathub.org/apps/details/org.audacityteam.Audacity
[13]: https://snapcraft.io/audacity
[14]: https://www.audacityteam.org/download/

View File

@ -0,0 +1,36 @@
[#]: subject: "Kubernetes To Soon Support Confidential Computing"
[#]: via: "https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/"
[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/"
[#]: collector: "lkxed"
[#]: translator: "littlebirdnest"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
Kubernetes 即将支持机密计算
======
*Constellation 是第一个始终加密的 kubernetes (K8S)。这是指 K8S您的所有工作负载和控制平面都被完全屏蔽您可以使用加密证书远程确认这一点。*
Constellation Kubernetes 引擎使用秘密计算和机密虚拟机,将 Kubernetes 集群与云架构的其余部分隔离开来。因此,无论是在静态还是在内存中,数据总是被加密,并创建了一个机密上下文。根据创建 Constellation 的公司 Edgeless Systems 的说法,由于它为在公共云上运行的数据和工作流增加了安全性和保密性,因此机密计算是云计算的未来。
Kubernetes 节点使用 Constellation 在私有虚拟机中运行。根据 Edgeless Systems 的说法,机密机器是安全飞地的演变,它将机密计算的三个原则——运行时加密、隔离和远程证明——扩展到整个虚拟系统。机密虚拟机 (TDX) 使用底层硬件对私有计算的特殊支持,例如 AMD 安全加密虚拟化 (AEM)、SEV-安全嵌套分页 (SEV-SNP) 和英特尔信任域扩展。此外ARM 去年还发布了名为 Realms 的新 V9 架构。此设计包括私有 VM 功能。
Constellation 尝试在集群级别提供证明或通过加密证书进行验证以及“始终在线”加密。Fedora CoreOS 构建在一个不可变的文件系统之上,面向容器,被 Constellation 中的机密 VMS 使用。Constellation 还利用 Sigstore 来保护 DevOps 信任链。
使用秘密计算时,性能可能会令人担忧。是的,加密会影响性能,但 AMD 和微软的联合基准测试发现,这只会导致 2% 到 8% 之间的微小性能损失。Edgeless Systems 声称 Constellation 将在繁重的工作负载下表现类似。
鉴于 Constellation 已通过 CNCF 认证并且可与包括 GCP 和 Azure 在内的所有主要云互操作,这应保证其与其他 Kubernetes 工作负载和工具的互操作性。
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/
作者:[Laveesh Kocher][a]
选题:[lkxed][b]
译者:[littlebirdnest](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/laveesh-kocher/
[b]: https://github.com/lkxed

View File

@ -0,0 +1,157 @@
[#]: subject: "5 Free and Open-Source Figma Alternatives"
[#]: via: "https://itsfoss.com/figma-alternatives/"
[#]: author: "Ankush Das https://itsfoss.com/author/ankush/"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
5 个免费和开源的 Figma 替代品
======
Figma 是一个流行的界面设计工具。你可以免费开始使用,也可以选择高级订阅计划以供进阶使用。
这是一个令人印象深刻的平台,许多专业人士都依赖它。然而,在 2021 年,[Figma][1] 通过施加某些限制改变了其免费计划。虽然这使一些用户寻找替代品,但对许多人来说仍然是可控的。
不幸的是,在 2022 年,**Adobe 宣布以 200 亿美元收购 Figma** 让许多用户望而却步。因此,每个人都开始寻找免费且可能开源的替代品。
为了帮助你,我们决定编一份 Figma 的免费和开源替代品清单,你可以试试。
**注意:**提到的替代品不一定是 Figma 的完全替代品。我们建议你尝试一下,看看它们是否符合你的要求。
### 1. Penpot
![A Video from YouTube][2]
**主要亮点:**
* 自托管选择。
* 使用 SVG 作为原生格式。
* 基于网络。
* 跨平台。
Penpot 很快被公认为可靠的免费和开源 Figma 替代品。
即使它处于测试阶段,在写这篇文章时,用户似乎喜欢它提供的东西。我不是一个设计专家,但这个工具的用户体验似乎令人印象深刻。
Penpot 的独特之处在于它使用 SVG 作为其原生格式,这很罕见,但也为设计师提供了巨大的好处。
![penpot screenshot][3]
你可以期待 Figma 的基本功能,因为开发人员提到该工具的原始灵感是 Figma他们旨在提供熟悉的用户体验而不给你的设计冒险增加障碍。
前往其官方网站或 GitHub 页面探索更多信息。
[Penpot][4]
### 2. Quant UX
![A Video from YouTube][5]
**主要亮点:**
* 原型设计和测试。
* 无需注册即可获得有限访问权限。
* 定期添加新的测试版功能。
* 自托管选择。
Quant UX 是一种原型设计工具,你可以在其中测试你的设计并获得有关它们的见解。
你可以为 Android 手机、iPhone 或台式机创建自定义原型或选择任何可用的屏幕尺寸。
这也是你会发现不断添加功能的地方,其中一些处于测试阶段。它更专注于通过让你导入设计或创建简单的模型来测试事物。
它允许你无需注册即可访问一些内容,但要使所有功能正常工作,你需要注册一个帐户。在其 [GitHub 页面][6]上探索更多信息。
[Quant UX][7]
### 3. Plasmic
![A Video from YouTube][8]
**主要亮点:**
* 免费和开源。
* 拖放功能。
* 它支持从 Figma 导入设计。
Plasmic 是用于构建网页的卓越设计工具。如果你使用 Figma 进行网页设计,这可能是一个可供选择的工具。
当你选择高级计划时,它免费提供大部分功能,并为团队解锁更多扩展版本历史记录、分析和其他特殊功能。它不仅限于设计网页,还支持 A/B 测试来实验和改进网站的用户交互。
无论你使用的是[开源 CMS][9] 还是 Jamstack 站点Plasmic 几乎都支持集成。前往其官方网站或 [GitHub 页面][10]了解更多信息。
[Plasmic][11]
### 4. Wireflow
![wireflow userflow][12]
**主要亮点:**
* 免费使用。
* 没有付费选项。
* 它没有被积极维护。
Wireflow 作为用户流原型工具是一个有趣的产品,它完全免费使用,没有付费选项。
此外,你无需注册帐户。从其官方网站开始,与他人合作规划你的项目并进行头脑风暴。
不幸的是,它自 2021 年以来没有看到任何最近的开发活动。但是,它仍然活跃并且仍然是一个免费和开源的解决方案。你可以查看其 [GitHub 页面][13]了解更多信息。
[Wireflow][14]
### 5. Akira UX
![akira ux 2020][15]
**主要亮点:**
* 早期开发中的应用。
* 专注于成为原生 Linux UX 应用。
[Akira UX][16] 是一个令人兴奋的项目,旨在带来一个原生 Linux 设计程序,该程序可以与一些基于 Web 的解决方案一样工作。
Akira 的项目负责人加入了 Mozilla Thunderbird 担任产品设计经理。因此,截至目前,该项目还没有被积极地开发。但是,作为一个免费的开源项目,任何人都可以负责它并致力于相同的愿景。
它目前是你可以测试的早期开发版本。你可以在 Flathub 的 beta 渠道中找到它,并按照其 [GitHub 页面说明][17]进行安装。
[Akira UX][18]
### 总结
用免费和开源的解决方案取代 Figma 并不容易。但是,如果你不关心 Figma 的所有功能,我们的一些建议应该可以帮助你完成工作。
*你知道有什么其他免费和开源的 Figma 替代品吗?请在下面的评论中告诉我你的想法*。
--------------------------------------------------------------------------------
via: https://itsfoss.com/figma-alternatives/
作者:[Ankush Das][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lkxed
[1]: https://www.figma.com/
[2]: https://youtu.be/JozESuPcVpg
[3]: https://itsfoss.com/wp-content/uploads/2022/09/penpot-screenshot.jpg
[4]: https://penpot.app/
[5]: https://youtu.be/eGDTAJlB-uI
[6]: https://github.com/KlausSchaefers/quant-ux
[7]: https://quant-ux.com/
[8]: https://youtu.be/sXXpe5jjnRs
[9]: https://itsfoss.com/open-source-cms/
[10]: https://github.com/plasmicapp/plasmic
[11]: https://www.plasmic.app/
[12]: https://itsfoss.com/wp-content/uploads/2022/09/wireflow-userflow-800x570.jpg
[13]: https://github.com/vanila-io/wireflow
[14]: https://wireflow.co/
[15]: https://itsfoss.com/wp-content/uploads/2022/09/akira-ux-2020.png
[16]: https://itsfoss.com/akira-design-tool/
[17]: https://github.com/akiraux/Akira
[18]: https://github.com/akiraux/Akira