2022年10月

DeepMind 用游戏的方式打破了矩阵相乘 50 年来的记录

矩阵乘法问题是一种关键的计算类型,它是许多不同应用的核心,从屏幕上显示图像到模拟复杂的物理学。加快这种计算可能会对成千上万的日常计算机任务产生重大影响。但想优化矩阵相乘的步骤很难。DeepMind 将该问题变成一种三维棋盘游戏 TensorGame。训练了一个新版本的 AlphaZero,称为 AlphaTensor,来玩这个游戏,以尽可能少的动作赢得游戏。AlphaTensor 发现了一种将两个四乘四的矩阵相乘的方法,只需要 47 步,基本的高中数学方法需要 64 步,而之前的最佳方法是德国数学家在 1969 年发明的 49 步的方法。此外,“AlphaTensor 在超过 70 种不同大小的矩阵中击败了现有的最佳算法。”

消息来源:Technology Review
老王点评:没想到 AI 居然可以在数学上找到更好的算法,果然人力有时而穷。此外,对矩阵相乘的改进,应该会从底层提升很多你想不到的地方的性能。

英特尔推动 GPU 通用编程库 SYCL 的发展

如今在加速计算和 GPU 领域,CUDA 只能在英伟达的 GPU 上运行,AMD 的 CUDA 可以在 AMD 的 GPU 上运行,但你不能用 CUDA 为英特尔的 GPU 编程。因此,英特尔推动开源 SYCL 规范的发展,该规范旨在为 GPU 和加速计算做几十年前 Java 为应用开发所做的工作。SYCL 是一种用 C++ 语言进行数据并行编程的方法,它看起来很像 CUDA,可以在英特尔、AMD 和英伟达的 GPU 上运行,而无需改变你的代码。

消息来源:Venture Beat
老王点评:这就是一个英特尔的 CUDA,但是以开放的名义。

SELinux 继续废弃运行时禁用功能

SELinux 已经废弃了运行时禁用功能,即通过编辑配置文件或 sys 文件系统来即时禁用它。但相关的代码和功能尚未从内核中删除,Linux 6.1 仍然具有处理 SELinux 运行时禁用的废弃能力。在最新的 Linux 6.1 的合并请求中,SELinux 删除了对该能力的一个文档参考,向废弃该能力小小的迈了一步,其它的部分几乎没有什么大的变化。一种简单和非侵入性的正确禁用 SELINUX 的方法是,在启动 Linux 时可以将 selinux=0 作为一个内核参数传递进去。

消息来源:Phoronix
老王点评:抛开 SELinux 的 NSA 背景不谈,SELinux 其实安全但繁琐,所以运行时禁用 SELinux 往往成为了一种偷懒行为或安全缺陷。

Quarkus 令你可以使用类似 Java 的技术开发无服务器的工作负载。

无服务器 Java 的研究始于函数 —— 就是按需求运行的一小段代码。这一阶段并没有持续很长时间。虽然在 1.0 阶段,基于虚拟机架构的函数使这种范式变得很流行,但它仍然有局限性,例如执行时间、协议和糟糕的本地开发体验,都不太理想,如下图所示。

开发者随后意识到,可以把同样的无服务器特性应用于微服务和 Linux 容器,带来的好处也是一样的。由此进入 1.5 阶段,在这个阶段,一些无服务器容器完全抽象化了 Kubernetes,通过 Knative 或其它位于它之上的抽象层来提供无服务器的体验。

在 2.0 阶段,无服务器开始处理更复杂的编排和集成模式,并结合某些层级的状态管理。更重要的是,开发者关注的是能否在旧的系统中使用熟悉的 Java 应用程序运行时来组合运行无服务器和非无服务器的工作负载。

The serverless Java journey

Java 开发者开始进行无服务器函数开发之前,第一步是要选择一种新的云原生 Java 框架,从而能够以快于传统单体应用程序的速度和较小的内存占用运行 Java 函数。这在各种基础设施环境中,包括物理服务器、虚拟机、多云或混合云环境中的容器,都是适用的。

开发者也有可能固执地选择 Spring 框架中的 Spring 云函数 来进行命令式和反应式函数的开发。Spring 也支持将 Java 函数部署到可安装的无服务器平台,比如 KubelessApache OpenWhiskFissionProject Riff。然而,人们担心 Spring 的启动慢、响应时间长以及内存占用大的问题。在诸如 Kubernetes 这种可扩展的容器环境中运行 Java 函数,这些问题可能会更严重。

Quarkus 是一个新推出的开源云原生 Java 框架,它有助于解决这些问题。它的作用是设计无服务器应用程序,以及编写运行于云基础设施(例如 Kubernetes)的云原生微服务。

Quarkus 重新审视了 Java,它使用了封闭的方法构建和运行 Java 程序。它把 Java 转变为一种可与 Go 相媲美的运行时。Quarkus 也包含 100 多种扩展功能,集成了企业级能力,例如数据库访问、无服务器集成、消息、安全、可观察性和业务自动化。

这里有一个简单例子,展现如何使用 Quarkus 创建一个 Java 无服务器项目的框架。

1、基于 Maven 创建一个 Quarkus 无服务器项目

安装一个本地 Kubernetes 集群,开发者有多种选择,包括 MinikubeOKD。因为使用 OKD 在 Knative 和 DevOps 工具上安装无服务器相关功能较方便,本文使用 OKD 安装集群。这些关于 OKD 安装Knative 操作员安装 的相关指南中提供了更多的设置资料。

下面的命令创建了一个 Quarkus 项目(例如 quarkus-serverless-restapi),对外暴露一个简单的 REST API,并下载 quarkus-openshift 扩展,用于 Knative 服务的部署:

$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \
       -DprojectGroupId=org.acme \
       -DprojectArtifactId=quarkus-serverless-restapi \
       -Dextensions="openshift" \
       -DclassName="org.acme.getting.started.GreetingResource"

2、在本地运行无服务器功能

使用 Quarkus 开发模式运行程序,检查 REST API 是否有效,稍稍调整一下代码:

$ ./mvnw quarkus:dev

输出如下内容:

