2023年6月

不太会讲笑话的 ChatGPT

研究人员发现 ChatGPT 对笑话的了解是相当有限的:在一次测试中,输出的 1008 个笑话中有 90% 是相同的 25 个笑话。其中说了 140 次的笑话是:“为什么稻草人会获奖?因为他在自己的领域里表现突出。(双关语:站在田地里)”当被要求解释 25 个最常见的笑话中的每一个时,ChatGPT 大多提供了有效的解释,表明它 “理解” 文字游戏和双关语等风格。有趣的是,ChatGPT 喜欢拿番茄开玩笑。

消息来源:Ars Technica
老王点评:看来人工智能在这么高级的理解上还有所欠缺。不过,即便真的人工智能懂得讲各种笑话之后,距离它“拥有”情感,估计也有很漫长的距离。

英特尔开源 One Mono 编程字体

英特尔公布了 One Mono 字体,这是一种迎合 “开发者需求” 的新字体,采用 “富有表现力” 的等宽字体,以提高清晰度和可读性。它更容易阅读,而且可以免费使用,采用了开源的字体许可证。它不仅可以免费下载和使用,还可以免费编辑,并免费重新发布。

消息来源:GitHub
老王点评:嗯,又一个开源的编程字体,虽然有一些好评,但是似乎这些编程字体都差不多,那为什么大家要不断发布自己的开源字体呢?

自动驾驶的 Waymo 汽车在路上撞死了狗

报告称 Waymo 的一辆汽车在旧金山碾压了一只狗。这起事件是 Waymo 首次报告的死亡事件。从街景链接来看,这条路看起来像一个繁忙的工业区,有许多仓库、卡车送货区和铁丝网围栏。一只小狗跑到 Waymo 自动汽车前面的街道上。Waymo 自动汽车随后与该狗发生了接触,该狗没有生还。撞击发生时,Waymo 自动汽车的 4 级自动驾驶系统处于自主模式,并且有一名测试司机在场(在司机座位上)。Waymo 发表声明称,“系统正确识别了从停放的车辆后面跑出来的狗,但未能避免接触。”

消息来源:Ars Technica
老王点评:虽然这看起来是不可避免的,但是我一直觉得法律责任和保险责任是自动驾驶真正成熟的前提,甚至不是技术。

