Linux 黑话解释:Linux 中的 Super 键是什么?

在本次 Linux 黑话解释系列的这一篇,我们会一起来探索 Linux 中的 Super 键(或称其为 Meta 键)。

当你在网上浏览 Linux 教程时,你可能会遇到 “Super 键” 这个术语,对于 Linux 的初学者来说,这可能会引起混淆。

概括地说,如果你的电脑预装了 Windows,那么带有 Windows 标志的 Windows 键就是 Super 键。

如果你使用的是苹果电脑,那么带有 符号的 command 键就是你的 Super 键。

下面这个就是你的 Super 键(或者 Meta 键)

很简单吧?

但是,为什么要将其命名为 Super 键呢?毫无疑问,背后一定有一些有趣的故事。

那么,让我们一起按下 Super 键,发掘更深层次的故事吧。

Super 键背后的想法

它首次出现在 “space-cadet” 键盘中,这款键盘是在 1978 年为 Lisp 机器 设计的,其主要目的是用来模拟 Meta 键。(LCTT 译注:这款键盘的独特之处在于它设有七个修饰键,包括 ShiftControlMetaSuperHyper,用户可以通过组合这些修饰键与其他键来输入更多的字符和命令,它对现代计算机键盘的发展产生了重要影响。)

Meta 键在 Emacs 编辑器中是非常重要的一个部分,但在当时的现代键盘中却未能配备实体的 Meta 键,因而人们常常通过不同的按键绑定来模仿其功能。

Super 键的引入,解决了这个问题,由此我们有了一个真实的 Super 键。

快进到 1994 年,当时 Windows 键首次在 微软自然键盘 上出现,它被用来迅速打开“开始”菜单。从 1996 年开始,将 Meta 键映射到 Windows 键成为了普遍的做法。

Super 键的一般使用情况

当你在 Ubuntu 桌面上按下 Super 键时,它会显示活动概览,让你全面了解每个窗口正在进行的活动:

在 Ubuntu 中按下 Super 键获得活动概览

但你要知道,除了预览正在进行的活动,你其实还可以做更多。

比如,你可以同时按下 Super 键和 Tab 键,调出应用切换器,从而在正在运行的应用之间切换。

下面列举了一些可以利用 Super 键的快捷键(在 Ubuntu 23.10 内部测试通过):

? 如果你在使用的是基于 Ubuntu 的发行版,其中的某些快捷键可能并不会按照预期那样工作,因为发行版维护者可能已经将该快捷键指定为另一个任务。

快捷键 描述
Super 打开活动概览
Super + Tab 切换开放应用
Super + D 显示桌面(最小化所有窗口)
Super + A 打开应用菜单
Super + S 显示快速设定
Super + 将活动窗口移至屏幕的左半部分
Super + 将活动窗口移至屏幕的右半部分
Super + 最大化活动窗口
Super + 最小化活动窗口
Super + L 锁定屏幕

这些操作实在太方便了,对吧?

通过快捷键提高生产效率

对于新接触 Ubuntu 的你,下列的一些有帮助的快捷键值得一试:

Ubuntu 用户应该知道的 13 个快捷键

如果你刚开始使用终端,我会推荐你学习 Linux 终端的基本快捷键

专业用户喜欢使用的 21 个 Linux 终端快捷键

我希望这篇文章能给你带来宝贵的信息,使你对 Super 键有更深入的了解 ?

(题图:MJ/9b9a1146-0e76-459a-880d-b1a1a4fa5f1e)


via: https://itsfoss.com/super-key/

作者:Sagar Sharma 选题:lujun9972 译者:ChatGPT 校对:wxy

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

故障排除:在 Arch Linux 上启用蓝牙

Arch Linux 上的蓝牙无法工作?以下是对我有用的方法,以及解决 Arch 上蓝牙问题的其它技巧。

我很轻松地安装了 Arch Linux,这要归功于 archinstall 脚本。

在我开始使用它并探索之后,我尝试使用我的蓝牙耳机,却发现蓝牙无法工作。

我可以看到蓝牙选项,但无法启用它。单击开关会只会切换回禁用状态。

下面是我所做的以及有作用的事情。

确保蓝牙服务正在运行

如果该服务未运行,蓝牙将不会打开,你将无法连接到它。

检查蓝牙服务的状态并查看其是否正在运行。

systemctl status bluetooth

它给了我以下输出:

[abhishek@itsfoss ~]$ systemctl status bluetooth
 bluetooth.service - Bluetooth service
        Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; disabled; preset: disabled)
        Active: inactive (dead)
        Docs: man:bluetoothd(8)

如你所见,bluetooth 服务处于非活动状态。它没有运行。并且状态被禁用。

这意味着蓝牙守护程序当前未运行,也未设置为每次启动时自动启动。

这让事情变得更容易了。我在第一次尝试中就找出了根本原因。在 Arch Linux 中这种情况并不常见。

使用以下命令启动蓝牙守护进程:

sudo systemctl start bluetooth

让蓝牙服务在系统启动时自动运行:

systemctl enable bluetooth

它应该显示以下输出:

[abhishek@itsfoss ~]$ systemctl enable bluetooth
Created symlink /etc/systemd/system/dbus-org.bluez.service  /usr/lib/systemd/system/bluetooth.service.
Created symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service  /usr/lib/systemd/system/bluetooth.service.

现在,蓝牙已启用,并且在系统设置中很明显:

连接蓝牙设备的提示

你可能已经知道应该首先将蓝牙设备置于配对模式。这很关键。

之后,你可以尝试关闭然后再次打开蓝牙按钮,以便它搜索可用的设备。

如果它没有立即显示,你可以单击其他一些系统设置并再次返回蓝牙。过去它对我有用过几次,不要问为什么。

其他故障排除提示

以下是修复 Arch Linux 中蓝牙连接问题的更多提示:

确保未被阻止

确保蓝牙未被阻止:

rfkill list

检查输出:

[abhishek@itsfoss ~]$ rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

如果你发现蓝牙被阻止,请使用以下命令取消阻止:

rfkill unblock bluetooth
Pipewire 与 Pulseaudio

