When giving many of the talks below
between 2007 and 2012
I was speaking under the aegis of
LIPN
(Laboratoire d'Informatique de l'Université Paris-Nord),
Institut Galilée,
Université Paris 13.
In every other case I was and am speaking for myself, sometimes
making my allegiance to the
GNU Project
explicit but representing nobody.
Please also see my "publications" page.
If you want to host a talk of mine at some event please
contact me. The languages I currently master well
enough to use in a technical presentation are English, French and the
language of the country where I was born. (Yes, I am learning others.)
Talks
Here is a list of some talks of mine.
-
About my work for the p≡p Project on privacy-respecting free software making digital communication encrypted, verified and anonymized by default:
-
2023-06-26: p≡p-mail-tool: Using p≡p for email with ordinary mail clients — A status report with some personal opinions.
I have written a new tool for using pEp for email, particularly with
traditional clients different from Thunderbird, on Unix systems; it
is not complete but already at a point where a random reasonably
technical person could use it production.
I normally use Gnus as my mail client
– Gnus being one of the mail applications running on top of
GNU Emacs. I wrote a
small extension to Gnus for taking advantage of pEp-mail-tool,
making the interface quite easy and friendly.
Other mail programs can be adapted; but even without any adaptation
the tool is useful.
This was originally internal presentation I gave for my p≡p
Foundation colleagues, now published with permission. Some of the
limitations mentioned as requiring future work have already been
lifted, one month after the talk.
-
About GNU and related topics:
-
2022-10-01: Welcome to the GNU Hackers' Meeting 2022. GNU Hackers' Meeting 2022, İzmir, Turkey.
A quick welcome followed by an introduction to free software, GNU and the
GNU Hackers' Meetings.
This brief presentation opens the event.
-
2022-10-01: In defence of language as an interface — a statement of the obvious. GNU Hackers' Meeting 2022, İzmir, Turkey.
While preparing the
presentation about Replicant
I started with a premise about my personal dislike for some kinds of
user interfaces. As my rant grew and grew, rather than cutting it as
off-topic, I decided to split it off into a separate talk. I believe that
this premise turned out to be more interesting than the main talk.
My claim is that the best way of harnessing the power of computers is trough
a linguistic interface of some kind, independently from the specific
encoding of language terms. I propose to generalize Abelson and Sussman's
three elements
of programming to human-computer interface.
-
2022-10-01: Free software on cell phones: My user experience with Replicant. GNU Hackers' Meeting 2022, İzmir, Turkey.
Replicant is a free-software variant of
Android, and is the only system I use on my only cell phone.
Replicant is a compromise giving control to the user on top of a
hostile hardware platform.
I will speak about the project and relate my experience, mostly positive.
Replicant is not difficult to install on supported hardware and can be used
right now in production even if performance and reliability are not perfect.
I will show you the utilities I use to handle my Replicant phone from
GNU/Linux computer: mounting the phone file system over USB, transferring
files, backing up, installing free software apps, accessing the logs —
plus something more fun, such as running an application using
GNU Jitter on the phone.
In case you want to contribute I can direct to people who can use your help;
the project does need help from competent programmers.
I am a somewhat advanced user of Replicant but I do not participate in its
development; this talk will probably be the least technical of the entire
meeting.
This talk followed my premise about languages as a machine interface.
-
About my GNU Jitter
project and language virtual machines:
-
2023-09-27:
GNU Jitter — a low-level introduction.
GNU Project's 40th Anniversary Hacker Meeting,
Biel, Switzerland.
In twenty minutes I give a very fast-paced introduction to GNU Jitter,
with some low-level details and a short demo meant to inspire some
awe and an appreciation of the project's complexity.
Interested people can follow the references for in-depth
information.
- Presentation slides:
jitter-slides--saiu--bts-2022--2022-03-06.pdf
(PDF, 572KB), with minor updates and corrections;
- An imperfect video recording
jitter-gnu40.webm
(WebM, 146MiB, external link over audio-video.gnu.org
) which does not capture the live demo part — I wish to thank the people who made the recording anyway.
-
2022-10-02: GNU Jitter workshop. GNU Hackers' Meeting 2022, İzmir, Turkey.
Starting from a parser provided by me I will help the audience write a
complete JIT for a simple programming language, using Jitter; I will
implement a solution live, giving time for the audience to work on their
laptops.
The workshop will follow the general ideas from
Mohammad's talk about Jitter, but with many
details greatly simplified as appropriate for a hackers' meeting.
I mean to keep the workshop accessible to any good programmer even not from
the programming language field: because of this
no particular experience on compilers will be required:
knowledge of C is the only prerequisite.
The audience is invited to bring laptops with a GNU/Linux system installed
or at least an SSH client.
- Handout: GNU Jitter workshop handout (PDF, 352KB), with minor updates and corrections [the link destination will probably change];
- Software:
izmir-1.0.tar.gz
(gzipped source tarball, 3.8MB), which includes GNU Jitter as a sub-package [the link destination will probably change];
- Video recording to come.
-
2022-03-06:
GNU Jitter and the illusion of simplicity, or
Copying, patching and combining compiler-generated code in executable memory, or
The Anarchist's guide to GCC, or The fun of playing with fire.
Binary T00ls Summit 2022,
online event.
GNU Jitter is a generator of portable and efficient language virtual
machines; a Jittery VM lies at the heart of GNU poke.
Jitter achieves high performance by
first machine-generating C code,
then compiling the generated code ahead-of-time with GCC,
and finally copying, patching and recombining pieces of native
code at run time into executable memory.
GCC was definitely not designed for this task.
In this talk about the inner workings of Jitter I will show how to
coerce the compiler into generating code suitable for run-time
replication and how to maintain correctness, without the user
noticing, when GCC optimisations play against us.
In a task where many have failed before I believe I can now show a
recipe for success.
This is an ideal follow-up to
my GHM2017 talk, only talking about
no-threading and the low-level trickery which is necessary
to keep it correct. Some of the problems were not clear to
me at the time of the GHM2017 talk, which was naïf as a result
in its description of some advanced features.
-
2021-03-25:
Jitter presentation, remote talk over Jitsi.
A friendly conversation including a live demo, mostly improvised and not
particularly well prepared, with friends from the
GNU poke project.
-
2019-09-06:
Sub-packages, dependencies and information flow — The case of the Autotools, Jitter and Poke.
GNU Hackers' Meeting 2019,
Madrid, Spain.
A short talk about some subtle implications of nesting
source package directories using the Autotools, with
configure
scripts invoking one another
recursively.
The graphs defining configuration-time package dependencies and
information flow are different from what one may expect,
and more limited.
I show one problem, and a solution I quickly hacked together at
the meeting into a reusable Autoconf macro, which is at least
externally clean.
The original stimulus for this came from a practical problem with
the integreation of
poke
(now GNU poke) by
José Marchesi
and my own Jitter
(now GNU Jitter).
A general solution is published in
jitter.m4
.
-
2017-08-25:
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,
GNU Hackers' Meeting 2017,
Knüllwald-Niederbeisheim, Germany.
A talk presenting the performance issues of
language VMs and a succession of increasingly sophisticated techniques to
solve them one by one, gradually morphing what starts as a simple
interpreter into something closely resembling a JIT compiler.
The presentation, long and technical, includes demos, timings, C and assembly
code. I recommend this to anybody who is serious about the performance
of interpreters.
This was the first public presentation of Jitter, my virtual machine
generator—later officially accepted as part of the GNU Project:
see the new
GNU Jitter home page.
This presentation remains useful as a first introduction to Jitter
as of 2022, even if the software has since evolved.
-
About the Vaucanson project:
-
2014-08-01: A Type System for Weighted Automata and Rational Expressions,
International Conference on Implementation and Application of Automata (CIAA),
Justus-Liebig-Universität Gießen,
Gießen, Germany.
A relatively accessible introduction to the automaton type
system employed in Vaucanson, and to its use in the
implementation.
-
2014-05-07: The Vaucanson Project — a general-purpose automata system,
Weighted Automata: Theory and Applications,
Universität Leipzig, Leipzig, Germany.
An introduction to the system mostly from the user's point
of view, with a demo. Jacques Sakarovitch had to cancel
his tutorial; instead of him presenting some interesting
facts about weighted automata theory using Vaucanson as a tool,
the audience had to be content with me doing just the opposite.
Here are my very few slides:
-
About GNU epsilon:
I talked about epsilon in its various incarnations at many
venues throughout the years.
Recent talks reflect the more mature vision of a reductionistic
language, as described in my PhD thesis.
-
2014-08-16: Ode to a childhood dream — cross-compiling GNU epsilon to the Commodore 64, GNU Hackers Meeting 2014, Technische Universität München, Garching, Germany;
I presented a GNU epsilon cross-compiler to the Commodore
64, finally bringing free software to my first computer
twenty-five years later. The clean extensible design of
GNU epsilon allows easy portability and a high-level
programming style — even on a machine with an 8-bit 1MHz
processor and 64KB of RAM. I included a sprite demo.
-
2013-10-09:
GNU epsilon — un langage de programmation extensible,
EPITA Research and Development Laboratory (LRDE),
EPITA,
Le Kremlin-Bicêtre, France.
An introduction to GNU epsilon including its motivation,
foundation and architecture, with particular emphasis on
performance. This talk was an updated version of my PhD
defense.
-
2013-08-23: GNU epsilon tutorial, GNU Hackers Meeting 2013, Paris, France;
A practical intensive tutorial on epsilon for a competent public, following the major points of a blog post of mine at the GNU Hackers Meeting 2013, where I was also the organizer. No slides, and very little preparation. Despite that the message about reductionism came out clear.
-
2012-11-19: GNU epsilon – an extensible programming language.
My PhD defense at LIPN, Institut Galilée, Université Paris 13.
Reviewers: Emmanuel Chailloux, Michel Mauny;
Advisors: Christophe Fouqueré, Jean-Vincent Loddo;
Other jury members: Roberto Di Cosmo (president), Manuel Serrano, Basile Starynkevitch, Peter Van Roy.
-
2012-09-28: GNU epsilon – an extensible programming language;
LIPN, équipe LCR.
Similar to the ENSTA presentation, for a different public.
-
2012-09-25: GNU epsilon – an extensible programming language;
ENSTA ParisTech, Palaiseau, France.
A technical presentation for a public of specialists, including a demo.
I used a preliminary version of my PhD defense slides.
-
2012-07-21: Bootstrapping epsilon from Guile, GNU Hackers Meeting 2012, Düsseldorf, Germany;
An impromptu demo with no slides in which I abused the patience of my GNU friends.
-
2011-08-26: GNU epsilon – an extensible programming language;
GNU Hackers Meeting 2011 at IRILL, Paris.
A presentation about epsilon and the language reductionism idea; a little more technical than the London presentation.
I used a variant of the London slides:
-
2011-06-20: GNU epsilon – an extensible programming language;
SPO group, Imperial College, London, United Kingdom.
A presentation about epsilon and the language reductionism idea; relatively non-technical and accessible.
I used this set of slides:
-
2008-07-11: GNU Hackers Meeting 2008, Bristol, United Kingdom.
-
2008-07-04: Rencontres Mondiales du Logiciel Libre, Mont de Marsan.
-
2007-05-29: LIPN, Université Paris 13: evaluation of the finance request for my thesis to the French
Ministère de l'Education Nationale, Enseignement Supérieur et Recherche.
I used this short presentation:
-
2007-04-02: LCR, LIPN, Université Paris 13. My first seminar at LIPN.
Here is the presentation, reflecting the state of epsilon at the time:
-
About the Multi-runtime OCaml system:
My work at Inria consisted in introducing multi-core support
in OCaml by splitting the global runtime into independent
parallel instances running one per core, exchanging messages
with one another; based on initial work by Fabrice Le Fessant.
-
2013-06-24: Multi-runtime OCaml,
BWare group,
Conservatoire national des
arts et métiers, Paris, France.
A nice talk about low-level programming, debugging, performance and
algorithmic skeletons, with some assembly to keep it concrete and lively.
The talk was in French. Here are my slides, in English:
-
About Parallel garbage collection:
The parallel garbage collector I've implemented for GNU epsilon raised some interest.
-
2008-10-17: Scalable BIBOP garbage collection for parallel functional programs on multi-core machines.
Groupe de travail Programmation,
PPS.
Longer and more advanced compared to my talk on the same topic for LCR.
The talk was in French. Here are the slides, in English:
-
2008-09-29:
A two-hour seminar on my parallel garbage collector. Logic group, LCR, LIPN, Université Paris 13.
On the whiteboard, no slides.
That was my first official seminar in French. I hope my barbaric rendering of the language
wasn't too hard on the listeners' ears.
-
2008-11-28: Scalable BIBOP garbage collection for parallel functional programs on multi-core machines.
Journée du GDR LTP,
Groupe de travail Langages, Types et Preuves,
ENSIIE, Evry.
In French, using the PPS slides.
-
About Marionnet:
I've given many talks about
Marionnet between 2007 and 2011, often including a live demo, and
sometimes with the other co-author of Marionnet, Jean-Vincent Loddo.
Here are just some:
-
2011-02-06: FOSDEM 2011, Bruxelles, Belgium
-
2008-11-20: Savante Banlieue 2008, Villetaneuse
-
2008-03-04: SimulationWorks 2008, Marseille
-
2008-02-08: Journée ResCom,
Université Paris-Est, Marne-la-Vallée.
-
2008-01-29: LIPN (for the lab evaluation)
-
2007-11-??: Groupe de travail Programmation,
PPS
-
2007-10-12: Savante Banlieue 2007, Villetaneuse
-
2007-10-05: ACM SIGPLAN Workshop on ML 2007, Freiburg, Germany
-
...several other places.
In many of the
older talks I used some variant of the slides below and the video below.
Anyway the new material from FOSDEM 2011
(above) better
reflects the recent advances of the project, and looks much better in
general.
-
About free software:
I prepared a standard talk about free software,
covering the basic topics from a historical, philosophical,
technical and legal point of view.
In all my recent free software talks I've used some variant of this presentation:
Up to now I've always given this particular talk in French.
-
2016-??-?? [second semester]: Logiciel Libre: philosophie, histoire et pratique,
Institut Galilée,
Université Paris 13.
In French, with the English slides still current as of 2016-09-26.
-
2012-01-11: Logiciel Libre: philosophie, histoire et pratique,
CRANS,
École Normale Supérieure de Cachan.
A good introduction to Free Software.
I've given the talk in French, using a set of slides in English.
-
2012-??-?? [first semester]: Logiciel Libre: philosophie, histoire et pratique,
Institut Galilée,
Université Paris 13.
In French, using a slightly older version of the same set of slides.
-
2011-03-24: Logiciel Libre: philosophie, histoire et pratique,
Institut Galilée,
Université Paris 13.
In French, using a slightly older version of the same set of slides.
-
2010-02-19: Logiciel Libre: philosophie, histoire et pratique,
Institut Galilée,
Université Paris 13.
Same slides.
-
2009-12-15: Logiciel Libre: philosophie, histoire et pratique,
IUT de Villetaneuse,
Université Paris 13.
A previous version of the same slides.
-
One-shot talks, for particular occasions:
-
2013-09-21: Les 30 ans du projet GNU, Université Paris 8, Saint-Denis, France.
I intervened to the
French celebration
of GNU's thirtieth anniversary organized by April at Université Paris 8, along with Sylvain.
Our Atéliers GNU consisted in a couple technical
talks in the morning (I showed some Emacs Lisp extensions
and Sylvain presented the Autotools),
followed by
a more accessible talk in the afternoon (about the
internal organization of GNU, and
how to contribute) after Richard Stallman's conference.
I had custom anniversary t-shirts made for the event; you can see some people wearing them in the photos at the end of the writeup by Jeanne Rasata, from the FSF.
Copyright © 2007-2014, 2017, 2019, 2022-2024 Luca Saiu
Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.