2023年2月

ChromeOS 现在运行在 Linux 和 Zephyr 之上

你可能知道谷歌的 ChromeOS 是一个 Linux 发行版。但是,现在,它在引擎盖下运行的不止是 Linux。有证据表明,ChromeOS 最初是在 2009 年 11 月从 Ubuntu Linux 中产生的,Canonical 帮助了谷歌。然而,几个月之后,Chrome OS 就切换到了 Gentoo Linux。是的,没错,那个 Linux 铁杆极客的发行版。这是因为“支持特定板卡构建和改进我们的工具的需求变得更加迫切,……Portage 的构建工具很适合我们的需要。”但 ChromeOS 也不会停留在 Gentoo 上,最近的 ChromeOS 版本是基于谷歌定制的 Linux 内核的。而如今,它也在实时操作系统 Zephyr 上运行。2021 年 7 月,Chromebook 从最初的谷歌 Chrome 嵌入式控制器切换到基于 Zephyr 的控制器。这是一个永远在线的超低功率微控制器,对于延长 Chromebook 的电池寿命至关重要。

消息来源:The Register
老王点评:简单的来说,就是 ChromeBook 在醒着到时候运行 Linux,睡着时运行 Zephyr。

GoDaddy 遭到了持续多年的入侵

GoDaddy 是世界上最大的域名注册商之一,它还为全球 2000 多万客户提供了托管服务。GoDaddy 是在去年 12 月初收到客户报告其网站被重定向到随机域名后,发现未知攻击者入侵了它的 cPanel 共享托管环境。黑客不仅在它的服务器上安装了恶意程序,还窃取了部分服务相关的源代码。它的调查显示攻击者在它的服务器上活跃了多年,近几年披露的多起安全事故都与此相关。其中 2021 年 11 月的事件影响到了它管理的 120 万 WordPress 客户。

消息来源:Bleeping Computer
老王点评:还好这次披露的事件目前只涉及到 Web 托管部分,而不是 DNS 部分。

谷歌向苹果提供上百亿的 Chrome iOS 搜索收入分成

虽然大家都知道谷歌向苹果、三星和其他制造商支付了数十亿美元,以使其搜索引擎成为设备的默认配置,但据披露,英国竞争和市场管理局一直在调查 iOS 上的 Chrome 浏览器,以及它在谷歌与苹果的搜索收入分享协议中的作用。谷歌与苹果的交易到 2021 年达到了每年 150 亿美元之高。英国竞争监督机构担心,谷歌对苹果的付款使苹果不愿意与谷歌竞争,大量的付款就是为了什么都不做。这或许可以解释为什么苹果公司虽然利润丰厚,但却没有推出搜索引擎,也没有投资开发其 Safari 浏览器与 Chrome 竞争。

消息来源:The Register
老王点评:这或许就是买路钱。

Qiskit 是一个开源 SDK,借助它可以免费访问量子模拟器和硬件资源。

 title=

经典计算机是基于二进制数的,二进制数有 0 和 1 两种形式。这并不是由于二进制逻辑系统比有更多基本状态的逻辑系统(甚至包括模拟计算机)有内在优势。而是,对电路元件的开关操作很容易实现,而且借助先进的半导体技术,可以制造出体积小且价格低廉的计算机。

但它们并非没有局限性。经典计算机求解某些问题的效率并不高,主要是那些时间或内存成本随着问题的规模(O)呈指数级增长的问题。我们把这种问题称为 O(2 n)(大 O 表示法)。

大部分现代加密方法甚至依赖这一特性。把两个大素数相乘,耗费的成本低(O(n 2)),但进行反向操作就非常耗时。所以只要使用的数字足够大,对它分解质因数就非常困难。

进入量子世界

量子计算的基础数学和力学知识不在本文的探讨范围内。然而,还是有一些基础知识需要预先说明。

