第八次 Strange Loop 年会于 9 月 16 日、17 日在圣路易斯举行。大会以 Amie Stepanoich 的主题演讲拉开了帷幕。Stepanoich 是位于华盛顿特区的国际组织 Access Now 的一名律师。该组织为世界范围内数字版权受到威胁的用户提供数字版权的保护和扩展。
Stepanoich 向全场听众介绍了政府不受控制地采取黑客行为所带来的风险和威胁。她将黑客行为分成三个大类:消息控制(通过黑客行为控制看到或听到的消息,特别是针对一个特定的目标受众)、造成破坏(通过黑客行为造成某种程度的破坏)和监视(为了获取信息,尤其是持续地获取信息,通过黑客行为损害目标)。
她表示,虽然不可能完全阻止所有的政府黑客行为(像我们希望的那样,停止那三大类中的每一种黑客行为),但她提出,我们可以做一些事情,影响政府从事监视活动的方式。
Access Now 提出,可以制定以下 10 条安全措施,从而在涉及政府黑客行为时更大程度地保护人权。首先,要制定一项法律,写清楚规则,对政府何时有权采取黑客行为进行严格的定义(安全措施 1)。她认为,在制定好那些法律之后,还应该采取以下步骤:
- 安全措施 2:政府应该解释为什么有必要采取黑客行为;
- 安全措施 3:政府必须明确说明什么设备(在什么时间段内)会成为黑客行为的目标,并且不允许收集没有具体定义的其他信息;
- 安全措施 4:应该为法官配备技术专家,以便他们可以更好地理解黑客行动的要求;
- 安全措施 5:政府在通知潜在的监视目标时必须保证透明度;
- 安全措施 6:政府必须监控他们部署的工具;
- 安全措施 7:决不能允许政府迫使私人实体为了提高他们突破安全设施的能力修改或调整软件;
- 安全措施 8:政府必须审查在这些规则之外收集的信息,并提出可以防止将来再出现这种情况的方法;
- 安全措施 9:在没有获得基于双重犯罪原则的授权时,不应该出现域外政府黑客行为;
- 安全措施 10:政府不应该被允许存储漏洞供将来使用,而且政府应该披露所有发现或购买的漏洞。
Stepanoich 所在的团体 Access Now 正致力于提高公众意识,迫使各级政府在这方面展开对话。要想进一步了解 Access Now 和 Amie Stepanoich 的工作,请访问 accessnow.org 。你还可以在 Strange Loop 的 Youtube 专区在线观看完整的演讲。
Strange Loop 2016 大会还有其他一些环节,其中包括 Stuart Halloway( @stuarthalloway )、Julia Evans( @b0rk )和 Simon Ritter( @speakjava )的演讲。
“更好的做法是大量的函数全部使用一个数据类型,而不是大量完全不同的函数都使用特有的数据类型。”
Stuart Halloway(Clojure 贡献者、Congitect 公司的创始人 / 总裁,经常在大会上演讲)谈了“灵活性& 健壮性:Clojure 规范”。Halloway 的演讲重点是,作为一名开发人员,他是多么希望编写出正确、灵活、健壮的代码。
谈到Clojure 的优势,Halloway 转述了Alan Perlis 的说法:“更好的做法是大量的函数全部使用一个数据类型,而不是大量完全不同的函数都使用特有的数据类型。”他演示了Clojure 的纯函数、简单性、不可变数据和“系统通用性(systemic generality)”如何帮助他实现软件正确性、灵活性和健壮性的愿望。
在称赞Clojure 提供的通用性时,他指出,作为开发人员,我们的工作伴有独特性(那常常让使用静态类型语言的人在初次接触Clojure 时倍感挣扎)。开发人员有必要推导出他们所从事的领域里的抽象概念。
鉴于这种独特性需求,Clojure 社区制定了Clojure 规范。Clojure 规范为开发人员提供了一种方法,让他们可以只采纳其应用程序需要的独特性,而不必放弃Clojure 提供的通用性。“Clojure 规范是一个完整的、标准的、富有表现力且功能强大的规范和测试体系。”
在演讲的剩余时间里,Halloway 探讨了Clojure 规范如何与更为传统的方法保持一致,从而获得正确性、灵活性和健壮性。在演讲结束的时候,他提供了几个代码示例,对如何将Clojure 规范应用到你自己的场景中进行了说明。
在今年的Strange Loop 大会上,Julia Evans( @b0rk )的技术研讨会深受欢迎。Evans 在 Stripe 从事机器学习系统相关的工作,她特别有名的是在 Twitter 上编写和发布电子杂志。
为了帮助开发人员理解他们的项目内容,Evans 的演讲深入介绍了部分她最喜欢的操作系统工具。
其电子杂志上的工具说明可以从她的推特简讯中找到,重点包括 strace、wireshark、perf、ngrep、ps 和 netstat 等主题。
在演讲过程中,Evans 提出了三个简单的问题,然后向观众展示了如何使用这些简单工具中的一部分来找出答案。对于开发人员都应该熟悉的工具,她以一种非常有趣的方式详实地介绍了每一种的用法。
大会还有一个特别值得注意的地方,就是 Azul( @speakjava )副总技术官 Simon Ritter 谈 Jigsaw 。
Jigsaw 是 Java 9 的新模块化特性。模块化旨在提供一种能力,让你可以为应用程序创建灵活的运行时,而不需要包含当前作为 JDK 组成部分的所有 4000 个类。它承诺重新带来更轻量级、更灵活、执行速度更快的代码。在演讲中,Ritter 先后介绍了模块化的动机、如何实现模块化、依赖图,并通过例子展示了如何构建自己的模块。
此外,在其演讲“ JDK 9 的 Jigsaw 项目:Java 引入模块化”中,Ritter 提到,为了支持模块化,将有 6 个不兼容的变更(SDK 的这 6 个变更是为了让 SDK 可以分解成相关的类,然后组成模块)从 JDK 9 中移除。另外,他还介绍了 Java 9 的作用域机制。如果没有正确地理解,那么这两点有可能破坏你的代码。
关于 Stuart Halloway 的演讲“灵活性& 健壮性:Clojure 规范”、Julia Evan 的演讲“系统编程的瑞士军刀”、Simon Ritter 的演讲“ JDK 9 的 Jigsaw 项目:Java 引入模块化”或者 Amie Stepanoich 的演讲“政府黑客行为和人权:理由和方法”,如果想要了解更多的信息,可以访问Strange Loop 的网站或者大会的YouTube 专区观看这些演讲中的任意场次。除了这些演讲外,你还可以在线观看其他60 多场演讲。
查看英文原文: Strange Loop 2016 Recap: Safeguards Against Government Hacking, Plus Clojure and Java 9
评论