Talks

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.

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.

About April:
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.

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
system, etc.
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.

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.

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.

Frankie Onuong'a: The tailor's choice (pre-recorded — live Q&A)

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.

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
are performed.
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.

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.

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.

Registration

If you want to attend please contact us
via the public mailing list ghm-discuss@gnu.org, or write to
Luca Saiu's personal address positron@gnu.org.

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.

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.

Public transportation

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.

Web banner

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.

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.

T-shirts

We had custom-made t-shirts for the meeting:

Contact us

This
web interface lets you subscribe to the public mailing list
ghm-discuss@gnu.org. You're invited to write to the list
and ask questions. Past discussions are
archived here.

If you want to ask a question in private, please write to Luca
Saiu's personal address positron@gnu.org.

Thanks

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.