About my person

I was born 1969, got a degree in computer science (University of Fribourg, second branch general psychology) some time after and am working as a freelancer/contractor. I have spent my life in different parts of Switzerland and on travels on this globe. I'm living with my family in Bern.

After studies I worked as a freelancer on several software development projects. 1995 I co-founded and built up the internetprovider SPIN, where I was responsible for the technical aspects and was leading a small tech team.

At the end of 1998 I quit SPIN and was travelling around during 1999.

Mid-2000 Pirmin Kalberer and I founded sourcepole, a company that does Linux and Open Source engineering and services.

Since 2002 I am giving lectures on systems programming, high availability, data communications, firewalls, ruby and ruby on rails at the computer science departement of the Hochschule für Technik, Wirtschaft und Verwaltung Zürich and am lookig after student's assignements.

Since 2005 I'm taking part in the development of a new ticket automat for the swiss rails.

Computer languages, systems and technologies

  • The following technologies, languages and systems habe been employed in recent projects:
    Java, Ruby, Ruby on Rails, Shell, SQL
    SOAP, XML, WSDL, UML
    CruiseControl, CVS, Jira, Mapserver, Mongrel, Postgres, Subversion, Together, X11
    Debian, Debian Paket Management, Linux, Windows XP Embedded
  • I have at least one year of experience with these technologies:
    Ada, C, C++, Excel VBA, HTML, Modula-2, Pascal, Perl, SQL
    KDE, Multithreading mit Pthreads, Qt
    HTTP/Apache, DNS/bind, GForge, IMAP, MySQL, SMTP/exim/sendmail
    RedHat, SuSE, Win3.11 (mit GUI), Win95 (mit GUI)
  • I know these technologies, but haven't employed them in while:
    AppleScript, Fortran, Lisp, PHP, Prolog, Python, Scheme
    CSS, XSD, XSL
    Samba
    680x0 Asembler, Atari ST, Macintosh, Solaris, SunOS, Unix, Win2000, Win97, WinNZ

Networks

From 1995 to 1999 I was doing the technical (and less also the organisational) part of runing SPIN - a regional ISP. Through this work I have gained experience in the following areas:
  • Administration of heterogenous Networks on IP basis (Unix, Mac, Windows), routing, LAN-WAN-dial-in, securing of the network through cryptographical techniques, firewalls.
  • Administration of Unix systems namely Linux.
  • Installation and maintenace of Internetservices such as WWW, FTP, DNS, SSH, SMTP(mail), POP, IMAP, dial-in.
  • Networking over dial-up or leased lines: analog (dial-up modems, leased line modems), digital (ISDN, PRI).
  • Integration of services and systems through scripting (Perl, Shell) and designing a WWW user interface for the whole system.

Completed projects

These are the projects that were completed during my professional career (in chronological order):