__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
INFO  [io.quarkus] (Quarkus Main Thread) quarkus-serverless-restapi 1.0.0-SNAPSHOT on JVM (powered by Quarkus xx.xx.xx.) started in 2.386s. Listening on: http://localhost:8080
INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, resteasy]
注意: 保持 Quarkus 应用程序运行,需要使用 热部署 Live Coding 。这样,当代码修改后,你就不必重新构建、重新部署以及重启运行时。

现在,你可以使用一个 curl 命令快速访问 REST API。输出结果应当是 Hello RESTEasy:

$ curl localhost:8080/hello
Hello RESTEasy

GreetingResource.java 中修改返回值:

public String hello() {
        return "Quarkus Function on Kubernetes";
    }

再次访问 REST API,输出信息也会相应更新:

$ curl localhost:8080/hello
Quarkus Function on Kubernetes

普通的微服务跟无服务器函数之间的差别并不大。使用 Quarkus 的好处在于:开发者可以使用任何微服务,将 Kubernetes 部署为无服务器函数。

3、在 Knative 服务中部署相关的函数

如果你还没有创建命名空间,就在你的 OKD 集群上 创建命名空间(例如 quarkus-serverless-restapi),用来部署 Java 无服务器函数。

Quarkus 令开发者可以通过在 src/main/resources/application.properties 中添加以下变量,创建 Knative 和 Kubernetes 资源:

quarkus.container-image.group=quarkus-serverless-restapi <1>
quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 <2>
quarkus.kubernetes-client.trust-certs=true <3>
quarkus.kubernetes.deployment-target=knative <4>
quarkus.kubernetes.deploy=true <5>
quarkus.openshift.build-strategy=docker <6>

说明:

  • <1> 在你部署无服务器应用程序的位置定义项目名
  • <2> 使用容器注册中心
  • <3> 在这个简单例子中,使用自签名证书,以便通过相关信任机制
  • <4> 允许创建 Knative 资源
  • <5> 指示在构建容器映像之后将扩展部署到 OpenShift
  • <6> 设置 Docker 构建策略

执行以下命令,构建应用程序,并直接部署到 OKD 集群:

$ ./mvnw clean package -DskipTests
注意: 应该提前使用 oc login 命令,确保登录到正确的项目(例如quarkus-serverless-restapi)。

输出结果应该以 BUILD SUCCESS 结束。

在对于 Knative 服务执行的 oc 命令中,加上标签:

$ oc label rev/quarkus-serverless-restapi-00001 
app.openshift.io/runtime=quarkus --overwrite

然后访问 OKD 网页控制台,就能进入 开发人员透视图中的拓扑视图。你可能会看到你的 容器荚 Pod (无服务器函数)已经缩小为零(白线圈)。

Topology view

4、在 Kubernetes 环境下测试函数

运行如下 oc 命令,搜索含有无服务器函数的路由:

$ oc get rt/quarkus-serverless-restapi
[...]
NAME                      URL                             READY   REASON
quarkus-serverless[...]   http://quarkus[...].SUBDOMAIN   True

使用 curl 命令访问搜索到的路由:

$ curl http://quarkus-serverless-restapi-quarkus-serverless-restapi.SUBDOMAIN/hello

过几秒钟,你可以得到跟在本地相同的结果:

Quarkus Function on Kubernetes

当你回到 OKD 集群内的拓扑图,Knative 服务会自动扩展。

Scaling the Knative Function

由于 Knative 服务的默认设置,其 pod 在 30 秒后会再次下降至零。

下一步呢?

无服务器不断地在演变,始于运行于虚拟机的函数,到后来的无服务器容器,并与企业原有系统集成。在此过程中,企业开发者借助 Quarkus,仍然可以使用自己熟悉的技术(比如 Java)创建一个项目,然后构建并部署到 Kubernetes。

本系列的下一篇文章将指导你优化 Kubernetes 中的 Java 无服务器函数,从而令程序启动更快,内存占用更小。

文内图像来自:Daniel Oh, CC BY-SA 4.0


via: https://opensource.com/article/21/6/java-serverless-functions

作者:Daniel Oh 选题:lkxed 译者:cool-summer-021 校对:wxy

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

TUXEDO OS 是一个基于 Ubuntu 的 Linux 发行版,旨在将 TUXEDO 在 Linux 方面的专业知识也带给非 TUXEDO 用户。

又一个基于 Ubuntu 的 Linux 发行版??

不完全是!TUXEDO 计算机公司 是一家硬件制造商,以其专注于 Linux 的笔记本电脑和计算机而闻名。

TUXEDO OS 与 Ubuntu 之间存在着一些有趣的差异

虽然他们已经在笔记本电脑/计算机上提供预装 TUXEDO OS 的选项,但是它并未对所有人开放。

终于,他们决定将其发行版的第一个版本作为 TUXEDO OS 1 开放,该版本现已可供下载。

这也意味着你可以在自己的非 TUXEDO 系统上试用它。

所以这个思路很像 System76 的 Pop!\_OS,所以这并不算一件坏事 ?

搭配 KDE 的 TUXEDO OS 1

tuxedo 桌面

TUXEDO OS 1 是基于 Ubuntu 22.04 LTS 的; 所以它应该可以直接在大多数设备上运行。

与 System76 的 Pop!\_OS 不同,TUXEDO OS 搭载了 KDE Plasma 5.24.6。因此,它应当提供了一个 Windows 用户也较为熟悉的用户界面。

但是,TUXEDO OS 还包括一些额外的功能,例如 TUXEDO 控制中心,用于微调你的硬件(CPU/风扇等),以及 TUXEDO Tomte,一个用于解决驱动程序/缺少包问题的配置服务,但是它或许能,或许不能在其他硬件配置上工作。

说到这里,让我们看看 TUXEDO OS 及其提供的功能。

TUXEDO OS,基于 KDE 的定制化 Ubuntu 体验

用户体验正如预期一样,与任何基于 KDE 的 Ubuntu 发行版相同。

? 我将 TUXEDO OS(预览版)用做我的主要系统来体验它。

你会在应用和菜单上发现带有红色调的 TUXEDO 徽标。它还具有令人耳目一新的壁纸。

tuxedo 菜单

