My technical resume




I'm an autodidact in computer technology. Already interested in computers and programming during my adolescence, I returned to working with computers during my studies in environmental sciences (see non-technical background), and improved my skills creating Filemaker databases, writing Modula-2 programs, and evaluation of scientific data using Perl.

After my studies, I fully concentrated on building web applications, at first using Perl and MySQL, then adding XML/XSLT. Midway through my career I felt increasingly disappointed by the limited generality and abstractions that those tools provided, and embarked on a search for alternatives, which led me to the world of Lisp, and functional programming. I took on the challenge of trying to build a productive environment on top of the Lisp dialect Schemeon Wikipedia, one which I'm still working on.

I'm using Linux, primarily Debian, as server and desktop OS since 1999.


System administration. Databases (MySQL, Postgres, some Oracle). Programming (Perl, Bash, C, and Lisp/Scheme, plus some Clojure, Ocaml, Haskell, and Javascript). I have used (but not particularly liked) XML/DTD/XSLT.


Programming languages, functional programming, data conversion, compilers and interpreters, database engines, distributed computing.


2009-2012 stays in Canada and England, creation of a companyexternal; working on a database engine in Scheme used in a Scheme based application written by a client.
2006-2007 major overhaul of (defunct since mid 2012), still in Perl, layered on top of a static Silva site.
2006-2007 start of a partial reimplementation of the ETH Life system in Scheme; the work was interrupted after ETH decided to reimplement the system on top of the now commonly deployed CMS there (Zope/Silva).
2005-2006 3 1/2 months of employment at a company in the Web/CMS business in Zurich; afterwards helping another Web company implement a Linux-VServerexternal based server setup
2003 implementation of the server part (server setup and administration, content handling (Perl/AxKit), much of XSLT) of the interactive Flash based website (now defunct) (article about it in Germanexternal).
2002-2007 in charge of support for the ETH Life system, and education/introduction of a student employed as firstlevel in-house supporter.
2001-2002(+) leading the creation of a second system for ETH Life together with two other self-employed co-workers, based on MySQL, the AxKitexternal XML application framework, and a virtual filesystem based on code from AVFSexternal (LD_PRELOAD variant).
2001-2008 working primarily self-employed
2000-2001 employment at the web office of ETH Zurich, mainly as leader of the technical team of 3 employees (including myself) to create the first version of ETH Lifeexternal, the daily online magazine of ETH Zurich, based on TCL code running on Vignette Storyserver (adaption of the code of a preexisting magazine from a bank).
1998-2000 part time employment at the rectorate of ETH Zurich for the creation of the www.rektorat.ethz.chexternal and (now defunct) websites. Creation of an HTML transformation system to transform minimally formatted, staff written Microsoft Frontpage pages to the former website, and wrote a web framework on top of FastCGI and MySQL to create the latter website.
1999 diploma thesis at EAWAGon Wikipedia, analyzing polycyclic aromatic hydrocarbons in sediment of ponds of a biologic highway run-off water purification plant, including implementation of a new statistical evaluation in Perlon Wikipedia.
1992, 1996/97 learned Modula-2, wrote foreign function interfaces to the Mac OS APIs for the Modula-2 implementation of ETH Zurich, and several smaller programs with graphical user interfaces.
1996 about two months of work at a swiss modem manufacturer, mainly writing the documentation for Mac users
1994 programming on an HP-48 calculator, and implementation of software and simple infrared interfacing hardware for the C-128 to backup programs to the latter.
1984+ Learning to program HP and Casio calculators and a TI-99/4Aon Wikipedia computer, in 1985 a Commodore 128on Wikipedia, and in 1986 an Amiga 1000on Wikipedia. (HP RPL precursor, Basic and 8502/6502on Wikipedia assembly.)


Sun, 25 Nov 2012 16:11:02 +0000