2022年10月

Laurent Cozic 与我坐下来,讨论了 Joplin 是如何开始的,以及这个开源笔记软件的下一步计划。

在这次采访中,我见到了笔记软件 Joplin 的创建者 Laurent Cozic。Joplin20i 奖励的赢家,所以我想了解是什么让它如此成功,以及他如何实现的。

你能概述一下什么是 Joplin 吗?

Joplin 是一个开源的笔记软件。它可以让你捕获你的想法并从任何设备安全地访问它们。

显然,还有很多其他的笔记应用,那么除了免费使用之外,它还有什么不同呢?

对我们的许多用户来说,它是开源的这一事实是一个非常重要的方面,因为这意味着没有供应商对数据的封锁,而且数据可以很容易地被导出并以各种方式访问。

我们还关注用户的安全和数据隐私,特别是端到端加密同步功能,以及通过对应用的任何连接保持透明。我们还与安全研究人员合作,以保证软件更加安全。

最后,Joplin 可以通过几种不同的方式进行定制 —— 通过插件(可以添加新的功能)和主题来定制应用程序的外观。我们还公开了一个数据 API,它允许第三方应用程序访问 Joplin 的数据。

相关阅读:5 款 Linux 上的笔记应用

这是一个竞争非常激烈的市场,那么是什么激发了你创建它的想法?

这是有原因的的。我从 2016 年开始研究它,因为我不喜欢现有的商业记事应用程序:笔记、附件或标签不能轻易被其他工具导出或操作。

这主要是由于供应商的封锁,另外还有供应商缺乏动力,因为他们没有动力帮助用户将他们的数据转移到其他应用程序。还有一个问题是,这些公司通常会以纯文本形式保存笔记,而这有可能造成数据隐私和安全方面的问题。

因此,我决定开始创建一个简单且具有同步功能的移动和终端应用程序,使我的笔记能够轻松地在我的设备上访问。之后又创建了桌面应用程序,项目从此开始发展。

Chrome OS 上 Joplin 的图片

编写 Joplin 花了多长时间呢?

自 2016 年以来,我一直在断断续续地开发,但并不是专门去维护。不过在过去的两年里,我更加专注于它。

对于准备创建自己的开源应用的人,你有什么建议?

挑选一个你自己使用的项目和你喜欢的技术来工作。

管理一个开源项目有时是很困难的,所以必须要有足够的兴趣去让它变得更有价值。那么我想 “早发布,多发布” 原则在这里也适用,这样你就可以衡量用户的兴趣,以及是否有必要花时间进一步开发这个项目。

有多少人参与了 Joplin 的开发?

有 3、4 人参与开发。目前,我们还有 6 名学生在 谷歌编程之夏 Google Summer of Code 中为这个项目工作。

许多人都在创建开源项目,但 Joplin 对你来说是一个巨大的成功。关于如何获得关注,你能否给开发者提供一些建议?

没有简单的公式,说实话,我不认为我可以在另一个项目中复制这种成功!你必须对你所做的事情充满热情,但同时也要严谨、有组织、稳步前进,确保代码质量保持高水平,并拥有大量的测试单元以防止回归。

同时,对于你收到的用户反馈保持开放的态度,并在此基础上改进项目。

一旦你掌握了这些,剩下的可能就全靠运气了 —— 如果你做的项目让很多人都感兴趣,事情可能会顺利进行!

一旦你得到关注,但如果你没有传统的营销预算,你如何保持这种势头?

我认为这在于倾听项目周围的社区。举个例子来说,我从未计划过建立一个论坛,但有人在 GitHub 上提出了这个建议,所以我创建了一个论坛,它成为了一个分享想法、讨论功能、提供支持等很好的方式。社区也普遍欢迎新人,这形成了一种良性循环。

除此以外,定期就项目进行沟通也很重要。

我们没有一个公开的路线图,因为大多数功能的 ETA 通常是 “我不知道”,但我会试图就即将到来的功能、新版本等进行沟通。我们也会就重要的事件进行沟通,特别是谷歌编程之夏,或者当我们有机会赢得像 20i FOSS 奖的时候。

最后,我们很快将在伦敦举行一次面对面的聚会,这是与社区和合作者保持联系的另一种方式。