除了定制化的 KDE Plasma 主题,还有一些其他的变化,例如:

  • 它使用了 PipeWire 作为声音服务器,而不是 PulseAudio。
  • GRUB 中启用了 os-prober 功能,让用户可以方便地检测已安装的其他操作系统。
  • .deb 作为首选的软件包格式,而 Snap 默认情况下被禁用。
  • 从 NetworkManagerConnectivity 检查中移除了 Canonical 的链接。

软件可用性?

你可以通过 “ 发现 Discover ” 应用来找到所有流行的软件工具,其中包括 Ubuntu 的仓库和 TUXEDO 的仓库。

它包含了 Firefox、Thunderbird、LibreOffice、VLC、Lutris 和 Heroic Games Launcher 等必备应用程序。所以我认为你不会觉得它们很臃肿。

tuxedo discover 应用

我还注意到它默认启用了 Flatpak 集成。

你可以在他们的 官方网页 上了解有关可用软件的更多信息。

这也给我们带来了一个重要的亮点

❌ TUXEDO OS 不会默认安装 Snap。对于 Firefox,它会像 Linux Mint 一样附带 deb 包安装。

✅ 值得注意的是,TUXEDO OS 22.04 LTS 附带了 Nvidia 驱动程序。

因此,我可以毫不费力地将它安装在带有 RTX 3060 Ti 显卡的系统上。

TUXEDO 附加功能

如上所述,TUXEDO OS 附带了一些专为增强 Tuxedo 硬件的体验而量身定制的附加功能。

控制中心是监控你的系统、选择电源配置文件、控制外部水冷(TUXEDO Aquaris)等的绝佳工具。

tuxedo 控制中心

虽然控制中心不是为非 TUXEDO 设备量身定制的,但它在大多数情况下仍然能够正常工作。

还有一个 TUXEDO WebFAI Creator 程序(定制的 BalenaEtcher)来烧录用于操作系统安装的 U 盘。

tuxedo webfai

还有,不要忘记 TUXEDO Tomte,它无法在我的系统上运行,但可以很完美的在 TUXEDO 设备上作为配置服务运行:

下载 TUXEDO OS 1

TUXEDO OS 带来了非常精致的体验。TUXEDO 背后的团队在让 Linux 运行在他们的一些最新笔记本电脑上拥有丰富的经验。因此,使用他们的 Linux 发行版,你可以对自己的体验充满信心。

如果你有兴趣,还可以找到关于 TUXEDO OS 入门 的官方文章。

如果你希望获得一个基于 KDE 的定制化 Ubuntu 体验,TUXEDO OS 1 是一个不错的选择。

你可以通过使用它来支持他们的计划,这可能会让你决定购买一台 TUXEDO 设备;你永远不知道以后会发生什么,对吧?

你可以从其官方网站下载它,并在下方的评论区中分享你的想法。

下载 TUXEDO OS 1

via: https://news.itsfoss.com/tuxedo-os/

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

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

开源身份标准和策略协调软件巩固了对多云访问策略的管理。

根据多云身份协调公司 Strata Identity 的说法,Hexa 和 IDQL( 身份查询语言 Identity Query Language )开源项目使组织能够在多个云平台上的应用程序中采用一致的访问策略,已被云原生计算基金会(CNCF)接受为沙盒项目:https://www.cncf.io/projects/hexa/

云身份 Cloud Identity 是非常分散的,没有明确的路径来协调不同服务提供商平台的策略管理,” TechVision Research 首席咨询分析师兼首席执行官 Gary Rowe 说。“IDQL 代表了在为基于云的 IAM 治理提供基于标准的方法方面向前迈出的重要一步。”

Linux 基金会的 CNCF 是一个致力于监督开源云原生计划的非营利组织。Versa Networks、S&P Global、Cummins、Kroger、MEF 和 Strata Identity 都是 IDQL 和 Hexa 的作者和工作组参与者。有关如何帮助该项目的更多详细信息,请访问 https://hexaorchestration.org

目前,每个云平台(如 AWS、谷歌云、微软 Azure 等)都使用一个独特的身份系统,采用独特的策略语言,彼此完全不兼容。而每个应用程序都需要进行硬编码才能与特定的识别系统一起运行。根据 2022 年多云身份状况调查,只有 25% 的受访者表示他们了解多云访问限制,这对企业来说是一个重大障碍。

基于该公司创始人共同编写 SSO 联盟 SAML 标准的经验,Strata Identity 领导了 Hexa 和 IDQL 项目。这个新项目的目标是引入一个精心设计的开源策略编排框架,以增加组织、客户和软件提供商从转向现代、开放和无密码的身份验证方法中获利的可能性。

在不改变识别系统或应用程序的情况下,IDQL 和 Hexa 允许任意数量的身份系统作为单个集成系统运行。这些开源计划共同提供了以下优势:

发现策略:

  • 对重要的应用程序、数据和策略进行分析和清点
  • 发现可用的应用程序以及它们的位置
  • 识别策略、用户和角色

管理策略:

  • 在策略发现期间,将本机命令式策略转换为声明性 IDQL 策略
  • 在策略编排期间,将声明性 IDQL 策略转换为目标系统的本机命令式策略

策略编排:

  • 使用基于云的架构,无需代理、代理或本地代码;
  • 分发的规则由身份提供者(IdP)、云、IaaS 和网络系统执行
  • 采用可扩展的开源范例,允许定制的连接器集成

via: https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-project-as-a-sandbox-project/

作者:Laveesh Kocher 选题:lkxed 译者:littlebirdnest 校对:wxy

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

使用 AI 和激光炮塔击杀蟑螂的开源项目

研究人员使用四核 ARM 处理器的 Jetson Nano 小型计算机来处理来自两个相机的数字信号,并使用神经网络来确定目标昆虫在三维空间中的位置。然后驱动来自中国的激光器来瞄准蟑螂。当激光功率较低时,可以驱赶蟑螂,功率更高时可以甚至可以直接杀死蟑螂。此项目已全部在 GitHub 上开源,作者此前还尝试用同样的手段消灭蚊子。

消息来源:VICE
老王点评:这算不算 AI “武器化”?

基于 Linux 的 Steam Deck 掌机出货量逾一百万部

Valve 的 Linux 掌机 Steam Deck 于今年 2 月 25 日上市,采用预售制,玩家需要先支付 5 美元预定一个版本。据 KDE 开发者在最近举行的 Akademy 2022 会议上透露的消息,Steam Deck 掌机出货量已逾一百万部。Steam Deck 包含了一个完整的 KDE Plasma 桌面模式。

