2023年2月

使用 WebAssembly 开发有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。

在过去的几十年里,Web 浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的 Linux 服务器上运行。在优化我们所有人使用的软件的永恒努力中,软件开发世界早在 2019 年就引入了 WebAssembly,作为通过 Web 浏览器运行编译代码的一种方式。应用的性能比以往任何时候都要好,而且可以生成 WebAssembly 编码的语言远不只是通常的 PHP、Python 和 JavaScript。

一个目标和一种语言

关于 WebAssembly 的一个强大但也最令人困惑的地方是,“WebAssembly” 这个词既指一种语言,也指一个目标。WebAssembly 是一种汇编语言,但没有多少人选择直接用汇编写代码。即使是汇编语言,最终也会被转换为二进制格式,这也是计算机运行代码的要求。这种二进制格式也被称为 WebAssembly。不过这很好,因为这意味着你可以用你选择的语言来写一些最终以 WebAssembly 交付的东西,包括 C、C++、Rust、Javascript 和其他许多语言。

进入 WebAssembly 的途径是 Emscripten,这是一个 LLVM 编译器工具链,可以从你的代码中产生 WebAssembly。

安装 Emscripten

要在你的 Linux 或 macOS 电脑上安装 Emscripten,请使用 Git:

$ git clone https://github.com/emscripten-core/emsdk.git

改变目录进入 emsdk 目录并运行安装命令:

$ ./emsdk install latest
$ ./emsdk activate latest

Emscripten 工具链中的所有内容都安装在 emsdk 目录下,对系统的其他部分没有影响。由于这个原因,在使用 emsdk 之前,你必须 源引 source 它的环境:

$ source ./emsdk_env.sh

如果你打算经常使用 emsdk,你也可以在 .bashrc 中加入环境设置脚本。

要在 Windows 上安装 Emscripten,你可以在 WSL 环境下运行 Linux。

请访问 Emscripten 网站 了解更多安装信息。

Hello World

下面是一个用 C++ 编写的简单的 “Hello World” 应用。

#include <iostream>

using namespace std;

int main() {
    cout << "Hello world";
    return 0;
}

先把它作为你的系统的标准二进制文件来测试:

$ g++ hello.cpp -o world
$ ./world
Hello world

看到它像预期的那样工作,用 emcc 把它构建为 WebAssembly:

$ emcc hello.cpp -o world.html

最后,用 emrun 运行它:

$ emrun ./world.html

emrun 工具是一个用于本地测试的方便命令。当你在服务器上托管你的应用时,emrun 就没有必要了。

学习更多关于 WebAssembly 的知识

使用 WebAssembly 开发可以有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。如果你了解 C 或 C++,那么你可以用这些来写你的项目。如果你正在学习 Rust,那么你可以使用 Rust。甚至 Python 代码也可以使用 Pyodide 模块来作为 WebAssembly 运行。你有很多选择,而且没有错误的开始方式(甚至有 COBOL 到 WebAssembly 的编译器)。如果你渴望开始使用 WebAssembly,

请下载我们免费的电子书

via: https://opensource.com/article/23/2/webassembly-guide

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

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

Twitter 开始向所有人展示马斯克的推文