在某些情况下,如果你过去尝试过 Pipewire 和 Pulseaudio,它们可能会破坏工作。

如果你使用 Pipewire,请确保安装了 pipewire-pulse:

sudo pacman -Syu pipewire-pulse

如果你使用 Pulseaudio,bluezpulseaudio-bluetooth 可以帮助你。

查看 Arch Wiki 页面以获取更多信息。

蓝牙耳机 - Arch 维基

这对你有用吗?

硬件兼容性问题是任何操作系统都会遇到的问题,Linux 也不例外。

事情没有单一的解决方案。你的系统可能存在与我的系统不同的问题,此处提到的建议可能适合你,也可能不适用于你。

完善的 Arch 维基提供的建议比我所能提供的要多得多。如果你仍然无法解决蓝牙问题,请执行此操作。

现在看你的了。对你有用吗?如果有,是哪种方法?如果没有,你遇到了什么样的问题,以及到目前为止你尝试过哪些故障排除方法?

(题图:MJ/60bd220b-bb4f-4d51-9c41-162c8c4714b3)


via: https://itsfoss.com/bluetooth-arch-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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

硬核观察 #1192 商业航班遭遇 “难以想象” 的 GPS 攻击

#1 商业航班遭遇 “难以想象” 的 GPS 攻击

自 9 月份以来,新颖的 GPS 欺骗攻击已导致导航系统发生数十起失灵事件,伊朗附近的多架商业航班在导航系统失灵后误入歧途,使飞机误以为自己正飞行在距离真实位置数英里之外的地方。专家称,虽然 GPS 欺骗并非新鲜事,但这些新攻击的具体载体以前是 “不可想象的”,因为被欺骗的 GPS 接收机破坏了惯性参考系统(IRS)。IRS 系统通常被描述为飞机的 “大脑”,它使用陀螺仪、加速度计和其他技术帮助飞机导航。IRS 应该是一个独立的系统,无法被欺骗。由于原因不明,目前还没有解决这个问题的办法。如果机组人员意识到情况不对,他们唯一的办法就是向空中交通管制部门询问位置并请求航向。

消息来源:VICE

老王点评:作恶的人是无底线的。

#2 字节跳动使用 AI 来自动调优 Linux 内核

一般来说,Linux 内核可以很好地完成大多数任务。但是,要让它在特定工作中发挥最大作用,就必须通过设置参数对其进行微调,以获得最佳效果。但即使是 Linux 专家,调整数千参数以获得最佳性能也是一项漫长而艰巨的工作。字节跳动的 Linux 内核工程师在 Linux 管道工大会上提出,我们可以使用人工智能和机器学习来调整 Linux 内核,从而为特定工作负载带来最大效果。演讲者表示,“在像字节跳动这样的大型数据中心,要针对数百种不同的工作负载手动调整 Linux 内核参数几乎是不可能的。……借助贝叶斯优化等机器学习算法,我们相信自动调优甚至可以击败大多数 Linux 内核工程师。”他们举了一个例子:在最佳情况下,与专家手动调整相比,机器学习调整使 Nginx 网络性能提升了 12%。

消息来源:ZDNet

老王点评:在 AI 的压力之下,连高薪的内核工程师也有失业之忧。

#3 苹果公司准备给 MacBook 装备 5G 蜂窝网络

苹果公司自 2018 年以来一直在研发自家的调制解调器,并准备将其整合到系统级芯片(SoC)中,最终可能会推出内置蜂窝网络连接的 MacBook。该芯片预计可能在 2026 年左右发布,也将用在蜂窝网络版的 Apple Watch、iPad 甚至是 Mac 中。据称苹果公司曾经考虑推出配备 3G 连接的 MacBook Air,但乔布斯否决了此方案,因为它会在机壳中占用过多空间,一个集成的 SoC 解决了这个问题。此外,苹果还有一些其它正在进行的芯片项目,包括摄像头传感器、电池、以及最终将取代博通的集成 Wi-Fi 和蓝牙芯片等。

消息来源:Mac Rumors

老王点评:苹果公司的硬件野心越来越不可压制。

在 Fedora Linux 上值得尝试的酷炫 Flatpak 应用(11 月)

本文介绍了 Flathub 中可用的项目以及安装说明。

Flathub 是获取和分发适用于所有 Linux 应用的地方。它由 Flatpak 提供支持,允许 Flathub 应用在几乎任何 Linux 发行版上运行。

请阅读“Flatpak 入门”。为了启用 flathub 作为你的 flatpak 提供商,请使用 Flatpak 站点上的说明。

TurboWarp

TurboWarp 是 Scratch 的修改版本。Scratch 是一种具有简单视觉界面的编码语言,允许年轻人创建数字故事、游戏和动画。

我喜欢 Scratch,但自从我发现 TurboWarp 以来,我儿子就再也没有回头。界面更清晰,具有夜间模式,比原始 Scratch 运行速度更快,并且内存经过优化。

你可以通过单击网站上的安装按钮或手动使用以下命令来安装 TurboWarp:

flatpak install flathub org.turbowarp.TurboWarp

Szyszka

Szyska 是文件重命名器,具有许多有趣的功能,例如:

  • 很好的性能
  • 适用于 Linux、Mac 和 Windows
  • 使用 GTK 4 创建的 GUI
  • 多种规则可自由组合:
    • 替换文字
    • 修剪文本
    • 添加文字
    • 添加号码
    • 清除文本
    • 将字母更改为大写/小写
    • 自定义规则
  • 保存规则供以后使用
  • 能够编辑、重新排序规则和结果
  • 处理数十万条记录

你可以通过单击网站上的安装按钮或手动使用以下命令来安装 Szyszka:

flatpak install flathub com.github.qarmin.szyszka

Marker