消息来源:Gaming On Linux
老王点评:这相当于拉高了 Linux 的桌面终端占有率啊。

美国白宫提出围绕 AI 的自愿安全和透明规则

白宫周二提出了一项不具约束力的《人工智能权利法案》,称其将帮助父母、病人和工人避免因教育、医疗和就业领域越来越多地使用自动化而受到伤害。人工智能软件的开发者和使用者应该自愿遵守,以防止该技术不公平地对人们造成不利。但该法案对私营企业没有约束力,美国商会警告说,如果这些不具约束力的建议成为规则,可能会损害美国企业在全球舞台上的竞争能力。近些年屡屡出现算法失控的例子,如一些算法被发现具有歧视性,这是由于系统训练所依据的数据。

消息来源:路透社
老王点评:人工智能该不该约束?应该。但是以什么样的方式,约束到什么程度,恐怕上面美国商会的意见才是真的意图。

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客《代码英雄》第五季(2):程序员写代码的地方音频 脚本。

导语:家庭办公室、企业园区、联合办公空间、有趣的校园。程序员们希望在工作场所方面有所选择。将普通的工作空间从办公室转移到家里,揭示了在家里工作的好处,但也突出了它的权衡。

Saron Yitbarek 和 Clive Thompson 通过考虑工作场所继续他们对编码职业的讨论。Mary Allen Wilkes 分享了她作为第一个在家工作的开发者的经验。David Heinemeier Hansson 认为远程工作使他的同事有时间进行深入思考。Dave West 解释了为什么他认为面对面的工作仍然能产生最好的结果。Maude Mensah Simpson 权衡了家庭办公室的自由与失去面对面交流的机会。

00:00:02 - Saron Yitbarek

你们好,欢迎来到《 代码英雄 Command Line Heroes 》,一档 红帽 Red Hat 的原创播客节目。这是我们有关程序员,无论是开发人员到系统管理员,以及架构师、工程师、程序员,工作生活的迷你特别季的第 2 集。我是你们的主持人 Saron Yitbarek,和我一起参与到这一季的是 Clive Thompson,他是记者、技术向作家以及《 码农:新部落的建立和世界的重塑 Coders: The Making of a New Tribe and the Remaking of the World 》一书的作者。你好, Clive。

00:00:30 - Clive Thompson

你好 Saron。很感谢你能再次邀请我来。

00:00:31 - Saron Yitbarek

感谢你加入我们,Clive。在这一集里,让我们谈谈到目前为止,我们当中很多人(不仅仅是技术人员)非常熟悉的一些东西,因为我们大多数人自从 2020 年 3 月以来就不得不这么做 —— 远程工作。现在,你可能认为远程工作在我们的行业里是相对较新的现象。随着技术的进步,在家中工作变得更为容易。先再想一下,让我们来听听这位开发人员的故事。

00:01:00 - Mary Allen Wilkes

嗯,我的名字叫 Mary Allen Wilkes。1959 年到 1972 年间,我做了十二三年的计算机程序员。

00:01:14 - Saron Yitbarek

Mary Allen 已经 82 岁了。在她青少年时期,她迷上了法律,想当一名律师,但是在 50 年代这对一名女性而言并不是一个明智的职业选择。她的导师劝阻了她,并告诉她这将会十分困难。偶然的一次机会,她的一位老师为她描绘了另一条路线。

00:01:36 - Mary Allen Wilkes

我在读八年级时的某天,在上一个地理老师的课时被这位老师指引了那条路线。当时我应该是给他讲述了自己对某件事情的论点,而他停了下来并看着我说:“Mary Allen,你长大以后应该成为一名计算机程序员。” 好吧,我那时并不知道他在说什么。多年以后,我很想知道他是否清楚他当时正在说的是什么。他教授地理和法语,而没有人教计算机编程。但是我永远都忘不了他的话。而且我认为让我多年难以忘怀这个目标的一个原因是,这是一个成年人告诉我长大以后可以做一件积极的事情。

00:02:22 - Saron Yitbarek

当 Mary Allen 从大学毕业并且开始求职时,唯一有计算机程序员职位的地方是 MIT。没有人接受过计算机编程方面的任何训练。她的主要资格条件是她在大学里上过的两门逻辑学课程,但这已经比她在 MIT 的同事多了。

00:02:41 - Mary Allen Wilkes

我开始在 马萨诸塞州 Massachusetts 列克星敦市 Lexington 林肯实验室 Lincoln Laboratory 工作,这是由美国国防部资助的一个大型的 MIT 研究机构。那时候是 1959 年,我第一次知道他们正在使用这些非常巨大的计算机,能占据整个房间的那种。这是我最初学习编程的机器。它们是 IBM 计算机。你用汇编语言逐行编写好你的程序,然后把这些纸片交给打孔卡操作员,她们会把你的程序打在 打孔卡 punch card 上。然后你将其带到计算机室,交给计算机操作员。

00:03:29 - Saron Yitbarek

1961 年, Mary Allen 被分配到一个小组,在 Link 计算机上工作,这是一款实验室仪器式微型计算机。它是第一批真正的交互式计算机之一,与当今的台式计算机有些相似。

00:03:44 - Mary Allen Wilkes

Link 有一块显示屏。我们称之为“ 视窗 the scope ”,因为它事实上就是一个实验室示波器。它有四个可以放在桌面上的盒子,一个装着这台示波器的盒子、一个装有两个袖珍大小的小型磁带装置的盒子。基本上你可以把它想象成你的永久存储器、硬盘驱动器。那是你存储和读入你的程序的地方。另一个盒子被称为控制台盒子。你可以用开关来加载某些代码(比如某些引导代码)到 Link 的内存里。它也有个键盘。因此,你拥有你现如今会有的基本交互式配置,键盘、屏幕以及某种形式的永久存储器。然后当然还有所有的电子元器件,它们都被装载一个大约和一台冰箱差不多大小的大箱子里。

00:04:43 - Saron Yitbarek

1964 年, Link 小组做了一个艰难的决定,从 MIT 迁至 密苏里州 Missouri 圣路易斯 St. Louis 的华盛顿大学,但是 Mary Allen 不想去。