前几天,马斯克抱怨他的推文浏览量太少,并为此 解雇(#909) 了一名首席工程师。马斯克上周末称,Twitter 释出了部分改动以修正“能见度”问题。从周一开始,Twitter 用户注意到他们的 “For You” 的时间线和以前有了显著差异,马斯克的大量推文都出现了时间线的最前面,即使他们没有关注 Twitter 的新老板。

消息来源:The Verge
老王点评:Twitter 成了马斯克的个人博客了!

ChatGPT 的技术原型是谷歌发明和开源的

为了赶在微软发布由 ChatGPT 支持的新必应之前,谷歌匆忙 发布(#910) 了 Bard 人工智能服务,但由于在一则宣传广告中 Bard 犯了事实性错误,从而导致谷歌股价跌去超过千亿美元。更令谷歌尴尬的是,ChatGPT 一词中的 “GPT” 是指 生成式预训练转化器 Generative Pre-trained Transformer ,而“转化器”技术是谷歌大脑团队在 2017 年发明和开源的神经网络架构,谷歌认为该架构非常适合语言理解,但它从未用它开发出产品。

消息来源:Ars Technica
老王点评:这让谷歌情何以堪啊!

播客失去了优势

在过去的十年里,播客改变了数百万人的收听习惯,但现在创作新节目的人越来越少,播客公司很难收回投资,而长期播客则在寻找保持节目持续发展的方法。与去年近 700 亿美元的电视广告支出相比,2022 年播客广告市场 15 亿美元的规模显得微不足道。统计数据显示,去年新创建的播客数量下降了 80%。也有报告显示,在多年的两位数百分比增长之后,2022 年的听众增长只有 5%。

消息来源:Axios
老王点评:或许播客会和博客一样,逐渐小众化和式微。

这是一份关于理解 Linux 中的 zip 命令的初学者指南,并附有一些例子。

这篇文章是 Linux 命令学习系列的一部分。

zip 文件是一个包含一个或多个文件的压缩档案。它作为一种无损数据压缩技术被广泛使用。由于压缩,它占用的磁盘空间更少,在计算机网络上传输时需要的数据也更少。

这些压缩文件可以在 Linux、Windows 和 macOS 中轻松提取。有各种支持压缩 zip 文件的软件,也提供提取它们的功能。

由于它很流行,几乎所有的操作系统都内置了这个功能。

在本教程中,我们将谈论几种基于终端的方法来压缩 Linux 中的文件。

Linux 中的 Zip 命令示例

语法

在 Linux 中,你需要使用的压缩文件的程序名称是 zip。下面是基本的语法:

zip [压缩文件名] file1 file2 file3

以下是正式的语法:

zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

理想情况下,zip 命令应该被安装在所有主流的 Linux 发行版中。如果没有,使用下面的命令来安装它。

在 Debian、Ubuntu 和相关发行版上安装

sudo apt install zip

在 Fedora、基于 RHEL 的系统上安装

sudo dnf install zip

在 Arch Linux 上安装

pacman -S zip

让我们继续看一些例子。

如何压缩文件和文件夹

我的测试目录中有以下三个文件。它们是 file1.txtfile2.txtfile3.txt。如果我想用 zip 压缩三个文件,并创建一个 myfiles.zip 的压缩包,用下面的命令就可以了。

zip myfiles.zip file1.txt file2.txt file3.mp3

输出:

adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.mp3 (deflated 13%)

Linux 中基本压缩命令的输出

这里你应该记住几个要点。

  • 当创建一个 zip 文件时,你应该有对当前目录的修改权限。
  • zip 文件格式不包含权限,即读(4)、写(2),和执行(1)。所以,创建该文件的用户成为该文件的所有者。
  • 如果你想使用带有权限的 zip,可以尝试使用 tar 命令(将在后面的教程中解释)。
  • 在上面的输出中,zip 命令显示了被添加到存档中的文件名和压缩方法。
  • 在目标文件名中指定 .zip 文件名的扩展名并不是必须的。如果你省略了 .zip,zip 会在最后加上 .zip。

当你操作成百上千的文件时,为了减少终端中的输出,你可以使用 -q 参数来抑制 zip 命令中的输出:

zip -q myfiles.zip file1.txt file2.txt file3.txt

递归压缩子文件夹

zip 命令的 -r 选项使你能够囊括所有子目录。这个选项会递归地遍历到一个目录结构的最后一个子目录,并将它们全部加入到压缩文件中。

下面的命令创建了一个包含 my_folder 内所有内容和子目录的压缩文件:

zip -r myfolder.zip my_folder

你也可以使用通配符(*)在你的压缩文件中包含特定类型的文件:

zip -0 my_movies.zip *.mp4

混合添加文件和目录到压缩文件

有了以上所有的选项,zip 命令允许你把文件和目录一起作为参数指定。

zip -r myfiles.zip file1.txt file2.txt file3.txt my_folder1 my_folder2

压缩算法

zip 压缩的默认输出包含两个不同的词,即 deflatestore。zip 默认使用的压缩方法是 deflate。如果它成功地压缩了文件,那么输出显示 deflate。而当它不能压缩一个文件时,它只是将它们原封不动地存储在 .zip 文件中。这些文件的输出显示为 store

目前有许多压缩算法。其中一种是 bzip2 压缩法,在 Linux 中的 zip 命令支持它。你可以指定压缩算法作为一个命令选项来使用。使用选项 -Z,后面跟上算法名称,如下所示:

zip -r -Z bzip2 myfolder.zip my_folder

压缩级别

zip 命令还允许你指定压缩级别。压缩级别是指你想让 zip 优化多少来减少包的大小。它是一个从 0 到 9 的数值范围。压缩级别为 9 的值是最高的压缩。默认值是 6。

记住,如果你用 zip 压缩成千上万个大小不一的文件,它可能会占用较多的系统资源,并花费大量的时间。所以,如果你在程序中使用它,或者用 shell 脚本处理大量的文件,请遵循正确的编程标准。

zip -9 -r myfolder.zip my_folder

用密码保护一个压缩文件

你也可以用下面的 -e 选项对压缩文件进行密码保护:

zip -e -r myfolder.zip my_folder

运行该命令后,它将要求输入密码。

注意。尽量不要使用 zip 命令来对压缩文件进行密码保护。zip 的加密算法是使用流式加密的 PKZIP。而它很容易被破解。如果你想保护你的文件,请使用 7-Zip 或其他高级工具。

分割较大的压缩文件

许多应用程序、服务器和文件共享可能包含固定大小的文件上传限制。例如,你有一个 10GB 的文件,但服务只允许每个文件 1GB。使用 zip-s 选项,你可以将其压缩并分割成几块进行上传。

zip -s 1g -r myfolder.zip my_folder

总结

你学到了一些 zip 命令的基本知识。它对大多数本地情况很有用,在这些情况下,你需要通过即时压缩来进行快速备份。然而,对于更高级的选项,你应该使用 7-Zip 或其他命令,我将在接下来的几篇文章中分享。

同时,你可以在 zip 手册 中了解更多。


via: https://www.debugpoint.com/zip-command-linux-examples/

作者:Arindam 选题:lkxed 译者:Chao-zhi 校对:wxy

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

了解如何在 Ubuntu 中安装 DOSBox,并配置它来玩旧式 DOS 游戏。

DOSBox 是一个自由开源的操作系统模拟器,可以在现代 Linux 系统中运行。它有几个组件可以模仿旧的硬件,以运行旧的程序和游戏。

这一切使得在现代 Linux 发行版中享受旧游戏和应用程序成为可能。

在本指南中,我将向你展示如何安装 DOSBox,配置它,并玩一个示例游戏。

在 Ubuntu 中安装 DOSBox

DOSBox 的主软件包在所有主要的 Linux 发行版中都可用。

在 Ubuntu、Debian、LinuxMint 和相关发行版中,使用以下命令安装它:

sudo apt install dosbox

在 Fedora、CentOS、RHEL 和相关发行版中,使用以下命令安装它:

sudo dnf install dosbox

在 Arch Linux 中,使用以下命令安装它:

pacman -S --needed dosbox

安装就结束了。现在是配置和运行的时候了。

运行 DOSBox

安装后,从终端键入以下内容:

dosbox

它将显示以下界面,这是 DOSBox 提示符。第一次运行非常重要,因为它会创建 DOSBox 配置文件。

键入 exit 暂时关闭 DOSBox。

DOSBox first time run

配置文件为你提供了几个调整设置的选项。在 Ubuntu 中,该文件创建在 ~/.dosbox/dosbox-[version].conf

在 Fedora 中,它从以下路径加载临时配置文件 ~/.config/dosbox/dosbox-staging.conf.

默认情况下,你可以使用默认配置。但是如果你愿意,你可以修改它。

例如,如果你想全屏启动 DOSBox,你可以启用或禁用相关设置。像这样:

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true

你可以在 官方文档 中找到所有的设置选项。

下载以及游玩老游戏

有许多网站提供旧的 DOS 游戏。我使用过下面的网站,它提供了一套可以在现代系统中玩的老游戏。

所以,访问下面的网站,下载你想要的任何游戏。

下载 DOS 游戏

在你的 /home 目录下创建一个文件夹,并将其命名为 dosbox

cd ~
mkdir dosbox

现在,解压你下载的游戏(应该是一个 .exe 文件),在 ~/dosbox 目录下创建一个单独的文件夹。

例如,我下载了游戏 “马里奥和路易吉(1994)”。我在 dosbox 文件夹中创建了一个名为 mario 的文件夹,并将游戏文件放进去。

Keep the game in a separate folder

现在从终端启动 dosbox:

dosbox

并键入以下内容,将游戏挂载到虚拟的 C: 盘中:

mount c ~/dosbox/mario

以上命令完成后,将驱动器更改为 C::

c:

现在,你可以输入游戏的文件名来运行游戏:

mario

Running the game

Mario running in DOSBox in Ubuntu

键盘或控制器映射

默认情况下,DOSBox 会自动检测键盘或你插入的控制器。但是,如果你想更改游戏按键绑定,可以从终端运行以下命令:

dosbox -startmapper

它将显示以下界面,每个键上都标记有事件。你可以点开任何一个键,根据自己的习惯进行更改。

DOSBox keyboard and controller mapping

结论

我希望你在 Ubuntu 和其他发行版中安装了 DOSBox 之后,能够运行你最喜欢的 DOS 游戏。DOSBox 是最酷的软件之一,你可以使用它来运行任何程序,例如 Turbo C 等。

如果你有任何麻烦或问题,请在评论区告诉我。

享受游戏吧!


via: https://www.debugpoint.com/install-dosbox-ubuntu/

作者:Arindam 选题:lkxed 译者:gpchn 校对:wxy

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

本指南解释了在 Arch Linux 中安装 GNOME 桌面所需的步骤。

本指南有两部分:第一部分是关于安装基本的 Arch 系统;第二部分是在 Arch Linux 基础上安装完整的 GNOME 桌面环境。

什么是 GNOME 桌面?

GNOME 是一个流行的桌面环境,是如 Ubuntu 和 Fedora 等许多基于桌面的顶级 Linux 发行版的默认桌面。几乎所有的定制版都提供了一个 GNOME 桌面版本。

GNOME 桌面是稳定和用户友好的桌面之一,因此它被许多普通和高级用户所青睐。如果你想要一个在你进行工作时保持隐形的桌面,GNOME 就是这样的一个。它不会在你工作时妨碍你。因此,尽管有许多关于 GNOME 3(目前的版本)速度慢、资源重等争议,它仍然是许多人的流行和默认选择。

说了这么多,让我们来看看如何在裸机 Arch 中安装 GNOME 桌面。

在 Arch Linux 中安装 GNOME 桌面

第一部分:安装 Arch Linux

如果你已经安装了 Arch Linux,你可以跳过这一步,直接进入下面安装 GNOME 桌面部分。

要快速安装 Arch Linux 基础版,请遵循以下步骤。你也可以访问 该指南,了解如何将 Arch Linux 安装为双启动或在虚拟机中的完整教程。

本文下面介绍的步骤是安装 Arch 的传统方式。新手请按照下面的指南链接,以更现代的方式使用 archinstall 脚本。完成后,回来通过第二部分的步骤继续 GNOME 安装。

现代方式:使用 archinstall 脚本安装(推荐)
传统方式:下载 Arch Linux

从下面的链接下载 Arch Linux 的 .iso 文件。它也提供了磁力链接和种子链接。下载后,将 ISO 写入 USB 驱动器。然后从该驱动器启动。

下载 Arch Linux

如果你打算通过 GNOME Boxes、virt-manager 把它安装成一个虚拟机镜像,那么你就不需要把它写入 U 盘。

启动和配置分区

从 Arch Linux ISO 启动后,你必须运行一系列的命令来安装基本系统。

首先,运行下面的命令,找出设备标识符。

fdisk -l

之前的 fdisk -l

然后用设备标识符,运行下面的命令,开始对你的磁盘进行分区。请确保根据你的系统改变 /dev/sda

cfdisk /dev/sda

在下一个提示中选择 label type = dos

选择自由空间,并从底部选择 “ 新建 New ” 选项。在这个例子中,我将创建三个分区,如下图所示:

/dev/sda1 - 1G - for /boot
/dev/sda2 - 5G - for root
/dev/sda3 - 1G - for swap

cfdisk

在下一个屏幕中,提供引导分区的分区大小(在这个例子中,我给出了 1GB)。选择它作为主分区。

对大小为 5GB 的主根分区重复同样的步骤。

改变为交换分区类型

用同样的步骤创建一个大小为 1G 的交换分区(你可以根据你的需要改变它)。创建交换分区后,确保在底部选择 “ 类型 Type ”,并用 “Linux Swap/Solaris” 选项将其标记为交换分区。

cfdisk 中的最终分区列表

一旦完成,使用底部的 “ 写入 Write ” 选项将变化写入磁盘。确保你在写入前做了备份,因为这是你系统中的一个永久性变化。

在你继续之前,运行下面的命令来检查。你可以看到在这个例子中,有三个分区被列出。

fdisk -l

fdisk 中的最终分区列表

依次运行下面的命令,在上面新创建的分区中格式化并创建一个 ext4 文件系统。请确保你根据你的需要改变 /dev/sda1/dev/sda2

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

完成后,装载系统并创建必要的目录:

mount /dev/sda2 /mnt
mkdir /mnt/boot /mnt/var /mnt/home
mount /dev/sda1 /mnt/boot

同样,确保你根据你的系统改变 /dev/sda1/dev/sda2/dev/sda3

准备文件系统

安装基础系统

我希望你已经连接到互联网了。如果没有,请尝试使用 USB 网卡或 Arch 安装程序自动配置和检测的有线网络连接。如果你没有可用的有线连接,请按照 该指南 使用 Arch Linux 安装程序配置一个无线或 Wi-Fi 网络。

依次运行下面的命令,将基本系统安装到已安装的分区中。下载的大小约为 400MB。

pacman -Syy
pacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub

安装基本系统

一旦完成,就会生成文件系统表,没有它你就无法启动系统。

genfstab -U /mnt >> /mnt/etc/fstab
配置基础系统

依次按照下面的命令来配置基本系统。这涉及到设置你的地域、语言、添加一个登录用户,以及设置互联网:

arch-chroot /mnt
nano /etc/locale.gen

通过去掉开头的 # 来取消对你所选择的 语言环境 locale 的注释。在本指南中,我选择了 en_US.UTF-8 UTF-8,按 CTRL+O、回车和 CTRL+X 退出 nano。

本地化

使用以下方法生成语言环境:

locale-gen

如果你不想手动去 /etc/locale.gen 设置语言,也可以使用以下命令设置语言:

echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

设置当地的时区:

ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

同样,你可以根据你的需要来选择它们。你可以通过以下命令列出当地的时区:

ls /usr/share/zoneinfo
ls /usr/share/zoneinfo/America

设置硬件时钟,创建一个主机名,并使用以下命令依次启用互联网的 DHCP。你可以根据你的想法,将 arindam-pc 改为任何主机名:

hwclock --systohc --utc
echo arindam-pc > /etc/hostname
systemctl enable dhcpcd

下一步是设置根用户的密码,创建一个管理员用户,并在 sudoers 文件中添加该用户。

依次按照下面的命令进行操作。请确保根据你的需要将用户名从 debugpoint 改为其他名称:

passwd rootuseradd -m -g users -G wheel -s /bin/bash debugpointpasswd debugpoint

创建用户

打开 sudoers 文件,添加以下几行:

nano /etc/sudoers

添加以下几行。由于你已经创建了 root 用户,该条目应该已经有了:

root ALL=(ALL) ALL
debugpoint ALL=(ALL) ALL

更改 sudoer 文件

依次使用如下命令安装 Grub,设置初始化 Ramdisk 环境,卸载系统:

grub-install /dev/sda 
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux
exit

配置 Grub

然后重新启动你的系统。如果你是在一个物理系统中安装的,在这一步要拔掉 USB 介质。

umount /mnt/boot
umount /mnt
reboot

你现在已经成功地安装了 Arch Linux 基本系统。现在是安装完整的 GNOME 桌面的时候了。

Arch 安装好了

第二部分:在 Arch Linux 中安装 GNOME

重启后,从 Grub 中选择 Arch Linux。在 Arch Linux 的提示符下,开始依次运行以下命令。这些命令安装 Xorg 服务器、显示管理器、GNOME 桌面组件、控制器包和其他应用程序。

所有的命令都使用默认值,即在要求时按回车。

安装 Xorg 服务器。安装大小约为 80MB:

sudo pacman -S --needed xorg

安装显示管理器、GNOME 桌面。安装大小约为 300MB:

sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme seahosrse gdm

上面的安装会要求提供几个软件包的选项。选择你想要的任何一个。如果你不确定,在询问时选择 “jack”、“noto-sans” 和 “xdg-portal-desktop-gnome”。

安装应用程序。这只是一个参考。你也可以安装你所需要的:

sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper

现在是时候把显示管理器和网络管理器作为服务启用了。这样,下次登录时,它们就可以由 systemd 自动运行。

systemctl enable gdm
systemctl enable NetworkManager

使用 reboot 命令重新启动系统:

reboot

Arch Linux 运行 GNOME 43 桌面

如果一切顺利,你应该在 GNOME 桌面上看到一个漂亮的登录提示。使用你刚刚创建的凭证登录。迎接你的应该是 Arch Linux 漂亮而干净的 GNOME 43 桌面。

我希望这个指南能帮助你在裸机 Arch 安装 GNOME 桌面。


via: https://www.debugpoint.com/gnome-arch-linux-install/

作者:Arindam 选题:lkxed 译者:Chao-zhi 校对:wxy

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

C++ 之父呼吁改变编程语言本身以提升安全性

虽然许多语言现在支持基本类型安全,即确保变量只访问由其数据类型明确定义的内存部分,但 C++ 一直在努力提供类似的保证。1 月中旬,官方的 C++ “方向小组” 发表了一份声明,以解决对 C++ 安全性的担忧。这份由 C++ 创造者 Bjarne Stroustrup 共同撰写的新声明,呼吁改变 C++ 编程语言本身以解决安全问题。“安全方面的变化不仅需要在工具方面,而且在语言/编译器和库方面也是可见的。”他们建议 “将几个功能打包成配置文件”,这样不仅仅可以改善安全,还提供了灵活性。配置文件可以专门用于支持嵌入式计算、性能敏感的应用,或高度具体的问题领域,如汽车、航空航天、航空电子、核能或医疗应用。

消息来源:The Newstack
老王点评:或许这样的语言层面的修改能挽救 C++ 的安全性困局?

全新 Windows 11 就会为向第三方发送用户数据

网络安全专家分析了全新笔记本上刚安装的 Windows 11 产生的 DNS 流量,他们震惊的发现,Windows 11 电脑不仅联系了 Windows Update、MSN 和必应服务器,还联系了 Steam、McAfee 和各种市场研究公司、广告服务。微软对此回应称,流动数据在现代操作系统中很常见,这用于 “以帮助他们保持安全、最新,并保持系统按预期工作”。

消息来源:Tom's Hardware
老王点评:虽然是意料之中,但被这样抓住现行,还是有点吃惊。

开源语音助手 Mycroft 资金耗尽

Mycroft 是一个基于 Linux 设备(包括树莓派)的开源语音助手,但在 Kickstarter 众筹后,已经 “没有资金继续履行这次众筹活动的奖励,甚至没有资金继续有意义的运作”。他们遭遇了合作伙伴无法提供稳定的硬件,以至于转而使用现成的零件,然后是供应链中断。他们铸造了塑料注塑模具、打印了定制的印刷电路板、获得了设备的 FCC 和 CE 认证,这些都经过了多次迭代,远远超过了众筹活动的总捐款。甚至他们还遭遇到非执业专利实体的持续诉讼。

消息来源:Kickstarter
老王点评:做事不容易,对困难的重视也不足。如果夭折,确实很可惜。