Marker 是一个用 GTK3 编写的 MarkDown 编辑器。这是我在 GTK 上快速写作的最爱之一。它的一些特点是:

  • 使用 scidown 对 Markdown 文档进行 HTML 和 LaTeX 转换
    • 支持 YAML 标头
    • 文档类
    • 投影仪/演示模式
    • 摘要部分
    • 目录
    • 外部文档包含
    • 带有参考 ID 和标题的方程、图形、表格和清单
    • 内部参考文献
  • 使用 KaTeXMathJax 进行 TeX 数学渲染
  • 使用 highlight.js 对代码块进行语法高亮显示
  • 使用 pandoc 灵活的导出选项
    • PDF
    • RTF
    • ODT
    • DOCX

你可以通过单击网站上的安装按钮或使用以下命令手动安装 Marker:

flatpak install flathub com.github.fabiocolacio.marker

Marker 也在 fedora 的仓库中以 rpm 的形式提供。

Librum

Librum 是一个用于管理图书馆和阅读电子书的应用。这是管理书籍和文档集合的好方法,包括对一长串格式的支持。它的一些特点是:

  • 现代电子阅读器
  • 个性化和可定制的库
  • 图书元数据编辑
  • 一个免费的应用内书店,拥有超过 70,000 本书
  • 书籍在所有设备上同步
  • 高亮显示书签文本搜索

你可以通过单击网站上的安装按钮或使用以下命令手动安装 Librum:

flatpak install flathub com.librumreader.librum

via: https://fedoramagazine.org/fedora-linux-flatpak-cool-apps-to-try-for-november/

作者:Eduard Lucena 选题:lujun9972 译者:geekpi 校对:wxy

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

Linux 爱好者线下沙龙:LLUG 2023·杭州八方城见

就在这个周末, LLUG(Linux 爱好者沙龙)来到杭州。

2023 年 11 月 25 日下午,我们将在杭州市杭州未来科技城国际人才园(五常地铁站附近)举行 LLUG 2023 · 杭州场,欢迎广大的 Linux 爱好者来到现场,与我们一同交流技术,分享自己工作过程中的所思所想。

本次活动依然由 Linux 中国和龙蜥社区(OpenAnolis)联合主办,杭州 GDG 协办,杭州城西科创大走廊高层次人才联合会提供场地支持。

龙蜥社区(OpenAnolis)是国内的顶尖 Linux 发行版社区,我们希望在普及 Linux 知识的同时,也能让中国的 Linux 发行版,为更多人知晓,推动国产发行版的发展和进步。

杭州城西科创大走廊高层次人才联合会简称“高联会”,高联会是在杭州城西科创大走廊管委会指导下,旨在广泛吸纳与团结廊内高层次人才,助力人才在杭州城西科创大走廊的创新创业。

杭州GDG(杭州谷歌开发者社区),谷歌官方赞助的杭州本地技术社区,每年定期举办免费开发者线下技术沙龙,聚焦谷歌相关开源技术,欢迎大家关注微信公众号“杭州GDG”,了解我们,参与技术交流。

活动议程

时间 议题 分享简介 分享者
14:00~14:20 签到
14:20~14:30 LLUG 活动介绍 白宦成
14:30~15:00 deepin v23 内核成果分享与技术前瞻 在deepin v23的研发过程中,我们在系统内核方面获得了相当多的技术成果,希望与各位开发者们共同讨论deepin根社区内核未来的发展方向。 王昱力
deepin社区 内核研发工程师
15:00~15:45 开源实用指南(个人篇+企业篇) 老王的经典分享,本次追加了企业篇,帮助大家更好的理解如何参与开源。 硬核老王
Linux 中国开源社区创始人
15:50~16:20 multipush v0.0.1 发布 LLUG 自己的多平台 RTMP 推流软件 multipush,帮助大家一次直播,多平台推流。欢迎大家参与贡献 & 体验~ 白宦成
Linux 中国技术组组长
16:20~17:00 闪电演讲(短分享)
17:00 ~ 18:00 线下交流
deepin V23 内核成功分享与技术前瞻

王昱力,deepin社区 内核研发工程师

在deepin v23的研发过程中,我们在系统内核方面获得了相当多的技术成果,包括电源管理与可移动设备功耗优化、安全子系统升级和飞腾、国产CPU的兼容适配。我们希望提高deepin内核的可定制性和可玩度,与各位开发者们共同讨论deepin根社区内核未来的发展方向。

《开源实用指南(个人篇+企业篇)》

硬核老王(wxy),Linux 中国开源社区创始人

老王的经典分享,聊聊作为一个社区新人,应该如何参与到开源社区当中,并逐步成长为社区的中坚力量的。以及,企业如何才能正确参与开源和培养开源文化。

《multipush v0.0.1 发布》

白宦成,Linux 中国技术组组长

LLUG 作为一个线下活动,经常遭遇到需要多平台推流的问题。过去我们使用 OBS 的软件推流,但会受限于插件方和操作系统环境,因此,我们希望提供一套开源的、服务端部署的多平台推流软件,帮助各运营同学能够更简单的完成多平台推流。

闪电演讲

本次线下活动依旧保留闪电演讲环节,作为最受欢迎的线下活动,本次活动依旧继续举办闪电演讲。每位演讲者有 5 分钟时间参与现场活动,可以提前报名,也可即兴上台演讲。时间一满,马上结束~强制大家控制自己的分享时间,用最短的时间,向大家发出你的声音~

上海场闪电演讲照片:

胡张治分享自己从 GNU/Linux 小白到 ArchLinuxCN 贡献者的旅程

李伟光现场介绍 neovim 的使用

活动地点及到达信息

活动地点:余杭区荆长路601号未来科技城国际人才园五楼506室(五常地铁站附近)

活动报名地址:

https://jinshuju.net/f/u8xtD3

并在活动前收到我们的提醒~此外,也可以在问卷中反馈你想听的内容,我们将竭尽所能,邀请行业专家,针对大家感兴趣的话题进行分享。

如果你因为有事,没办法来到线下,那也没问题,我们的活动也会在 Linux 中国视频号、Linux 中国 B 站、龙蜥 B 站、龙蜥钉钉群等开启同步直播。

当然,我们更希望你能亲自来到线下,和我们一起聊聊开源,聊聊技术~

扫码报名

人工智能教程(二):人工智能的历史以及再探矩阵