00:04:54 - Mary Allen Wilkes

我不想立马就搬到圣路易斯。我一点都没有想搬去那里的想法。我想要做的是为 Link 写一个合适的操作系统,因为到那时为止,我们所拥有的只是我在 1962 和 1963 年所编写的相当基础的小汇编程序。我说:“我可以写它。我可以在家里写它。”

00:05:20 - Saron Yitbarek

Link 小组的负责人 Wesley Clark 认为这个想法不错。

00:05:25 - Mary Allen Wilkes

我对他说:“我想要写操作系统。”我可能是当时唯一一个能够写这个操作系统的人。因此,Wesley 只是说:“好吧,没问题。为们会给你送来一台 Link。你可以在家里使用它。”这就是它的经过。一天,我们实验室的几个人开着一辆小货车来了,并带来了四个箱子,四个模块和冰箱大小的东西,装着电子设备与存储器等等。他们把这些东西运到了我父母在 巴尔的摩 Baltimore 的客厅。除了他们不得不为此拉了一条 20 安培的电路,只需要将其插入墙上的插座即可。

00:06:10 - Saron Yitbarek

你的父母对家里这个硕大的新入侵者作何看法?

00:06:15 - Mary Allen Wilkes

我的父亲是一位 圣公会 Episcopal 牧师。他看到每个人都会说:“我敢打赌,你的客厅里没有计算机。”这至少可以说是相当新颖的事情,相当的新奇。

00:06:30 - Saron Yitbarek

Mary Allen 的父母整天都不在家,因此她能够集中注意力。她直接在 Link 上写操作系统,不需要打孔卡,所以她可以更快地进行调试。她通过电话或老式的 蜗牛邮件 snail mail 和她的团队交流,并在必要的时候前往圣路易斯。仅仅在不到一年的时间里,她就完成了这个操作系统并编写了编程手册。

00:06:55 - Mary Allen Wilkes

我从未感到被孤立,也从未感到过沮丧。我感到充满了挑战。我认为编程基本上是一项适合内向的人、与世隔绝工作的人、独立工作的人、不需要大量支持或是与他人互动的人的工作。

00:07:15 - Saron Yitbarek

多年以来,Mary Allen 从事过其他需要在办公室的工作。但是她更喜欢的是在家工作。

00:07:23 - Mary Allen Wilkes

自从我在 2001 年辞去最后一份全日制工作以来,我如今已经在家里工作了好几年。因此,我是一个家庭工作者。而且事实上,在我离职那天,我对自己说,我会继续工作,但我不想去办公室,也不想坐在办公桌前。但是到了那会,我们已经有了笔记本电脑,所以我能够坐在舒服的椅子上工作。

00:07:53 - Saron Yitbarek

因此,Clive,Mary Allen 的故事如此精彩,你该为《码农》一书去采访她。她不仅仅是计算机编程的先驱,而且还是远程工作的先驱,对吧?

00:08:03 - Clive Thompson

是的。我的意思是,据我所知,她是第一个有一台能让她在家工作的个人计算机的人。网上有一张她的令人惊叹的照片,照片上她正坐在她父母的楼梯脚下。他们把所有这些部件放在顶层的楼下,这是她放一张小桌子坐着工作的地方。而且这是对未来的一瞥,对吗?我是说,那时候她正在做的事情要花费 30、40 年时间才能够整体实现,因为她完全领先于自己所处的时代。

00:08:36 - Saron Yitbarek

编程是一项很理想的远程工作。甚至我自己的自我封闭经历也使我意识到,我已经这样做很多年了。因此当你和程序员们交谈的时候,有多少人喜欢这种工作方式?它变得有多流行?

00:08:52 - Clive Thompson

好吧,这很流行,而这是因为程序员们喜欢在家工作。绝大多数的程序员如果能够选择的话,他们会说,是的,我会一直在家工作。之所以会这样,是因为这提供了他们一个安静而又能够专注的地方,而且不会因为在隔间里有人拍他们的肩膀而被打扰。如果你要对他们说:“嘿,伙计们,各位,你们更愿意在哪里工作?”他们全都会更倾向于在家里工作。

00:09:26 - Saron Yitbarek

Basecamp 是一家大力提倡远程工作的技术公司。他们已经有 20 年历史了,而他们从最初就进行远程工作,甚至在远程工作流行之前。他们的员工在世界各地的家中工作。让我们来听听 David Heinemeier Hansson 怎么说。他和 Jason Fried 共同创立了 Basecamp。他也是 Ruby on Rails 的创造者。

00:09:49 - David Heinemeier Hansson

事实上,在我开始和 Jason 共事的前六个月,我们只是通过电子邮件和 IM 进行联系。我们甚至都没有打过电话。因此我想是过了六个月时间我们才通了第一次电话,并且花了一年多时间我们才见面。所以很长的一段时间里,这都不是传统观点。我们接触到了庞大的人才库,这些人意识到自己不想住在 旧金山 San Francisco 。他们不想去纽约生活,他们也不想去西雅图生活。他们不想在这些大型技术中心里的任何一个地方生活,然而他们确实是精通而且合格的人才。因此,Basecamp 允许他们这么远程工作,对于我们的招聘策略和维系策略都至关重要。

00:10:31

2012 年,我与其他企业家进行了一系列对话,向他们询问他们的工作实践,我们谈到了远程工作。而对于为什么远程工作行不通,他们只给了我这些老套的辩驳,“哦,你们没法合作。魔法只会发生在白板周围。”而我想,什么,人们还是这样想的?这怎么可能?白板在 Basecamp 基本上不存在。我们拥有的第一工具是写作。它是异步的,你自己书写并发布,然后等着就行。当富有创造力的人们有时间和空间去进行深度思考,并且将深度思考编辑成深度写作时,就会产生良好的协作。深度写作的并不是一行行的聊天组成的,而是完整的句子,形成段落,进而形成完整的论点。

00:11:29

然后,你可以利用时间的优势和平静来考虑这些观点。90% 时间拿来写作,然后 5% 拿来聊天,最后 5%,可能是随便什么,是用 Zoom 还是 Tubal 或者一些其他的视频连接屏幕共享之类的协作。

00:11:49 - Saron Yitbarek

