在开源运动的早期,很多注意力都集中在操作系统上,后来又集中在大型内容管理系统上。如今,容器甚至在主流新闻媒体中也经常被提及。大型科技故事很棒,但它们错过了开源领域利基市场的其他伟大活动。我汇总了过去一年中七个有趣的、鲜为人知的项目。您可以在我的Nooks and Crannies专栏中看到更多关于此类项目的文章。
Mixxx:DJ 的瑞士军刀
在 20 世纪 80 年代后期,我曾在当地一家广播电台担任唱片骑师,并为派对、婚礼和舞会担任移动 DJ。这非常有趣,而且创业并不难。您可以用两台 CD 播放器、一个像样的混音器和放大系统以及大量 CD 建立店铺。三十年后,让我印象深刻的是搬运所有这些 CD。在当时,采样对于移动 DJ 来说几乎是闻所未闻的。当时常用的计算机价格昂贵且速度很慢,以至于从 PC 播放音乐是有风险的——在演出期间的某个时刻它会因缓冲而卡顿。
在过去的几年里,DJ 的技术发生了巨大的变化。一台廉价的计算机可以处理我们在 80 年代所做的一切,甚至更多。Mixxx是一个开源系统,可以作为移动或俱乐部 DJ 的混音器和采样器。它功能非常丰富,具有四个输入卡座和四个采样卡座、用于交叉淡入淡出期间同步的工具、用于和声混音的音调检测和音高转换以及内置效果。您可以使用SHOUTcast或Icecast现场播放您的混音、录制混音或通过互联网流式传输混音。Mixxx 拥有一个惊人的音乐库系统,可让您以任何您喜欢的方式组织您的音乐,从而快速访问库中的歌曲。Mixxx 全面支持 DJ 硬件控制器,包括 80 多种最流行的型号。