用户的反馈是如何影响路线图的?

很明显,贡献者们经常仅仅因为他们需要某个特性而从事某些工作。但除此之外,我们还根据论坛和 GitHub 问题追踪器上的信息,追踪对用户来说似乎最重要的功能。

例如,移动应用程序现在具有很高的优先级,因为我们经常从用户那里听到,它的限制和缺陷是有效使用 Joplin 的一个问题。

桌面使用Joplin的图片

你是如何跟上最新的开发和编码的发展的?

主要是通过阅读 Hacker News!

你有个人最喜欢的自由/开源软件可以推荐吗?

在不太知名的项目中,SpeedCrunch 作为一个计算器非常好。它有很多功能,而且很好的是它能保留以前所有计算的历史。

我还使用 KeepassXC 作为密码管理器。在过去的几年里,它一直在稳步改进。

最后,Visual Studio Code 作为一个跨平台的文本编辑器非常棒。

我原以为 Joplin 是以 Janis 的名字命名的,但维基百科告诉我来自是 Scoot Joplin。你为什么选择这个名字?

我起初想把它命名为 “jot-it”,但我想这个名字已经被人占了。

由于我那时经常听 Scoot Joplin 的 拉格泰姆 ragtime 音乐(我相当痴迷于此),我决定使用他的名字。

我认为产品名称的含义并不太重要,只要名称本身易于书写、发音、记忆,并与一些积极的东西(或至少没有消极的东西)有关。

我觉得 “Joplin” 符合所有条件。

关于 Joplin 的计划,你还有什么可以说的吗?也许是对一个新功能的独家预告?

如前所述,我们非常希望在用户体验设计和新功能方面对移动应用进行改进。

我们也在考虑创建一个 “插件商店”,以便更容易地浏览和安装插件。

感谢 Laurent — 祝 Joplin 的未来好运。

图片来自: (Opensource.com, CC BY-SA 4.0)

这篇访谈最初发表在 20i 博客上,已获得许可进行转载。


via: https://opensource.com/article/22/9/joplin-interview

作者:Richard Chambers 选题:lkxed 译者:MareDevi 校对:wxy

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

Snap 是由 Ubuntu 的母公司 Canonical 设计的通用包格式。有些人不喜欢 Snap,但它有一些优势。

通常,某些应用仅以 Snap 格式提供。这为你提供了在 Arch Linux 中启用 Snap 的充分理由。

我知道 AUR 拥有大量应用,但 Snap 应用通常直接来自开发人员。

如果你希望能够在 Arch Linux 中安装 Snap 应用,你需要先启用 Snap 支持。

有两种方法可以做到:

  • 使用 AUR 助手启用 Snap 支持(更简单)
  • 通过从 AUR 获取包,手动启用 Snap 支持

让我们看看怎么做。

方法 1、使用 AUR 助手启用 Snap

Snap 支持在 Arch 用户仓库中以 snapd 包的形式提供。你可以使用 AUR 助手轻松安装它。

许多 AUR 助手,但 yay 是我更喜欢的,因为它的语法类似于 pacman 命令

如果你还没有安装 AUR,请使用以下命令安装 Yay(需要事先安装 git):

git clone https://aur.archlinux.org/yay

cd yay

makepkg -si

安装 yay

现在 yay 已安装,你可以通过以下方式安装 snapd

yay -Sy snapd

使用 yay 从 AUR 安装 snapd

每当你 更新 Arch Linux 系统时,yay 都会启用 snapd 的自动更新。

验证 Snap 支持是否有效

要测试 Snap 支持是否正常工作,请安装并运行 hello-world Snap 包。

sudo snap install hello-world

hello-world
(或者)
sudo snap run hello-world

hello-world Snap 包执行

如果它运行良好,那么你可以轻松安装其他 Snap 包。

方法 2、从 AUR 手动构建 snapd 包

如果你不想使用 AUR 助手,你仍然可以从 AUR 获取 snapd。让我展示详细的过程。

你需要先安装一些构建工具。

sudo pacman -Sy git go go-tools python-docutils

为 Snap 安装依赖项

完成依赖项安装后,现在可以克隆 snapd 的 AUR 目录,如下所示:

git clone https://aur.archlinux.org/snapd

cd snapd

克隆仓库