Clive,David 在这里提出了一些非常有趣的观点。有些我从来都没想过。还有程序员正在使用的能使远程工作成功的其他工作方式吗?

00:12:00 - Clive Thompson

是的,当然有了。在他们知道需要和人进行联络,甚至可能是面对面接触时,他们会做一些时间安排。因此,确实有一些我交谈过的公司会说:“好吧,我们知道我们的开发人员不在这儿的时候能把他们的工作做到最好,但是我们希望他们有时能够在这里,我们想开一些面对面的会议。”他们仍然相信这一点。因此,他们会有比如像是这样的日程安排:好吧,在周二和周四的下午 1 点到 5 点,我们需要所有人都在办公室里,以便我们能够有时间进行交谈。剩下的时间,你可以去你想去的任何地方。如果你想的话,你可以在办公室里工作,你可以在任何你喜欢的地方工作。可以是在星巴克,也可以是在家里。因此,这种有趣的新安排是一件行之有效的事情。

00:12:44

我认为另外一件相当有效的事情是,弄清楚所有人都最喜欢的聊天或者交流模式是什么样的。就 David 而言,他喜欢的,以及他的团队所喜欢的,是长长的电子邮件会话。我肯定已经和喜欢这种交流模式的人交谈过了,但是其他人,他们实际上真的很喜欢 Slack,或者他们特别喜欢老式的 IRC,对吧?就是在黑色背景的绿色文字那种。但是他们弄清楚了它们的共存形式是什么,因为有过这样的现象,被谈论在线交流的心理学家们描述为 环境感知 ambient awareness ,这是一种当你没有和他们在一起时,知道其他人正在思考什么或是做些什么的能力。有很多技术可以使我们做到这一点。而最好的远程团队仔细考虑了他们的环境感知方法是什么,然后锁定并使用它。

00:13:39 - Saron Yitbarek

在我自己的远程工作经历中,有一件我发现确实很有用的事情是,通过 Hangout 或 Zoom 会话来进行协同工作,让流媒体运行着,并一直保持着连接。这确实是一种减少孤独感的绝妙方式,一定意义上有了相互陪伴的感觉,像在一个公司里面,除了每个人仍然还在做着自己的事情,但是这提供了可以拍拍某人肩膀的机会,因为我可以说:“嘿,我被这个功能难住了。你介意我耽搁你接下来的 5 到 10 分钟吗?和我结对帮助我摆脱困境吗?”因此,这成了一种着实很有用的方式,能让你获得某种形式的社交互动,并在需要的时候有机会得到帮助。

00:14:21 - Clive Thompson

这完全有道理。我是说,我认为很多人都试图找到某种方法来与有经验的人这么做,或者甚至坦率地讲,甚至和同龄人这么做,因为你能够得到很多,即使某人并不比你资深,但他们也有与你不同的大脑。

00:14:37 - Saron Yitbarek

是啊,当然了。我认为这是一种不同的交流形式,而不是一种低质量交流。

00:14:44 - Clive Thompson

一点也不。这就像是心理学家所谓的 元认知 metacognition ,有关思考的思考。确实,当前的任务是:今天我想要尝试的是哪一种思维方式?是和某人面对面交流还是与他们在线聊天更有助于思考呢?

00:15:01 - Saron Yitbarek

因此,既然我们所有人都被迫在家工作,各家公司都意识到他们仍然能够完成工作。人们的态度已经倾向于远程工作将成为主流了吗?

00:15:12 - Clive Thompson

这是真的是一个大问题,而我认为我们目前并没有答案。我认为即将要发生的事情是,有很大一部分工人,包括从未在家或者被允许在家工作的开发人员,我估计超过 50 %,他们将会要求将远程工作成为半永久性的。他们将发现自己的工作效率要高得多,并且希望更频繁地这样做,而且有一些会议中是不必要的,打断了他们在工作区中的工作流程。

00:15:47 - Saron Yitbarek

因此,如果远程工作是提高生产效率的好方法,随着时间的推移,它变得越来越流行,尤其是对于码农们来说,这是一种很好的完成工作的方式,它可以更方便,而我们这种工作形式确实意味着在家里工作,那么为什么这些大型科技公司要继续建造如此大的工场供其员工工作呢?

00:16:06 - Clive Thompson

有一部分是基于他们的想法或者担忧,即人们只有在面对面,并且彼此有着意想不到的联系的时候,才会有创造性思维产生。而这有一些实际上是基于科学的。我的意思是,有大量研究表明,当公司中的可能互相根本不认识的人们相遇时,会产生某种特定类型的交流和松散的协作与念头。我是说,这是典型的 饮水机效应 water cooler effect 。 3M 是一家大型的纸业公司,以发明了 便利贴 Post-it Notes 而闻名,这是一项价值数十亿美元的发明,只是因为发明了这种粘性物质的一个人遇到了另一个正在找寻一种能把纸张固定在适当位置的方法的一个人。而正是因为这个遇见彼此的机会,他们创造了该公司最具标志性的产品之一。

00:17:05

史蒂夫·乔布斯 Steve Jobs 打造了苹果公司总部,不仅仅最大程度地提升了人们在一起工作的机会,而且让他们在一些地方聚集,以迸发出创意的火花。

00:17:20 - Saron Yitbarek

我进行远程工作已经很多年了,不过只是我自己一个人工作。然后当我有了一个团队后,就和几个人一起工作,但是我在远程工作方面的经历里最多是和四个人共事。而且他们来自各个地方。我们中有人在洛杉矶,有人在布鲁克林,也有人在芝加哥,但是我想知道的是 —— 远程工作真的只有对于像这样的小型团队以及像 Basecamp 那样的小型公司才能取得成功吗?

00:17:44 - Clive Thompson

这是个很棒的问题。我看到的最成功的情况是,在开发团队很小的时候,在初创阶段,有 5 到 6 个人,而且事实上,他们之所以能够获得所需的人才,是因为他们说:“好的,你在俄罗斯,我在多伦多,我们其他人在田纳西,而我们将一起工作。”因此,你在某种类型的创业公司中经常看到这种情况,他们拥有他们所需的特定技能,并且需要得到他们认为最好的人才,但他们不会要求这些人搬家。这是都是小型团队。

00:18:22

