I've been programming for a very, very long time... I started at 13 with a small TI57, then some BASIC on a PET, then assembly on an Apple II+; This last bit became the first video game programmed in Québec (maybe Canada?), Têtards [], created with Vincent Côté. (Here is an old article []) In the same era, a small word processor with huge fonts, Mégatexte, still with Vincent, and published for primary schools.

Since those first programs in assembly, I have been coding in C++, Java, Perl, and sometimes some lesser-known langages; I've had my Forth and HyperTalk days in my youth; I fooled with Objective-C et Scheme; I have looked at Mozart and Scala. Now, when I have a choice, I use Python. But I mostly work at the software architecture level, where I marry a familiarity with techniques for modelization (UML [], Design Patterns []) (UML, Design Patterns) and data representation (I am a stellar XML [] coder, with good mastery of XSLT [], RNG [], GXL [], object Marshalling (Java with XMLEncoder []), and still others.)

Above and beyond the larger projects mentioned in other sections, I also fiddle with a few open-source projects. I have left a small mark, sometimes ideas, sometimes bug reports or patches, sometimes help porting (to OS X []) and sometimes even more significant code (esp. around XML) for the following projects:

I have also done some consulting, in particular with

Long ago, I also wrote a small report [] (in French) on Java storage technologies. (This report was on the CRIM site, who took it out, like much of our work; but I could find it thanks to the web archives [] . Of historical interest only, of course.)