Luca Saiu
I'm a PhD student working in the LCR group, LIPN, Université Paris Nord.
My thesis will be an idiosynchratic blend of
programming languages (logic and functional),
linear logic
and
game theory.
My two advisors are
Christophe Fouqueré
and
Jean-Vincent Loddo.
Contact information
This page explains how to contact me.
Only if you are behind LIPN's firewall (sorry for that), you can even directly connect to
the workstation I phisically work on, in my office.
Interests
I'm interested in programming languages, including their semantics and efficient implementation.
Most of my recent experience revolves around functional languages,
compilers and runtime systems (particularly garbage collection).
I've also developed a deep interest in algorithms, parallel computation,
concurrency and, to a lesser extent, computer networks.
I'm a very strong programmer in C, C++, Lisp and ML. I also happen to know a dozen or so other
languages, most of which don't deserve to be mentioned; the ones which do include Prolog and APL.
I teach DEVL (Développement de Logiciel Libre), a small course about the history, philosophy and practice of
free software to first year Computer Science Master students at
Institut Galilée, Université Paris Nord.
The course is mostly in English.
After the end of the 2007 course a group of students asked me more pointers about how to use GNU/Linux from the command line.
Here are my suggestions.
For DEVL 2008 students: the rattrapage project is ready.
For DEVL 2008 students: I strongly suggest you to subscribe to
the (unofficial) course mailing list.
Publications
-
About garbage collection:
-
Something's about to exit my pipeline (already submitted)...
-
About parallel functional programming:
-
Something's in my pipeline...
-
About Marionnet:
-
Status Report: Marionnet --- How to Implement a Virtual Network Laboratory in Six Months and Be Happy
Jean-Vincent Loddo, Luca Saiu, 2007
ACM SIGPLAN Workshop on ML, Freiburg (Germany), 2007
This is a reasonably detailed description of how Marionnet is implemented.
-
Marionnet: a virtual network laboratory and simulation tool
Jean-Vincent Loddo, Luca Saiu, 2008
SimulationWorks, Marseille (France), 2008
-
Paper (PDF).
-
Presentation: To do: put it here (tarball with ODF presentation and images)
-
Presentation: To do: put it here (presentation exported to PDF; no animations, less spiffy)
The first part is a simple user-oriented introduction to Marionnet.
Section 7 outlines a possible usage scenario for Marionnet, not related to teaching.
Talks
Here is a list of some talks of mine.
-
About Parallel garbage collection:
Lately I've strongly concentrated on memory management for parallel machines, and the parallel
garbage collector I've implemented has 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.
This has been my first official seminar in French. I hope my barbaric rendering of that beautiful 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 GNU epsilon:
-
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 Marionnet:
I've given many talks about
Marionnet in 2007 and 2008, nearly always using some variant of
this presentation, and including at least one
screencast (Ogg/Theora, 21.2Mb) or a live demo;
sometimes with the other co-author of Marionnet, Jean-Vincent Loddo.
Politics
I'm an official GNU maintainer, and I deeply believe in free software.
By the way, I've recently studied in depth the
GNU General Public License version 3, released in June 2007. I like it very much, and I'm gradually going to
upgrade all my maintained software which is currently covered by "GPLv2 or later" to "GPLv3 or later".
I urge you to do the same, and use "GPLv3 or later" for your new projects.
I'm an associate member of the Free Software Foundation.
Projects
GNU epsilon
(2001-)
My most ambitious project. Its homepage
should be updated, but epsilon is very much alive.
I'm now starting its fourth re-implementation from scratch.
epsilon's parallel garbage collector is very interesting and has evolved into an independent project.
NAUSEA
(2005-)
with
Dario Russo.
Extremely cool.
LOGOS, again written with Dario Russo, is just one of its
possible applications.
See the
NAUSEA project page
on Savannah.
Marionnet
(2007-)
with Jean-Vincent Loddo.
This also includes a simple but very nice
kernel hack.
Now Marionnet has its own
home page.
glyphification-mode
A minor mode for Emacs.
Not polished and not released yet, but here's a video demonstration of a not-so-recent version.
It works with GNU Emacs 22 and later (a hook I use has been renamed since Emacs 21).
The new lexicon for epsilon is going to make use of this, but --as any
minor mode--
the
glyphification-mode is conceived to be useful in many different contexts and for most languages.
ICFP programming contests
(2004, 2005, 2006)
alone in 2004 and 2005, with Marco Righi in 2006.
Older projects, stuff which is currently unmaintained or not maintained by me
"Youth" projects
From the long gone years when I considered C++ my favorite language.
Miscellaneous hacks of mine
Most of this could be classified as recreational Computer
Science -- which doesn't imply that it can't be interesting, or
even contain pretty advanced stuff.
Most of these hacks were implemented in one or two days, and their
packaging and presentation is far from optimal.
Partial evaluation
An online partial evaluator with support for partially-static data for a simple
flowchart language with S-expressions as data structures.
It optimizes in a quite aggressive way, and does not always
exactly preserve semantics: computations may be discarded (specializing
some non-terminating subject progams yields terminating residual
programs), even if they are never duplicated.
An optimizing brainf*ck compiler
Neural networks
The classic feed-forward network with backpropagation, more or less
the same as the one written by every Computer Science student in the
world.
You also wrote one, didn't you?
APL keyboard
My hand-made APL keyboard is my only published "hardware hack" so far.
Personal
To do: write something here. Or, even better, don't.
To do: refactor. Look at
this,
this,
and also at
this.
My public GPG key
You can find my GNU Privacy Guard public key here.
Please come back in a few days...
I'm going to fill (most of) the stubs real soon now. Yeah, trust me.
This is the master copy of my home page located at http://www-lipn.univ-paris13.fr/~saiu.
Luca Saiu
Last modified: 2009-03-08
Copyright © 2007, 2008, 2009 Luca Saiu
Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.