我觉得管理通信要更加容易一些,因为你基本上可以将这视为一组节点之间的通信,并且随着节点的整张,需要通信的人数急剧增长。因此,只有 4 个或 5 个人的时候团队运转良好,到了比如 50 个人,这变得着实很困难,再到 150 个人,哦,我的天哪。对于一家有着 10000 个人的公司而言,弄清楚他们将如何做到这一点变得更为困难。

00:18:47 - Saron Yitbarek

让我们来听听有关远程工作的另一种观点。Dave West 是 scrum.org 的首席执行官。这家公司工作的基础是《 敏捷宣言 Agile Manifesto 》的第一条规则:个人和交流高于流程与工具。有请 Dave。

00:19:05 - Dave West

我认为现实是,如果你真的想要以极快的速度构建一个项目,以一种真正有效的方式协同工作,面对面可能仍然是最好的形式。这并不意味着它是唯一的方法,也不意味着你以其他的形式交流和分配就不能像从前那样行之有效。但是,最好和最容易的形式是面对面交流。时至今日,我仍然相信我曾经从事过的最令人愉快的软件项目,以及我曾经参与过的开发项目和团队都位于同一地点,位于同一个办公室里。而这是有许多原因的。这是因为周五晚上出去喝点儿啤酒,能够在发生可能影响他们工作的问题时,比如他们的狗死了或类似的事情,能够真正得到额外的理解。

00:20:04

你会得到那种额外的东西,而这是很难从一个分布式团队中得到的。但是另一方面,我认为不是所有最出色的软件工程师都居住在硅谷。所以我感到很矛盾,我觉得位于同一地点的团队有着巨大的价值,但是我也认为,由分散在不同地点,不同能力的人们所带来的好处,也是巨大的。因此,你必须找寻到一个平衡点,而这相当相当困难。我所知道的是如果你打算分散你的团队,那么你必须特别注意促进,并使得环境尽可能实际复制位于同一地点的团队所处的环境。这意味着经常让他们见面。因此,你们要进行大量的屏幕共享,并且花时间在一起,可能需要发起一个谷歌 Hangout,并使之持续运行并进行共享。这些事情变得非常非常重要。

00:21:10 - Saron Yitbarek

因此,Clive,开源项目是建立在协作和团队合作之上的,那么,远程工作会阻碍这一点吗?远程工作对真正的协作能有多大帮助?

00:21:22 - Clive Thompson

好吧,这个问题有关开源的的第一部分很容易回答,我认为实际上开源领域的大部分巨大成就都是在极端远程的情况下取得的,因为从定义上说,开源项目的魔法是一个开发者说:“嘿,我有一个我正在开发的代码库。有人有什么主意吗?”与其只是询问你公司里的 50 个人,你可以在网上询问数以百万计的人。因为实际上只有 1% 的 1% 的 1% 的 1% 的人会给你提供一个好主意。在你拥有 50 个人的组织里,可能没有人会在意你正在构建的奇怪的小库,而在整个星球的范围内,你就能找到 9 个人以令人难以置信的热情和兴趣帮助你开发这个东西。因此,从某种意义来讲,开源从定义上说通过远程协作大力促进了远程工作。

00:22:18

不过,它也受到了挑战,因为刚才 Dave 所谈及的所有这类事情都是真实的 —— 没有面对面接触的话,所有能够帮助组织运转的社会纽带真的很容易分崩离析。而你会在开源项目中看到这一点。它们真的能够转变成网络上反社会行为的噩梦,因为人们并不擅长去阅读彼此的语气。他们会认为自己只是直截了当,而其他人则会认为他们是在进行令人难以置信的羞辱。在面对面社交互动的情况下能在可能是短短 30 秒的时间内就能够化解的误会,能够撕裂开源社区,并已经撕裂了网络上的一些开源社区。

00:23:07 - Saron Yitbarek

Maude Mensah Simpson 是一名前端开发人员,她在居家工作的同时还是两个年幼孩子的母亲。她解释了在有了她第二个孩子以后,在远程工作方面所遇到的早期挑战之一。

00:23:18 - Maude Mensah Simpson

在我有了第二个孩子的时候,我只做了一年的开发人员。因此,当其他所有人都在办公室而就你不在的时候,你会错过太多太多东西。其中之一是人们对一般工作的小范围谈话。比我资深的开发人员会在我写代码的时候从我身后走过,然后他会看到我正在做的东西,并且会说:“哦,是的,我喜欢你的做法。”或者,“你在做什么呢?”他只是经过我工作区,这让他有机会和我谈论有关写代码以及如何正确地做事情。远程工作可能只依赖于你的个人自信,因为当你不在办公室里工作时,你会错过一些教学与指导。

00:24:10 - Saron Yitbarek

Clive,我想知道一名经验丰富的程序员和一名处于生涯起步阶段的程序员相比,远程工作的经验是不是会有所不同,因为我能够想象一个经验丰富的程序员,已经习惯于在办公室环境中工作,然后不得不转到远程工作。这变化可能并不是太糟糕,也并不是太具有挑战性。但是对一个处于职业生涯初期的程序员而言,我能看到他们真正受益于身边的导师,这些人拥有更多地经验,能够拍拍他们的肩膀然后问他们问题。因此,处于生涯初期的程序员会因为不在其他程序员身边而有所损失吗?

00:24:43 - Clive Thompson

我觉得他们会的。是的。我认为这是一个很合理的担忧,而且我确实从那些通过面对面合作成长起来的老开发者那里听到过,他们知道,通过和一名更资深的程序员进行一次 30 秒的面对面交谈,他们可以学到很多东西,并觉得茅塞顿开。Jeff Dean 是谷歌的一名资深工程经理。我从许多和他共事过的人那里听说,他就是一个非常有用的资深资源,因为人们会带着问题去找他,而他能够通过字面上直接看到解决方向,并且在 20 秒内说,“哦 …… ”虽然他不会直接给出答案,但是他会指出他所认为的问题所在,从而使他们茅塞顿开地回去,并变得令人难以置信得富有生产力。

00:25:36

因此,新人们能够从像那样的交互当中受益匪浅。我不是说你永远不能从远程得到这种交互,只是会更难。然后还有代码审查。因此,在一家管理良好的优秀公司里,你将会需要代码审查,你的同事,最好是有一定经验的资深人士会查看你的代码,坐下来讨论它,并问你是如何实现,以及为什么要这么做。而这个往复的过程会涉及到许多你可能作出的模糊决定,并使其清晰化,这对学习而言相当有价值。能够理解你为什么要做自己所做的事情,将其具象化给其他人,是十分有价值的。