然后构建 snapd 包:

makepkg -si

当它要求安装其他依赖包时输入 yes

手动构建 snapd

你已安装 snapd 守护程序。但是,需要启用它以在启动时自动启动。

sudo systemctl enable snapd --now

sudo systemctl enable snapd.apparmor --now #start snap applications

sudo ln -s /var/lib/snapd/snap /snap #optional: classic snap support

启动时启用 Snap

手动构建包的主要缺点是每次新更新启动时你都必须手动构建。使用 AUR 助手为我们解决了这个问题。

总结

我更喜欢 Arch Linux 中的 pacman 和 AUR。很少能看到不在 AUR 中但以其他格式提供的应用。尽管如此,在某些你希望直接从源获取它的情况下,使用 Snap 可能是有利的,例如 在 Arch 上安装 Spotify

希望本教程对你有所帮助。如果你有任何问题,请告诉我。


via: https://itsfoss.com/install-snap-arch-linux/

作者:Pranav Krishna 选题:lkxed 译者:geekpi 校对:wxy

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

首个可以翻译无文字语言的口语翻译 AI

世界上大约 7000 种已知的语言中,40% 没有文字。这给现代机器学习翻译系统带来了问题,因为它们通常需要在翻译到新语言之前将口头语言转换为书面文字,并将文字还原为语音,但 Meta 公司已经通过其最新的 AI 进展解决了这个问题。这个通用语音翻译器(UST)正致力于开发实时的语音到语音的翻译。目前,该系统已经支持讲闽南话的人与讲英语的人交谈。

消息来源:Venture Beat
老王点评:Meta 要是不瞎搞,其实还是很厉害的,能做出很多很不错的技术的。不过,这个功能应该是为其元宇宙准备的。

GitHub Copilot 将微软引向版权风暴

上周,美国德克萨斯 A&M 大学教授 Tim Davis 发现,Copilot 在建议代码时会复制他拥有版权的稀疏矩阵转置代码。有律师宣布调查对 GitHub 提出版权索赔的可能性。以确定 GitHub 是否在开源代码上对 Copilot 进行了不当的训练,以及该工具是否在向用户推荐代码片段时不适当地发出了其他人的版权作品。Copilot 文档警告说,输出可能包含 “不良模式”,并将侵犯知识产权的责任放在 Copilot 的用户身上。

消息来源:The Register
老王点评:不知道微软会不会使用合规的代码重新训练它的 Copilot。

新的 USB-C 规范传输速率最高可达 120Gbps

USB-C 可以支持各种数据传输速率,从 USB 2.0 的 0.48Gbps 到 USB4、Thunderbolt 3/4 的40Gbps。USB-IF 发布了 USB4 2.0 规范,它增加了双向 80Gbps 带宽的支持,以及 120Gbps/40Gbps 的非对称速率的支持。

消息来源:ARS Technica
老王点评:USB 规范的名字已经晕菜了,只需要关注速率提升了。

Linux 下查找网关或路由器 IP 地址的 5 种方法。

网关 是一个节点或一个路由器,当连接到同一路由器时,它允许两个或多个 IP 地址不同的主机相互通信。如果没有网关,它们将无法相互通信。换句话说,网关充当接入点,将网络数据从本地网络传输到远程网络。在本指南中,我们将看到在 Linux 和 Unix 中从命令行找到默认网关的所有可能方法。

在 Linux 中查找默认网关

Linux 中有各种各样的命令行工具可用于查看网关 IP 地址。最常用的工具是:ipssnetcat。我们将通过示例了解如何使用每种工具查看默认网关。

1、使用 ip 命令查找默认网关

ip 命令用于显示和操作 Linux 中的路由、网络设备、接口和隧道。

要查找默认网关或路由器 IP 地址,只需运行:

$ ip route

或者:

$ ip r

或者:

$ ip route show

示例输出:

default via 192.168.1.101 dev eth0 proto static metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20 metric 100

你从输出中看到了 default via 192.168.1.101 这一行吗?它就是默认网关。我的默认网关是 192.168.1.101

你可以使用 -4 参数只显示 IPv4 网关

$ ip -4 route

或者,使用 -6 参数只显示 IPv6 网关

$ ip -6 route

