2017 年 GNU 黑客会议的视频和幻灯片

此页面包含 第十届 GNU 黑客会议的视频录像和演示幻灯片,该会议于 2017 年 8 月在德国 Knüllwald-Niederbeisheim 举行。

[group photo composition]

演讲

所有视频和本地托管的幻灯片均以 知识共享署名-相同方式共享 4.0 国际 许可证发布,除非另有说明。 视频格式为 WebM。

我们衷心感谢 Christopher Dimech 负责视频拍摄和编辑。

Ludovic Courtès 和 Ricardo Wurmus:Guix、GuixSD 以及达到 1.0 版本

Guix 的情况如何?与往年一样,我将更新 Guix 和 GuixSD 的信息,谈论最近的进展和巧妙的技巧。我将重点关注未来几个月将引导我们达到 1.0 版本的剩余项目。

(视频) (PDF 幻灯片)

John Darrington:介绍 GNU 电子表格小部件

GNU 电子表格小部件是最近的一个 GNU 项目,旨在创建一个库,为任何希望以用户熟悉的流行电子表格程序的方式呈现数据的人提供 Gtk+ 小部件。该项目的参数包括时间复杂度为 O(1),空间复杂度为 O(1),与现代用户界面兼容以及代码的可维护性。

(视频) (PDF 幻灯片)

John Darrington:GSEGrafix

GSEGrafix 程序是一个现有的官方 GNU 项目,用于以图形方式绘制函数和数据集,它是更广为人知的 Gnuplot 的替代品。GSEGrafix 具有一些令人印象深刻的功能并生成高质量的输出,但可以改进;特别是它不能用作库,并且具有 Gnome 依赖项。

本次演讲展示了 John Darrington 最近为在 PSPP 中使用而改编 GSEGrafix 程序的工作,这改进了它。

(视频)

Christopher Dimech:GNU Behistun 包

GNU Behistun 由用于地质和地球物理建模以及内部结构和动力学映射的软件和实用程序组成。本次演讲将详细描述用于地球物理和天体物理应用的成像数学、灾难评估、监测和预警的应用以及与这些努力相关的困难。

还将讨论有关相关工作和协作的信息,以及可能的医学成像应用。

(视频,以 GNU 自由文档许可证 1.3 或更高版本发布) (PDF 幻灯片,以 GNU 自由文档许可证 1.3 或更高版本发布) (OpenDocument 幻灯片,以 GNU 自由文档许可证 1.3 或更高版本发布)

Christopher Dimech:GNU Behistun:历史背景和自由软件倡导

在此贡献中,我描述了 Behistun 铭文的历史背景以及为我的 GNU 包选择此名称的原因。然后,我更普遍地扩展了自由软件倡导的概念,特别是在科学领域,尤其是在备灾和减灾方面。我认为,定义自由软件的四个自由也必须在科学数据集(如地震数据)上强制执行,以允许其实际利用;并且为了科学交流和公众参与的目的;所有这些都直接符合公众的利益。

(视频,以 GNU 自由文档许可证 1.3 或更高版本发布) (PDF 幻灯片,以 GNU 自由文档许可证 1.3 或更高版本发布) (OpenDocument 幻灯片,以 GNU 自由文档许可证 1.3 或更高版本发布)

Ian Jackson:hippotat — 通过 HTTP 的愚蠢 IP

关于 Ian Jackson 用作其 VPN 系统一部分的 IP-over-HTTP 隧道软件的状态报告。

该解决方案简单且稳健,仅依赖于 HTTP POST 请求;它比目前基于 IP-over-DNS 的流行技术更难被击败,因此只要 HTTP 表单得到普遍支持,就意味着它将继续工作。

(视频)

Jorge Maldonado Ventura:我们一起可以做得更多:简要介绍 The Peers Community

在项目开发的每个阶段,想要为自由软件做出贡献的开发人员都会面临真正的障碍,这些障碍可能会阻碍他们的项目取得成功,进而阻碍整个自由文化的成功。不断增长的项目需要资金、基础设施和一个支持社区;这些中的任何一项都可能无法获得,因此成为即使是好主意和重大努力最终失败的原因。任何被中断的项目对于整个自由软件社区来说都是巨大的损失。这个简短的演讲(约 15 分钟)将简要介绍 The Peers Community,这是一个开放的社区,致力于解决我们所有人如何齐心协力支持自由软件和自由文化作品开发的问题。该社区渴望通过越来越多的服务为开发人员提供具体的帮助,并成为一个开放的讨论场所,以解决任何减缓自由文化进展的问题。

(视频,以 CC0 许可证提供) (幻灯片,以 知识共享署名-相同方式共享 4.0 国际 许可证提供;署名归于“The Peers Community”)