量子计算机以 量子比特 代替了二进制比特 —— 量子比特是体现量子属性的可控计算单元。构成量子比特的通常是超导元件,或自然界中存在的量子实物(例如电子)。量子比特可以以“ 叠加 superposition ”状态存在,叠加态是 0 和 1 以某种方式组合起来的复杂状态。你可能听说过,量子比特既为 1 又为 0,这种说法并不准确。真实情况是,如果进行测量,量子比特的状态会坍缩为 0 或 1。在数学上,量子比特未测量的状态可以看作 布洛赫球面 Bloch sphere 的几何表示上的一个点。

尽管对习惯使用经典计算机的任何人来说,叠加态是一个全新的概念,但一个量子比特本身并没有什么趣味性。量子计算的第二个概念是“ 干涉 interference ”。真正的量子计算机本质上是统计性质的。量子算法对干涉图案进行编码,增加了可以测量编码方案的状态的概率。

叠加和干涉的概念虽然新颖,但在物理世界中也有对应的现象。而量子力学中的“ 纠缠 entanglement ”却没有,但它是实现指数级量子加速的真正关键。借助量子纠缠,对一个微观粒子的测量可以影响后续对其他被纠缠的粒子的测量结果 —— 即使是那些物理上没有关联的粒子。

量子计算能做什么?

今天的量子计算机就其包含的量子比特的数量而言是相当小的,只有几十到几百个。因此,虽然人们不断开发新的算法,但比同级别经典计算机运行得快的硬件还未问世。

但是在很多领域,量子计算机能带来很大好处。例如,它能提供较好的方法来模拟自然界的量子系统,例如分子,其复杂程度超过了经典计算机的建模能力。量子计算也跟线性代数有关,它是机器学习和很多其他现代优化问题的基础。因此,我们有理由认为量子计算也可以很好地适用于此。

在量子算法相对于普通算法的优势方面,Shor 算法 是经常被提及的例子,它在较早时候就用于分解质因数。它由 MIT 的数学家 Peter Shor 于 1994 年发明,量子计算机目前还不能在较大的问题上运行该算法。但它已经被证明可以在 O(n 3) 时间内完成工作,而不像经典算法那样需要指数级的时间。

从使用 Qiskit 开始

你可能在想:“我身边没有量子计算机,但我很想尝试一下。能做到吗?”

我们来了解一下名称为 Qiskit 的开源项目(采用 Apache 2.0 许可证)。它是一个软件开发包(SDK),用于访问 IBM 量子实验室的量子计算模拟器和物理硬件(免费)。你只需要注册获得一个 API 密钥。

当然,如果要深入研究 Qiskit,需要很多其他方面的知识,线性代数只是其中一部分,这些都远远超出了本文的范围。如果你需要深入学习,网上有很多免费资源,其中也不乏完整的教科书。然而,体验一下也很简单,只需要一些 Python 和 Jupyter notebook 的基础知识即可。

为了增加趣味性,我们全程使用 Qiskit 教程 的 “Hello, World!” 程序:

首先,安装教程的相关工具和部件:

pip install git+https://github.com/qiskit-community/qiskit-textbook.git#subdirectory=qiskit-textbook-src

下一步,进行软件包的导入:

from qiskit import QuantumCircuit, assemble, Aer
from math import pi, sqrt
from qiskit.visualization import plot_bloch_multivector, plot_histogram

Aer 是本地模拟器。Qiskit 包括四个组件:Aer、基础组件 Terra、用于实际的量子系统上的噪音和错误处理的 Ignis,以及用于算法开发的 Aqua

# Let's do an X-gate on a |0> qubit
qc = QuantumCircuit(1)
qc.x(0)
qc.draw()

虽然底层数学原理还涉及到矩阵乘法,量子计算机中 X 门也可以认为类似于经典计算机中的非门。(事实上,它经常被称为 "非门")。

现在,运行并测量它。结果跟你预期的一样,因为量子比特的初始状态是 |0>,接着反转,然后被测量。(使用 |0>|1> 与经典计算机中的比特区分开来。)

