GNU Hackers Meeting 2013 — Paris, France
The seventh GNU Hackers Meeting took place from August 22 to August 25 2013 in Paris, France.
The GNU Hackers Meetings are a friendly and informal venue to discuss technical, social and organizational issues concerning GNU and free software.
The 2013 meeting is now over. Some of the practical information below will become out of date. But please read about future GNU Hackers Meetings.
Thursday, August 22
|afternoon||— Informal get-together and hacking session at the venue —|
|17:00||— Key-signing party —|
|evening||— Drinks / dinner, somewhere near IRILL —|
|22:30||— Visit to the Paris Obervatory —|
Friday, August 23
First day of talks.
|09:00||— Welcome —|
|09:05||GNU Guix, the computing freedom deployment tool||Ludovic Courtès|
|10:05||The GNU Name System and the Future of Social Networking with GNUnet||Christian Grothoff|
|11:05||Why Free Sofware activism matters for GNU Hackers, by April — promoting and protecting Free Software||Frédéric Couchet (executive director), Jeanne Tadeusz (public affairs officer)|
|11:50||— Lunch break —|
|13:50||Short talk: Recent work in the Emacs XWidget branch||Daimrod|
|14:10||Short talk: Notmuch mail||David Bremner|
|14:25||Short talk: TeXmacs||François Poulain|
|14:40||Short talk: GNU for Earth and Space Sciences||Christopher Dimech|
|14:50||GNU epsilon tutorial||Luca Saiu|
|15:50||The tailor's choice (pre-recorded talk, live Q&A)||Frankie Onuong'a (live from Kenya)|
|16:50||GNU Guix: Package without a scheme!||Andreas Enge|
|— Guix install party and hack fest —|
|20:00||— Dinner at Flams —|
Saturday, August 24
Second day of talks.
|09:00||GNU recutils||José Marchesi|
|10:00||Maintaining and optimizing dependencies between statistical calculations||John Darrington|
|11:00||Hurd recent developments||Samuel Thibault|
|12:00||— Lunch break —|
|14:00||Freedom #0 for everybody, really?||Samuel Thibault, Jean-Philippe Mengual|
|15:00||Python packaging the GNU way with pyconfigure||Brandon Invergo|
|16:00||GDC — D frontend for GCC||Iain Buclaw|
|17:00||Emacsy, An Embeddable Emacs-like Library for GNU Guile Scheme (pre-recorded talk, live Q&A)||Shane Celis (live from the USA)|
|18:00||— Closing —|
|19:30||— Dinner at Palais d'Asie —|
Sunday, August 25
Closed dicussion panel for GNU maintainers and contributors.
|09:00||— GNU assembly —||José Marchesi (chair)|
Videos and locally-hosted slides are published under the Creative Commons Attribution-ShareAlike 3.0 Unported license, unless otherwise specified.
Luca Saiu: Welcome
Ludovic Courtès: GNU Guix, the computing freedom deployment tool
Guix is GNU's package manager and distribution. It seeks to empower
users in several ways: by being a dependable system foundation, by
providing the tools to formally correlate a binary package and the
"recipes" and source code that led to it—furthering the spirit of the
GNU GPL—, by allowing users to customize the distribution, and by
lowering the barrier to entry in distribution development.
This talk will reflect on a year of development, show how far we've come toward this mission, and flaunt cool features in a demo. We will discuss challenges ahead in building a stand-alone GNU system, as well as opportunities for the larger GNU community.
Christian Grothoff: The GNU Name System and the Future of Social Networking with GNUnet
The Domain Name System (DNS) is vital for access to information on the Web. It is thus a target for attackers trying to suppress free access to information. This talk will introduce the design and implementation of the GNU Name System (GNS), a decentralized and censorship-resistant name system. It will then describe how we plan to use GNS as a public key infrastructure for secure social networking.
(slides [external link]) (video, available under the Creative Commons Attribution-ShareAlike 3.0 Unported; the attribution text should state "Christian Grothoff and the GNU Project")
Frédéric Couchet, Jeanne Tadeusz: Why Free Sofware activism matters for GNU Hackers, by April — promoting and protecting Free Software
For close to 30 years, GNU hackers have been creating a lot of free software.
Each software componement of the GNU project is an important contribution to
ensure that all software users have the freedom to control their computers.
Free software use has been increasing, but impediments to its development still exist today. From copyright threats to patents, including treacherous computing, bundled sales of computer with software, FUD, the threats to net neutrality, ... the causes for concern are numerous.
Free Software cannot develop fully without a benevolent political and legislative environnment. That is where April plays a crucial role, along with allied organisations. Its actions, thanks to its volunteers and its staff, is precious for everyone who produces and/or use Free Software. It is the organisation's small contribution to the Free Software movement.
Jeanne and Frédéric will present April, how it operates, the current issues they are working on and the future perspectives.
Founded in 1996, April is the main French advocacy association devoted to promoting and protecting Free/Libre Software. Its goals are to promote Free Software towards individuals, institutions and companies in the French-speaking space, to protect the rights of Free Software users and authors, and to encourage knowledge sharing. April has greatly contributed to public awareness that computer freedom is a societal issue and that free software goes beyond technical issues.
(slides: PDF, LibreOffice source; available under a choice of the Creative Commons Attribution-ShareAlike license version 2 or later, the Free Art License version 1.3 or later, and the GNU Free Documentation License version 1.3 or later) (video)
Daimrod: Recent work in the Emacs XWidget branch (short talk)
Emacs XWidget is the name of an experimental branch of Emacs which
permits users to embed GTK+ widgets inside a graphical Emacs window.
It is currently possible to embed applications that support the XEmbed protocol within Emacs and other classical widgets such as buttons, sliders and Webkit browsers.
In this talk I'll present the recent progress on the XWidget branch and the current approach used to experiment with new widgets.
David Bremner: Notmuch mail (short talk)
Originally inspired by the sup mail user agent (MUA), Notmuch is a GPL3+ set of tools for for dealing with your mail (stored in Maildirs or similar) via searching and tagging. On top of the C bindings and a scriptable command line interface, the project directly supports user interfaces based on Emacs and VIM as well as integration with Mutt. We also support Python, Ruby, and Go bindings. Other projects based on Notmuch include curses based frontends written in Python and Mercury, a fork of Mutt using Notmuch as a the backend, a web interface, and a virtual Maildir filesystem. In this short talk I'll give a tour of the Notmuch set of utilities, concentrating on the Emacs interface and command line tool.
François Poulain: TeXmacs (short talk)
GNU TeXmacs is a structural editing software with special features
for scientists. It aims to provide a unified and user-friendly
framework for editing documents with different types of content (text,
mathematics, graphics, interactive content, etc.). For this purpose,
TeXmacs includes a text editor with support for mathematical formulas,
a small figure editor, and also numerous features like a presentation
mode, an orthographic corrector, an interface to revision control
Since it has been intended to render formulas, GNU TeXmacs can also be used as an interface to many external systems for computer algebra, numerical analysis, statistics, etc.
The presentation is an opportunity to highlight these different features.
(slides, under a choice of the Creative Commons Attribution-ShareAlike 3.0 Unported license or the Free Art License 1.3) (video, under a choice of the Creative Commons Attribution-ShareAlike 3.0 Unported license or the Free Art License 1.3)
Christopher Dimech: GNU for Earth and Space Sciences (short talk)
The capabilities provided by today's geophysical and astrophysical instruments allow us to study our planet and the universe with greater detail and precision. This situation empowers us to join along the exciting new frontiers in earth and space sciences and do our own computations. In this talk, I present a plan to provide a GNU platform encouraging the dissemination of computational methods for geophysical and astronomical studies in a free software environment. I also review the challenges ahead, propose ways to solve them, and show how individuals or groups of individuals can contribute.
(no slides) (video)
Luca Saiu: GNU epsilon tutorial
A recipe for building a powerful programming language is to start
from a core language which is as small as possible, add macros and
code-to-code transformations, and let programs be reflective and
self-modifying. 4,000 lines of code later you get a quite
impressive thing. My ε1 "personality" built on
top of the core has a Lispy feel, but you can use it to build another
one, possibly very different.
In this intensive practical tutorial you'll learn ε1 from scratch, including cool things like unexec and native compilation; in the mean time you'll get a hint of how each language form is defined on top of another, yielding a powerful system built on a foundation of almost nothing.
I vote for simplicity. In the joyless world of "modern" programming where each language equals all the others, untyped low-level programming will make you smile again.
(no slides) (video)
Frankie Onuong'a: The tailor's choice (pre-recorded — live Q&A)
Taking threads and needles from stranger to mother of trade.
Andreas Enge: GNU Guix: Package without a scheme! (short talk, followed by install party and hack fest)
One of the seducing features of the Guix GNU distribution is that the
package management system as well as the package descriptions themselves
are written in Guile, a GNU implementation of the Scheme language. But
what if you do not know Scheme? Then you can still contribute by packaging
your favourite GNU and other free software, and maybe learn a bit of
beautiful functional programming en passant.
This talk gives an overview of what is already packaged in GNU Guix, demonstrates the creation of a new package and asks the audience to come up with schemes of what to package for the next releases.
(slides, available under a choice of the Creative Commons Attribution-ShareAlike 3.0 license or the GNU Free Documentation License version 1.3 or any later verion published by the FSF, with no Invariant Sections, no Front-Cover texts and no Back-Cover texts; the sources are also available)
José Marchesi: GNU recutils
John Darrington: Maintaining and optimizing dependencies between statistical calculations
Statistical calculations involve iterating a (possibly very large) dataset one or more times.
The designer of a statistical analysis tool wants to ensure that no more iterations than necessary
Whereas, on a case by case basis, a statistical calculation can be optimised by inspection this
is not practical in a general purpose statistics tool where a set of several statistical calculations
are to be determined and the elements of the set are, at time of design, unknown.
This presentation shows how caching, and a dependency graph can be used to determine
the optimal number and order of iterations.
An implementation is presented, which demonstrates how the use of lisp can obviate the need for the programmer to maintain the dependency relationships. Instead, they are extracted from the implicit information contained within the program itself.
Samuel Thibault: Recent developments in the Hurd
This talk will go through the nice developments in the GNU Hurd that have been done over the past few years. This will include work on the text console, on network virtualization, on automatic translator startup, and on general support improvements on languages, bugfixes, etc. I will notably explain how we now run Linux network drivers in a userland process, how a user can run his own TCP/IP stack and make only some applications use it.
Samuel Thibault, Jean-Philippe Mengual: Freedom #0 for everybody, really?
Freedom #0 is "to run the program, for any purpose". However, being allowed to run a program does not necessarily imply that one is able to use it. A lot of software is just completely unusable for a non-negligible part of our users, due to accessibility issues, i.e. because they can not see the screen, or have only one hand to type shortcuts, or can not hear the sound effects, or have cognitive issues to understand the complexity of the interface, etc. Of course, freedom #1 permits to modify the program, so users "just" have to make it accessible to their needs, but that just can not happen. We would like to explain the situation, and discuss: is Freedom #0 only about a legal right, don't we want to extend it "for the real world"?
[This speech has the unfortunate problem of conflating the issues of software freedom and practical usability. The absence of useful functionality, which in free software can be corrected by doing work, should not be equated to imposing restrictions on users. See this article for more explanation. Nonetheless the GNU Project urges developers to think about providing accessibility in the initial design of a new free program.]
Brandon Invergo: Python packaging the GNU way with pyconfigure
The GNU coding standards outline a robust and convenient method for packaging and installing software. These standards are intimately familiar to anyone who has installed software on a GNU system before: ./configure; make; make install. Python-based packages typically break away from this standard by using tools specific to the language, such as distutils. GNU pyconfigure makes it simpler to package Python software in a standards-compliant manner by providing convenient Autoconf macros and flexible templates, which are quickly and easily integrated into new and existing projects alike.
Iain Buclaw: GDC — D frontend for GCC
Starting with an introduction to GDC, what of the D language is implemented (and what isn't). Will give an overview/insight into implementing a new GCC Frontend for a language that has only started to come out of academic mode, along with challenges faced along the way. Will go on to talk about future developments, in particular focusing on the expansion of D, including targeting more architectures, future shared library support in the runtime, and implementing the D frontend for GCC itself in D.
Shane Celis: Emacsy, An Embeddable Emacs-like Library for GNU Guile Scheme (pre-recorded — live Q&A)
In this talk I will give an overview of what Emacsy is, its goals, what is planned, a demo, and an outline of current technical issues. Briefly Emacsy is an embeddable Emacs-like library aimed at non-textual applications. Emacsy is the "Emacs OS" minus the text editor. Its aim is to provide keymaps, a minibuffer, recordable macros, history, tab completion, job control, and a comprehensive help system that integrates easily with C/C++ applications. Emacsy is not a text editor; it's an attempt to bring "The Emacs Way" to other applications. As a side-effect, it may help increase the number of other Guile libraries.
- Armony Altinier (accessibility)
- Jean-Philippe Barbier
- Pierre Bertram
- Pratik Bhoir (GNU GNATS)
- Cédric Boutillier (Debian)
- David Bremner (Notmuch mail)
- Iain Buclaw (GDC)
- Raphaël Cauderlier
- Shane Celis (GNU Guile, GNU Emacs) [remotely, from the USA]
- Frédéric Couchet (April, executive director)
- Alain Coulais (GNU Data Language, Observatoire de Paris-Meudon)
- Ludovic Courtès (GNU Guile, GNU Guix)
- Daimrod (GNU Emacs)
- John Darrington (GNU PSPP, GNU womb, GNUbik; GNU webmaster)
- Marc "Duck" Dequènes (GNU Hurd, Debian)
- Christopher Dimech (Birkbeck, University of London)
- Patrice Dumas (GNU Texinfo, Halevt)
- Andreas Enge (GNU MPC, GNU Guix)
- Alexandre Garreau
- Nacho González (GNU chapters, system administration)
- Christian Grothoff (GNUnet)
- Slim Hammami
- Brandon Invergo (GNU Source Release Collection, GNU pyconfigure)
- Sylvestre Ledru (IRILL, Debian, LLVM, Scilab)
- José Marchesi (GNU recutils, GNU sed, GNU Ferret, GNU PDF)
- Nicolas Martin
- Jean-Philippe Mengual (Accelibreinfo)
- Damien "SnolahC" Michaudet
- Frankie Onuong'a (GNU Quickthreads) [remotely, from Kenya]
- Michele Orrù
- Arnaud Patard
- Grigory "Poisson" Rybkin
- François Poulain (GNU TeXmacs, April)
- Arnaud Pouyadou
- Thomas Preud'homme
- François Revol
- Cyril Roelandt (GNU Guix)
- Luca Saiu (organizer, GNU epsilon)
- Alex Sassmannshausen
- Dodji Seketeli (GCC, Gnome, Xephyr)
- Glen Stark
- Jeanne Tadeusz (April, public affairs officer)
- Samuel Thibault (GNU Hurd, accessibility, Debian)
- Felix Totir
- Sylvain (GNU FreeDink)
- Daiki Ueno (GNU Gettext, GNUlib, Caribou, IBus)
- Joakim Verona (GNU Emacs)
- Krystian Wojtas
If you want to attend please contact us via the public mailing list firstname.lastname@example.org, or write to Luca Saiu's personal address email@example.com.
Attending is free of charge, but you are welcome to make a small donation if you want to support future GNU Hackers Meetings.
The FSF has kindly set up a small fund to help finance (documented) travel expenses for GNU maintainers and contributors, past and present. In case you qualify and you need financial assistance to attend, please mention this fact in your registration e-mail, along with all the relevant details including the minimum amount that would permit you to attend the event, no later than June 24 2013.
23, avenue d'Italie, 75013 Paris, France.
For Parisians, it's in the 13th arrondissement.
GPS coordinates: 48.8283604, 2.356641 N48° 49.7016', E002° 21.3985'.
IRILL's access page may also be useful.
IRILL is located in the same building as Inria, on the third floor. The entrance of IRILL and Inria is the first door on the left you can see in this picture, to the left of the post office ("La Poste") entrance.
The talks took place in the room "Algorithme".
The prices listed on the IRILL page with information for guests might be slightly out of date, as of Summer 2013.
- Oops! Hostel (rooms for 4-6 people), ~750 meters from IRILL;
- Hôtel Manet, 300 m from IRILL;
- Hôtel Ibis, Porte d'Italie (Gentilly), ~2 km from IRILL;
- Jack's Hôtel, ~300 m from IRILL;
- Hôtel Ibis, Italie/Tolbiac, ~500 m from IRILL;
- Hôtel Ibis, avenue d'Italie, next to IRILL;
- Etap Hotel, Porte d'Italie est (Le Kremlin-Bicètre), ~1.7 km from IRILL;
- Etap Hotel, Porte d'Italie ouest (Le Kremlin-Bicètre), ~2 km from IRILL;
- Hôtel Minerve, 2 km from IRILL.
- Hôtel Ibis, la Vilette/Cité des Sciences (farther away)
- Hôtel Ibis, Porte d'Orléans (farther away)
See also http://hostelbookers.com.
We did not reserve restaurants for lunch; we just went to some place near the venue.
Friday 23, dinner:
32 avenue du Mairi -- Paris 15ème (Montparnasse)
Saturday 24, dinner:
19:30: Palais d'Asie
93 avenue d'Ivry (very close to the venue)
Paris has an extensive public transportation network including the famous Métro system, surface trains, trams and buses, all operated by the state-owned RATP group. If you plan your travel in advance you'll find the RATP website very useful; otherwise you can get a pocket paper map of the whole network at many stations. You may also like the Transilien web site.
The Métro station closest to IRILL is Place d'Italie, served by Line 6 and Line 7. Line 5 will not serve the stations between Bastille and Place d'Italie (normally one terminus) during July and August 2013 because of renovation works; a replacement bus service will be in place, but rail transport is usually quicker.
We made a web banner to help people promote the event on web sites and blogs, in cases where ordianry text is too little and the animated intro is too much.
We release the banner in source format and already exported to PNG and GIF, under a choice of three licenses: the Free Art License, the GNU Free Documentation License version 1.3 or later, and the Creative Commons Attribution 3.0 unported license.
- GIF89a, with blinking cursor;
- PNG, not animated;
- MNG, with blinking cursor;
- Gimp XCF source file, RGB version;
- Gimp XCF source file, indexed version with the two transparent layers already merged, ready to be exported;
- README file with legal notices. The same text is also included in the other files as metadata.
You'll probably want to make an HTML link similar to:
<span style="display: block; text-align: center;"><a href="http://www.gnu.org/ghm/2013/paris/"><img src="ghm-2013-banner.gif" alt="GNU Hackers Meeting 2013 banner" style="border-style: none"/></a><p style="font-size:80%">Banner released under <a href="http://artlibre.org/licence/lal/en">FAL</a>, <a href="http://www.gnu.org/copyleft/fdl.html">GFDL-1.3+</a>, or <a href="http://creativecommons.org/licenses/by/3.0">CC-BY-3.0</a>. See metadata for full legal notices.<br/>Copyright © 2013 Sylvain, Luca Saiu. Copyright © 2010 Wladyslaw [<a href="http://artlibre.org/licence/lal/en">FAL</a>, <a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a> or <a href="http://creativecommons.org/licenses/by/3.0">CC-BY-3.0</a>] via Wikimedia Commons.<br/></p></span>
Ineiev kindly contributed translated versions of the banner:
Visit to the Paris Observatory
Kindly invited by Alain Coulais, we were able to perform a nocturnal visit to the Paris Observatory and even to observe the moon in stunning detail through the Grande Lunette, a refractor dating back from the nineteenth century, still in working condition.
We had custom-made t-shirts for the meeting:
If you want to ask a question in private, please write to Luca Saiu's personal address firstname.lastname@example.org.
We wish to thank IRILL and particularly Sylvestre Ledru, who graciously offered to host the meeting at his organization and operate the recording equipment, Thomas Preud'homme who volunteered to help him, and the FSF for funding.
Sylvain contributed the intro animation and substantially helped with the graphic banner as well.