我查看了 Mixxx 社区,这是一个强大、组织良好的专注灵魂群体,具有广泛的多样性。这里有论坛、一个庞大的维基以及完善的错误和发布跟踪。社区采用了编写良好的行为准则,以阻止成员之间的不良行为。在维基上,您会找到关于硬件与 Mixxx 一起使用的实用技巧,以及一个参与页面,其中介绍了即使是非程序员也可以如何融入 Mixxx 社区。Mixxx 是一个 C++ 应用程序,在 GPL v2 许可证下适用于 Windows、OS X 和 Linux。2.0 版本于 2015 年 12 月发布。
sofa:不是懒惰数据科学家的好去处
R 项目是一种广泛使用的统计计算软件环境,它在数据分析中的应用持续增长。rOpenSci 项目正在开发工具,使 R 能够访问大型科学数据存储库和全文期刊文章。rOpenSci 团队的工具之一是sofa。Sofa 是一个工具包,用于在 R 中轻松访问 CouchDB NoSQL 文档数据库。
要开始在程序中使用 sofa,您需要创建一个服务器句柄,巧妙地称为cushion
myCushion <- Cushion$new( host = "myhost.mynet.org", transport = 'https', port = NULL, user = 'username', pass = 'mypassword' )
一旦您有了 cushion,您就可以连接到任何数据库或创建和销毁数据库。数据库创建就像
db_create(myCushion, 'felines')
一旦您创建了 JSON 或 XML 文档,将其插入数据库就很容易
my_kitty <- '{"name":"Midnight", "color":"black", "furry":true, "size":'large', "gender":"tom"}' doc_create(myCushion, dbname="felines", my_kitty)
您可以选择指定第四个参数给 doc_create
以强制将文档 ID 设置为已知值。如果您不使用它,则默认使用自动生成的哈希键。
准备好查询了吗?很简单
db_query(myCushion, dbname="felines", selector=list(size = 'large'))$docs
此查询返回一个结构,其中包含所有文档的完整文档,包括 ID 和修订版,这些文档的 size 字段为 large
。有一些工具可以让您将返回限制为特定字段,并且比此示例更复杂的搜索。
Sofa 是一个用于解锁 CouchDB 中数据的强大工具;如果大数据是您的游戏,它可能是适合您的工具。rOpenSci 的所有工作都已获得 MIT 许可,并具有贡献者行为准则。该代码在GitHub 上提供。
PANOPTES:开源天文学
我在四月份采访了 PANOPTES 项目的 Jennifer Tong 和 Wilfred Gee。我很喜欢他们在 OSCON 会议上的演讲,并且一直在关注他们的网站,以获取有关这个伟大项目的更多信息。PANOPTES(Panoptic Astronomical Networked OPtical observatory for Transiting Exoplanets Survey,用于凌星系外行星巡天观测的全景天文网络光学天文台)是一个利用世界各地感兴趣的公民科学家的力量,构建机器人望远镜网络的项目。这个全球阵列将探测凌星系外行星,以便由更大的地球和太空望远镜进行进一步检查。
每个参与者都使用现成的设备构建一个机器人望远镜:一个商用相机、一个 Arduino Micro、一个 Intel NUC 和其他易于找到的组件。您可以从亚马逊购买大部分组件,总成本不到 5,000 美元。这些望远镜将与项目服务器共享他们的数据,来自许多单元的图像分析将用于寻找潜在的结果。当所有者需要时,可以断开单个望远镜的联机以进行不相关的观测。这使其成为学校和科学教育工作者的理想项目,因为他们可以参与一个更大的全球项目,并且可以使用高质量的望远镜进行本地教学工作。
PANOPTES 项目正在继续完善其硬件设计。欢迎该系统的 Beta 测试人员按照网站上的说明构建一个。集中式天文台控制系统也正在进行大量工作,该系统指导每个机器人望远镜进行观测。这个项目不仅值得关注它能做的科学研究,还值得关注学习如何让人们参与其他分布式科学团队的过程。
OpenAPS:提高 1 型糖尿病患者的生活质量
今年 OSCON 的一个亮点对我来说是 Dana Lewis 关于 OpenAPS 的主题演讲,OpenAPS 是一个简化的 1 型糖尿病患者人工胰腺。OpenAPS 使用当前可用的医疗工具——糖尿病泵和持续葡萄糖监测仪,与 Raspberry Pi 或 Intel Edison 计算机配对。该系统负责处理泵用户通常必须执行的复杂计算,以保持其血糖水平稳定。通过每五分钟更新一次,它可以近乎实时地 24 小时工作。这意味着用户白天减少了麻烦,晚上睡得更好。
这项工作的核心信念是,通过开源项目代码,他们可以比当前的闭源 APS 医学研究更快地让更多人获得 APS(人工胰腺系统)技术。OpenAPS 团队对剂量采取了保守的方法,以帮助确保其安全有效。
已部署 90 多个单元,其中 30 多个在 2016 年夏季和秋季部署,约三分之一的 OpenAPS 用户是儿童。社区由用户主导,欢迎新用户加入。构建自己的文档是免费提供的,并且非常详细。它不仅解释了如何,还解释了为什么;并强调患者安全。
我们许多从事 IT 工作的人都希望通过让计算机做有趣的事情来改善生活,而 OpenAPS 是我发现的最好的例子之一,它利用我们的开源技能来帮助我们所爱的人。
OpenEMR:用于组织医疗实践的工具
我一直认为医生的办公室是一个非常复杂的工作场所。必须保存和保护大量不同的信息,并且使用患者信息的功能也同样多样化。最近我很惊讶地了解到OpenEMR,一个开源的实践管理系统。它已经存在一段时间了,最初于 2001 年以另一个名称开发。第一个版本于 2002 年在 GPL V2.0 许可证下发布。
功能列表令人印象深刻。除了强大的患者记录系统外,OpenEMR 还具有内置的医疗账单系统,可以使用 ANSI ASC X12 参与主要的账单交换中心,并且可以使用任何所需的编码系统。OpenEMR 还使用 ePrescribe 处理在线处方订购,以及更传统的打印、传真或电子邮件方式。如果作为服务安装,OpenEMR 还具有患者门户系统来处理与患者的沟通。如果办公室已经在使用流行的患者门户系统,则该系统可以通过 API 进行通信并改用该系统。