如你所见,IP 地址和子网详细信息也一并显示了。如果你想只显示默认网关,排除所有其他细节,可以使用 ip route 搭配 awk 命令,如下所示。

使用 ip routeawk 命令打印网关地址,执行命令:

$ ip route | awk '/^default/{print $3}'

(LCTT 译注:wsl1 上无输出结果,正常 Linux 发行版无问题)

或者:

$ ip route show default | awk '{print $3}'

这将只列出网关 IP:

示例输出:

192.168.1.101

使用 ip 命令列出默认网关

你也可以使用 grep 命令配合 ip route 对默认网关进行过滤。

使用 ip routegrep 查找默认网关 IP 地址,执行命令:

$ ip route | grep default
default via 192.168.1.101 dev eth0 proto static metric 100

在最新的 Linux 发行版中,ip route 是查找默认网关 IP 地址的推荐命令。然而,你们中的一些人可能仍然在使用传统的工具,如 routenetstat。旧习难改,对吧?下面的部分将介绍如何在 Linux 中使用 routenetstat 命令确定网关。

2、使用 route 命令显示默认网关 IP 地址

route 命令用于在较老的 Linux 发行版中显示和操作路由表,如 RHEL 6、CentOS 6 等。

如果你正在使用较老的 Linux 发行版,你可以使用 route 命令来显示默认网关。

请注意,在最新的 Linux 发行版中,route 工具已被弃用,ip route 命令取而代之。如果你因为某些原因仍然想使用 route,你需要安装它。

首先,我们需要检查哪个包提供了 route 命令。为此,在基于 RHEL 的系统上运行以下命令:

$ dnf provides route

示例输出:

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : @System
Matched from:
Filename    : /usr/sbin/route

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : baseos
Matched from:
Filename    : /usr/sbin/route

如你所见,net-tools 包提供了 route 命令。所以,让我们使用以下命令来安装它:

$ sudo dnf install net-tools

现在,运行带有 -n 参数的 route 命令来显示 Linux 系统中的网关或路由器 IP 地址:

$ route -n

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG    100    0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

使用 route 命令显示默认网关 IP 地址

如你所见,网关 IP 地址是 192.168.1.101。你还将在 Flags 下面看到两个字母 UG。字母 U 代表接口是 “Up”(在运行),G 表示 “Gateway”(网关)。

3、使用 netstat 命令查看网关 IP 地址

netstat 会输出 Linux 网络子系统的信息。使用 netstat 工具,我们可以在 Linux 和 Unix 系统中打印网络连接、路由表、接口统计信息、伪装连接和组播成员关系。

netstatnet-tools 包的一部分,所以确保你已经在 Linux 系统中安装了它。使用以下命令在基于 RHEL 的系统中安装它:

$ sudo dnf install net-tools

使用 netstat 命令打印默认网关 IP 地址:

$ netstat -rn

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG        0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

使用 netstat 命令查看网关 IP 地址

netstat 命令与 route 命令的输出信息相同。如上输出可知,网关的 IP 地址为 192.168.1.191UG 表示网关连接的网卡是有效的,G 表示网关。

请注意 netstat 也已弃用,建议使用 ss 命令代替 netstat

4、使用 routel 命令打印默认网关或路由器 IP 地址

routel 是一个脚本,它以一种漂亮格式的输出路由。routel 脚本的输出让一些人认为比 ip route 列表更直观。

routel 脚本也是 net-tools 包的一部分。

打印默认网关或路由器 IP 地址,不带任何参数运行 routel 脚本,如下所示:

$ routel

示例输出:

         target            gateway          source    proto    scope    dev tbl
        default      192.168.1.101                   static            eth0 
    172.17.0.0/ 16                      172.17.0.1   kernel     linkdocker0 
   192.168.1.0/ 24                    192.168.1.20   kernel     link   eth0 
     127.0.0.0/ 8            local       127.0.0.1   kernel     host     lo local
      127.0.0.1              local       127.0.0.1   kernel     host     lo local
127.255.255.255          broadcast       127.0.0.1   kernel     link     lo local
     172.17.0.1              local      172.17.0.1   kernel     hostdocker0 local
 172.17.255.255          broadcast      172.17.0.1   kernel     linkdocker0 local
   192.168.1.20              local    192.168.1.20   kernel     host   eth0 local
  192.168.1.255          broadcast    192.168.1.20   kernel     link   eth0 local
            ::1                                      kernel              lo 
            ::/ 96     unreachable                                       lo 
