本月初,我很幸运能与一些同事一起在柏林参加了 2014 年开放知识节及相关的周边活动。
内容实在太多,无法在一篇短文中概括——从负责数字议程的欧盟专员 Neelie Kroes 为“拥抱开放机遇”辩护,到 Patrick Alley 令人叹为观止地讲述 Global Witness 如何利用信息揭露世界各地的犯罪和腐败行为。
在一周的 数十场精彩会议中,有几件事给我留下了深刻的印象。以下是这些内容:
1) 开放数据需要用户和政府的长期承诺。
布基纳法索的“Nos Ecoles, Nos Donnees”应用程序
开放数据伙伴关系 主办了一场精彩的会议,重点介绍了低收入和中等收入国家开放数据的实际应用案例。
坦桑尼亚
Joachim Mangilimai 是来自坦桑尼亚的 数据学院研究员,他展示了一款斯瓦希里语手机应用程序,该应用程序旨在支持医务人员的决策。该应用程序基于 人口理事会 发布的指南构建,并使用 开放数据工具包 框架构建。他还重点介绍了 Twaweza 的 Shule.info 项目,该项目汇编并可视化了政府关于学校表现的数据,家长可以使用这些数据来更好地了解情况。
布基纳法索
Malick Tapsoba 是 布基纳法索开放数据 团队的技术经理,他重点介绍了他们在低容量、低连接环境下启动 开放数据门户 时克服的困难,以及下一个重大挑战是如何培养数据用户社区。他们还构建了一个很棒的学校信息应用程序,名为“我们的学校,我们的数据”,该应用程序提供按性别分列的学校表现数据。他们在一个困难的环境中出色地启动了他们的倡议。
墨西哥和菲律宾
我们还听取了墨西哥政府的 Ania Calderón 介绍了他们的“数据小队”计划,该计划为不同的政府机构提供快速支持,以将高质量数据发布到国家开放数据门户。最后,菲律宾 Bantay 腐败举报平台的创建者 Happy Feraran 强调了动员社区的重要性。
经验教训: 世界各地都有一些很棒的开放数据倡议,两个共同的主题是需要一个技术素养高的数据再使用者社区,以及政府需要长期持续努力来改变他们创建、管理和发布数据的方式。Tim Davies 也从 开放数据研究网络 中 分享了“15 个开放数据见解”,您可以阅读 ODI 的 Liz Carolan 关于 本次活动的收获。
2) 电子表格是代码,您可以对数据进行单元测试。
在 Excel 中实现的 图灵机
Jenni Tennison 宣布 2014 年为 CSV 年,而周边活动 csv,conf 是我在很长一段时间内参加过的最富信息量的会议。在 30 多位演讲者 就与(主要是)表格数据的创建、管理和应用相关的技术专题进行演讲的情况下,选择太多了,但我最关注的是“将电子表格视为代码”和“表格数据的单元测试”
电子表格是代码
Felienne Hermans 负责领导 电子表格实验室(我不是在开玩笑),该实验室位于 代尔夫特理工大学。她要求我们从她的演讲中记住一件事,那就是“电子表格是代码”。她认为我们应该像对待代码一样对待电子表格,并使用软件工程方法,如测试、重构和为可维护性而设计。她随意地演示了 Excel 是“图灵完备的”,并且与任何其他编程语言一样强大,她通过使用 Excel 构建图灵机(见上图)并重点介绍了一些可以帮助提高电子表格应用程序质量的工具。
第一个工具是 Bumblebee,Felienne 开发该工具用于优化电子表格公式。它可以做很多事情,但可以考虑自动将诸如“SUM(F3:F7)/COUNT(F3:F7)”之类的东西替换为更简单的“AVERAGE(F3:F7)”,以及其他用户定义或自动转换。她讨论了另一个工具(我现在忘记了名字),该工具可以帮助进行公式测试,并在她的演讲结束时提到了(商业)服务 spreadgit,该服务将基于云的类似 git 的修订管理引入 Excel。
她指出,“就像民主一样,电子表格是最糟糕的,但除了所有其他选择”,并且在她的“为 99% 的人编程和数据科学”课程中,她认识到 Excel(以及 LibreOffice 和 OpenOffice 等开放替代方案)将在可预见的未来成为大多数人进行数据分析的主要方式,因此我们应该鼓励人们在编写电子表格代码时采用一些良好的软件工程习惯。
以编程方式测试数据
Karthik Ram 是超棒的 rOpenSci 的联合创始人,也是 伯克利 的科学家,他分享了他们在 testdat R 包上所做的一些有希望的工作。简而言之,它将允许您以编程方式测试和纠正数据集中的异常值、文本格式问题和无效值等错误。它仍在开发中,但您可以从 Karthik 的幻灯片 中了解一些想法。
Karthik Ram 提出的新旧科学方法。
最后,他有益地提醒我们,“开放科学”运动正在创造不断变化的规范——曾经,研究论文是科学家的主要成果,但现在人们越来越接受科学研究的代码、数据和叙述的各个要素都将是公开的,可供重复使用。
经验教训: 电子表格是代码,我们可以采用一些软件工程实践来更好地利用它们。科学界正在开创许多强大的数据处理工具和方法(例如,Hadley Wickham 刚刚宣布了用于 R 中数据清理的 tidyr 工具),而我们在其他领域工作的人可以采用和效仿其中的许多工具和方法。
3) 公民科技的未来(可能)在于可重用的软件组件。
在“开放数据会出错吗?”会议之前,我与总是深思熟虑的 Tom Steinberg(来自 mySociety)进行了一次交谈,Tom 告诉我他认为开放数据可以走向正确的方向之一:Poplus
用 他们自己的话来说,Poplus 是一个“由来自许多不同国家的人员和组织组成的开放联盟”,其“共同使命是分享知识和技术,以帮助我们公民”。他们目前拥有的主要资源是 Poplus 组件,您可以将其视为更复杂的公民应用程序的构建块。
当前的组件包括:
Represent Boundaries – 面向地理区域(如选区)的 Web API
SayIt – 用于存储和检索公共声明书面记录的服务
MapIt – 一种查找特定点所属行政区域的服务
WriteIt – 一种向公众人物撰写和发送消息的服务
PopIt – 一种维护政治家列表和相关传记信息的工具
BillIt – 一种灵活的文档存储工具
为什么是可重用的软件组件而不是可重用的应用程序?
例如,是否可以将 此应用程序(旨在可视化英国中学表现)重新用于坦桑尼亚或布基纳法索?也许可以,但可能不行。为什么?因为上下文差异足够大,以至于像许多其他应用程序一样,基于英国的应用程序根本无法转换为在其他国家/地区使用,因此构建一个专为当地环境设计的新应用程序更容易。
这就是 Poplus 组件的优点——它们抽象出公民应用程序的功能要素,并使它们易于组合并在其之上构建更复杂的服务。更书呆子的读者会记得 Robert Glass 的“三法则”,该法则指出,构建可重用组件的难度是构建单次使用组件的三倍。我认为 Poplus 理解这一点,并且这些组件经过精心策划,并且已经在 世界各地被重复使用和组合。
经验教训: 开放数据从根本上需要开源软件。应用程序重用通常不会发生,因为上下文差异太大。可重用的软件组件可以减少创建本地定制公民软件应用程序的开发开销,而高质量公民软件组件库是一项值得贡献的宝贵公共产品。
最初发布在 开放知识博客 上。根据知识共享许可协议重新发布。
评论已关闭。