OpenEMR 提供了惊人的报告列表,我注意到的一个功能是它支持 20 多种语言,并且能够在同一诊所中支持多种语言。这对于非本地语言使用者人口众多的多元化城市来说是一个不错的功能,因为每个用户都可以选择自己的语言集。OpenEMR 完全符合 UTF-8 标准。
据估计,仅在美国就有 5,000 多个安装,OpenEMR 拥有蓬勃发展的用户和开发人员社区。OEMR 基金会是一个美国慈善组织,旨在支持 OpenEMR 的采用和开发,以促进所有人都能负担得起的医疗保健。用户和开发人员有非常活跃的论坛,可以讨论他们的需求并获得应用程序的帮助。全球有 30 多家公司提供 OpenEMR 的商业托管和/或支持。它不是一个Thneed(根据苏斯博士的说法,这是所有人都需要的好东西),但这绝对是一个伟大的开源成功故事。
bibisco:小说家的朋友
在 2015 年 9 月,我在我的专栏中介绍了 bibisco。由 Andrea Feccomandi 编写的 bibisco 是 Scrivener 等程序的开源替代品。我对完善的功能集印象深刻,正如我当时所说,我一直在将自己的小说和其他作品转移到其中。只有一件事阻碍了我对这个项目表示完全的热情,那就是缺少 OS X 客户端。Andrea 为 Windows 以及 32 位和 64 位 Linux 打包了它。我的一个朋友在他的 Mac 上通过巧妙的技巧使它能够工作,但对我来说如何做到这一点仍然是个谜。
Bibisco 确实彻底改变了我写小说的方式。对于一章中的每个场景,我都有一个单独的条目,其中包含描述该场景的单行标题。我可以使用这些条目作为该章节的故事板,并根据需要重新排列它们。每个章节都可以标记位置和人物,我可以获得关于这些位置和人物在整本书中出现的频率的报告。自从完成切换以来,我取得了相当大的进展,我再高兴不过了。但是,有一个令人烦恼的小问题。我只能在家里的 Windows 机器上写小说;我的 Macbook 就是做不到。令我惊讶的是,在文章发布几天后,Andrea 发表评论并告诉全世界他购买了一台 Mac,以便他可以发布 OS X 客户端。然后,一个月后,他再次评论,宣布在网站上发布 OS X 客户端。
Pa11y:自动化可访问性测试
Web 设计中经常被忽略的一个要素是可访问性。许多指南很难测试,但是有许多具体的、可测试的标准,设计师可以使用这些标准——如果他们有合适的工具来完成这项工作。输入 Pa11y,这是一套工具,用于对网页进行一次性或自动化测试,以检查其是否符合广泛的标准集的可访问性。使用 npm
可以轻松安装基本工具包,因此您可以立即测试您的页面并获得反馈和具体的改进建议。如果您的组织希望对页面进行持续或定期的测试,则安装仪表板和 Web 服务非常简单。您可以在 demo.pa11y.org 上看到此仪表板的演示。
社区正在积极开发其网站的新版本,其中包括面向开发人员和其他希望贡献者提供的更详细的信息。该小组采用了行为准则,该准则改编自 Contributor Covenant。他们还开始开发名为 Sidekick 的仪表板应用程序的新版本,该版本更加精细。该项目的编码已经开始,该团队致力于完全开放地设计和开发该项目,在 GitHub 存储库中。
以及更多
每年都会出现数百个新的开源项目。尽管我很想这样做,但涵盖所有项目是不可能的。本综述中的项目只是来年许多值得关注的项目中的一小部分。请告诉我们您的项目——提交文章提案。
1 条评论