::ffff:0.0.0.0/ 96     unreachable                                       lo 
    2002:a00::/ 24     unreachable                                       lo 
   2002:7f00::/ 24     unreachable                                       lo 
   2002:a9fe::/ 32     unreachable                                       lo 
   2002:ac10::/ 28     unreachable                                       lo 
   2002:c0a8::/ 32     unreachable                                       lo 
   2002:e000::/ 19     unreachable                                       lo 
   3ffe:ffff::/ 32     unreachable                                       lo 
        fe80::/ 64                                   kernel            eth0 
            ::1              local                   kernel              lo local
fe80::d085:cff:fec7:c1c3              local                   kernel            eth0 local

使用 routel 命令打印默认网关或路由器 IP 地址

只打印默认网关,和 grep 命令配合,如下所示:

$ routel | grep default
        default      192.168.1.101                   static            eth0

5、从以太网配置文件中查找网关

如果你在 Linux 或 Unix 中配置了静态 IP 地址,你可以通过查看网络配置文件查看默认网关或路由器 IP 地址。

在基于 RPM 的系统上,如 Fedora、RHEL、CentOS、AlmaLinux 和 Rocky Linux 等,网络接口卡配置存储在 /etc/sysconfig/network-scripts/ 目录下。

查找网卡的名称:

# ip link show

示例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether d2:85:0c:c7:c1:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 0

网卡名为 eth0。所以让我们打开这个网卡文件的网卡配置:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

示例输出:

DEVICE=eth0
ONBOOT=yes
UUID=eb6b6a7c-37f5-11ed-a59a-a0e70bdf3dfb
BOOTPROTO=none
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.101
DNS1=8.8.8.8

如你所见,网关 IP 为 192.168.1.101

在 Debian、Ubuntu 及其衍生版中,所有的网络配置文件都存储在 /etc/network 目录下。

$ cat /etc/network/interfaces

示例输出:

auto ens18
iface ens18 inet static
        address 192.168.1.150
        netmask 255.255.255.0
        gateway 192.168.1.101
        dns-nameservers 8.8.8.8

请注意,此方法仅在手动配置 IP 地址时有效。对于启用 DHCP 的网络,需要按照前面的 4 种方法操作。

总结

在本指南中,我们列出了在 Linux 和 Unix 系统中找到默认网关的 5 种不同方法,我们还在每种方法中包含了显示网关/路由器 IP 地址的示例命令。希望它对你有所帮助。


via: https://ostechnix.com/find-default-gateway-linux/

作者:sk 选题:lkxed 译者:MjSeven 校对:wxy

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

社区的成员们推荐这些书籍,涵盖了从有趣的悬疑小说到发人深省的非小说作品的各种类型,你一定能从中找到一本你想看的书!

很高兴能为大家介绍 Opensource.com 的 2022 年暑期阅读清单。今年的榜单包含来自 Opensource.com 社区成员的 7 本精彩的读物推荐。你可以发现各种各样的书籍,涵盖从有趣舒适的谜团到探索发人深省主题的非小说类作品。我希望你能在这个榜单中找到感兴趣的书本。

希望你喜欢!

《每个 Java 程序员都应该知道的 97 件事:专家的集体智慧》

Book title 97 Things Every Java Programmer Should Know

每个 Java 程序员都应该知道的 97 件事:专家的集体智慧 97 Things Every Java Programmer Should Know: Collective Wisdom from the Experts

编辑:Kevlin Henney 和 Trisha Gee

由 Seth Kenlon 推荐

这本书是由 73 位在软件行业工作的不同作者共同撰写。它的优秀之处在于它不仅仅适用于 Java 编程。当然,有些章节会涉及 Java,但是也还有一些其他话题,例如了解你的容器环境、如何更快更好地交付软件、以及不要隐藏你的开发工具,这些适用于任何语言的开发。

更好的是,有些章节同样适用于生活中的问题。将问题和任务分成小的部分是解决任何问题的好建议;建立多样化的团队对所有合作者都很重要;由从散乱的一块块拼图到拼好的完成品,看起来像是拼图玩家的思路,也适用于不同的工作角色。