# Let's see the result
svsim = Aer.get_backend('statevector_simulator')
qobj = assemble(qc)
state = svsim.run(qobj).result().get_statevector()
plot_bloch_multivector(state)

 title=

布洛赫球体显示了预期的运行结果

结论

在某些方面,你可以把量子计算看作用于经典计算机的一种独特的协处理器,跟 GPU 和 FPGA 一样。不同的是,在可预见的未来,量子计算机可以被用户像网络资源一样访问到。另一个差异是,它们的工作有本质的不同,所以不像很多其他你熟悉的加速器那样。因此,人们对算法开发如此感兴趣,并投入大量资源来研究量子在何时何地的性能最好。了解一下这些东西也无妨。


via: https://opensource.com/article/21/6/qiskit

作者:Gordon Haff 选题:lujun9972 译者:cool-summer-021 校对:wxy

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

GNOME 的设计做了一些有意义的变化,它(某种程度上)带回了一个它早先删除的类似功能。

GNOME 正在(某种程度上)恢复它几年前删除的功能

几年前,GNOME 移除了应用程序的菜单和指示器。

如果你不太清楚,应用程序指示器是一种从顶部面板与后台运行的应用程序进行交互的方式。

是的,你可以 添加一个应用程序指示器的扩展 来获得同样的功能。但是,在使用 GNOME 桌面环境的发行版上,如 Fedora,你不再能找到默认的能力。

然而,Ubuntu,它的一些 官方版本,以及其他发行版如 Pop!\_OS,支持系统托盘图标,尽管 GNOME 放弃了它们。

现在,经过多年的设计变化,看起来我们可能会看到类似的东西。

GNOME 将添加一个检查后台活动程序的简便方法

目前,在没有活动窗口的情况下,找出在后台运行的应用程序并没有简便的方法。

你必须使用 任务管理器系统监控工具 以获得更好的观测能力。

在未来的 GNOME 版本中(可能是 GNOME 44),你或许可以期待有一个功能可以直接从顶部面板的菜单面板上监控后台运行的应用程序。

GNOME 设计模拟图,用于从通知菜单中检查后台应用程序

Allan Day 的想法仍在讨论中,他分享了一个 设计模拟图。不过,它很有可能会被接受。

这个想法也促使开发者 Georges Basile Stavracas Neto 披露了 Flatpak 的 xdg-desktop-portal 组件,它可以使得检测运行中的 Flatpak 应用程序变得容易。

? 检查后台应用程序这个功能的位置或设计仍在进行中;你在上面看到的内容可能会随着最终的实施而改变。

这是否也会使应用指示器回归?

并非如此。

通过这个功能,GNOME 旨在让你快速看到后台运行的应用程序,并对它们进行管理(关闭它们或访问特定的设置)。

然而,你仍需要少量点击来达到这一点 ?️。

小程序指示器或系统托盘图标是访问在后台运行的应用程序更快捷的方式,尽管不是每个后台应用程序都被列出。

毕竟,这总比没有好。

而最终,这些设计上的变化可能会产生一种直观的方式,以某种形式让应用指示器回归。

? 你对这个决定与即将发布的 GNOME 设计变化有何看法?请在下面的评论中分享你的想法。

参考:Phoronix


via: https://news.itsfoss.com/gnome-design-quick-access/

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

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

马斯克警告说,人工智能是文明的 “最大风险之一”

马斯克在迪拜举行的世界政府峰会上表示:“ChatGPT 表明人工智能已经得到了令人难以置信的发展,而这是我们都应该担心的事情。”马斯克是 ChatGPT 背后的 OpenAI 公司的联合创始人,但他已经在 2018 年离开了 OpenAI 的董事会,不再持有该公司的股份。最初 OpenAI 是作为一个开源的非营利组织而创建的,但现在为了盈利而转为闭源。而他决定建立 OpenAI 的部分原因是,“谷歌对人工智能的安全性不够重视。”汽车、飞机和医学等必须遵守监管安全标准,而人工智能还没有任何规则或条例来控制其发展。他认为“需要监管人工智能的安全”,因为它对社会的风险实际上更大,即便监管“可能会使人工智能的速度放慢一些”。

