2022年7月

UEFI 攻击对我们来说是几乎是不可见的

安全研究人员发现 UEFI 的 Rootkit 并不罕见,而且难以检测。卡巴斯基研究人员在对一种复杂的 UEFI Rootkit 研究后表示:“这种 UEFI 植入物似乎自 2016 年底以来就已经在野外使用,这甚至早在 UEFI 攻击开始被公开描述之前。”

消息来源:ARS Technica
老王点评:这说明很可能在我们都毫不知情的情况下,已经被偷偷入侵和窃取了很多信息。

DeepMind 发布几乎所有已知蛋白质的预测结构

蛋白质由氨基酸链组成,折叠成复杂的形状,这在很大程度上决定了它们的功能。一旦你知道蛋白质是如何折叠的,你就可以开始了解它是如何工作的,以及如何改变它的行为。2020 年 11 月,DeepMind 宣布已开发出一个名为 AlphaFold 的程序,可以使用算法快速预测其结构。去年,DeepMind 发布了 20 个物种的蛋白质结构——包括人类表达的几乎所有 20,000 种蛋白质。现在它已经完成了这项工作,并发布了超过 2 亿种蛋白质的预测结构。基本上,你可以认为它涵盖了整个蛋白质宇宙。

消息来源:卫报
老王点评:这才是 AI 应该造福人类的地方,而不是用在监控、深度伪造这种地方。

新版 GB18030 字符集标准发布

市场监管总局标准委发布了最新的 GB 18030 中文编码字符集。GB 18030 首次发布于 2000 年,2005 年第一次修订,这是第二次修订。2022 标准将于 2023 年 8 月 1 日正式实施,共收录汉字 87887 个,比上一版增加录入了 1.7 万余个生僻汉字。除了汉字,还包括了 10 种我国的少数民族语言的文字。

消息来源:新华网
老王点评:这是十多年来又一次修订,不过现在更多用的是 Unicode 了。

最主要的是要精通 JavaScript,这样你就可以减少 ReactJS 之旅的复杂性。

React 是一个建立在 HTML、CSS 和 JavaScript 之上的 UI 框架,其中 JavaScript(JS)负责大部分的逻辑。如果你对变量、数据类型、数组函数、回调、作用域、字符串方法、循环和其他 JS DOM 操作相关的主题有一定了解,这些将极大地加快学习 ReactJS 的步伐。

你对现代 JavaScript 的概念将决定你能多快地掌握 ReactJS 的步伐。你不需要成为一个 JavaScript 专家来开始你的 ReactJS 之旅,但就像对食材的了解是任何希望掌握烹饪的厨师所必须的一样,学习 ReactJS 也是如此。它是一个现代的 JavaScript UI 库,所以你需要了解一些 JavaScript。问题是,需要多少?

示例解释

假设我被要求用英语写一篇关于“牛”的文章,但我对这种语言一无所知。在这种情况下,为了让我成功地完成任务,我不仅要对主题有概念,还要对指定的语言有概念。

假设我获得了一些关于主题(牛)的知识,我如何计算我需要知道多少英语才能写出规定的主题?如果我必须用英语写一篇关于其他复杂话题的文章呢?

这很难搞清楚,不是吗?我不知道我要写关于这个话题的什么东西,但它可能是任何东西。所以要想开始,我必须要有适当的英语知识,但还不止于此。

极端现实

在开始使用 ReactJS 之前,所需的 JavaScript 数量也是如此。根据我的例子情景,ReactJS 是话题“牛”,而 JavaScript 是英语。要想在 ReactJS 中获得成功,对 JavaScript 的掌握很重要。如果没有适当的 JavaScript 基础,一个人是很难专业地掌握 ReactJS 的。无论我对这个主题有多少知识,如果我不知道语言的基础,我就不能正确地表达自己。

多少才算够?

根据我的经验,当你开始你的 ReactJS 之旅时,你应该已经熟悉了:

  • 变量
  • 数据类型
  • 字符串方法
  • 循环
  • 条件式

你应该对这些具体的 JavaScript 熟悉。但这些只是最基本的先决条件。当你试图创建一个简单的 React 应用时,你将不可避免地需要处理事件。所以,普通函数、函数表达式、语句、箭头函数的概念,箭头函数和普通函数的区别,以及这两类函数中 this 关键字的词义范围,这确实很重要。

但问题是,如果我必须使用 ReactJS 创建一个复杂的应用怎么办?

获得启发

在 JavaScript 中处理事件、传播操作符、解构、命名导入和默认导入将帮助你理解 React 代码的工作机制。