每章只有几页,总共有 97 个章节,你可以轻松跳过不适用于你自己的章节。无论你是一直在写 Java 代码、或者只是学过一点 Java,亦或是尚未开始学习 Java,对于对代码和软件开发过程感兴趣的极客来说,这都会是一本好书。

《城市不是计算机:其他的城市智能》

Book title A City is Not a Computer

城市不是计算机:其他的城市智能 A City is Not a Computer: Other Urban Intelligences

作者:Shannon Mattern

由 Scott Nesbitt 推荐

如今,让一切变得智能已经成为一种 时尚:我们的手机、家用电器、手表、汽车,甚至是城市都变得智能化了。

对于城市的智能化,这意味着传感器变得无处不在,在我们开展业务时收集数据,并根据这些数据向我们推送信息(无论数据有用与否)。

这就引出了一个问题,将所有高科技技术嵌入到城市中是否会使得城市智能化呢?在《城市不是计算机》这本书中,作者 Shannon Mattern 认为并不是这样的。

城市智能化的目标之一是为市民提供服务和更好的城市参与感。Mattern 指出,但是实际上,智慧城市“希望将技术专家的管理想法与公共服务相融合,从而将公民重新设置为‘消费者’和‘用户’”,然而,这并不是在鼓励公民积极参与城市的生活和治理。

第二个问题是关于智慧城市收集的数据。我们不知道收集了什么数据,以及收集了多少数据。我们也不知道这些数据使用在什么地方,以及是谁使用的。收集的数据太多了,以至于处理数据的市政工作人员会不堪重负。他们无法处理所有数据,因此他们专注于短期容易实现的任务,而忽略了更深层次和更紧迫的问题。这绝对达不到在推广智慧城市时所承诺的目标:智慧城市将成为解决城市困境的良药。

《城市不是计算机》是一本短小精悍、经过深入研究的、反对拥抱智慧城市的论证。这本书让我们思考智慧城市的真正目的:要让百姓真正受益于城市智能化,并引发我们的思考:发展智慧城市是否必要呢。

《git sync 谋杀案》

Book title git sync murder

git sync 谋杀案 git sync murder

作者:Michael Warren Lucas

由 Joshua Allen Holm 推荐

Dale Whitehead 宁愿呆在家里,通过他的电脑终端与世界连接,尤其是在他参加的最后一次会议上发生的事情之后。在那次会议上,Dale 扮演了一个业余侦探的角色,解决了一桩谋杀案。你可以在该系列的第一本书《 git commit 谋杀案 git commit murder 》中读到那个案件。

现在,Dale 回到家,参加另一个会议,他再次发现自己成为了侦探。在《 git sync 谋杀案 git sync murder 》中,Dale 参加了一个当地科技会议/科幻大会,会议上发现一具尸体。这是谋杀,还是只是一场意外?现在,Dale 是这些问题的“专家”,他发现自己被卷入了这件事,并要亲自去弄清楚到底发生了什么。再多说的话就剧透了,所以我能说《git sync 谋杀案》这本书十分引人入胜,而且读起来很有趣。不必先阅读《git commit 谋杀案》,才能阅读《git sync 谋杀案》,但我强烈推荐一起阅读该系列中的这两本书。

作者 Michael Warren Lucas 的《git 谋杀案》系列非常适合喜欢悬疑小说的科技迷。Lucas 写过很多复杂的技术题材的书,这本书也延续了他的技术题材,《git sync 谋杀案》这本书中的人物在会议活动上谈论技术话题。如果你因为新冠疫情,最近没有参加过会议,怀念参会体验的话,Lucas 将带你参加一个技术会议,其中还有一个谋杀之谜以待解决。Dale Whitehead 是一个有趣的业余侦探,我相信大多数读者会喜欢和 Dale 一起参加技术会议,并充当侦探破解谜案的。

《像女孩一样踢球》

Book title Kick Like a Girl

像女孩一样踢球 Kick Like a Girl

作者:Melissa Di Donato Roos

由 Joshua Allen Holm 推荐

