Ma tête

你好, 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.

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.

Talks

  • Jonathan Protzenko. An introduction to Mezzo (short). ML Workshop, Sep 2012. [ PDF ]
  • Jonathan Protzenko. An introduction to MezzoPDF ]
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 ]

Misc.

  • A stylesheet for OCamldoc.
    Because I don't like the default style. [ an OCaml module ] [ sample documentation ] [ the stylesheet ]
  • A stylesheet for LaTeX documents.
    It gives a very condensed, two-column layout for article document classes. It also adds a \part command that gives the book-like heading seen in my reports (see here for an example). The heading was initially an attempt to reproduce the style of the French LaTeX pour l'impatient book. [ the stylesheet ]
  • Implementation of the Seam Carving algorithm.
    Known as liquid rescale in popular image editing programs. [ OCaml source code ]
  • An IRC client written in PHP-GTk.
    When I was in high school, I would stay up all night during summer break and code like a madman. Those were the days. [ the result ]
  • Former version of this website.
    Contains a link to all previous versions. [ go ]