2022年1月

人工智能可以识别匿名棋手

研究人员收集了多次下棋的棋手记录,并从中抽取了多达 32 步的序列。他们对每一步棋进行编码,并将其输入一个神经网络,每个棋手的棋谱形成了一个点群。研究发现,该系统可以在 86% 的时间里识别匿名的玩家,而人工识别的准确率只有 28%。经过调整,它也可以对扑克牌做同样的事情。他们说,在理论上,如果有合适的数据集,这种系统可以根据人们的驾驶习惯或使用手机的时间和地点来识别他们。

老王点评:人类的很多行为,其实在 AI 眼中都是非常明显的痕迹。

Ubuntu 桌面版降低硬件门槛

由于 Ubuntu 桌面对内存的需求比较大,因此如果在树莓派上使用的话,Ubuntu 推荐用户使用 4GB/8GB 内存的型号,以避免在慢速的 SD 卡上发生交换。Canonical 宣布 进一步降低 Ubuntu Desktop 的硬件门槛,支持在 2GB 内存的树莓派 4 上运行。之所以能够降低硬件需求,主要是得到了 zswap 功能的支持,可以减少交换到慢速 SD 卡的进程。该功能可以在进程要被转移到交换文件时,对其进行压缩,以决定是否需要放到交换文件,否则可以避免交换,而解压成本要低得多。

老王点评:不用等 22.04 ,当前版本中经过设置也可以启用 zswap。

Chrome 将阻止外部域名访问本地网络

为防止恶意脚本悄悄在浏览器上执行本地 HTTP 请求,Chrome 将 实现 名为 私有网络访问(PNA) 的 W3C 新规范,阻止这一被恶意程序滥用的行为。新功能将在今年上半年推出,PNA 将在 Chrome 中引入一个机制,外部域名在尝试与本地网络设备建立连接前需要征得许可,如果本地设备如服务器或路由器没有回应,尝试建立连接的请求将被阻止。

老王点评:我以为这是已经是默认行为了。

只需掌握一点 C 语言的知识,你就可以做很多事情。

 title=

我精通几种编程语言,但我最喜欢的是 C 语言。C 语言开发于 20 世纪 70 年代,作为一种系统编程语言,在 2021 年仍然是最受欢迎的编程语言之一。如果你想探索 C 语言的几个特点,可以从去年的这些热门文章开始:

在 C 语言中使用 getopt 进行短选项解析

如果你的程序每次运行时都能对用户作出反应,你就可以使它变得更加灵活。让你的用户告诉你的程序使用什么文件或如何以不同的方式做事情。为此,你需要读取命令行。这篇文章 告诉你如何使用 argv 直接读取命令行,并使用 getopt 读取短命令行选项。

在 Linux 中用 ncurses 定位屏幕上的文本

大多数 Linux 工具只是从屏幕的底部滚动文本。但如果你想在屏幕上定位文本,比如游戏或数据显示,该怎么办?这就是 ncurses 的作用。

用 DOS conio 开始编程