没有人喜欢被孤立,当女孩 Francesca 想在公园里踢足球时,她也是这样。男孩们不会和她一起玩,因为她是女孩,所以她不高兴地回家了。她的母亲安慰她,讲述了有重要影响力的著名女性的故事。《像女孩一样踢球》中详述的历史人物包括历史中来自许多不同领域的女性。读者将了解 Frida Kahlo、Madeleine Albright、 阿达·洛芙莱斯 Ada Lovelace 、Rosa Parks、Amelia Earhart、 玛丽·居里 Marie Curie (居里夫人)、Valentina Tereshkova、 弗洛伦斯·南丁格尔 Florence Nightingale 和 Malala Yousafzai 的故事。听完这些鼓舞人心的人物故事后,Francesca 回到公园,向男孩们发起了一场足球挑战。

《像女孩一样踢球》这本书的特色是作者 Melissa Di Donato Roos(SUSE 的 CEO,LCTT 译注:SUSE 是一家总部位于德国的软件公司,创立于 1992 年,以提供企业级 Linux 为主要业务)引人入胜的写作和 Ange Allen 的出色插图。这本书非常适合年轻读者,他们会喜欢押韵的文字和书中的彩色插图。Melissa Di Donato Roos 还写了另外两本童书,《 美人鱼如何便便 How Do Mermaids Poo? 》和《 魔盒 The Magic Box 》,这两本书也都值得一读。

《这是我的!:所有权的潜规则如何控制着我们的生活》

Book title Mine!

这是我的!:所有权的潜规则如何控制着我们的生活 Mine!: How the Hidden Rules of Ownership Control Our Lives

作者:Michael Heller 和 James Salzman

由 Bryan Behrenshausen 推荐

作者 Michael Heller 和 James Salzman 在文章《这是我的!》中写道:“你对所有权的很多了解都是错误的”。这是一种被吸引到开源领域的人不得不接受所有权规则的对抗性邀请。这本书肯定是为开源爱好者而写的,他们对代码、思想、各种知识产权的所有权的看法往往与主流观点和普遍接受的认知不同。在本书中,Heller 和 Salzman 列出了“所有权的隐藏规则”,这些规则管理着谁能控制对什么事物的访问。这些所有权规则是微妙的、强大的、有着深刻的历史惯例。这些所有权规则已经变得如此普遍,以至于看起来无可争议,这是因为“先到先得”或“种瓜得瓜,种豆得豆”的规则已经成为陈词滥调。然而,我们看到它们无处不在:在飞机上,为宝贵的腿部空间而战;在街道上,邻居们为铲好雪的停车位发生争执;在法庭上,陪审团决定谁能控制你的遗产和你的 DNA。在当下的数字时代,所有权的替代理论能否为重新思考基本权利创造空间?作者们认为这是可以的。如果这是正确的,我们可能会回应:在未来,开源软件能否成为所有权运作的模型呢?

《并非所有童话故事都有幸福的结局:雪乐山公司的兴衰》

Book Title Not All Fairy Tales Have Happy Endings

并非所有童话故事都有幸福的结局:雪乐山公司的兴衰 Not All Fairy Tales Have Happy Endings: The Rise and Fall of Sierra On-Line

作者:Ken Williams

由 Joshua Allen Holm 推荐

在 1980 年代和 1990 年代, 雪乐山公司 Sierra On-Line 是计算机软件行业的巨头。这家由 Ken 和 Roberta Williams 夫妻创立的公司,出身并不起眼,但却发布了许多标志性的电脑游戏。《 国王密使 King's Quest 》、《 宇宙传奇 Space Quest 》、《 荣耀任务 Quest for Glory 》、《Leisure Suit Larry》 和 《 狩魔猎人 Gabriel Knight 》 只是该公司几个最大的专属系列中的很小一部分。

《并非所有童话故事都有幸福的结局》这本书,涵盖了从雪乐山公司发布第一款游戏 《 神秘屋 Mystery House 》,到该公司不幸地被 CUC 国际公司收购以及后续的所有内容。雪乐山品牌在被收购后仍存活了一段时间,但 Williams 创立的雪乐山已不复存在。Ken Williams 以一种只有他才能做到的方式,讲述了雪乐山公司的整个历史。雪乐山的历史叙述穿插了一些 Williams 提出的管理和计算机编程建议的章节。虽然 Ken Williams 在写这本书时,已经离开这个行业很多年了,但他的建议仍然非常重要。

