用树莓派集群进行并行和分布式计算
这个使用树莓派集群的学术实验向远程教育学生介绍了并行和分布式计算（PDC）的概念。自从树莓派推出以来，创造者们已经在这个简陋的袖珍芯片系统上开展了无数的计算机科学教育项目。其中包括许多探索低成本树莓派集群的项目，以介绍 并行和分布式计算 Parallel and Distributed Computing （PDC）概念。英国 开放大学 Open University （OU）为不同年龄、经历和背景的学生提供远程教育，这就提出了一些在更传统的大学中没有面临的问题。开放大学使用树莓派集群向远程教育学生介绍 PDC 概念的实验始于 2019 年，并在一篇 学术论文 中进行了介绍，但值得更广泛地了解。该项目使用基于 OctaPi 教程 的树莓派集群，该指令由 GCHQ 在知识共享许可协议下发布。八个树莓派使用一个路由器和一个交换机连接在一个私人网络中。其中一个树莓派充当主控，而其他的是服务器，将结果反馈给主控设备。用 Python 编写的程序运行在主控树莓派，而 dispy 包将活动分发在集群的各个处理核心上。OctaPi 教程他们为该集群开发了三个程序，你可以从 Git 仓库 下载它们。其中两个程序是基于文本的，并与搜索问题有关：旅行推销员和密码散列。作为完整的搜索问题，这些是教授 PDC 概念的理想选择。第三个程序是图形化的。图像组合器将三幅图像作为输入，其中有不重叠的障碍物。它通过对三幅图像的 RGBA 值进行逐个像素的比较并选择中位数来构建一个没有任何障碍物的图像。使用集群开放大学是一个远程学习机构，所以学生通过网页界面访问集群。对集群的远程访问使用大学的 OpenSTEM 实验室的基础设施。10 个集群（8 个用树莓派 4 构建，2 个用树莓派 3B+ 建造）被安装在机架上，用网络摄像头对准每个集群。学生们选择要运行的程序，使用的核心数量，以及所选程序的参数。作为输出，他们可以看到该程序在单个树莓派上运行的时间与使用所选核数的集群的时间相比。学生还可以看到程序的输出，如密码散列结果、最小和最大的旅行推销员路线，或未遮挡的图像。网络摄像头显示了集群的实时流。主控树莓派有一个 LED 显示屏，显示程序运行时的状态。网络摄像头让学生清楚地知道，他们是在用真正的专用硬件做实验，而不是得到模拟的或预先录制的结果。每个程序都有两个与之相关的活动，描述了程序设计和 PDC 操作的不同方面。其中一个主要的学习点是，PDC 计算可以提供显著的性能优势，但代价是划分和分发问题以及反过来重新组合结果所花费的时间和资源。第二个学习点是，效率受程序设计的影响很大。学生喜欢目前，树莓派集群的使用是可选的。不过根据目前的研究结果，学生们很喜欢它，并因能远程接触到物理硬件而受到激励。一位学生说：“能够使用真正的集群，而不是让它虚拟化，这真的很有趣”。另一名学生补充说：“能够真正看到集群的工作，看到多核工作的真实效果，这真的很令人兴奋。能够亲自尝试，而不仅仅是阅读有关理论，这真是太好了！”学生们正在使用集群开展旨在教授 PDC 原理的学习活动，而不是编写和运行他们自己的程序。开发低成本的树莓派集群供远程大学学生使用的经验表明，远程实践活动对教授 PDC 概念和吸引学生有好处。当我向该项目背后的团队成员之一 Daniel Gooch 询问时，他说：“对我来说，我们的不同之处在于，我们采用了一套现有的树莓派教程，并致力于整合更多外围材料，以确保它能够应对我们操作的距离和规模。”via: https://opensource.com/article/23/3/parallel-distributed-computing-raspberry-pi-clusters作者：Peter Cheer 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
为纪念全球无障碍意识日，让我们了解一下 NVDA 开源屏幕阅读器，以及你该如何参与其中，为所有网络用户提高无障碍性。屏幕阅读器是辅助技术软件的一个专门领域，它可以阅读并说出计算机屏幕上的内容。完全没有视力的人只是视力障碍者的一小部分，屏幕阅读器软件可以帮助所有群体。屏幕阅读器大多特定于操作系统，供有视觉障碍的人和无障碍培训师使用，以及想要测试网站或应用的无障碍访问程度的开发人员和无障碍顾问。如何使用 NVDA 屏幕阅读器WebAIM 屏幕阅读器用户调查 始于 2009 年，一直持续到 2021 年。在第一次调查中，最常用的屏幕阅读器是 JAWS，占 74%。它是微软 Windows 的商业产品，并且是长期的市场领导者。NVDA 当时是一个相对较新的 Windows 开源屏幕阅读器，仅占 8%。快进到 2021 年，JAWS 占 53.7%，NVDA 占 30.7%。你可以从 NVAccess 网站 下载最新版本的 NVDA。为什么我要使用 NVDA 并将它推荐给我使用微软 Windows 的客户？嗯，它是开源的、速度快、功能强大、易于安装、支持多种语言、可以作为便携式应用运行、拥有庞大的用户群，并且有定期发布新版本的周期。NVDA 已被翻译成 55 种语言，并在 175 个不同的国家/地区使用。还有一个活跃的开发者社区，拥有自己的 社区插件网站。你选择安装的任何附加组件都将取决于你的需求，并且有很多可供选择，包括常见视频会议平台的扩展。与所有屏幕阅读器一样，NVDA 有很多组合键需要学习。熟练使用任何屏幕阅读器都需要培训和练习。向熟悉计算机和会使用键盘的人教授 NVDA 并不太难。向一个完全初学者教授基本的计算机技能（没有鼠标、触摸板和键盘技能）和使用 NVDA 是一个更大的挑战。个人的学习方式和偏好不同。此外，如果人们只想浏览网页和使用电子邮件，他们可能不需要学习如何做所有事情。NVDA 教程和资源的一个很好的链接来源是 无障碍中心。当你掌握了使用键盘命令操作 NVDA，它就会变得更容易，但是还有一个菜单驱动的系统可以完成许多配置任务。测试无障碍性多年来，屏幕阅读器用户无法访问某些网站一直是个问题，尽管美国残疾人法案（ADA）等残疾人平等立法仍然存在。NVDA 在有视力的社区中的一个很好的用途是用于网站无障碍性测试。NVDA 可以免费下载，并且通过运行便携式版本，网站开发人员甚至不需要安装它。运行 NVDA，关闭显示器或闭上眼睛，看看你在浏览网站或应用时的表现如何。NVDA 也可用于测试（通常被忽略的）正确 标记 PDF 文档以实现无障碍性 任务。有几个指南专注于使用 NVDA 进行无障碍性测试。我可以推荐 使用 NVDA 测试网页 和使用 NVDA 评估 Web 无障碍性。via: https://opensource.com/article/22/5/open-source-screen-reader-windows-nvda作者：Peter Cheer 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Bitsy 是一个开源电子游戏设计软件。 其简约的功能使任何人都可以探索他们的创造力。有许多游戏设计程序和各种游戏设计方法，但对我来说，最突出的是 Bitsy。Bitsy 由 Adam Le Doux 在 2017 年创建，在 MIT 许可下发布，用其创造者的话说，Bitsy 是：“一个用于小游戏或世界的编辑器。其目标是使制作游戏变得容易，在那里你可以四处走动，与人交谈，并到某个地方。”安装 BitsyBitsy 是用 JavaScript 编写的，可以制作 HTML5 游戏。你可以从 GitHub 或 它的创造者的网站 下载它。它很小，很容易学习，有独特的位图艺术风格，有意在功能上有所欠缺，而且能做的事情有限。尽管（也许是因为）这些限制，Bitsy 自发布以来吸引了一个充满活力的用户社区。用户对 Bitsy 采取的两个主要方法是：接受限制和寻求突破限制，看看你能走多远。创意的界限Bitsy 的局限性意味着接受这些局限性仍能制作出令人满意的游戏，这就成为一个需要创造性和创造力的挑战。你可以在 Itch.io 网站 上看到和玩一些用 Bitsy 制作的令人印象深刻的游戏。同时，人们也想出了一些黑科技、调整和扩展。这些都在不牺牲 Bitsy 的本质的前提下突破了一些限制。Bitsy 的基本元素是一个代表玩家的头像、发生游戏动作的房间、精灵（可以与之互动的非玩家角色）和物品。有一个用于创建这些元素的位图编辑器，它也支持简单的两帧动画。在 Bitsy 中工作依赖于条件变量，而不是成熟的脚本，这使得没有编码背景的人容易学习，但有时会让那些期待更多灵活性的人感到沮丧。如果你想了解 Bitsy 的基本情况，你可以在创作者的网站上了解，或者下载并在本地运行。文档关于 Bitsy 的文档并不是只有一个地方可以去看。如果你想看 Bitsy 的操作，可以在 YouTube 上找到各种短视频。我更喜欢基于文本的教程，我发现最有用的三个资源是：Itch.io 网站上提供的官方 Bitsy 教程，作者是 Claire MorwoodBitsy workshop PDF， 由用户 haraiva 提供Bitsy 变量， 教程由用户 ayolland 编写阅读这些教程，尝试一些 Bitsy 游戏，并开始创造你自己的东西。开始时要保持简单。当你熟悉了 Bitsy，你可能想研究一下人们为它创造的一些 工具、黑科技和扩展。它也是教育工作者的完美工具，甚至还有教育工作者 Hal Meeks 的 Bitsy 课程 可供在线学习。你还可以在 Itch.io 网站 上找到人们为 Bitsy 制作的大量游戏资源。Twine 整合你可能已经尝试过流行的基于浏览器的游戏开发工具 Twine。你可以将 Bitsy 与 Twine 不同程度地整合。整合的范围可以从简单地将 Bitsy 游戏放在一个 iframe 中显示在你的 Twine 游戏中，到在两个引擎之间共享变量和对话命令，让你在 Bitsy 游戏中执行基本的 Twine 命令！如果你对这些感兴趣，那么请看：结合 Bitsy 和 Twine 的教程Bitsy 黑科技Freya 的 Twisty 模板给初学者的 Bitsy初学者很容易入门 Bitsy，无论你是编程新手还是仅仅是游戏设计的新手。有了它，你可以探索它在激发创造力、想象力和创造性方面的所有可能性。via: https://opensource.com/article/22/1/bitsy-game-design作者：Peter Cheer 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
用这个有用工具从 Markdown 文件创建一个基础的网站。有很多理由喜欢 Markdown，这是一门简单的语言，有易于学习的语法，它可以与任何文本编辑器一起使用。使用像 Pandoc 这样的工具，你可以将 Markdown 文本转换为各种流行格式，包括 HTML。你还可以在 Web 服务器中自动执行转换过程。由 TimoDörr 创建的名为 MDwiki 的 HTML5 和 JavaScript 应用可以将一堆 Markdown 文件在浏览器请求它们时转换为网站。MDwiki 网站包含一个操作指南和其他信息可帮助你入门：Mdwiki 网站的样子。在 Web 服务器内部，基本的 MDwiki 站点如下所示：该站点的 web 服务器文件夹的样子我将此项目的 MDwiki HTML 文件重命名为 START.HTML。还有一个处理导航的 Markdown 文件和一个 JSON 文件来保存一些配置设置。其他的都是网站内容。虽然整个网站设计被 MDwiki 固定了，但内容、样式和页面数量却没有。你可以在 MDwiki 站点查看由 MDwiki 生成的一系列不同站点。公平地说，MDwiki 网站缺乏网页设计师可以实现的视觉吸引力 —— 但它们是功能性的，用户应该平衡其简单的外观与创建和编辑它们的速度和简易性。Markdown 有不同的风格，可以针对不同的特定目的扩展稳定的核心功能。MDwiki 使用 GitHub 风格 Markdown，它为流行的编程语言添加了格式化代码块和语法高亮等功能，使其非常适合生成程序文档和教程。MDwiki 还支持 “gimmick”，它增加了如嵌入 YouTube 视频和显示数学公式等额外功能。如果在某些项目中需要它们，这些值得探索。我发现 MDwiki 是创建技术文档和教育资源的理想工具。我还发现了一些可能不会立即显现出来的技巧和 hack。当部署在 Web 服务器中时，MDwiki 可与任何现代 Web 浏览器一起使用。但是，如果你使用 Mozilla Firefox 访问 MDwiki，那么就不需要 Web 服务器。大多数 MDwiki 用户会选择在 Web 服务器上部署完整的项目，以避免排除潜在用户，但只需使用文本编辑器和 Firefox 即可完成开发和测试。任何现代浏览器都可以读取加载到 Moodle 虚拟学习环境（VLE）中的完整的 MDwiki 项目，这在教育环境中非常有用。 （对于其他 VLE 软件，这可能也是如此，但你应该测试它。）MDwiki 的默认配色方案并非适用于所有项目，但你可以将其替换为从 Bootswatch.com 下载的其他主题。为此，只需在编辑器中打开 MDwiki HTML 文件，找到 extlib/css/bootstrap-3.0.0.min.css，然后插入下载的 Bootswatch 主题。还有一个 MDwiki gimmick，让用户在浏览器中载入 MDwiki 后，选择 Bootswatch 主题来替换默认值。我经常与有视力障碍的用户一起工作，他们倾向于喜欢高对比度的主题，在深色背景上使用白色文字。MDwiki 页面使用 Bootswatch Superhero 主题MDwiki、Markdown 文件和静态图像可以用于许多目的。但是，你有时可能希望包含 JavaScript 幻灯片或反馈表单。Markdown 文件可以包含 HTML 代码，但将 Markdown 与 HTML 混合会让人感到困惑。一种解决方案是在单独的 HTML 文件中创建所需的功能，并将其显示在带有 iframe 标记的 Markdown 文件中。我从 Twine Cookbook 知道了这个想法，它是 Twine 交互式小说引擎的支持站点。Twine Cookbook 实际上并没有使用 MDwiki，但结合 Markdown 和 iframe 标签开辟了广泛的创作可能性。这是一个例子：此 HTML 将显示由 Markdown 文件中的 Twine 交互式小说引擎创建的 HTML 页面。 MDwiki 生成的站点结果如下所示：简而言之，MDwiki 是一个出色的小应用，可以很好地实现其目的。via: https://opensource.com/article/18/8/markdown-html-publishing作者：Peter Cheer 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出