00:26:20 - Saron Yitbarek

我所听说过的有关远程工作的问题之一是这种混合的想法,当你开始工作,然后到了 6 点钟,是时候停止工作了,但是你在工作过程中感到舒适,你会再额外地工作一两个小时,最终会因为远程工作而过度劳累。是这样吗?然后与之相反的是,你会在远程工作的时候摸鱼吗?

00:26:43 - Clive Thompson

你可能会摸鱼,但是在我对开发人员及其经理的所有访谈中,从来都没有听说过这种情况。事实上恰恰相反。我更多听到的是经理们担心人们永远不休息,永远都不离开工作。我也从开发人员那里听说过,难以摆脱工作。对于开发人员而言,总是很难停止去思考问题。当你居家工作的时候,你会花费 8 个小时的沉浸式时间,然后你会完成许多工作,但是由于你实际上并没有去其他地方,你的身体没法帮着欺骗你的思维,进入关闭状态。就像你离开了办公室,坐上了汽车、公交车、踏板车或是步行回家,你实际上就从一个地方到了另一个地方,而这种物理信号会帮助你的大脑自我复位。

00:27:35 - Clive Thompson

这里涉及到了很多很多的科学依据。我是说,从字面上看,实际上从一个地方去到另一个地方能够帮助你的大脑进行自我复位。当你没有能力这么做时,当你居家工作,编码问题的天然象棋式的心理空间就很难告诉你的大脑停止工作。因此,诸多原因导致了居家工作的人们继续以自己明知道不健康的方式去工作,却难以停下来。

00:28:03 - Saron Yitbarek

David Heinemeier Hansson,请。

00:28:05 - David Heinemeier Hansson

随着时间的推移,我们对于 Basecamp 的人们如何处理这一问题有过一些有趣的轶事。我们过去有一位数据分析师,他有两双拖鞋。他会在走进办公室的时候穿上他的工作拖鞋,而换下他的居家拖鞋。它们只是一双拖鞋而已,只不过是将工作与家庭分隔开来。而我认为这一分隔尤为重要。我觉得对许多使用他们的家来工作的人而言,能够分出家里的一个房间用于工作,然后当你离开那间屋子时,你就不再工作了,这也不失为一种健康的行为。

00:28:41 - Saron Yitbarek

我喜欢这个拖鞋的点子,就像 Rogers 先生那样。接下来还是 Maude。经过在家和孩子一起工作了几年后,她想出了自己的方式,使得居家工作行得通。

00:28:53 - Maude Mensah Simpson

(在家工作)很容易对时间失去控制。你可能会坐在那里好几个小时,却并不知道自己已经在家写了多久代码,因为你在家里。我的解决方法是,我有一个 Pomodoro 计时器,我会确保大概每小时都会有专门的休息时间。然后就是能够将家和工作分隔开来。我在家里有一个办公室,我不会允许我的家庭生活进入到这间办公室里,以保证将其二者分隔。因此,每当我走出去时,我可以是妈妈或是我不工作时候的任何身份,但是当我走进了办公室以后,这是上班时间,而这使得进入工作流程更为容易。我每天都会进行一次快速的状态更新。早上,我会让他们知道这是我今天要做的工作,然后到了夜晚,我会让他们知道我做到了什么程度。我认为在进行远程工作的时候不存在类似于过度沟通之类的事情。所以是的,只是沟通,沟通。

00:30:02 - Saron Yitbarek

因此,Clive,有没有其他建议或是窍门来远程管理员工,或者甚至是成为一名远程工作者?

00:30:08 - Clive Thompson

当然,如果一家公司想要拥有一种严肃的远程文化,那么重要的一点是,高层管理者也应当远程工作,这样就不会有产生一种远程工作是一种次级状态、重大决定是由重要的人面对面作出的,而远程工作人员并不参与其中的感觉。我在为我的书籍做研究时所遇到的一个问题是,当我与 Postlight 的一些工程师交谈时遇到的,那是纽约市一家很了不起的公司。他们主要为媒体行业开发应用程序。工程负责人进行着远程工作,他在 纳什维尔 Nashville 南部的树林里工作。当我和他交谈时,他说:“这确实是非常重要的一件事情,因为我们有许多远程工作的工程师,他们乐于知道在领导工程师团队的我也是远程工作的。”这意味着公司里的每一个人都非常用心地思考着如何远程工作,因为在这部分中主持工作的人本身就是远程。

00:31:09 - Saron Yitbarek

自从 2020 年 3 月以来,我们大多数人都不得不彻底改变工作方式 —— 居家工作,无论我们过去是否以及是这么做的。而当我们居家工作时,这就取决于我们个人的工作风格,并且确保无论我们从事的是什么项目,无论工作于什么公司,无论在管理什么人或是被什么人管理,我们的个人喜好能够得到尊重,我们可以灵活地以我们擅长的方式工作。以人为本不仅仅是《敏捷宣言》的第一条规则,也是开源的方式,而且它是能够产生最好结果的方式。请访问 redhat.com/commandlineheroes 以获取这一集的更多研究结果。下一次,在我们有关职业生涯的这一迷你季的最后一集中,Clive 将会回来和我们一起解决“你会成为什么样的程序员”这一问题。非常感谢你加入我们, Clive。

00:32:07 - Clive Thompson

谢谢,Saron。

00:32:08 - Saron Yitbarek

你正在收听的是《 代码英雄 Command Line Heroes 》,一档 红帽 Red Hat 的原创播客节目。我是 Saron Yitbarek。

00:32:15 - Clive Thompson

我是 Clive Thompson。

00:32:16 - Saron Yitbarek

好的。然后呢?

00:32:18 - Clive Thompson

哦我的天哪。我们能最后一次说“坚持编程”吗?

00:32:23 - Saron Yitbarek

坚持编程。

00:32:25 - Clive Thompson

坚持编程。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-5/where-coders-code

作者:Red Hat 选题:bestony 译者:JonnieWayy 校对:windgeek, Daniel4078, wxy

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