在本系列的 第一篇文章 中,我们讨论了人工智能、机器学习、深度学习、数据科学等领域的关联和区别。我们还就整个系列将使用的编程语言、工具等做出了一些艰难的选择。最后,我们还介绍了一点矩阵的知识。在本文中,我们将深入地讨论人工智能的核心——矩阵。不过在此之前,我们先来了解一下人工智能的历史。

我们为什么需要了解人工智能的历史呢?历史上曾出现过多次人工智能热潮,但在很多情况下,对人工智能潜力的巨大期望都未能达成。了解人工智能的历史,有助于让我们看清这次人工智浪潮是会创造奇迹,抑或只是另一个即将破灭的泡沫。

我们对人工智能的最寻起源于何时呢?是在发明数字计算机之后吗?还是更早呢?我相信对一个无所不知的存在的追求可以追溯到文明之初。比如古希腊神话中的 德尔菲 Delphi 就是这样一位能回答任何问题的先知。从远古时代起,对于超越人类智慧的创造性机器的探索同样吸引着我们 。历史上有过几次制造国际象棋机器的失败的尝试。其中就有臭名昭著的 机械特克 Mechanical Turk ,它并不是真正的机器人,而是由一位藏在内部的棋手操控的。 约翰·纳皮尔 John Napier 发明的对数、 布莱斯·帕斯卡 Blaise Pascal 的计算器、 查尔斯·巴贝奇 Charles Babbage 的差分机等,这些都是人工智能研究的前身。回顾人类历史,你会发现更多真实或虚构的时刻,人们想要获得超越人脑的智能。如果不考虑以上这些历史成就,对真正人工智能的探索起始于数字计算机的发明。

那么,人工智能发展至今有哪些里程碑呢?前面已经提到,数字计算机的发明是人工智能研究历程中最重要的事件。与可扩展性依赖于功率需求的机电设备不同,数字设备受益于技术进步,比如从真空管到晶体管到集成电路再到如今的超大规模集成技术。

人工智能发展的另一个里程碑是 阿兰·图灵 Alan Turing 首次对人工智能的理论分析。他提出的 图灵测试 Turing test 是最早的人工智能测试方法之一。现在图灵测试可能已经不太适用了,但它是定义人工智能的最初尝试之一。图灵测试可以简单描述如下:假设有一台能够与人类对话的机器,如果它能在对话中让人无法分辨它是人还是机器,那么就可以认为这台机器具有智能。如今的聊天机器人非常强大,使我们很容易看出图灵测试无法识别出真正的人工智能。但在 20 世纪 50 年代初,这确实为理解人工智能提供了一个理论框架。

20 世纪 50 年代末, 约翰·麦卡锡 John McCarthy 发明了 Lisp 编程语言。它是最早的高级编程语言之一。在此之前,计算机编程用的是机器语言和汇编语言(众所周知地难用)。有了强大的机器和编程语言,计算机科学家中的乐观主义和梦想家顺理成章地开始用它们来创造人工智能。20 世纪 60 年代初,对人工智能机器的期望达到了顶峰。当然计算机科学领域取得了很大发展,但人工智能的奇迹发生了吗?很遗憾,并没有。20 世纪 60 年代见证了第一次人工智能热潮的兴起和破灭。然而计算机科学以无与伦比的速度继续发展着。

到了 70 年代和 80 年代,算法在这一时期发挥了主要作用。在这段时间,许多新的高效算法被提出。20 世纪 60 年代末 高德纳·克努特 Donald Knuth (我强烈建议你了解一下他,在计算机科学界,他相当于数学界的高斯或欧拉)著名的《 计算机程序设计艺术 The Art of Computer Programming 》第一卷的出版标志着算法时代的开始。在这些年中,开发了许多通用算法和图算法。此外,基于人工神经网络的编程也在此时兴起。尽管早在 20 世纪 40 年代, 沃伦·S.·麦卡洛克 Warren S. McCulloch 沃尔特·皮茨 Walter Pitts 就率先提出了人工神经网络,但直到几十年后它才成为主流技术。今天,深度学习几乎完全是基于人工神经网络的。算法领域的这种发展导致了 20 世纪 80 年代人工智能研究的复苏。然而,这一次,通信和算力的限制阻碍了人工智能的发展,使其未能达到人们野心勃勃的预期。然后是 90 年代、千禧年,直到今天。又一次,我们对人工智能的积极影响充满了热情和希望。

我你们可以看到,在数字时代,人工智能至少有两次前景光明的机会。但这两次人工智能都没有达到它的预期。现在的人工智能浪潮也与此类似吗?当然这个问题很难回答。但我个人认为,这一次人工智能将产生巨大的影响(LCTT 译注:本文发表于 2022 年 6 月,半年后,ChatGPT 才推出)。是什么让我做出这样的预测呢?第一,现在的高性能计算设备价格低廉且容易获得。在 20 世纪 60 年代或 80 年代,只有几台如此强大的计算设备,而现在我们有数百万甚至数十亿台这样的机器。第二,现在有大量数据可用来训练人工智能和机器学习程序。想象一下,90 年代从事数字图像处理的人工智能工程师,能有多少数字图像来训练算法呢?也许是几千或者几万张吧。现在单单数据科学平台 Kaggle(谷歌的子公司)就拥有超过 1 万个数据集。互联网上每天产生的大量数据使训练算法变得容易得多。第三,高速的互联网连接使得与大型机构协作变得更加容易。21 世纪的头 10 年,计算机科学家之间的合作还很困难。如今互联网的速度已经使谷歌 Colab、Kaggle、Project jupiter 等人工智能项目的协作成为现实。由于这三个因素,我相信这一次人工智能将永远存在,并会出现许多优秀的应用。

更多矩阵的知识

图 1:矩阵 A、B、C、D

在大致了解了人工智能的历史后,现在是时候回到矩阵与向量这一主题上了。在上一篇文章中,我已经对它们做了简要介绍。这一次,我们将更深入矩阵的世界。首先看图 1 和 图 2,其中显示了从 A 到 H 共 8 个矩阵。为什么人工智能和机器学习教程中需要这么多矩阵呢?首先,正如前一篇文章中提到的,矩阵是线性代数的核心,而线性代数即使不是机器学习的大脑,也是机器学习的核心。其次,在接下来的讨论中,它们每一个都有特定的用途。