如果你和我一样,在 20 世纪七八十年代使用计算机长大,你可能学过一种常见的个人计算机编程语言,名为 BASIC(全称是 “ 初学者的通用符号指令代码 Beginner's All-purpose Symbolic Instruction Code ”)。那个时期,包括 TRS-80、Apple II 和 IBM PC 在内的每台个人计算机都可以找到 BASIC 实现。当时,我是一个自学的 BASIC 程序员,在尝试了 Apple II 上的 AppleSoft BASIC 后,转向 IBM PC 上的 GW-BASIC,后来在 DOS 上学习了 QuickBASIC。

我通过编写一个示例程序来探索 BASIC 和 FORTRAN 77 中的 FOR 循环,以将数字列表从 1 加到 10。

但是曾经,一种在科学编程领域受欢迎的语言是 FORTRAN(即 “ 公式翻译 FORmula TRANslation ”)。尽管在 1990 年对该语言进行的规范以后,该名称更常见的风格是 “Fortran”。

当我在 1990 年代初作为大学本科物理学生学习物理学时,我利用自己在 BASIC 上的经验学习了 FORTRAN 77。那时我意识到 BASIC 许多概念都来源于 FORTRAN。当然,FORTRAN 和 BASIC 在很多其他方面也存在差异,但我发现了解一点 BASIC 可以帮助我快速学习 FORTRAN 编程。

我想通过使用两种语言编写相同的程序,展示它们之间的一些相似之处。通过编写一个示例程序来探索 BASIC 和 FORTRAN 77 中的 FOR 循环,这个程序将把 1 到 10 之间的数字相加。

Bywater BASIC

BASIC 存在许多种不同的版本,这取决于你的计算机,但该语言总体保持不变。我喜欢的一种 BASIC 版本是 Bywater BASIC,这是一种开源的 BASIC 实现,适用于包括 Linux 和 DOS 在内的不同平台。

要在 FreeDOS 上使用 Bywater BASIC,你必须首先从 FreeDOS 1.3 Bonus CD 中 安装该软件包。然后进入 C: 目录并输入 bwbasic 命令,这将启动 BASIC 解释器。你可以在这个提示符下输入程序:

bwBASIC:

Bywater BASIC 使用较早的 BASIC 编程标准,需要你在每个程序指令上编写一个行号。将行号视为索引。你可以使用行号轻松地引用程序中的任何指令。当你将程序键入 Bywater BASIC 解释器时,请在每个指令前添加行号:

bwBASIC: 10 print "Add the numbers from 1 to 10 ..."
bwBASIC: 20 sum = 0
bwBASIC: 30 for i = 1 to 10
bwBASIC: 40 sum = sum + i
bwBASIC: 50 next i
bwBASIC: 60 print sum
bwBASIC: 70 end

可以使用 list 命令查看你已经输入到解释器中的程序:

bwBASIC: list
10 print "Add the numbers from 1 to 10 ..."
20 sum = 0
30 for i = 1 to 10
40 sum = sum + i
50 next i
60 print sum
70 end

这个简短的程序演示了 BASIC 中的 FOR 循环。 FOR 是任何编程语言中最基本的循环构造,允许你迭代一组值。在 Bywater BASIC 中,FOR 循环的一般语法看起来像这样:

FOR 变量 = 起始值 TO 终止值

在这个示例程序中,指令 for i = 1 to 10 开始一个循环,迭代值为 1 到 10。在每个循环中,变量 i 被设置为新值。

在 BASIC 中,所有到 next 指令前的指令都将作为 FOR 循环的一部分执行。因为你可以将一个 FOR 循环放入另一个 FOR 循环中,Bywater BASIC 使用语法 NEXT 变量 来指定要迭代的循环变量。

在提示符下键入 run 来执行程序:

bwBASIC: run
Add the numbers from 1 to 10 ...
55

Bywater BASIC 被称为 BASIC 解释器,因为只能从 Bywater BASIC 环境中运行程序。这意味着解释器会处理与操作系统的交互的所有繁重工作,因此你的程序不需要自己完成这个工作。 这样做的代价是,程序在解释环境中运行会比它作为编译程序运行慢一些。

FreeBASIC

另一个流行的 BASIC 实现是 FreeBASIC,这是一个开源的 BASIC 编译器,适用于多个平台,包括 Linux 和 DOS。要使用 FreeBASIC,你需要从 FreeDOS 1.3 Bonus CD 安装 FreeBASIC 包,然后进入 C: 目录,你会在这里找到 FreeBASIC 程序。

FreeBASIC 是一个编译器,因此你首先需要创建一个包含程序指令的源文件,然后使用源代码运行编译器以创建一个可运行的程序。我编写了一个类似于“将 1 到 10 的数字相加”的程序版本,将其保存为 BASIC 文件,并命名为 sum.bas

dim sum as integer
dim i as integer
print "Add the numbers from 1 to 10 ..."
sum = 0
for i = 1 to 10
sum = sum + i
next
print sum
end

如果你将这段代码与 Bywater BASIC 版本的程序进行比较,你可能会注意到 FreeBASIC 不需要行号。FreeBASIC 实现了一种更现代的 BASIC 版本,使得编写程序时不需要跟踪行号更容易。

另一个主要的区别是你必须在源代码中定义或声明变量。使用 DIM 指令在 FreeBASIC 中声明变量,例如 dim sum as integer,以定义一个名为 sum 的整数变量。

现在可以在命令行上使用 fbc 编译 BASIC 程序:

C:\DEVEL\FBC> fbc sum.bas

如果你的代码没有任何错误,编译器将生成一个可以运行的程序。例如,我的程序现在称为 sum。运行我的程序将从 1 加到 10:

C:\DEVEL\FBC> sum
Add the numbers from 1 to 10 ...
55

FORTRAN 77

FORTRAN 编程语言类似于旧式和现代 BASIC 之间的混合体。FORTRAN 比 BASIC 更早出现,而 BASIC 显然从 FORTRAN 中汲取灵感,就像后来的 FORTRAN 版本从 BASIC 中获得启示一样。你可以将 FORTRAN 程序以源代码的形式写成文件,但并不需要在每个地方使用行号。但是,FORTRAN 77 在某些指令中使用行号(称为标签),包括 FOR 循环。在 FORTRAN 77 中,FOR 实际上被称为 DO 循环,它执行相同的功能并具有几乎相同的用法。

在 FORTRAN 77 中,DO 循环的语法如下:

DO 行号 变量 = 起始值, 终止值

这种情况是需要行号来指示 DO 循环结束位置的一种情况。你在 BASIC 中使用了 NEXT 指令,但 FORTRAN 需要一个行标签。通常,该行是一个 CONTINUE 指令。

查看这个示例 FORTRAN 程序,了解如何使用 DO 循环来循环一组数字。我将此源文件保存为 sum.f

PROGRAM MAIN
      INTEGER SUM,I
      PRINT *, 'ADD THE NUMBERS FROM 1 TO 10 ...'
      SUM = 0
      DO 10 I = 1, 10
        SUM = SUM + I
   10 CONTINUE
      PRINT *, SUM
      END

在 FORTRAN 中,每个程序都需要以 PROGRAM 指令开始,并指定程序名称。你可能会将此程序命名为 SUM,但随后在程序中不能使用变量 SUM。当我学习 FORTRAN 时,我从 C 编程中借鉴了一些东西,并以 PROGRAM MAIN 开始了我的所有 FORTRAN 程序,做法类似于 C 程序中的 main() 函数,因为我不太可能使用名为 MAIN 的变量。

FORTRAN 中的 DO 循环类似于 BASIC 中的 FOR 循环。它迭代从 1 到 10 的值。变量 I 在每次循环中获取新值。这样可以将 1 到 10 的每个数字相加,并在完成时打印总和。

你可以在每个平台上找到适合的 FORTRAN 编译器,包括 Linux 和 DOS。FreeDOS 1.3 的 Bonus CD 中包括 OpenWatcom FORTRAN 编译器。在 Linux 上,你可能需要安装一个包来安装 GNU Fortran 支持(在 GNU 编译器集合(GCC)中)。在 Fedora Linux 上,你可以使用以下命令添加 GNU Fortran 支持:

$ sudo dnf install gcc-gfortran

然后你可以使用以下命令编译 sum.f 并运行程序:

$ gfortran -o sum sum.f
$ ./sum
ADD THE NUMBERS FROM 1 TO 10 ...
55

一点不同之处

我发现 FORTRAN 和 BASIC 非常相似,但也存在一些不同之处。这些语言的核心是不同的,但如果你了解一些 BASIC,你可以学习 FORTRAN,同样,如果你了解一些 FORTRAN,你也可以学习 BASIC。

如果你想探索这两种语言,有几点需要注意:

  • FORTRAN 77 使用全大写,但后来的 FORTRAN 版本允许大小写混用,只要对变量、函数和子程序使用相同的大小写。大多数 BASIC 实现都不区分大小写,这意味着你可以自由地混合大小写字母。
  • 有许多不同版本的 BASIC,但它们通常做同样的事情。如果你学会了一种 BASIC 实现方式,很容易学会另一种。注意 BASIC 解释器或编译器的警告或错误信息,查阅手册了解差异。
  • 某些 BASIC 实现需要使用行号,例如 Bywater BASIC 和 GW-BASIC。更现代的 BASIC 版本允许你编写不使用行号的程序。FreeBASIC 需要使用 -lang 废弃选项编译带有行号的程序。

(题图:MJ/dba28597-dd62-4ffe-bb4a-e38874a65239)


via: https://opensource.com/article/23/4/basic-vs-fortran-77

作者:Jim Hall 选题:lkxed 译者:ChatGPT 校对:wxy

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

上一篇文章 中,你学习了函数。在这篇文章中,我们将学习使用条件语句来管理 Rust 程序的控制流。

什么是条件语句?

在编写代码的时候,最常见的任务之一就是检查某些条件是否为 truefalse。“如果温度高于 35°C,打开空调。”

通过使用 ifelse 这样的关键字(有时候结合使用),程序员可以根据条件(例如提供的参数数量、从命令行传递的选项、文件名、错误发生等)改变程序的行为。

所以,对一个程序员来说,了解任何语言的控制流都是至关重要的,更不用说 Rust 了。

条件运算符

下表列出了所有常用的单个条件运算符:

运算符示例解释
>a > ba 大于 b
<a < ba 小于 b
==a == ba 等于 b
!=a != ba 不等于 b
>=a >= ba 大于等于 b
<=a <= ba 小于等于 b

以及下表是逻辑运算符,它们用于一个或多个条件之间:

运算符示例解释
` ` (逻辑或)`条件1 条件2`条件1条件2 中至少有一个为 true
&& (逻辑与)条件1 && 条件2所有 条件都为 true
! (逻辑非)!条件条件 的布尔值的相反值
? 与数学相似,你可以使用圆括号来指定操作的优先级。

使用 if else

要控制 Rust 代码的基本流程,使用两个关键字:ifelse。这可以根据提供的条件的状态创建两个“执行路径”。

一个简单的带有替代执行路径的 if 块的语法如下:

if 条件 {
    <语句>;
} else {
    <语句>;
}
? 当只有一个条件时,将其括在圆括号中并不是强制性的。根据语法,使用圆括号是可选的。你仍然应该使用它们来指定优先级并优化可读性。

来看看一个例子。

fn main() {
    let a = 36;
    let b = 25;

    if a > b {
        println!("a 大于 b");
    } else {
        println!("b 大于 a");
    }
}

这里,我声明了两个整数变量 ab,它们的值分别为 '36' 和 '25'。在第 5 行,我检查变量 a 中存储的值是否大于变量 b 中存储的值。如果条件计算结果为 true,则会执行第 6 行的代码。如果条件计算结果为 false,由于我们有一个 else 块(可选),第 8 行的代码将被执行。

来看看程序的输出。

a 大于 b

完美!

来修改一下变量 a 的值,使其小于变量 b 的值,看看会发生什么。我将把 a 的值改为 '10'。修改后的输出如下:

b 大于 a

但是,如果我将相同的值存储在变量 ab 中呢?为了看到这一点,我将两个变量的值都设置为 '40'。修改后的输出如下:

b 大于 a

嗯?从逻辑上讲,这没有任何意义... :frowning:

但是这可以改进!我们继续。

使用 else if 条件

与其他任何编程语言一样,你可以使用 else if 块来提供多于两个的执行路径。语法如下:

if 条件 {
    <语句>;
} else if 条件 {
    <语句>;
} else {
    <语句>;
}

现在,通过使用 else if 块,我可以改进程序的逻辑。下面是修改后的程序。

fn main() {
    let a = 40;
    let b = 40;

    if a == b {
        println!("a 与 b 是相等的");
    } else if a > b {
        println!("a 大于 b");
    } else {
        println!("b 大于 a");
    }
}

现在,我的程序的逻辑是正确的。它已经处理了所有的边缘情况(我能想到的)。第 5 行处理了 a 等于 b 的情况。第 7 行处理了 a 可能大于 b 的情况。而 a 小于 b 的情况则由第 9 行的 else 块隐式处理。

现在,当我运行这段代码时,我得到了以下输出:

a 与 b 是相等的

现在这就完美了!

示例:找到最大值

我知道使用 ifelse 很容易,但是让我们再看一个程序。这次,我们来比较三个数字。我还将在这个实例中使用逻辑运算符!

fn main() {
    let a = 73;
    let b = 56;
    let c = 15;

    if (a != b) && (a != c) && (b != c) {
        if (a > b) && (a > c) {
            println!("a 是最大的");
        } else if (b > a) && (b > c) {
            println!("b 是最大的");
        } else {
            println!("c 是最大的");
        }
    }
}

这个程序第一眼看上去可能很复杂,但是不要害怕,我会解释的!

最开始,我声明了三个变量 abc,并赋予了我能想到的随机值。然后,在第 6 行,我检查了没有变量的值与其他变量相同的条件。首先,我检查 ab 的值,然后是 ac,最后是 bc。这样我就可以确定没有变量中存储了重复的值。

然后,在第 7 行,我检查了变量 a 中存储的值是否是最大的。如果这个条件计算结果为 true,则会执行第 8 行的代码。否则,将检查第 9 行的执行路径。

在第 9 行,我检查了变量 b 中存储的值是否是最大的。如果这个条件计算结果为 true,则会执行第 10 行的代码。如果这个条件也是 false,那么只有一种可能。3 个变量中的最大值既不是 a 也不是 b

所以,自然地,在 else 块中,我打印出变量 c 拥有最大值。

来看看程序的输出:

a 是最大的

这是预期的结果。尝试修改分配给每个变量的值,并自己测试一下! :smiley:

总结

你学习到了如何使用 ifelse 语句。在你继续使用大量 if else if 语句制作自己的 AI 之前(哈哈),让我们在本系列的下一篇文章中学习 Rust 中的循环。

持续关注。

(题图:MJ/3eea3bbb-b630-4470-ae21-391ab86cd5bf)


via: https://itsfoss.com/rust-if-else/

作者:Pratham Patel 选题:lkxed 译者:Cubik65536 校对:wxy

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

谷歌 Bard 现在可以自己编写代码来回答问题

谷歌表示 Bard 在逻辑和推理方面越来越好。谷歌说,现在当你问 Bard 一个计算任务,如数学或字符串操作,Bard 不像其它大语言模型一样显示语言模型的输出,而是会写一个程序,并执行该程序,然后向用户显示该程序的输出作为答案。谷歌举例说,对于“请为我逆转 Lollipop 这个单词”的问题,ChatGPT 会通过语言模型给出答案 “pillopoL”,这个答案是错误的。而 Bard 会显示正确的结果,并给出计算的 Python 代码。当然,谷歌警告说,Bard 可能会对你的问题解释错误从而犯错;也有可能编写了错误的程序,就像人类编写程序一样,往往第一遍是带有错误的。

消息来源:谷歌
老王点评:这就太像人类了,居然会自己编程、自己运行。

GitHub Copilot 是一种“巧妙的软件盗版方法”

GitHub Copilot 是根据 OpenAI 的 Codex 模型建立的代码建议工具,由微软的 GitHub 进行商业化。Copilot 因其无视版权和许可证直接输出开发者公开发布的开源代码而被起诉。微软、GitHub 和 OpenAI 试图驳回此案,但只设法甩掉了一些索赔,法官保留了主要的版权和许可问题待审。2022 年 7 月,为了回应公众对 Copilot 的批评,GitHub 推出了一个用户可调整的 Copilot 过滤器,以将代码建议及其周围约 150 个字符的代码与 GitHub 上的公共代码进行检查。如果有匹配或接近匹配,该代码建议将不会显示给你。但 Copilot 优化了 AI 输出的温度设置,以尽可能多地产生许可内容的小变化,使其看起来不是完全复制的,来逃避版权和许可的侵犯。投诉称,“Copilot 是一种巧妙的软件盗版方法”。

消息来源:The Register
老王点评:到底改变多少才不算抄袭呢?或许,我觉得更公平的做法是,在输出代码时提示该代码衍生自哪种许可证的代码,因此受哪种许可证影响,如何使用取决于用户自己。但似乎这样做存在一些技术困难,因为 AI 到底是如何糅合出新的代码,对人类来说还是一个黑盒。

Reddit 封杀第三方客户端之后的社区反应

之前,我们 报道 过, Reddit 大幅调整了其 API 价格,事实上扼杀了第三方客户端。出于对此政策的极度不满,Reddit 社区将于 6 月 12 日举行大规模抗议活动,参与抗议的大部分子区将关闭 48 小时,但还有部分将无限期关闭。ArchiveTeam 团队希望赶在 12 日之前 存档 内容,他们目前已存档了 108 亿个帖子(包括帖子内容、评论和图像),还有 1.5 亿个帖子等待完成,团队表示时间来不及了,希望更多人参与帮助。此外,著名的 Reddit 第三方 iOS 客户端 Apollo 宣布将于 6 月 30 日 关闭 该客户端,并 公开 了其后端源代码以示它是合法使用 API,并遵守了 API 的速率限制。

消息来源:Reddit
消息来源:Reddit
老王点评: Reddit 的日子或许不好过,他们在裁员和缩减招聘。但是我觉得这种学着 Twitter 作死而跟着作死的做法,实在是无语。

在失去亲人后为开源项目做贡献可能会让人感到畏惧。下面是我对如何重新加入社区的建议。

开源社区是一个奇妙的地方,在这里人们聚集在一起合作,分享知识,并建立令人惊奇的东西。我还记得 12 年前 我在 Fedora 的第一次贡献,从那时起,这就是一个奇妙的旅程。然而,生活有时会妨碍我们,导致我们从参与中抽身。COVID-19 大流行病以不同的方式影响了我们所有人,对一些人来说,这是一个巨大的损失和悲痛的时期。我在大流行期间失去了我的爱人,这是最难处理的生活事件。这也让我从 Fedora 社区休息了一段时间。对于那些因为失去亲人而不得不休息的开源社区成员来说,重新回到编码和为项目做贡献可能会让人感到畏惧。然而,通过一些思考和计划,有可能卷土重来,再次成为社区的积极成员。

首先,最重要的是照顾好自己,让自己有时间和空间去悲伤。悲伤是一种个人和独特的经历。没有正确或错误的方式去经历它。重要的是要善待自己。在你准备好之前,不要急于做事情。

当你准备好重新开始贡献,你可以做几件事来使你的复出尽可能顺利。

与其他贡献者联系

这是一个艰难的事实:没有什么东西会因为你而停止,技术正在以指数形式增长。当我最近重新加入 Fedora 的时候,我觉得世界在我身边变化得太快了。从 IRC 到 Telegram 再到 Signal 和 Matrix,从 IRC 会议 到谷歌会议,从 Pagure 到 GitLab,从邮件列表到讨论区,这个名单还在继续。如果你有一段时间没有在你的社区里活动,联系你在社区里的朋友,让他们知道你回来了,并准备再次做出贡献,这可能会有帮助。这可以帮助你与人们重新建立联系,并重新进入事情的轨道。他们可能有一些建议或机会让你参与其中。我很感谢我的 Fedora 朋友 Justin W. Flory,他无私地帮助我,确保我找到了回到社区的方法。

从小事做起

过去,我曾担任 Fedora 多样性、公平和包容(D.E.I.)顾问,这是 Fedora 理事会 成员职位之一。这是一个很大的工作。我认识到这一点,而且我知道如果我在休息后立即考虑做同样的工作,那么这将是一个负担,有可能导致 早期倦怠。放轻松是非常重要的。从小事做起。

如果你对重新投入一个大项目的想法感到不知所措,那就从小事做起。有大量的小任务和错误需要修复,解决其中的一个问题可以帮助你轻松地回到社区。

找一个导师

如果你对如何开始或将你的努力集中在哪里感到不确定,可以考虑找一个 导师。导师(就我而言,是 Justin W. Flory)可以在你复出时提供指导、建议和支持。

展示感激

开源社区是建立在许多人的贡献之上的。一个健康的社区会对你的贡献表示感谢。表达感激之情是使社区健康发展的一部分。对那些帮助你、指导你、给你反馈的人表示感谢。

封锁你的日历

最初,可能需要一些时间来恢复贡献的节奏。在你的日历中安排一些时间用于开源工作是有帮助的。它可以是每周/每两周一次,取决于你的可用性。记住,每一个贡献都很重要,这就是开源世界的魅力所在。这个技巧将帮助你养成规律的作息习惯。

向前两步,向后一步

最后,重要的是要记住,如果你需要,退一步也没关系。悲伤不是一个线性过程。你可能会发现,你在未来需要再次休息一下。重要的是,要对自己和他人诚实,了解自己的需求。利用你需要的时间来照顾自己。

按照你自己的条件返回

在经历了一段时间的悲痛之后,回到开源社区可能是一种挑战。这也是一个与你所热衷的事物重新联系的机会,并对世界产生积极影响。随着时间的推移,你会发现你能够从你离开的地方拾起,并再次重新参与到社区中。

我把我的第一篇 Opensource.com 文章献给我已故的弟弟 Nalin Sharma 先生,他在 2021 年因 COVID-19 而离开我们,年仅 32 岁。他是一个充满激情的工程师,充满了生命力。我希望他现在在一个更好的地方,我相信他将永远活在我的记忆中。

(题图:MJ/6a42a5e7-47a7-45ac-8644-9f91d9b8516d)


via: https://opensource.com/article/23/3/open-source-after-grief

作者:Amita Sharma 选题:lkxed 译者:geekpi 校对:wxy

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

又一次,Linus Torvalds 立场坚定地、咆哮地小小回复了某人。

linus torvalds

Linus Torvalds 又发表了一篇热点看法(或争议?)?

一切都始于 Linus Torvalds 对《纽约时报》网页体验的看法。

social.kernel.org 上发布的一篇公开帖子中,Linus 抱怨了纽约时报网站上的广告和糟糕的用户体验。此外,他还感到烦恼的是,人们必须致电该网站团队才能取消订阅纽约时报。

下面是他的发帖:

Image via social.kernel.org

但是,这与我们新闻标题毫不相关,是吗??

是有点无关,但这件事还有更多的内容。

实际上,Linus 在 他的帖子 中继续向他的一些粉丝解释,他并不介意订阅纽约时报,但是由于令人讨厌的体验,这变成了一项不可接受的条件。

在他的帖子的一条评论中,一位用户还提到纽约时报不值得关注,并将其称为“清醒的共产主义宣传”。

以下是该用户的原文:

nytimes opinion of a user

虽然这与最初讨论的上下文无关,但 Linus Torvalds 坚定的表明了他对这种观点的信仰。

linus torvalds reply

他的回复如下:

我觉得你可能不应该关注我,因为你那个“清醒的共产主义宣传”的评论让我觉得你是一个一流的白痴。我强烈怀疑我就是你担心的那些“清醒的共产主义者”之一。但你可能无法解释这两个词的任何一个真正意思,对吧?

此外,他还分享了下面这段话:

我是一名持证的无神论者,我认为妇女的选择权非常重要,我认为“有组织的民兵”意味着应该仔细发放枪支许可证,而不是随便给予任何有脉搏的白痴,我一点也不在意你决定穿“错误”的衣服或者决定不为你出生时的性别所束缚。该死的,如果这些让我成为“清醒”的人,那么我认为使用这个词作为贬义词的任何人都是人类的耻辱。所以请立刻取消关注我吧。

虽然这只是社交媒体上的一次言论碰撞,但他的回复被一些人视为有争议,有些人将他标签为“左派”(不管这是什么意思)。

当然,还有其他人认为 Linus Torvalds 正确地表达了他想要说的话,这没有什么不对的。如果你了解 Linus Torvalds,你会知道他通常直言不讳地表达自己的观点。

就像他最近对 Linux 6.3 的 一个糟糕的提交请求 感到愤怒一样。

在这里,我们不讨论具体问题。当然,我们关注的是 Linux 和开源软件……还有 Linus Torvalds ?

但是,从回复中可以看出,Linus Torvalds 似乎不喜欢用“清醒”一词来贬低某些事物。他明显尊重其他人的选择,并且“一点也不在意”。

?你认为 Linus Torvalds 对“清醒的共产主义”意识形态的看法怎么样?请在下方评论区分享你的想法。


via: https://news.itsfoss.com/linus-torvalds-woke-communists/

作者:Ankush Das 选题:lkxed 译者:ChatGPT 校对:wxy

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