虽然雪乐山公司已不复存在,但该公司对计算机游戏行业产生了持久的影响。对于任何对计算机软件历史感兴趣的人来说,《并非所有童话故事都有美好的结局》都是值得一读的。雪乐山公司在其鼎盛时期处于游戏开发的最前沿,从带领公司走过那个激动人心的岁月的 Ken Williams 身上,我们可以学到许多宝贵的经验。

《新机器的灵魂》

Book title The Soul of a New Machine

新机器的灵魂 The Soul of a New Machine

作者:Tracy Kidder

由 Guarav Kamathe 推荐

我是计算机历史的狂热读者。知道这些人们如此依赖(并且经常被认为是理所当然)的计算机是如何形成的,真是令人着迷!我是在 Bryan Cantrill 的博客文章中,第一次听说 《新机器的灵魂》这本书的。这是一本由 Tracy Kidder 编著的非虚构书籍,于 1981 年出版,作者 Tracy Kidder也因此获得了 普利策奖。故事发生在 1970 年代,想象一下你是负责设计 下一代计算机 工程团队中的一员。故事的背景是在 通用数据公司 Data General Corporation ,该公司当时是一家小型计算机供应商,正在与美国 数字设备公司 Digital Equipment Corporation (DEC)的 32 位 VAX 计算机相竞争。该书概述了通用数据公司内部两个相互竞争的团队,都想在设计新机器上一展身手,结果导致了一场争斗。接下来,细致地描绘了随之展开的事件。这本书深入地讲述了相关工程师的思想、他们的工作环境、他们在此过程中面临的技术挑战、他们是如何克服这些困难的、以及压力如何影响到了他们的个人生活等等。任何想知道计算机是怎么制造出来的人都应该阅读这本书。

以上就是 2022 年的推荐阅读书目。它提供了很多非常棒的选择,我相信读者们能得到数小时发人深省的阅读时光。想获取更多书籍推荐,请查看我们历年的阅读书目。


via: https://opensource.com/article/22/6/2022-opensourcecom-summer-reading-list

作者:Joshua Allen Holm 选题:lkxed 译者:chai001125 校对:wxy

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

倪光南院士称中国自研芯片应押注 RISC-V

近日,中国工程院院士倪光南在《数字世界专刊》撰文指出,目前国内多种国产 CPU 架构并存,未来可能会造成资源分散,低水平重复。如果不能及时改变这种状况,若干年后,中国将缺乏能在全球市场上与 x86 和 ARM 两家竞争的 CPU 架构,从而在“主流 CPU”方面仍将受制于人。倪光南建议,大力发展壮大 RISC-V 产业生态,加大对 RISC-V 开源社区的贡献以增大社区话语权,形成 x86、ARM 和 RISC-V 三分天下的格局。

消息来源:《通信世界》
老王点评:? 倪院士真是不怕得罪人,铁骨铮铮的老人。

Windows 终端已成为 Windows 11 默认终端

一直以来,命令提示符一直是 Windows 的默认终端。微软宣布,从 Windows 11 22H2 开始所有命令行应用将默认用 “Windows 终端”打开。Windows 终端是微软在 2019 年宣布的开源命令行终端,源代码发布在 GitHub 上。它支持多标签、Unicode 和 UTF-8 字符、GPU 加速文本渲染引擎,定制主题、样式和配置。

消息来源:微软
老王点评:? 微软的这个终端真不错,可以和 Linux 上最好的终端相媲美。微软是不做开源软件则以,一做动辄就是精品啊。

开源相机库 libcamera 发布首个正式版本

libcamera 是“一个用于 Linux、安卓和 ChromeOS 的复杂的相机支持库”,已经开发了好几年了。相机是复杂的设备,需要大量的硬件图像处理操作,其处理控制算法是在相机中的专用 MCU 或主机的 CPU 中处理。相机设备和 Linux 之间的界限模糊,常常使用户除了使用供应商特定的闭源解决方案外没有其他选择。libcamera 在媒体社区与业界的合作中诞生的,以解决这种问题。

消息来源:Phoronix
老王点评:? 第一个正式版本号非常遵循开源传统,0.0.1。