最重要的是,你必须了解 JavaScript 本身背后的核心概念。JavaScript 在设计上是异步的。当出现在文件底部的代码在文件顶部的代码之前执行时,不要惊讶。像 promise、callback、async-await、map、filter 和 reduce 这样的结构,是 ReactJS 中最常见的方法和概念,尤其是在开发复杂的应用时。

最主要的是要精通 JavaScript,这样你可以减少 ReactJS 之旅的复杂性。

越来越好

我很容易说出你需要知道的东西,但你去学习它完全是另一回事。大量练习 JavaScript 是必不可少的,但你可能会感到惊讶,我认为这并不意味着你必须等到掌握它。有些概念事先很重要,但你可以在学习过程中学到很多东西。练习的一部分是学习,所以你可以开始使用 JavaScript,甚至是 React 的一些基础知识,只要你以舒适的速度移动并理解在你尝试任何严肃的事情之前做你的“家庭作业”是一个要求。

立即开始使用 JavaScript

不要费心等到你了解了 JavaScript 的所有方面。那永远不会发生。如果这样做,你将陷入学习 JavaScript 的永远循环中。你们都知道技术领域是如何不断发展和迅速变化的。如果你想开始学习 JavaScript,请尝试阅读 Mandy Kendall 的介绍性文章 通过编写猜谜游戏学习 JavaScript。这是一种快速入门的好方法,当你看到了可能的情况,我认为你可能会发现很难停下来。


via: https://opensource.com/article/22/7/learn-javascript-before-reactjs

作者:Sachin Samal 选题:lkxed 译者:geekpi 校对:wxy

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

Debian 会考虑在官方版本中添加非自由固件吗?如果他们想解决 Debian 开发人员重点提出的问题,这似乎是一种可能性。

debian

由于 Debian 的稳定性和新功能之间的平衡,它是最受欢迎的 Linux 发行版之一。

此外,它不附带任何非自由固件。

但是,对于想要在较新硬件上使用 Debian 的用户来说,这已成为一个问题。

大多数最新的设备和配置都需要非自由固件才能正常工作,其中包括 Wi-Fi、图形等。

为了解决这个问题,Debian 开发人员、前 Debian 项目负责人 Steve McIntyre 已经积极讨论了一段时间。

正如 Geeker's Digest 所发现的,在 DebConf 22 会议上,Steve 最近向用户和开发人员着重谈到了修复固件混乱这件事。

在官方版本中包含非自由固件

至于目前的情况,你可以找到带有非自由固件的非官方 Debian 镜像。

然而,并不是每个用户都知道它,即使它在 Debian 的下载页面上被宣传,“非官方”也不是用户更喜欢推荐的镜像的东西。

此外,当用户可以选择 Ubuntu 或任何基于 Ubuntu 的发行版作为替代方案时,期望用户安装非自由固件也是违反直觉的。

不仅限于这些问题,Steve 在他的 博客 中还提到了其他一些问题,包括:

  • 维护单独的非自由镜像非常耗时。
  • 由于缺乏非自由固件,许多用户不喜欢官方镜像。

如果我们希望更多用户在通用硬件上使用 Debian,Steve 建议尽早解决这个问题。

可能会通过安装程序中的提示让用户安装非自由固件,类似于 Ubuntu 所做的。

此外,在他在 DebConf 22 的演讲中,似乎大多数开发人员投票支持在官方 Debian 镜像中添加非自由固件。

随着他重点提出这件事,Steve 得到了寻找解决这个问题的社区用户/开发人员的更多关注。

简单/方便的出路:在官方发布的镜像中添加非自由固件。

那么,Debian 最终会在其新版本中添加对非自由固件的支持吗? Debian 12 会让这成为现实吗?

在下面的评论中分享你的想法。


via: https://news.itsfoss.com/debian-non-free/

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

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

谷歌已经干砸了 267 款硬件

据一家国外网站不完全统计,预计到明年 3 月(按照谷歌的预告),谷歌画上句号的硬件产品有 267 款。其中包括 Nexus 手机(2012-2015)、谷歌眼镜(2012-2015)、谷歌 Cardboard VR 纸盒(2014-2019)等等。

消息来源:Tech Going
老王点评:看来谷歌还需要在硬件上证明自己,不过似乎这些只有苹果在硬件上一直保持不错的成绩,其它软件大厂大多在硬件上的成功不如其软件。

漏洞披露 15 分钟后黑客就开始扫描