图 2:矩阵 E、F、G、H

让我们看看矩阵是如何表示的,以及如何获取它们的详细信息。图 3 展示了怎么用 NumPy 表示矩阵 A。虽然矩阵和数组并不完全等价,但实践中我们经常将它们作为同义词来使用。

图 3:用 NumPy 表示矩阵 A

我强烈建议你仔细学习如何使用 NumPy 的 array 函数创建矩阵。虽然 NumPy 也提供了 matrix 函数来创建二维数组和矩阵。但是它将在未来被废弃,所以不再建议使用了。在图 3 还显示了矩阵 A 的一些详细信息。A.size 告诉我们数组中元素的个数。在我们的例子中,它是 9。代码 A.ndim 表示数组的 维数 dimension 。很容易看出矩阵 A 是二维的。A.shape 表示矩阵 A 的 阶数 order ,矩阵的阶数是矩阵的行数和列数。虽然我不会进一步解释,但使用 NumPy 库时需要注意矩阵的大小、维度和阶数。图 4 显示了为什么应该仔细识别矩阵的大小、维数和阶数。定义数组时的微小差异可能导致其大小、维数和阶数的不同。因此,程序员在定义矩阵时应该格外注意这些细节。

图 4:数组的大小、维数和阶数

现在我们来做一些基本的矩阵运算。图 5 显示了如何将矩阵 A 和 B 相加。NumPy 提供了两种方法将矩阵相加,add 函数和 + 运算符。请注意,只有阶数相同的矩阵才能相加。例如,两个 4 × 3 矩阵可以相加,而一个 3 × 4 矩阵和一个 2 × 3 矩阵不能相加。然而,由于编程不同于数学,NumPy 在实际上并不遵循这一规则。图 5 还展示了将矩阵 A 和 D 相加。记住,这种矩阵加法在数学上是非法的。一种叫做 广播 broadcasting 的机制决定了不同阶数的矩阵应该如何相加。我们现在不会讨论广播的细节,但如果你熟悉 C 或 C++,可以暂时将其理解为变量的类型转换。因此,如果你想确保执行正真数学意义上的矩阵加法,需要保证以下测试为真:

图 5:矩阵相加

A.shape == B.shape

广播机制也不是万能的,如果你尝试把矩阵 D 和 H 相加,会产生一个运算错误。

当然除了矩阵加法外还有其它矩阵运算。图 6 展示了矩阵减法和矩阵乘法。它们同样有两种形式,矩阵减法可以由 subtract 函数或减法运算符 - 来实现,矩阵乘法可以由 matmul 函数或矩阵乘法运算符 @ 来实现。图 6 还展示了 逐元素乘法 element-wise multiplication 运算符 * 的使用。请注意,只有 NumPy 的 matmul 函数和 @ 运算符执行的是数学意义上的矩阵乘法。在处理矩阵时要小心使用 * 运算符。

图 6:更多矩阵运算

对于一个 m x n 阶和一个 p x q 阶的矩阵,当且仅当 n 等于 p 时它们才可以相乘,相乘的结果是一个 m x q 阶矩的阵。图 7 显示了更多矩阵相乘的示例。注意 E@A 是可行的,而 A@E 会导致错误。请仔细阅读对比 D@GG@D 的示例。使用 shape 属性,确定这 8 个矩阵中哪些可以相乘。虽然根据严格的数学定义,矩阵是二维的,但我们将要处理更高维的数组。作为例子,下面的代码创建一个名为 T 的三维数组。

图 7:更多矩阵乘法的例子

T = np.array([[[11,22], [33,44]], [[55,66], [77,88]]])

Pandas

到目前为止,我们都是通过键盘输入矩阵的。如果我们需要从文件或数据集中读取大型矩阵并处理,那该怎么办呢?这时我们就要用到另一个强大的 Python 库了——Pandas。我们以读取一个小的 CSV ( 逗号分隔值 comma-separated value )文件为例。图 8 展示了如何读取 cricket.csv 文件,并将其中的前三行打印到终端上。在本系列的后续文章中将会介绍 Pandas 的更多特性。

图 8:用 Pandas 读取 CSV 文件

矩阵的秩

矩阵的 Rank 是由它的行(列)张成的向量空间的维数。如果你还记得大学线性代数的内容的话,你一定对维数、向量空间和张成还有印象,那么你也应该能理解矩阵的秩的含义了。但如果你不熟悉这些术语,那么可以简单地将矩阵的秩理解为矩阵中包含的信息量。当然,这又是一种未来方便理解而过度简化的说法。图 9 显示了如何用 NumPy 求矩阵的秩。矩阵 A 的秩为 3,因为它的任何一行都不能从其它行中得到。矩阵 B 的秩为 1,因为第二行和第三行可以由第一行分别乘以 2 和 3 得到。矩阵 C 只有一个非零行,因此秩为 1。同样的,其它矩阵的秩也不难理解。矩阵的秩与我们的主题关系密切,我们会在后续文章中再提到它。

图 9:求矩阵的秩

本次的内容就到此结束了。在下一篇文章中,我们将扩充工具库,以便它们可用于开发人工智能和机器学习程序。我们还将更详细地讨论 神经网络 neural network 监督学习 supervised learning 无监督学习 unsupervised learning 等术语。此外,从下一篇文章开始,我们将使用 JupyterLab 代替 Linux 终端。

(题图:MJ/ce77d714-3651-44e4-96b0-ffbf7ae4269c)


via: https://www.opensourceforu.com/2022/06/ai-some-history-and-a-lot-more-about-matrices/

作者:Deepu Benson 选题:lkxed 译者:toknow-gh 校对:wxy

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

硬核观察 #1191 Linux 中的 Rust 支持继续成熟

#1 Linux 中的 Rust 支持继续成熟