消息来源:CNBC
老王点评:自己亲手打造的魔盒,最终放出来的是不是灯神谁也说不好。

微软称与新必应对话过多会使其“犯糊涂”

在发现由 ChatGPT 驱动的新必应搜索引擎会侮辱用户、对他们撒谎和情绪化地操纵人们之后,微软说它现在正在根据反馈采取行动,以改善回应的语气和精确性,并警告说长时间的聊天会话可能导致问题。必应团队说,它没有 “完全想到” 人们将其聊天界面用于社交娱乐或作为“发现世界的一般工具”。它发现,15 个或更多问题的长时间聊天会话可能会让必应的模型混淆。

消息来源:The Verge
老王点评:这算不算一种“言多必失”??

龙芯架构开始支持 KVM 虚拟化

虽然 Linux 5.19 合并了龙芯架构的部分补丁,启用了对龙芯 CPU 的支持,但内核移植并没有完全完成,一些龙芯 3A5000 的功能仍未在主线内核启用。周二,龙芯工程师发出了初步的 24 个补丁,以在 3A5000 处理器上支持 KVM 的硬件虚拟化。目前,“已经能够启动龙芯 Linux 客体机”。

消息来源:Phoronix
老王点评:虽然进展不算快,但是相对而言,已经有了很大进步。

用 Penpot 这个开源的设计工作空间来弥合编程和设计之间的鸿沟。

在计算机编程的大部分历史中,在创建应用的代码的程序员和创建应用的用户体验(UX)的设计师之间一直存在着鸿沟。这两个学科接受的培训大不相同,他们使用的工具也不同。程序员使用文本编辑器或集成开发环境来编写代码,而设计师则经常绘制小部件布局和潜在交互的示意图。虽然一些 IDE,像 EclipseNetbeans,有界面设计组件,但它们通常专注于小部件的位置而不是小部件的设计。开源设计应用 Penpot 是一个协作式设计和原型设计平台。它有一套新的功能,使设计师和开发者可以很容易地用熟悉的工作流程协同工作。Penpot 的设计界面可以让开发者在设计过程中和谐地编写代码,这是其他工具所无法做到的。自从我们 上次介绍它 以来,它已经有了长足的进步。它的最新功能不仅改善了你使用 Penpot 的体验,还推动了开源的 Penpot 应用超越类似的专有工具。

用 Penpot 做原型

在设计应用的最佳工作方式时,常见问题之一是在设计的时候这个应用还不存在。设计师可以通可视化和故事板来帮助设计团队和程序员了解目标是什么。但这是一个需要迭代和反馈的过程,当开发人员开始实施 UX 设计,设计会发生变化以应对对代码的实际变化。

使用 Penpot,你可以为你的网络或移动应用创建一个“可用”原型。你可以将按钮与特定的行动联系起来,根据用户的输入触发布局的变化。而这一切都可以在项目的代码存在之前完成。

但是,这方面最重要的不是模拟的能力。在 Penpot 中为应用的设计所做的一切都有可用的布局数据,开发人员可以在最终的项目中使用它们。Penpot 不仅仅是一个出色的绘图和布局工具。它为编码过程提供了信息。

Penpot 现在不仅仅是提供了一个设计师特定元素的视觉列表,如属性、颜色和排版,而是将代码输出直接整合到设计工作区(就像 Web 浏览器中的开发者工具)。设计师和开发人员共享设计和前端开发的相同空间,以他们需要的任何格式获得规格。

Image of the current Penpot interface

内存解锁

许多在线设计工具使用专有技术来提供一些花哨的功能,但代价是基本上成为一个应用,你只能运行它,而不能通过浏览器访问。不过 Penpot 使用开放的网络标准,并由你的网络浏览器渲染。这意味着 Penpot 可以访问浏览器可用的最大内存,使得 Penpot 成为第一个具有设计扩展性的在线原型和布局应用。你可以提供更多的选项、更多的模型,和更多的场地。此外,你可以向更多的并发协作者开放你的设计空间,而不必担心应用的内存耗尽。