最近发布的一份事故响应报告称,黑客一直在监视安全公司的新漏洞披露报告,通常在 CVE 公布 15 分钟后就开始扫描漏洞,在数小时内就能观察到首次漏洞利用尝试。以 2022 年 5 月 4 日披露的 F5 BIG-IP 远程执行漏洞 CVE-2022-1388 为例,在 CVE 公布 10 小时内就记录到了 2552 次扫描和漏洞利用尝试。据该报告,2022 年上半年利用最多的漏洞是 ProxyShell 占 55%,其次是 Log4Shell 占 14%,SonicWall 7%,ProxyLogon 5%。

消息来源:Bleeping Computer
老王点评:从 CVE 公布之时,就是安全专家和黑客赛跑的发令枪。我觉得作为安全专家,真是太难了。

华为正式发布 HarmonyOS 3

27 日,华为正式发布了 HarmonyOS 3,将于 9 月启动规模升级。用户已经可以申请测试版尝鲜,支持多达 14 款设备。截止今年 7 月,搭载 HarmonyOS 2 的华为设备突破 3 亿台。此次的 HarmonyOS 3,升级主要围绕超级终端、鸿蒙智联、万能卡片、流畅性能、隐私安全和信息无障碍六大方面。

消息来源:鸿蒙
老王点评:期待了很久的鸿蒙 3 终于发布了,你准备升级你的华为手机吗?

在 Ubuntu 中使用 Docker Compose 安装 Docker 引擎的分步指导。

在这篇文章中,我们将会明白 Docker 是什么,如何 在 Ubuntu 中安装 Docker 引擎 。此外,我们也将会明白如何 安装 Docker Compose ,它是一个定义并运行多容器的 Docker 应用。

我们已经在 Ubuntu 22.04 LTS 中正式的测试了这份指南。然而,它也应该对旧版本如 20.04 LTS 和 18.04 LTS 有效。为了更好的安全性和稳定性,我推荐你使用最新的版本 —— Ubuntu 22.04 LTS 。

什么是 Docker ?

Docker 是一个快捷、轻便的系统级虚拟化技术,开发者和系统管理员可以使用它构建具备所有必要依赖项的应用程序,并将其作为一个包发布。

Docker 与其他如 VMWare 、Xen 、以及 VirtualBox 等工具的虚拟化方式不同,每个虚拟机不需要单独的客户操作系统。

所有的 Docker 容器有效地共享同一个主机系统内核。每个容器都在同一个操作系统中的隔离用户空间中运行。

Docker 容器可以在任何 Linux 版本上运行。比如说你使用 Fedora ,我用 Ubuntu 。我们能相互开发、共享并分发 Docker 镜像。

你无需担心操作系统、软件以及自定义设置,任何事都不用担心。只要我们的主机安装了 Docker ,就能持续开发。简言之,Docker 能够在任何地方运行!

前文中你读到了两个词:Docker 镜像Docker 容器 ,或许你在想它们的区别。

通俗地说,Docker 镜像是一个描述容器应该如何表现的文件,而 Docker 容器是 Docker 镜像的运行(或停止)状态。

希望你能够理解 Docker 的基础概念。更多细节,你可以参考文章末尾的 Docker 官方指导手册。

Docker 依赖项

为了安装并配置 Docker ,你的系统必须满足下列最低要求:

  1. 64 位 Linux 或 Windows 系统
  2. 如果使用 Linux ,内核版本必须不低于 3.10
  3. 能够使用 sudo 权限的用户
  4. 在你系统 BIOS 上启用了 VT(虚拟化技术)支持 on your system BIOS(参考: 如何查看 CPU 支持 虚拟化技术(VT)
  5. 你的系统应该联网

在 Linux ,在终端上运行以下命令验证内核以及架构详细信息:

$ uname -a

输出样例:

Linux Ubuntu22CT 5.15.35-3-pve #1 SMP PVE 5.15.35-6 (Fri, 17 Jun 2022 13:42:35 +0200) x86_64 x86_64 x86_64 GNU/Linux

正如上面你看到的那样,我的 Ubuntu 系统内核版本是 5.15.35-3-pve 并且系统架构是 64 位x86\_64 x86\_64 x86\_64 GNU/Linux)。

注意: 这里,我在 Proxmox 中使用 Ubuntu 22.04 容器。这是你看到上方内核版本中有 “pve” 字符的原因。如果你正在使用 Ubuntu 实体(或者虚拟)机,你将看到系统版本为 5.15.35-3-generic

内核版本需要不低于最低要求的版本,并且是 64 位机器。这样不会有任何问题,我们能顺利安装并使用 Docker 。

