Videos and slides from the GNU Hackers' Meeting 2017
This page contains video recordings and presentation slides from the tenth GNU Hackers' Meeting which took place in August 2017 in Knüllwald-Niederbeisheim, Germany.
Talks
All videos and locally-hosted slides are published under the Creative Commons Attribution-ShareAlike 4.0 International license, unless otherwise specified. Videos are in the WebM format.
We wish to sincerely thank Christopher Dimech for taking care of video shooting and editing.
Ludovic Courtès and Ricardo Wurmus: Guix, GuixSD, and getting to one point o
What's up with Guix? As in previous years, I will give an update on Guix and GuixSD, talk about recent developments and nifty hacks. I will focus on the remaining items that will lead us to 1.0 in the coming months.
(video) (PDF slides)
John Darrington: Introducing GNU Spread Sheet Widget
GNU Spread Sheet Widget is a recent GNU project to create a library providing a Gtk+ widget for use by anyone who wishes to present data in a manner familiar to users of popular spread sheet programs. Parameters of the project include O(1) in both time and space, compatability with modern user interfaces and maintainability of the code.
(video) (PDF slides)
John Darrington: GSEGrafix
The GSEGrafix program is an existing offical GNU project for graphically plotting functions and datasets, an alternative to the more widely known Gnuplot. GSEGrafix has some impressive features and generates high-quality output, but can be improved; in particular it cannot be used as a library, and has Gnome dependencies.
This talk shows John Darrington's recent work adapting GSEGrafix program for use in PSPP, which improves it in the process.
(video)
Christopher Dimech: The GNU Behistun Package
GNU Behistun consists of software and utilities for geological and geophysical modeling and mapping of internal structures and dynamics. The talk will describe in detail the mathematics of imaging for geophysical and astrophysical applications, applications to disaster assessment, monitoring and early warning and the difficulties associated with these endeavours.
Information about related work and collaborations will also be discussed, as well as possible applications to medical imaging.
(video, released under the GNU Free Documentation License version 1.3 or later) (PDF slides, released under the GNU Free Documentation License version 1.3 or later) (OpenDocument slides, released under the GNU Free Documentation License version 1.3 or later)
Christopher Dimech: GNU Behistun: Historical Context and Free Software Advocacy
In this contribution I describe the historical background of the Behistun Inscription and the reasons for selecting this name for my GNU Package. I then extend the idea of Free Software Advocacy in more general terms, particularly in the sciences and especially for the case of Disaster Preparedness and Mitigation. I argue that the Four Freedoms defining free software must be required also on scientific datasets such as seismic data, to allow their Practical Utilisation; and for Scientific Communications and Public Participation purposes; all of which are in the direct interest of the public.
(video, released under the GNU Free Documentation License version 1.3 or later) (PDF slides, released under the GNU Free Documentation License version 1.3 or later) (OpenDocument slides, released under the GNU Free Documentation License version 1.3 or later)
Ian Jackson: hippotat — Asinine IP over HTTP
A status report on Ian Jackson's IP-over-HTTP tunnel software he uses as part of his VPN system.
The solution is simple and robust, relying only on HTTP POST requests; it is much harder to defeat than the currently fashionable techniques based on IP-over-DNS, and is therefore meant to continue working as long as HTTP forms are commonly supported.
(video)
Jorge Maldonado Ventura: Together we can do more: A brief introduction to The Peers Community
On every stage of project development, developers who want to contribute to free software face real hurdles that can hinder the success of their projects and in turn the success of free culture as a whole. Growing projects require funding, infrastructure, and a supporting community; any of which might not be available and therefore become the reason why even good ideas and significant efforts end up failing. Any project that gets discontinued is an enormous loss for the entire free software community. This short talk (~15 minutes) will offer a brief introduction to The Peers Community, which is an open community that is trying to address the problem of how all of us can come together to support the development of free software and free culture works. The community aspires to offer concrete help to developers through a growing number of services, as well as become an open place for discussion to address any problem that is slowing down the progress of free culture.
(video, available under the CC0 license) (slides, available under the Creative Commons Attribution-ShareAlike 4.0 International license; attribution goes to "The Peers Community")
Jorge Maldonado Ventura: Bootstrap navigation bar without JavaScript
Bootstrap unconditionally relies on jQuery for some trivial navigation bar functionality which would have no rational reason to require JavaScript.
This talk presents a modified version of Bootstrap providing the same features without JavaScript, trading eye-candy animations for simplicity, compactness and wider compatibility.
(PDF writeup edited by Christopher Dimech based on work by Jorge Maldonado Ventura, available under the CC0 license)
Tobias Platen: Libreroot — Liberating Buildroot
Libreroot is a fully free embedded GNU/Linux distro based on Buildroot (https://buildroot.org/). I removes all non-free packages and replaces the Linux kernel with GNU Linux-Libre. Currently supported targets are the Thinkpad X200 and the BeagleBone Black. Libreroot contains an up to date cross-gcc that supports many architectures including ARM and X86. It can be installed on a Long-Time support GNU/Linux distro such as Trisquel and can be used to cross compile a custom kernel or device tree for a ARM Parabola GNU/Linux system.
Tim Rühsen and Darshit Shah: GNU Wget 2
(video) (PDF slides)
Luca Saiu: The art of the language VM, or Machine-generating virtual machine code, or Almost zero overhead with almost zero assembly, or My virtual machine is faster than yours
This is the first public presentation of the Jitter software.
Interpreters are ubiquitous, but even the best ones introduce considerable overhead.
While I was working at making GNU epsilon faster for bootstrapping and interactive use I wrote a fast direct-threaded engine. Disappointed by the modest speedup (4-6x) I read and re-read papers, combined my own ideas to what was already published and let the experiment get completely out of hand until it blossomed into a new project, much more general than epsilon.
The talk will show a succession of increasingly sophisticated approaches to accelerate language virtual machines, from switch-dispatching to threaded code and beyond, including techniques to reduce overhead from dispatching and from accessing operands—be they stack slots, registers or literals; the final iteration of this refinement process could quite reasonably be called a JIT. I will give credit where credit is due: most of the techniques shown are already published but at least one or two crucial bits are, as far as I can see, original.
My new virtual machine generator accepts as input a high-level instruction specification including C code, and generates a fast VM. The system is easy to port: very little assembly code is needed, and even that only serves to enable optional optimizations; VM specifications need to assembly at all. I plan to propose my VM generator, presented in public here for the first time, as a new independent GNU project. Feedback is welcome.
The talk will be highly technical. It will assume familiarity with C and ideally at least some ability to read assembly. GForth will be used in a few examples, but familiarity with Forth will not be required.
(video) (PDF slides)
Alex Sassmannshausen: Using Potluck to break the Guile stalemate
How do we share Guile libraries in a convenient form? Perl has CPAN, Emacs has MELPA. What do we use for Guile? The indomitable Andy Wingo proposed Potluck during the last year. An extension to the Guix package manager which might allow us to share Guile only libraries & applications in a convenient and fast way.
In this presentation I aim to share my experiences with Potluck and thus perhaps stimulate the ongoing discussion of this problem.
(video) (Org slides, PDF slides)
Ricardo Wurmus: Reproducible Bootstrapping
I would like to present the bootstrapping project on behalf of the folks at #bootstrappable who cannot make it to the GHM. I'd like to show why bootstrapping compilers and build systems matters for practical software freedom and give a short report on the status of the current efforts and success stories in this area (e.g. the road to bootstrapping GCC via mescc/tinycc/stage0; bootstrapping GHC via Hugs, building the JDK with Jikes/SableVM/JamVM/ECJ).
(video) (Org slides, PDF slides)
Group photos
Higher-quality and alternative versions of the group photo above are available:
- First composition, PNG, 4845x1320, 11.1MB
- Second composition, PNG, 4120x2228, 15.22MB
The photos were taken and edited by Christopher Dimech. They are released under the Creative Commons Attribution-ShareAlike 4.0 International license.
Credits
The GNU Hackers' Meeting 2017 was organized by John Darrington and Alex Sassmannshausen.
Christopher Dimech shot and edited the videos. Luca Saiu collected permission to publish from speakers along with their license choices, filled in a few missing abstracts and wrote this page.