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.

The GHM 2017 web page has more information about the event.


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 encoding.

[The actual files are coming soon -- Luca Saiu, 2017-09-17]

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)

Tim Rühsen and Darshit Shah: GNU Wget 2

Introducing the new features of the forthcoming GNU Wget version 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

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)


 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.