请注意你使用哪一个 Ubuntu 系统不重要。并且你使用 Ubuntu 桌面或服务器版本,亦或者其他 Ubuntu 变种如 Lubuntu 、Kubuntu 、Xubuntu ,都不重要。

只要你的系统内核版本不低于 3.10 ,并且是 64 位系统,Docker 都会正常运行。

在 Ubuntu 22.04 LTS 中安装 Docker

首先,更新你的 Ubuntu 系统。

1、更新 Ubuntu

打开终端,依次运行下列命令:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade

2、添加 Docker 库

首先,安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

然后,运行下列命令添加 Docker 的官方 GPG 密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 Docker 官方库:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

使用命令更新 Ubuntu 源列表:

$ sudo apt update

3、安装 Docker

最后,运行下列命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE:

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Install Docker In Ubuntu

当然你也可以安装其他版本 Docker 。运行下列命令检查可以安装的 Docker 版本:

$ apt-cache madison docker-ce

输出样例:

docker-ce | 5:20.10.17~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages

你可以挑选上面列表中的任何版本进行安装。例如,安装 5:20.10.16~ 3-0 ~ubuntu-jammy 这个版本,运行:

$ sudo apt install docker-ce=5:20.10.16~3-0~ubuntu-jammy docker-ce-cli=5:20.10.16~3-0~ubuntu-jammy containerd.io

安装完成后,运行如下命令验证 Docker 服务是否在运行:

$ systemctl status docker

你会看到类似下面的输出:

* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-06-27 13:07:43 UTC; 3min 4s ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 2208 (dockerd)
      Tasks: 8
     Memory: 29.6M
        CPU: 126ms
     CGroup: /system.slice/docker.service
             `-2208 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.071453522Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:>
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.071459974Z" level=info msg="ClientConn switching balancer to \"pick_first\"" >
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.130989294Z" level=info msg="Loading containers: start."
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.187439756Z" level=info msg="Default bridge (docker0) is assigned with an IP a>
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.235966874Z" level=info msg="Loading containers: done."
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.240149866Z" level=warning msg="Not using native diff for overlay2, this may c>
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.240281966Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=over>
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.240386856Z" level=info msg="Daemon has completed initialization"
Jun 27 13:07:43 Ubuntu22CT systemd[1]: Started Docker Application Container Engine.
Jun 27 13:07:43 Ubuntu22CT dockerd[2208]: time="2022-06-27T13:07:43.276336600Z" level=info msg="API listen on /run/docker.sock"

好极了!Docker 服务已启动并运行!

如果没有运行,运行以下命令运行 Docker 服务:

$ sudo systemctl start docker

使 Docker 服务在每次重启时自动启动:

$ sudo systemctl enable docker

可以使用以下命令查看已安装的 Docker 版本:

$ sudo docker version

输出样例:

Client: Docker Engine - Community
  Version:           20.10.17
  API version:       1.41
  Go version:        go1.17.11
  Git commit:        100c701
  Built:             Mon Jun  6 23:02:46 2022
  OS/Arch:           linux/amd64
  Context:           default
  Experimental:      true

Server: Docker Engine - Community
  Engine:
    Version:          20.10.17
    API version:      1.41 (minimum version 1.12)
    Go version:       go1.17.11
    Git commit:       a89b842
  Built:            Mon Jun  6 23:00:51 2022
    OS/Arch:          linux/amd64
    Experimental:     false
  containerd:
    Version:          1.6.6
    GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
  runc:
    Version:          1.1.2
    GitCommit:        v1.1.2-0-ga916309
  docker-init:
    Version:          0.19.0
    GitCommit:        de40ad0

Check Docker Version

4、测试 Docker

让我们继续,测试 Docker 是否运行正常:

运行:

$ sudo docker run hello-world

上述命令会下载一个 Docker 测试镜像,并在容器内执行一个 “hello\_world” 样例程序。

如果你看到类似下方的输出,那么祝贺你!Docker 正常运行在你的 Ubuntu 系统中了。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Run Hello World Docker Container

很好!可以使用 Docker 了。

5、作为非 root 用户运行 Docker (选做)

默认情况下,Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。由于 Unix 套接字由 root 用户拥有,Docker 守护程序将仅以 root 用户身份运行。因此,普通用户无法执行大多数 Docker 命令。

如果你想要在 Linux 中作为非 root 用户运行 Docker ,参考下方链接:

我个人不这样做也不推荐你这么做。如果你不会在互联网上暴露你的系统,那没问题。然而,不要在生产系统中以非 root 用户身份运行 Docker 。

在 Ubuntu 中安装 Docker Compose

Docker Compose 是一个可用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,你可以使用 Compose 文件来配置应用程序的服务。然后,使用单个命令,你可以从配置中创建和启动所有服务。

下列任何方式都可以安装 Docker Compose 。

方式 1、使用二进制文件安装 Docker Compose

这里 下载最新 Docker Compose 。

当我在写这篇文章时,最新版本是 2.6.1

运行下列命令安装最新稳定的 Docker Compose 文件:

$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果有更新版本,只需要将上述命令中的 v2.6.1 替换为最新的版本号即可。请不要忘记数字前的 "v"

最后,使用下列命令赋予二进制文件可执行权限:

$ sudo chmod +x /usr/local/bin/docker-compose

运行下列命令检查安装的 Docker Compose 版本:

$ docker-compose version
Docker Compose version v2.6.1

方式 2、使用 Pip 安装 Docker Compose

或许,我们可以使用 Pip 安装 Docker Compose 。Pip 是 Python 包管理器,用来安装使用 Python 编写的应用程序。

参考下列链接安装 Pip 。

安装 Pip 后,运行以下命令安装 Docker Compose。下列命令对于所有 Linux 发行版都是相同的!

$ pip install docker-compose

安装 Docker Compose 后,使用下列命令检查版本:

$ docker-compose --version

你将会看到类似下方的输出:

docker-compose version 2.6.1, build 8a1c60f6

恭喜你!我们已经成功安装了 Docker 社区版和 Docker Compose 。

安装了 Docker,然后呢?查看本系列的下一篇文章,了解 Docker 基础知识。

要在基于 RPM 的系统(例如 RHEL、Fedora、CentOS、AlmaLinux、Rocky Linux 和 openSUSE)中安装 Docker,请参考以下链接。

总结

在这篇教程中,我们讨论了 Docker 是什么,如何在 Ubuntu 22.04 LTS Jammy Jellyfish 中安装 Docker 。然后学习了如何通过运行 hello-world Docker 镜像测试 Docker 是否成功安装。最后,我们通过使用两种不同的方式安装 Docker Compose 作为本教程的结尾。

资料


via: https://ostechnix.com/install-docker-ubuntu/

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

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

前谷歌 CEO 将 AI 比作核武器

前谷歌 CEO Eric Schmidt 将 AI 比作核武器,呼吁建立类似相互保证毁灭的威慑制度,防止世界最强大的国家率先发动攻击。在上个世纪的五六十年代,美国和苏联这两个超级大国最终达成了核武器试验条约,以防止核试验粉尘扩散。Schmidt 认为中美可能需要在 AI 领域达成类似的条约。

消息来源:VICE
老王点评:或许有一天 AI 武器化,真的需要到了各个 AI 大国坐下来制定一些规则,但是目前这个论调显然是针对性的攻击而已。

流行的 KDE 桌面停靠区 Latte Dock 停止开发

在过去的几年里,Latte Dock 一直是 KDE Plasma 桌面上流行的类似 macOS 的桌面停靠区。它去年发布了 0.10。昨天,它的作者宣布已经结束了在这个项目上的工作,“我正在退出 Latte 的开发。主要是我没有时间、动力或兴趣了……我希望我能够发布 Latte v0.11,但不幸的是我做不到。”他也希望有其他开发者接手开发这个已经有 6 年之久的流行软件。

消息来源:Phoronix
老王点评:虽然很可惜,不过我想以开源社区的生命力,很快就会有人接手或出现它的复刻版。

科技公司们倡议废除闰秒

谷歌、微软、Meta 和亚马逊周一发起了一项旨在废除闰秒的公共行动,美国和法国计时当局已对此举表示赞同。1972 年以来,已经增加了 27 次闰秒。在增加闰秒时,23:59:59 的下一秒并非变成 00:00:00,而是会额外增加一个 23:59:60 的计时,也就是最后一分钟变成 61 秒。这就会给计算机造成很大的困扰,尤其是那些需要依赖精确的计时服务器的服务,它曾在 2012 年引发了 Reddit 的大规模宕机。谷歌率先提出了“闰秒弥补”的解决方案,即在一天的过程中以许多微小的步进来弥补闰秒的变化。

消息来源:CNET
老王点评:1972 年制定闰秒政策时,并没有考虑当时刚刚开始的互联网服务,但是现在互联网已经空前强大,应该采取更好的解决闰秒问题的方法。