C 语言并不只适用于 Linux。你可以在许多操作系统上找到 C,包括 DOS。许多 C 程序员控制控制台输入和输出的标准方法是使用 conio 库。学习如何 使用 conio` 来更新 DOS 程序的控制台,包括文本颜色和文本窗口。

使用位域和掩码编写国际象棋游戏

在 C 语言程序中关联信息的标准方法是使用一个结合了两个或多个相关字段的结构体。例如,你可以用一个结构体来跟踪棋盘上的棋子。但是有一种更直接的方法来跟踪同样的信息,同时使用更少的数据和内存。使用 二进制位域和掩码,你可以存储一个单一的值来识别每个方格中的棋子和颜色。

C 语言编程中的 5 个常见错误以及如何修复它们

即使是最好的程序员也会产生编程错误。根据你的程序所做的事情,这些 bug 可能会引入安全漏洞,导致程序崩溃,或产生意外的行为。但是,通过一点额外的代码,你可以避免最常见和最严重的 C 语言编程错误。这里有 五个可能破坏你的应用的 bug 以及你如何避免它们

只需一点 C 语言知识,你就可以做很多事情。探索新的方法,为你的下一个 C 语言编程项目增加功能。


via: https://opensource.com/article/22/1/c-programming

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

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

孩子们可以使用 Linux 发行版吗?它又是否适合学校使用呢?

嗯,这取决于你有什么选择,以及你想选择的是什么。不管你是想给孩子还是学校老师用,都有不少选择。

因此,为了给你一个良好的开端,我们策划了一个为教育量身定做的 最佳 Linux 发行版 列表。

最适合儿童的 Linux 发行版

对于一个孩子来说,发行版必须提供一个用户友好的用户界面,而不是高级功能。

你可能会说,任何主流的、像 Ubuntu、Mint 或 Zorin 这样适合初学者的发行版都可以做到这一点。没错,但是如果一个发行版带有了 基本工具 并易于使用,孩子们会很快学会使用它并喜欢上它。

1、Endless OS

Endless OS 是一个流行的选择,是为教育量身定做的 Linux 发行版。

它以 Debian 为基础,使用 GNOME 桌面环境。尽管它限制了一年内在超过 500 台电脑上使用其操作系统,但它是免费下载的。

它的用户界面很容易使用,看起来很有吸引力,适合安装在现代电脑上。你可以得到各种预装的应用程序。因此,这对没有互联网接入的电脑来说是很方便的。

2、Ubermix

Ubermix 是一个基于 Ubuntu 的 Linux 发行版,旨在通过调整用户界面,摆脱不必要的应用程序,以及增加用于教育的必要工具/应用程序来降低复杂性。

它还提供了一种方法,在出现问题的情况下可以轻松地从系统问题中恢复。在内容过滤和 屏幕时间控制 方面有一个可选的家长控制功能,这确实很有用。

Ubermix 得到了积极的维护,并在其官方网站上提供了大量关于安装和故障排除的说明。

3、Kano OS(用于树莓派)

Kano OS 是为 6 至 14 岁的儿童教育而量身定做的计算套件。它就像高级版的树莓派,为年轻人提供了大量的 DIY 和编码活动。

Kano OS 也有基于 Debian 的 用于树莓派的操作系统。你不需要为此而购买 Kano 套件。你可以在你的树莓派上使用它。

它的目的是在与他们的计算机套件结合时,提供它所策划的教育的好处。从编码应用程序到游戏,应该有适合每个人的东西。

你还会发现有用的家长控制设置,可以为你的孩子限制/调整体验。如果需要更多的帮助,官方帮助资源 也会派上用场。

4、AcademiX GNU/Linux

AcademiX 是另一个基于 Debian 的发行版,主要用于学习。

不仅仅是初级教育,该操作系统中包含的程序对大学生也应该是有用的。它还包括虚拟互动实验室和虚拟显微镜。

虽然它通过预装的实用程序使学习变得简单,但教师也可以用它来创建内容和发布。

因此,它可以成为很多潜在的学习者和学校教师的一个全能选择。

5、Sugar(使任何发行版都对儿童友好)

Sugar 不是一个成熟的操作系统,而是一个学习平台(环境),它可以安装在任何 Linux 发行版之上,为学习而设置。

不仅仅是帮助你的孩子用一个易于使用的界面学习,它还有有助于协作、分享和学习而预装的软件工具。

它也可用于树莓派。而且提供了 Flatpak 包,可以让你在任何 Linux 发行版中轻松安装它的一些学习活动。

6、Li-f-e

Linux for education(Li-f-e)最初是 OpenSUSE 的一个项目,这是它的一个延续。

尽管它现在没有 OpenSUSE 的支持(我找不到任何参考资料),但它对孩子和学校来说可能是一个有用的选择。

这款软件基于 Ubuntu MATE,按照一些教科书的说法,它提供了几个内置的应用程序。它并没有提供什么特别的东西,而更像是 Ubuntu 教育版,在写这篇文章的时候,它正在积极维护。

最适合学校的 Linux 发行版

到目前为止,我提到的那些都是为孩子们的教育和学习而定制的。但教育有两个部分:学生和教师。

这就是为什么这个列表分为两部分。这第二部分列出了一些可能适合学校管理者、管理层和教师的选项。

当然,如果你想利用一个稳定可靠的 Linux 桌面操作系统来管理你的学校(或)内容创作,你总是可以使用 Linux Mint、elementary OS 或 Ubuntu。然而,有一些选项是为这种目的而定制的。

1、Debian Edu/Skolelinux

Skolelinux 是一个基于 Debian 的发行版,包含了一些适合学校师生使用的应用程序和网页服务。

它也被称为 Debian Edu。你可以通过下载所需的 ISO 或基本系统来选择离线安装,其余的可以在线安装。

尽管孩子们在安装后就可以使用它,但它需要一些学习过程来进行配置和维护。因此,这更倾向于学校管理人员或教师,而不是孩子。

2、Linux Schools(Karoshi 服务器)

一个具有 Ubuntu LTS 优点的 Linux 发行版,为学校服务器而建。如果你想建立一个服务器并监视/控制一个连接的服务器网络,Linux Schools(或 Karoshi 服务器)是一个很好的选择。

它可以让你使用网页界面管理一个服务器网络。你不需要 Linux 系统管理的深入知识来利用它。

3、Escuelas Linux

Escuelas Linux 是基于 Bodhi Linux 的。它内置了几个适合教育环境的应用程序。

它有自定义的工具,可以在几秒钟内将发行版重设为安装后的状态。也有恢复用户身份的选项。除此之外,它还带有在网络中分发教育材料、屏幕广播、镜像、远程命令执行、信息发送、屏幕锁定和对学生的计算机进行静音的应用程序。

考虑到它基于 Bodhi Linux,而 Bodhi Linux 是 最好的轻量级 Linux 发行版 之一,这对旧系统来说是个不错的选择。

如果你需要 NetBeans、Git、Android Studio 等高级工具,你还可以得到一个额外的开发者包,这是可选安装的。

除了这些选择之外,还有 EduBOSS,这是 BOSS Linux 的教育版,是为印度学校量身定做的。

总结

虽然有一百多个 Linux 发行版,但只有少数几个是专门为教育而设计的。

对于学生、教师和学校管理来说,有一些可行的选择是件好事。

毕竟,Linux 可以到处使用,任何人都可以使用。我说的对吗?


via: https://itsfoss.com/educational-linux-distros/

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

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

佳能指导用户绕过其识别原装耗材的硬件 DRM

打印机厂商的主要利润来源于耗材,因而在打印机上设置了 DRM 硬件锁,以阻止用户使用第三方耗材(比如墨水 / 粉盒)。然而在全球芯片供应短缺的大环境下,佳能似乎陷入了一个相当尴尬的境地 ,使用了新的替代芯片的原装耗材不能被自家打印机正确识别。无奈之下,该公司被迫教客户如何 绕过原厂 DRM 保护:请无视“检测到非原装耗材”的所有故障警告,直接点击关闭按钮,然后就可继续执行打印。

老王点评:这真是一件尴尬的事情。

印度黑客组织的恶意程序感染了自己

印度的一个黑客组织 Patchwork 主要是攻击巴基斯坦。在 2021 年 11 月底至 12 月初的最新活动中,Patchwork 利用恶意 RTF 文件投放了一个远程管理木马。令人讽刺的是,该木马 感染 了他们自己的电脑,从而让安全公司 Malwarebytes 收集到了他们电脑和虚拟机的按键和屏幕截图。研究人员发现了该组织开发的基础框架,包括运行 Virtual Box、VMware 作为 Web 开发及测试环境,其主机有英文及印度文双键盘配置等。

老王点评:这是脚本小子级别的黑客组织吧。

感染勒索软件后,连锁酒店改用 Chrome OS 操作系统

一家斯堪的纳维亚连锁酒店上个月遭受勒索软件攻击,使员工无法访问客人的预订数据,也无法向新到的客人发放钥匙卡。但该酒店没有与黑客联系,也没有为解锁受感染设备的解密密钥进行谈判。该酒店表示,它采取了一种 新的方法,“在不到 24 小时内,第一家酒店就在 Chrome OS 生态系统中运行了。而在接下来的两天里,整个公司有 2000 台电脑的系统被转换,包括五个不同国家的 212 家酒店。”接下来他们还会迁移 2000 台电脑,这将预计可以节省 670 万美元。

老王点评:问题是,如果没有合理的 IT 管理体系,迁移到 Chrome OS 也不能避免再次被勒索啊。

当你 开始学习 Linux 时,最初学习的是一套标准的 Linux 命令,这些命令从 UNIX 时代就已经存在了。随着你作为一个 Linux 用户的年龄增长,你会不断地掌握这套标准命令。

但是,这些标准的、传统的命令是几十年前创建的,虽然它们完成了预定的工作,但是它们的功能还可以改进,结构还可以简化。

这就是为什么存在 “替代” 工具,以加强传统的 UNIX/Linux 命令。在这篇文章中,我将列出一些新的命令行工具,你可以用这些工具来代替旧式的经典 Linux 命令。

请注意,你不应该过分依赖这些替代品,特别是如果你管理(或计划管理)许多 Linux 服务器时。传统的 Linux 命令在所有的 Linux 发行版和 Linux 服务器上都可以找到。这些现代的替代方案很有可能在远程服务器上无法使用。

在你的个人能力范围内,你可以学习了解这些新的工具,以帮助你更有效率。

听起来不错?让我们看看你是否能在这里找到你下一个最喜欢的命令行工具。

HTTPie: wget 和 curl 的替代品

在终端下载文件 时,wgetcurl 是两个最常用的工具。有趣的是,并不是所有的发行版都默认安装了 curlwget

HTTPie(http)以一种更人性化的方式做同样的工作。你会看到彩色的、格式化的输出,这使得它更容易理解和调试。

蝙蝠:猫的替代品

cat 命令可能是你最先学会的命令之一。它可以完成查看小型文本文件内容的工作。

bat 命令 更上一层楼,添加了语法高亮和 Git 集成等功能,并且还提供了分页选项。

ncdu: du 命令的替代品

Linux 中的 du 命令 用来检查一个目录的大小。这不是一个非常直观的命令,当然它的默认输出也不算非常好。

与此相比,ncdu 要好得多,它能及时提供相关信息。

它还有其他一些功能,比如用图表显示磁盘使用情况,对显示进行排序,甚至可以交互式地删除目录。

它是基于 ncurses 的,因此 “nc” 这个前缀被加到 du 中。此外,还有一个类似的 CLI 工具:gdu,也是一个 du 的替代品,因为是使用 Go 编写的,这使得它的性能得到了提升。

htop: top 命令的替代品

top 命令是 Linux 终端中的任务管理器。它是一个查看运行进程和资源消耗的好工具,但是 理解和使用 top 命令 可能很复杂。

另一方面,htop 有一个漂亮的彩色输出,并且界面比 top 命令更直观。你可以垂直和水平滚动,以图形方式配置显示的信息。你可以在 htop 的输出屏幕上交互式地杀死进程。

fd:find 命令的替代品

find 命令是最强大和最常用的 Linux 命令之一。不能想象一个系统管理员可以不使用 find 命令就能生存下去。

但是,find 命令的结构奇怪,如果你进行大量的查找操作,它可能会很慢。

一个更好、更快的替代方案是 fd 命令fd 是用 Rust 编写的,它比其传统的竞争对手更简单、更快速。

exa:ls 命令的替代品

exa 命令行工具不止可以列出目录内容。它的默认设置更好,使用颜色来区分文件类型和元数据。exa 还可以显示一个文件的扩展属性,以及标准的文件系统信息,如 inode、块数,以及文件的各种日期和时间。

你可以使用树状视图来查看目录结构。它也有内置的 Git 支持,可以看到哪些文件被修改、提交和暂存等。

duf:df 命令的替代品

Linux 中的 df 命令 用来检查磁盘空间。虽然它在大多数情况下都不错,但一个更简单、更好的替代方法是 duf,这是一个用 Go 编写的工具。

它提供了一个所有挂载设备的概览,这很容易理解。你还可以指定一个目录/文件名并检查该挂载点的可用空间。

通过 duf,你可以对输出进行排序、列出 indoe 信息,甚至将输出保存为 JSON 格式。

太长不读:男人的替代品

我知道对于纯粹主义者来说,Linux 中的手册页 是不二之选。但是,手册页有时会过于详细和复杂,难以阅读和理解。

这就是 tldr 登场的时机。“TLDR” 是流行的互联网行话,意思是“ 太长不读 to long didn't read ”。这就是他们创建 tldr 的想法。如果你觉得手册页太长而不想阅读,tldr 通过提供命令的实际例子而将其简化了

Neovim:Vim 的替代品

我希望我在这里没有冒犯谁,但更好的 Vim 不是 Emacs,而是 Neovim

几年前,作为对传统的 Vi 编辑器的改进,Vim 出现了。又是几年过去了,Neovim 提出了将 Vim 扩展为一个 IDE 的想法。

它增加了现代终端的功能,如光标样式、焦点事件、括号内粘贴等,并内置了一个终端模拟器。最重要的是,你不需要忘却 Vim 的习惯就可以开始使用 Neovim。

你的选择呢?

再次强调,这些替代命令还不能完全替代原来的命令,特别是如果你管理许多 Linux 系统的话。你可能无法在所有的系统上找到并安装它们。只有你可以完全控制你的 Linux 机器时,它们才是好东西。

除此以外,你是否在这个列表中找到了一些好的替代命令行工具?是哪一个呢?另外,你知道其他一些可以 “替代” 传统 UNIX 命令的工具吗?为什么不在评论区与我们分享呢?


via: https://itsfoss.com/legacy-linux-commands-alternatives/

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

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

机器学习方案将帮助不同的无线电协议,如 Wi-Fi 和 LTE,在同一的无线频谱中更有效地协同工作。

美国国家标准与技术研究所(NIST)开发的机器学习方案有可能显著改善 5G 和其他无线网络选择和共享通信频率的方式。研究人员声称,与试错法相比,NIST 的方案可以使共享通信频率的过程的效率提高多达 5000 倍。

NIST 系统的理念是,无线电设备可以从经验中学习其网络环境,而不是像现在这样,简单地根据试错法选择频率信道。

NIST 在 其网站上的一篇文章 中说,在特定的环境条件下,“该算法可以学习哪个信道提供最好的结果”。

该团队说:“该方案可以被编程到现实世界中许多 [不同] 类型网络的发射机软件中。”

从本质上讲,这个计算机模拟的算法是一个映射环境射频条件的先前经验的公式。例如,这些条件可以包括在一个信道(一组相邻的频率)内运行的发射机的数量。

文章说:“……如果发射机选择了一个未被占用的信道,那么成功传输的概率就会上升,从而导致更高的数据速率。”同样地,当发射机选择一个没有太多干扰的信道时,信号会更强,你也会得到更好的数据速率。发射机会记住哪个信道提供了最佳结果,并学会在下次需要清晰信号时学会选择那个位置。

这与今天的工作方式不同。也就是说,无线电只是试图找到一个开放频率,然后与类似协议的无线电进行通信。在复杂的情况下,使用诸如 Wi-Fi、跳频和 波束成形 等技术来优化信道。

研究人员解释说,NIST 的机器学习技术的亮点在于共享频谱,比如通过授权频谱辅助接入(LAA)共享 Wi-Fi。LAA 是非授权频谱中的 LTE 频谱,称为 LTE-U,频率为 5GHz。在相同频率下的 Wi-Fi 与 LAA 的组合中,协议是不同的:无线电之间不能相互通信以协调工作,而且频带越繁忙就可能出现混乱 —— 传输会遇到其他传输。但是,如果所有的无线电接收机都能更好地选择它们的占位,通过学习哪些有效,哪些无效,那么这将会更好。

NIST 工程师 Jason Coder 在文章中说:“这可能会使非授权频段的通信更加高效。”

事实上,NIST 声称,它“可以帮助 5G 和其他无线网络选择和共享通信频率,其效率大约是试错法的 5000 倍。”

这里的关键词是“共享”,因为为了在有限的频谱内增加通信,必须进行更多的共享 —— 物联网或媒体流等用户都在争夺同样的隐喻资产。随着物联网和数字技术的不断发展,非授权和授权频段的结合,就像 LAA 中的情况一样,可能会变得更加普遍。(非授权的频段是指那些没有分配给特定用户的频段,比如移动网络运营商;授权频段是在拍卖中中标并分配的。)

在 NIST 场景中,相互竞争的发射机“各自学习在不相互通信的情况下最大化网络数据速率”。因此,多种协议和数据类型,如视频或传感器数据,或 Wi-Fi 和移动网络,可以相互协作。

NIST 的方案大大简化了为发射机分配最佳信道的过程,根据这篇文章研究发现,穷尽努力 [使用试错法] 来确定最佳解决方案需要大约 45600 次试验,而这个方案只需要尝试 10 个渠道就可以选择类似的解决方案,仅仅付出 0.02% 的努力。”

NIST 的研究人员在 IEEE 第 91 届车辆技术会议上展示了他们的研究成果。


via: https://www.networkworld.com/article/3561618/nist-aims-to-make-frequency-sharing-more-efficient-for-wireless-networks.html

作者:Patrick Nelson 选题:lujun9972 译者:CN-QUAN 校对:wxy

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