Linux 中的 Rust 支持正在不断走向成熟,并得到了思科、三星和 Canonical 等开发商和供应商的大力支持。Rust 不可能取代 C 语言在 Linux 内核中的地位,但 Rust 绝对会成为 Linux 开发的重要语言。当然,前进的道路并不平坦,比如,死锁在 Rust 中是安全的,但在 Linux 内核中却不安全,程序员们正在解决这些问题。此外,越来越多的人开始关注将 Rust 支持反向移植到 Linux 的长期支持(LTS)版本中。Rust 开发者也会打破一个禁止重复驱动的通用规则,因为没有人愿意重复造轮子,但一些维护者希望从自己已经熟悉的驱动程序开始简单的尝试。

消息来源:ZDnet

老王点评:一旦 Rust 支持进一步成熟,饱受各种安全漏洞影响的内核的很多部分都会逐渐用 Rust 改写。

#2 微软庆祝 “补丁星期二” 20 周年

每个月的第二个周二,微软都会对其产品发布安全补丁。这一传统始于比尔·盖茨在 2002 年发表的 “ 可信计算 Trustworthy Computing ” 备忘录。在采用这种统一方法之前,微软的安全更新时断时续,给 IT 专业人员和组织及时部署关键补丁带来了巨大挑战。微软安全响应中心(MSRC)率先提出了为补丁发布制定可预测时间表的想法,从 “准备就绪即发布” 的模式转变为每周定期发布,最终转变为每月发布。

消息来源:微软

老王点评:不得不说,补丁星期二为安全实践带来了很好的示范,但是似乎这种实践在开源领域并不太适用,仍然采用的是“准备就绪即发布”模式。

#3 亚马逊宣布推出 Olympus LLM

这个代号为 Olympus 的模型有 2 万亿个参数,可以使其成为目前正在训练的最大模型之一。OpenAI 的 GPT-4 模型据说有 1 万亿个参数。Amazon CEO 说,“客户希望把模型带到他们的数据中,而不是相反。而这些数据中的大部分都在 AWS 中。”

消息来源:路透社

老王点评:现在没有个自己的大模型,你都不好意思说自己是个顶级 IT 公司。

Vojtux:针对视力障碍用户改造 Linux

Vojtux 是 Fedora 项目的一部分,它是一款专门为视力障碍者打造的非官方 Linux 发行版。

我五岁时,父亲给我们带来了第一台电脑。那一刻,我就明确了自己的职业追求:计算机领域。从那时起,我就一直和电脑打交道。在高中阶段,我开始尝试黑客活动,以决定自己专注于何种领域,最终我选择了安全工程师作为我的职业。

如今,我已经在红帽的安全合规团队任职软件工程师两年多了,我在捷克进行远程工作。我已经使用 Linux 12 年了,主要是 Arch Linux 和 Fedora,然而我过去也管理过 Debian、Gentoo 和 Ubuntu。

Vojtech 的图片

图片说明:这是一张黑白的笑脸 Vojtech 图片,图中有一个红色边框,背景是一架纸飞机。

工作之余,我玩盲人足球,我还参与了许多项目,这些项目都是为了帮助视力障碍者和视力正常人群建立联系。包括我还在一个为视力障碍者举办活动的小型非政府组织(NGO)工作。我还在开发一个叫做 Vojtux 的 Fedora 项目,这也是一个专门为视力障碍者打造的非官方 Linux 发行版。

辅助技术栈

我在使用智能设备时,需要依赖多种辅助技术,其中最主要的一款叫做屏幕阅读器。它是一款能将屏幕上的内容通过语音或盲文传达给视力障碍者的软件(简单来说,它就像我们的眼睛)。它能读并通知我当前正在关注的按钮或页面元素是什么,使得我能够与图形用户界面进行互动。

屏幕阅读器使用语音合成技术,将屏幕上的内容声音化。市面上有众多的语音合成器,有些听起来比别的更自然。我使用的是 Espeak,它听起来没有那么自然,但是它很轻便,运行也很快。此外,它几乎支持所有的语言,包括我正在使用的捷克语。

最后,我使用了一台能以盲文显示一行文字的盲文显示器,尤其在我写代码或者做代码审查的时候,我离不开它。通过触觉自由地从一个代码元素转移到另一个元素,使我能更轻松地把握代码的结构。我还可以使用它的按钮将光标移至我感兴趣的字符或屏幕区域,如果我想的话,我还能使用上面的盲文键盘输入。

我在日常生活中如何应用辅助技术

作为一个视障人士在使用电脑时,有许多事情其实可以借助上述技术轻松完成。以下是我日常经常做的一些事情:

  • 我十分喜欢使用文本控制台。一般来说,只要是文字信息,盲人就可以借助屏幕阅读器进行阅读(虽然并非所有情况都适用,但在大多数情况下是可行的)。我通常用控制台进行系统管理、文本编辑以及查阅指导手册和文档。
  • 我喜欢浏览网络并与网页进行互动。
  • 我使用 VSCode 和 Eclipse 进行代码编写以及代码审查工作。
  • 我会发送电子邮件以及进行即时通讯。
  • 我可以使用诸如谷歌文档(虽非开源,但在现代办公环境中广为使用)和 LibreOffice 这样的文本处理软件。谷歌文档的开发团队加入了许多键盘快捷键,我可以利用它们在文档中浏览、跳转到标题或者注释里等等。
  • 通常来说,我能够播放多媒体内容,但这也取决于应用程序的开发方式,有些媒体播放器在这方面做得更好。

可行,但困扰重重

随着技术的进步,一些任务尽管是可行的,但完成起来却相当困难,我称这类任务为“可行,但困扰重重”。

处理 PDF 文件非常艰难。有时,我不得不采用光学字符识别(OCR)软件将图像转换为文本。例如,我最近需要阅读一份餐厅菜单,他们在他们的网站上提供 PDF 菜单,但它已经被压平,丧失了文字层。在我这里,这显示为一片空白屏幕。我只能通过在智能手机上使用 OCR 应用程序来帮我提取文本。这不仅需要额外的步骤,而且提取的文本翻译并不总是完全准确。