Jorge Maldonado Ventura:无需 JavaScript 的 Bootstrap 导航栏

Bootstrap 无条件地依赖于 jQuery 来实现一些微不足道的导航栏功能,这些功能没有任何合理的理由需要 JavaScript。

本次演讲介绍了一个修改后的 Bootstrap 版本,它在不使用 JavaScript 的情况下提供相同的功能,以简洁性、紧凑性和更广泛的兼容性换取赏心悦目的动画。

(PDF 文档,由 Christopher Dimech 基于 Jorge Maldonado Ventura 的工作编辑,以 CC0 许可证提供)

Tobias Platen:Libreroot — 解放 Buildroot

Libreroot 是一个完全免费的基于 Buildroot 的嵌入式 GNU/Linux 发行版 (https://buildroot.org/)。它删除了所有非自由软件包,并将 Linux 内核替换为 GNU Linux-Libre。目前支持的目标是 Thinkpad X200 和 BeagleBone Black。Libreroot 包含一个最新的交叉 gcc,它支持许多架构,包括 ARM 和 X86。它可以安装在诸如 Trisquel 之类的长期支持 GNU/Linux 发行版上,并可用于为 ARM Parabola GNU/Linux 系统交叉编译自定义内核或设备树。

(视频) (OpenDocument 幻灯片)

Tim Rühsen 和 Darshit Shah:GNU Wget 2

介绍即将发布的 GNU Wget 版本 2 的新功能。

(视频) (PDF 幻灯片)

Luca Saiu:语言虚拟机艺术,或机器生成虚拟机代码,或几乎零汇编开销,或我的虚拟机比你的快

这是 Jitter 软件的首次公开演示。

解释器无处不在,但即使是最好的解释器也会引入相当大的开销。

当我在努力使 GNU epsilon 在引导和交互使用方面更快时,我编写了一个快速的直接线程引擎。对适度的加速(4-6 倍)感到失望,我反复阅读论文,将自己的想法与已发表的内容结合起来,让实验完全失控,直到它发展成一个比 epsilon 更通用的新项目。

本次演讲将展示一系列越来越复杂的方法来加速语言虚拟机,从切换-分派到线程代码及其他,包括减少分派和访问操作数(无论是堆栈槽、寄存器还是文字)的开销的技术;此优化过程的最终迭代可以相当合理地称为 JIT。我将给予应有的肯定:所展示的大多数技术都已发表,但至少有一两个关键部分据我所见是原创的。

我的新虚拟机生成器接受一个包括 C 代码的高级指令规范作为输入,并生成一个快速的虚拟机。该系统易于移植:只需要很少的汇编代码,即使那样也仅用于启用可选优化;VM 规范根本不需要汇编。我计划将我在这里首次公开展示的虚拟机生成器作为一个新的独立的 GNU 项目提出。欢迎反馈。

本次演讲将具有很高的技术性。它将假设熟悉 C,并且理想情况下至少具有一定的阅读汇编的能力。GForth 将在一些示例中使用,但不需要熟悉 Forth。

(视频) (PDF 幻灯片)

Alex Sassmannshausen:使用 Potluck 打破 Guile 的僵局

我们如何以方便的形式共享 Guile 库?Perl 有 CPAN,Emacs 有 MELPA。我们对 Guile 使用什么?不屈不挠的 Andy Wingo 在去年提出了 Potluck。Guix 包管理器的一个扩展,它可能允许我们以方便快捷的方式共享仅 Guile 的库和应用程序。

在此演示中,我旨在分享我对 Potluck 的经验,从而可能激发对此问题的持续讨论。

(视频) (Org幻灯片, PDF幻灯片)

Ricardo Wurmus: 可重现的自举

我谨代表 #bootstrappable 项目的各位,#bootstrappable他们未能参加 GHM。我想说明为什么自举编译器和构建系统对于实际的软件自由很重要,并简要报告该领域当前工作的进展情况和成功案例(例如,通过 mescc/tinycc/stage0 自举 GCC 的道路;通过 Hugs 自举 GHC,使用 Jikes/SableVM/JamVM/ECJ 构建 JDK)。

(视频) (Org幻灯片, PDF幻灯片)

合影

上面合影的更高质量和替代版本可在此处获取:

这些照片由 Christopher Dimech 拍摄和编辑。它们以 知识共享署名-相同方式共享 4.0 国际许可协议 发布。

鸣谢

GNU 黑客会议 2017 由 John Darrington 和 Alex Sassmannshausen 组织。

Christopher Dimech 拍摄和编辑了视频。Luca Saiu 收集了演讲者的出版许可及其许可选择,填写了一些缺失的摘要并撰写了此页面。