Porting of a Module for statistical data analysis from Fortran to C and development of data analysis module in Excel VBA
Technologies: Win3.11, Fortran, C, VBA
Duration: 4 months
Further development and support of a software for company-wide control and accounting of work times
Technologies: Win3.11, Win95, Borland-C++, Watcom-SQL, OWL (GUI), UML with Rational Rose
Duration: 6 months
Module for exchange of data between different databases of the above software for company-wide control and accounting of work times
Technologies: Win95, Borland-C++, Watcom-SQL, OWL (GUI)
Duration: 2 months
Retrieval, analysis and implementation of an algorithm for version-control and management of software ("delta-algorithm")
Technologies: C
Duration: 3 months
Building and runing a internet services provider
Technologies: Linux, limited support for Windows, Mac, Perl, C, Shell
Duration: 3 years
Individial course about networking/linux
Technologies: Linux, Perl, configuration of various servers
Duration: 1 day
Course/consulting about firewall/linux
Technologies: Linux
Duration: 1 day
Implementation of the Sourcepole Website on top of Cocoon
Technologies: Linux, Cocoon, CSS, HTML, XML, XSL
Duration: 2 weeks
GIS (geographic information systems) consulting
Technologies: Solaris, ArcIMS
Duration: 2 weeks
Elaboration of a concept for a DB-based webaplication with XML structured data import/export
Technologies: Linux, Java, PHP, XML
Duration: 1 week
GUI and DB development
Technologies: Linux, Windows, Java, AWT
Duration: 2 1/2 weeks
Installation of an embedded Linux system prototype
Technologies: Linux (Elinos), Shell
Duration: 1 week
Setup and support of a webhosting service
Technologies: Linux (Debian), Perl, Shell
Duration: 3 years
Perl consulting/support/application development
Technologies: Linux, Perl
Duration: 1 week
Implementation, deployment and support of a SOHO server
Technologies: Linux (Debian), Perl, Shell, various network services
Duration: 3 years
GUI for GIS/DB application
Technologies: Linux, Java, Swing, XML
Duration: 1 month
Development and support of a video server
Technologies: Linux (Debian), RealServer, Perl, Shell
Duration: 3 years
Project management for the development of a backup system web-frontend
Technologies: Linux, AFBackup, Perl
Duration: 2 years
Managed services for various small companies
Technologies: AFBackup, Apache, Debian, Firewalls auf IPTables Basis, Linux, PHP, Samba
Duration: 5 years
Projekt management and co-development of a Linux distribution based on CRUX
Technologies: Knoppix, Linux, Perl, Shell
Duration: 2 years
Technology consulting for the Swiss Federal Archives with respect to implementation of archival solutions based on XML and XSD
Technologies: XML, XSD, Java
Duration: 8 months
Development on a GIS web application
Technologies: Mapserver, Ruby on Rails, Firebug
Duration: 3 weeks
Concept, implementation an maintenace of a high available, failover platform for a ruby on rails web application.
Technologies: Ruby on Rails, HA-Server, heartbeat, SSL Certificate Management, DRBD, Linux
Duration: one month, maintenance ongoing
Concept and implementation of the SW life cicle on an automat. System tuning and inter-system communication.
Technologies: Ruby, XML, SOAP, WSDL, Java, CVS, Debian Package Management, Linux, grub, X11
Duration: ongoing since 2005
Embedded appliance:
minimize Debian with X11 and Qt to under 100M, Adapt a touchscreen driver to new HW, config of an comprehensive graphical boot
Technologies: Debian, Qemu, VirtualBox, Qt, Xorg, C
Duration: 3 weeks


Colaboration on Open Source projects:

Main developer of the mailsync tool
Technologies: C, C++, C-Client, IMAP, Unix
Duration: 2 years, now in maintenance mode
Debian maintainer of the following software packages: mailsync, posixlock, screenie, udpcast
Technologies: C, Debian packet management, Linux, make, shell
Duration: ongoing since 2000
Debian ex-maintainer of: xxdiff
Technologies: C, Debian packet management, Linux, make, shell
Duration: approx. 5 years
Maintainer and co-developer of karm
Technologies: C++, KDE, Linux, Qt
Duration: 1.5 years


These projects were completed during university studies.

Implementation of a search algorithm and graphical testtools. Mac style GUI design
Technologies: Macintosh, Modula-2
Duration: 1 month
Development of a compiler for an OO language.
Technologies: SunOS, Ada
Duration: 1 month in a team of
Design and implementation of a neuronal network.
Technologies: SunOS, C, C++
Duration: 1.5 months
Porting of a compiler from Borland-Pascal/MS-DOS to C/UNIX, documentation of existing techniques for creation of machine independent programms, such as virtual machines, interpreted languages, on-the-fly generation of code etc.
Technologies: MS-DOS, SunOS, Pascal, C
Duration: 3 months

Teaching

  • HSZ-T
    • main study, core subject, one semester lecture on computer networks (ip, routing, BGP) (together with Michael Steuert)
    • main study, core, one semester lecture one on system software (pthreads, multithreading, garbage collection, memory management, file systems)
    • seminar on Ruby
    • seminar on Ruby on Rails
    • seminar on Linux Firewalls
  • Digicomp
    • Occassional 3-day Perl course in french
  • Swisscom
    • SNMP protocol and tools consulting

"Foreign" languages

I can communicate in spoken and written german, english, french and italian and speak and understand czech.