查看和创建演示文稿也可能困难重重。为了解决这个问题,我采用像 Pandoc 这样的软件用 HTML 创建幻灯片,它可以处理 Markdown 并将其转换成幻灯片。我已经使用这种方法好几年了,效果很好。它允许我完全掌控生成的幻灯片,因为 Markdown 就是简单的文本。

通过将其基于声音或文字,可以使视频游戏更易于接入。然而,在 Linux 上玩游戏可以是一大挑战,不仅需要找到能够进行无障碍访问的游戏,而且由于大多数 PC 游戏原生支持 Windows,因此还需要处理一些兼容性问题。

有些网站和界面比其他的难以导航。往往只需要通过正确设置一些属性,这些问题就可以很容易地得到解决。一般来说,大量的网页内容都以图像的形式存在。提高网页内容可访问性的一个快速有效的方法就是确保图像都添加了替代文本,使得屏幕阅读器可以读出来,让无法辨识图像的人们也能了解图像内容。还有另一种经常遇到的情况是遇到没有标签的控件:你知道那里有一个按钮或复选框,但你无法确定它具体的功能。

Vojtux 项目:为了更好的 Linux 可访问性

开发者并不是特意设计出无障碍访问困难的应用程序,问题在于他们通常不清楚如何测试可访问性。由于视障 Linux 用户数量有限,可访问性的测试和反馈往往不足。因此,开发者往往不能生产易于访问的应用,用户也相应较少。这样形成了一个恶性循环。

Vojtux 项目就是希望能处理这个问题。我们希望能建立一个对视障用户更友好的 Fedora 改造版本。我们的目标是吸引更多用户,并鼓励他们发现并报告问题,以便开源社区的开发者可以解决这些问题。

你可能会问为什么要做这个项目?我们需要明确的是,Fedora 在设计上并非就没有可访问性,实际上,它有许多作为包的形式存在的辅助工具。但这些工具不是从一开始就存在,且需要许多细小的配置才能顺利使用,这可能会让初次使用 Fedora 的用户感到困惑。

我们期望 Vojtux 对视障用户而言尽可能友好和可预知。当用户启动立付镜像时,只需出现图形用户界面,屏幕阅读就会立即开始。所有必要的可访问性 环境变量 将会被正确地加载和配置。

Vojtux 还实现了以下功能,例如:

  • 配置开机就能使用的辅助性环境变量。
  • 图形界面一加载,Orca 屏幕阅读器就会启动。
  • 添加了自定义库,该库包含额外的语音合成和打包软件。
  • 添加了许多替代键盘快捷键。
  • 还有一个特别的脚本可以控制显示器的开关。很多用户根本不需要显示器,关闭它则是一种极好的节能方式!

想要帮忙?这就需要你了

首先,如果你希望为 Vojtux 做贡献(或只是帮助传播),可以在我们的 项目库 查找更多信息。

此外,在团队中与视障人士协作时,可能需要考虑应用哪些无障碍技术。例如,因为我们都是通过声音获取信息,所以我们很难同时进行听说和阅读,除非有人非常熟练于使用盲文显示器。

最后,要记住,无论是演示幻灯片、网站还是 PDF,盲人和视障用户都与你使用相同的最终产品。当你开发产品或创作内容时,你的选择对我们能否有效地进行互动和访问有着巨大的影响。知道我们在这里,我们热爱使用计算机和科技,并且我们经常愿意帮助你进行测试。

Vojtech 手持足球的照片

图片说明:手持足球的 Vojtech,他身穿足球服,戴着防护眼镜。

本文作者最初于 2022 年 9 月发布文章,并在后续将项目的官方名称更新为 Vojtux。

(题图:MJ/06477e84-6119-45d0-8085-5936a607ee68)


via: https://opensource.com/article/22/9/linux-visually-impaired-users

作者:Vojtech Polasek 选题:lkxed 译者:ChatGPT 校对:wxy

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

以太网已经 50 岁了,斩获 IEEE 里程碑称号

这项技术已经成为全球标准的局域网。

美国加利福尼亚州的施乐 帕洛阿尔托研究中心 Palo Alto Research Center (PARC)创新无数,诞生了诸如 阿尔托计算机 Alto Computer (最早采用图形用户界面的个人电脑)及首台激光打印机等多项开创性计算机技术。

同时,PARC 也因发明 以太网 Ethernet 技术而闻名,这项技术允许高速数据通过同轴电缆进行传输。以太网已经成为全球标准的有线局域网,并在企业和家庭中得到广泛应用。值得一提的是,以太网在诞生五十年后的今年,它被授予了 IEEE 里程碑 IEEE Milestone 称号。

连接 PARC 的 Alto 计算机

以太网的开发始于 1973 年。当时,Charles P. Thacker 在设计阿尔托计算机,他设想了一个网络,能让阿尔托计算机与激光打印机、PARC 的 ARPANET 网关,以及其他阿尔托计算机进行通信。于是,PARC 的研究员、IEEE 会士 Robert M. Metcalfe 接下了这项技术挑战。不久后,计算机科学家 David Boggs 也加入到了 Metcalfe 的团队中。

对 Metcalfe 和 Boggs 来说,他们有两个目标:一是网络必须足够快,以支持他们的激光打印机;二是网络必须能在同一栋建筑内连接数百台计算机。

以太网的设计灵感来源于 夏威夷大学 加入链路在线夏威夷地区网络 Additive Links On-line Hawaii Area network (ALOHAnet),这是一种基于无线电的系统。计算机一旦有信息需要发送,就会立即通过一个共享通道进行传输,这个数据包的前栏会注明接收者的地址。若两个信息包发生冲突,发送的计算机会暂停一段随机的时间间隔后重试。

Metcalfe 在一封现在已 广为人知的备忘录 中,向同事们提出了他的提案,早期的时候它被称为“ 阿尔托 Aloha 网络 Alto Aloha Network ”。他提出,使用同轴电缆而不是无线电波可以让数据传输更快,并减少干扰。电缆的使用也意味着,用户可以在不关闭整个系统的情况下,随时加入或退出网络。Metcalfe 在 2004 年接受 IEEE 历史中心 IEEE History Center 口述历史 访谈时如是说。