自我托管和 SaaS

Penpot 是开源的,所以你不用必须在云上使用它,如果这不适合你的工作流程。你可以在一个容器中轻松地自我托管 Penpot,在你自己的工作站上作为一个本地应用使用,或者在你自己的服务器上为你的组织托管它。

开源设计

我以前写过一篇 Penpot 的介绍性文章,自那以后,这个应用变得更好了。如果你想把程序员和相关人员带入你的设计过程中,那么请试试 Penpot。


via: https://opensource.com/article/23/1/merge-design-code-penpot

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

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

平台即服务能够快速、轻松地创建网络应用,而无需购买和维护其下的软件和基础设施。本文解释了它为什么有用。

平台即服务 PaaS (以下简称 PaaS)指的是云计算服务,它为客户提供了开发、运行和管理应用程序的平台,而免去了建立和维护与开发和启动应用程序相关的基础设施的复杂工作。这是云原生应用和支持系统所依托的核心平台。

PaaS 通常包括不同的应用基础功能,包括应用平台、集成平台、业务分析平台、事件流服务和移动后端服务。此外,它还包括一套与监控、管理、部署相关的功能。

开发人员希望他们的开发环境不需要等待,而运营团队则更关心性能和稳定性。这经常引起两方间的冲突。PaaS 为这两方创造了和平的环境。一个作为服务交付的应用平台被称作 PaaS,它被用于部署用户代码。Cloud Foundry、Cloudify 和 OpenShift 这些开源环境都可用作 PaaS。

PaaS 的采用模式

云计算必须满足五个基本特征:按需服务、接入网络、资源池化、弹性和可度量的服务。为此,云计算提供了三种服务模式: 软件即服务 Software as a Service (SaaS)、 平台即服务 Platform as a Service (PaaS)、 基础设施即服务 Infrastructure as a Service (IaaS)。

业务选用 PaaS 的关键驱动力:

  • 减少提供业务的资本支出和运营费用
  • 通过减少应用程序的交付时间和提高开发和交付质量,最大限度地降低 IT 成本
  • 增加中间件之间的灵活性和集成度

简单 PaaS:踏入 PaaS 领域的入口。它可以提供应用程序服务,并将它们暴露在自助服务的目录中;自动部署和计量服务使用的资源。

管理 PaaS:管理已配置应用程序的 服务级别协议 SLA 服务质量 QoS ,例如弹性、应用程序性能、安全性等。

编程 PaaS:允许应用程序与外部应用程序或公共云集成,并实现自动扩展和云爆发场景。

面向流程 PaaS:允许通过创建持续交付流程来实现 开发运维 DevOps 流程,该流程可以自动构建、测试应用程序并将其交付到云环境中。

除了这些采用模式之外,还有其他的 PaaS 变体如下,这些变化可能与上文的模式有一定重合:

集成平台即服务(iPaaS):一套能够开发、执行和管理集成流的云服务。集成流可以是个人内部或跨多个组织连接的,可以包含任何企业内部或基于云的流程、服务、应用和数据。这些组合变化可能也符合上述的模式之一,例如 MuleSoft CloudHub 和 BizTalk。

移动平台即服务(mPaaS):为开发移动应用提供的集成开发环境(IDE),并且支持多种移动平台。

数据库平台即服务(dbPaas):一种按需的、安全且可扩展的自助式数据库平台,可自动配置和管理数据库。dbPaaS 使扩展数据库变得更加容易,并使它们更加可靠。

物联网平台即服务(IoTPaaS):提供了实现异构物联网拓扑所需的通信、安全、分析和管理的通用基础架构。它为构建物联网解决方案提供了更简单、更敏捷的模型。

业务流程管理平台即服务(bpmPaaS):一个完整的预集成业务流程管理平台,托管在云端并作为服务交付。它被用于开发和执行整个企业的业务流程和以工作流程为中心的应用程序。例如 Pega cloud 和 OpenText Cordys cloud。

