你好, and welcome to my website. I'm now a Ph.D. candidate in
Computer Science under the direction of François
Pottier in the Gallium team
at INRIA.
I'm currently busy with Mezzo, a programming
language in the tradition of ML, which tracks ownership and aliasing
in an accurate manner. Thanks to a careful balance between static
verification and runtime checks, we believe Mezzo enables the
programmer to write more powerful programs, especially in a concurrent
setting.
You can contact me at firstName DOT lastName AT ens-lyon.org.
I also have a phone and a real address, these are in my résumé. My GPG key is available here.
Alternatively, gpg --recv 4F7509A0 will do the trick.
[ blog ]
Research
The language I'm working on, Mezzo, has
its own
homepage, which features examples, a link to the source of
the prototype and the proof of soundness, etc.
-
Jonathan Protzenko and François Pottier.
Programming with permissions: the Mezzo language
(extended abstract).
ML Workshop, Sep 2012.
[ PDF ]
-
Jonathan Protzenko. Translating a subset of OCaml into
System F. Master's thesis, 2010.
[ PDF ]
[ source code ]
-
Jonathan Protzenko. Communities and modularity, a
study on complex networks. Undergrad's thesis, 2008.
[ PDF ] [ Subgraphs
used in the paper:
www.embruns.net,
www.blogeee.net,
www.mozilla.org,
www.suez.fr,
www.ixxi.fr,
www.ens-lyon.fr,
www.veolia.fr
]
Talks
-
Jonathan Protzenko. An introduction to Mezzo
(short). ML Workshop, Sep 2012.
[ PDF ]
-
Jonathan Protzenko. An introduction to Mezzo
[ PDF ]
With
Mathieu
Feuillet and
Emanuele
Leoncini, I keep the Junior Seminar running at Rocquencourt.
[
the
seminar's web page ]
Teaching
-
2012-2013 I am a teaching assistant for INF431
and « Modal Web » at École Polytechnique
-
2011-2012 I was a teaching assistant for INF431
and « Modal Web » at École Polytechnique
-
2010-2011 I was a teaching assistant for INF311
at École Polytechnique
OCaml
-
When I get headaches from working on type systems, I maintain the
OCaml installer for Windows. Not sure what's worse.
[ download ]
[ on GitHub ]
-
I also fix bugs on OCaml itself when I have some spare time.
Mozilla
I'm a Mozilla contributor although I haven't had much time available
lately. I usually hack on Thunderbird, but I've been known to fix
a few bugs in Gecko and Firefox. I also maintain a few addons.
-
Les Cahiers du programmeur XUL, Eyrolles, 2005.
I wrote a book about developing Mozilla addons. I was younger,
back then. The book is available in French and German.
[ the book's website ]
-
Thunderbird Conversations
I assumed it would take me two months to write this addon, it took
me two years.
[ download it ]
[ on GitHub ]
-
Manually Sort Folders
Another addon, because I like to have my folders tidy.
[ download it ]
[ on GitHub ]
-
Latex It!
Render LaTeX formulas in your emails as images, so that the
recipient sees a nice formula instead of raw LaTeX code.
[ download it ]
[ on GitHub ]
-
Compose for Thunderbird, abandoned
Re-implements the composition workflow, including the UI, and the
sending backend, in Javascript, by leveraging CKEditor. That's
just too much work for a single person, so I abandoned the
project. Plus, I'm trying to get a life.
[ download it ]
[ on GitHub ]
-
Thunderbird Stdlib
A toolkit that you can build upon for your Thunderbird addons.
Used heavily by Conversations and Compose.
[ on GitHub ]
-
FOSDEM 2011
I gave a talk on developing Thunderbird Addons at FOSDEM 2011,
in Brussels. I don't know where the slides are. Anyway, the ones
from the MozCamp are better.
-
MozCamp 2011
I gave a talk on developing Thunderbird Addons at MozCamp
2011, in Berlin.
[ demo addons ]
[ the presentation ]
-
FOSDEM 2012
I gave a talk on developing Thunderbird Addons at FOSDEM
2012, in Brussels.
[ demo addons ]
[ the presentation ]
Course work
Various school-related documents.
-
A survey on Itanium, 2008.
Itanium's a cool architecture, but no one's using it.
[ PDF ]
-
A survey on register allocation, 2009.
Register allocation is a complicated problem.
[ PDF ]
-
Cours de mathématiques supérieures, 2006, condensé de
mon cours de maths sup.
[ PDF ]