Metcalfe 说:“有一种名为有线电视 压接器 tap 的设备,可以在不割断同轴电缆的情况下,接入电缆信号。因此,[Boggs 和我]选择了同轴电缆作为我们的通信手段。在这封备忘录之中,我描述了以太网的运作原理——它是非常分布式的,没有中心控制,只是一个单一的‘ 以太 Ether ’片段。”

1973 年,Metcalfe 和 Boggs 设计了今日我们所说的以太网的最初版本。它最初的传输速率达到了 2.94 Mbps,“速度足够快,可以供给激光打印机,而且容易通过同轴电缆发送,”Metcalfe 对 IEEE 历史中心说。

一根粗细为 9.5 毫米、质地坚硬的同轴电缆被铺设在 PARC 大楼的走廊中央。这条长达 500 米的电缆上,通过所谓的 “ 吸血鬼压接 Vampire Tap ”(即 N 连接器 N connector )连接了 100 个收发信节点。这些压接有一个坚硬外壳,它们通过两个类似探针的器件“咬”穿电缆的外绝缘体,接触到了电缆的铜芯。这么一来,在不影响现有连接活跃状态的情况下,就可以增加新的节点。

每个 “吸血鬼压接” 内部都装配了一个 D 型连接器插口,由配对的九个插脚和九个插槽的插头插座组成。这些插座使得阿尔托算机、打印机以及文件服务器能连接到网络上。

为了让这些设备进行交流,Metcalfe 和 Boggs 创建了最早的高速 网络接口卡 network interface card (NIC) —— 这是一块插在计算机主板上的电路板。它包含了现在我们所说的以太网端口。

为了让人们更加清楚地理解,这个系统可以支持任何电脑,研究人员将最初的名字,“ 阿尔托 Aloha 网络 Alto Aloha Network ”,更改为了 “ 以太网 Ethernet ”。这个新名字反映了 Thacker 早期的一种观点,他说,同轴电缆其实就是“被困的以太”。PARC 的研究员 Alan Kay回忆 起这一点。

Metcalfe、Boggs、Thacker 以及 Butler W. Lampson 在 1978 年因他们的发明获得了美国专利。

他们继续完善这项技术,并终于在 1980 年,PARC 推出了速度为 10 Mb/s 的以太网。根据这份 IEEE 里程碑奖项的描述,这一更新是与英特尔和 数字设备公司 Digital Equipment Corp. (DEC)的研究员共同进行的,旨在为全行业创造出一种通用的以太网版本。

接纳为 IEEE 标准

以太网自 1980 年开始商业化后,其快速地演化成为整个行业的局域网标准。为了向计算机公司提供相关技术的框架,IEEE 802 局域网标准委员会 在 1983 年 6 月将以太网正式定为标准。

目前,IEEE 802 系列已经包含了 67 项已发布的标准,并且还有 49 个项目正在进行中。该委员会和全球各地的标准机构合作,将部分 IEEE 802 标准发布为国际指导准则。

在 PARC 设施外,有一块表彰这项技术的铭牌。其内容如下:

以太网有线局域网起源于 1973 年的施乐帕洛阿尔托研究中心 (PARC),其灵感源自于 ALOHAnet 数据包无线电网络和 ARPANET。施乐、DEC 和英特尔在 1980 年一起发布了一项针对通过同轴电缆的 10 Mbps 以太网的规范,这就成为了 IEEE 802.3-1985 标准。随后该标准进行了增强,提供了更高的速度,支持双绞线、光纤和无线媒介后,以太网在全球的家庭、商业、工业和学术环境中几乎无处不在。

由 IEEE 历史中心管理并得到 捐赠者支持 的 IEEE 里程碑项目,专门表彰全球各地的杰出技术进步。

IEEE 圣塔克拉拉谷分部 赞助了这项提名。该捐赠仪式将于 5 月 18 日在 PARC 设施举行。

(题图:MJ/55dfc9c2-7aaa-447b-9897-8dbb49cdfbcf)


via: https://spectrum.ieee.org/ethernet-ieee-milestone

作者:JOANNA GOODRICH 译者:ChatGPT 校对:wxy

硬核观察 #1190 “Windows” 现在是一个 iOS 应用

#1 “Windows” 现在是一个 iOS 应用

微软为 iOS、iPadOS、macOS、Windows 和 Web 浏览器创建了一个新的 “Windows 应用”,用于在各种设备上访问其操作系统。该应用基本上沿用了之前的 Windows 365 应用,并将其变成了一个中心枢纽,用于从远程 PC、Azure 虚拟桌面、Windows 365、Microsoft Dev Box 和微软远程桌面服务流式传输 Windows 副本。目前,该应用还不支持安卓,以及仅限于企业用户。之前,微软的类似应用叫做“远程桌面连接”。

消息来源:The Verge

老王点评:这是除了把 Linux 变成 Windows 应用外,Windows 也变成了一个应用。

#2 Linux 6.6 正式成为今年的 LTS 内核

每年的 LTS 内核往往是该日历年的最后一个稳定内核版本。Linux 6.6 于十月底发布。与此同时,Linux 6.7 应该在 2023 年的最后几天或 2024 年的最初几天达到稳定。所以今年的 LTS 版本的内核被选为 Linux 6.6,它将一直被维护到 2026 年 12 月的生命周期结束。与此同时,Linux 6.1、5.15 和 5.10 也将达到生命周期结束。

消息来源:Phoronix

老王点评:每年一个 LTS 内核,确实支持不过来。

#3 微软为 WSL 添加企业安全功能

为了帮助企业管理 WSL,微软为 WSL 推出了新的企业安全选项。新功能包括通过微软的 Defender for Endpoint 监控 WSL 分发,通过 Intune 管理 WSL 及其关键安全设置,高级网络控制,以及 Windows 应用程序现在通过 WSL 插件与 WSL 集成,此功能用来提供了 Defender for Endpoint 的集成。

消息来源:Phoronix

老王点评:真是把 WSL 当成企业组件来看待了,而不是最初只是迎合很少的 Linux 程序员群体的想法了。