PaaS 的一些基本特征:

  • 在同一集成开发环境中开发、测试、部署、托管和维护应用程序的服务
  • 多租户架构,即多个并发用户使用同样的开发程序
  • 部署软件的内置可扩展性,包括负载平衡和故障转移
  • 与异构平台和系统的集成
  • 支持开发团队的协作
  • 包含处理帐单和管理订阅的工具

主要的开源 PaaS

在选择 PaaS 之前,企业主要考虑关注以下几点:

  • 部署灵活性
  • 操作简便性
  • 应用堆栈的选择
  • 语言、数据库和框架支持
  • 规模的可扩展性
  • 服务质量(QoS)
  • 开发和运营的工具
  • 它有多适合你的业务

现在让我们快速浏览下流行的开源 PaaS。

Cloud Foundry:提供了多种云的选择、开发者框架和应用服务。Cloud Foundry 使构建、测试、部署和扩展应用程序变得更快、更容易。

它有不同的发行版本,其中比较流行的是 Pivotal 和 IBM。它包含应用 运行时 runtime 和容器运行时。在 Pivotal 上包含有应用服务和容器服务。

OpenShift:红帽的云计算 PaaS 产品。这是一个云端的应用平台,应用开发者和团队可以在这里构建、测试、部署和运行他们的应用程序。

Cloudify:在开放的原则下开发和设计,用以推动 IT 转型革命。它使组织能够在其上设计、建立和提供各种商业应用和网络服务。Cloudify 的最新版本为 4.3,它包含了先进的安全、控制和 真自服务 true self-service 等增强功能。Cloudify 4.3 还为 Kubernetes 容器编排引入了全新的概念。

功能Cloud FoundryCloudifyOpenShift
核心功能Cloud controllerManagerBroker
提供第三方数据库服务Service brokerAgentCartridge
传入流量的路由RouterManagerREST API
查询应用程序的状态Cloud controllerCLI clientBroker
消息传递Message busManagerBroker
应用实例管理Droplet execution agentAgentNode
应用程序状态管理Health managerManagerBroker
BrokerWardenAgentGear
用户请求的负载平衡Droplet execution agentManagerBroker
框架提供者Blob storeAgentCartridge
技术
语言Java, Ruby, Scala, Node.js, Groovy, Grails, PHP, Go, PythonJava, PHP, RubyJava, Ruby, Node.js, PHP, Python, Perl, JavaScript
数据库MongoDB,MySQL
MongoDB、MySQL、PostgreSQLMySQL、MongoDBMongoDB、MySQL、PostgreSQL
框架Spring, Rails, Grails, Play SinatraJavaScript, Node.jsRails, Flask, Django, Drupal, Vertx
水平扩展
垂直扩展
弹性伸缩

表 1 列出了 Cloud Foundry、Cloudify 和 OpenShift 的基本功能及其对应的架构组件。以上完全基于个人观点,所支持的功能的真实需求应与云供应商进行验证。

从行业统计数据中,我们可以清楚地看出 PaaS 的使用率正在迅速上升。PaaS 使企业应用程序可以是 云无关 cloud-agnostic 的,它们可以在任何云平台上运行——无论是公共的还是私有的。这意味着一个在亚马逊的 AWS 上开发的应用可以很容易地移植到微软 Azure、VMWare vSphere、Red Hat RHEV 等等其他平台。

当多个开发人员共同参与一个开发项目,或外部用户需要与开发过程协作时,PaaS 是很有用的。因此,PaaS 尤其适合于敏捷开发,因为它降低了围绕软件快速开发和迭代的难度。

鸣谢

作者感谢 Kiran M.R. 和 Wipro 有限公司的数字架构实践 Raju Alluri 为本文提供的支持。


via: https://www.opensourceforu.com/2022/09/why-enterprises-should-opt-for-platform-as-a-service/

作者:Gopala Krishna Behara 选题:lkxed 译者:onionstalgia 校对:wxy

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