Programming

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 [http://pages.infinit.net/vcote/tetards/tetards.html], created with Vincent Côté. (Here is an old article [http://www.pierrepilon.com/2003/07/daniel-pinard-et-lapple-ii.html]) 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 [http://www.xml.org], Design Patterns [http://hillside.net/patterns/]) (UML, Design Patterns) and data representation (I am a stellar XML [http://www.w3.org/XML/] coder, with good mastery of XSLT [http://www.w3.org/TR/xslt], RNG [http://www.relaxng.org/], GXL [http://www.gupro.de/GXL/], object Marshalling (Java with XMLEncoder [http://java.sun.com/j2se/1.4.2/docs/api/java/beans/XMLEncoder.html]), 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 [http://www.apple.com/macosx]) 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 [http://maparent.ca/maparent_jdb/] (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 [http://www.archive.org/] . Of historical interest only, of course.)