Here I try to keep track of what I've done at work in the years since my Informatik study at the ETH Zurich (1982-1988).

I am currently available for project work long as well as short duration. The rate is CHF 200 per hour. Less then 100% work time is possible, actually even preferred. Please contact if you are interested giving me some work. We take up also project work on fixed cost basis provided it is well specified.

I am co-owner of iNodes AG which I helped found in May 2000.


Up to now enjoying free time tinkering a bit with Swift and kotlin programming language.


Both the bank and the Alcatel job kept me busy until mid and end of the year respectively.

Also spent a few days at Thales analyzing ISDN traces to figure out why some adapter could set up a connection to a destination and others would not.


Supporting the messaging and notification system at the bank did not tie up all my resources so I agreed to be on standby for the Uni-Curu application at Alcatel/Nokia until end of 2017. During this time I would do a few updates in both the C++ code and adapting Oracle reports extending the SQL and report formats. I also helped in figuring out some SSL and certificate issues.


The bank for which I studied in 2013/2014 the possibilities to send client-notifications started a big digitalisation project as part of which this should now finally be implemented. I was called into the team to help doing it. In the first step the existing Asian solution was augmented by what should become the global solution capable of supporting many order of magnitude more messages than the original could. Then a second version, independent of the original Asian code was written and put into use for the Swiss market. This solution was refined and ported to a newer version of Java EE and the associated bank platform. This last code base was then adopted for both the Swiss and Asian markets and I helped migrate the Swiss one to its new code base. This and following support kept me busy there until mid 2017.


The first month I still worked at the bank (see end of 2013). Then I enjoyed some free time.


The first few months of the year I was busy finishing the mobile banking extensions started end of 2012 that went into production spring 2013. I further extended it implementing international IBAN payments for a future release.

Outside of work I tried to learn Haskell for my own pleasure and had to dive into Python to help a linguistics studying friend which had to use NLTK for analysing texts.

Towards the end of the year I was called to the bank to see what kind of internal systems could provide events customers would want to receive on their mobile phones and to analyse their existing infrastructure for sending alerts via SMS and e-mail to see how it could be extended for these new kind of events and for new notification channels towards smartphones.


I had to extend the mobile banking application back-end to support account transfer and showing credit card informations.

For swisscom, which now supports the banks IVR application, I upgraded its administration interface to the latest version of Java and the banks Java platform including JSF. It was also extended to report possible trouble conditions.


The mobile banking pilot created end of 2010 got high attention and it was decided to roll it out to the customers as soon as possible. Thus I had to make a production ready version of the back-end going in a few months from a prototype to a fully tested deployed production version. This was followed half a year later by a second iteration which added payment functionality.

I further consulted a second mobile application project (portfolio management) on how to implement the necessary back-end - basically laying out how they should handle the requests and properly handle the security aspects (authentication and authorisation on login) - and helped with a test client for it.


  • Adapted an application prototype to be used in an Oracle Web portal.
  • Member in a team which adapted an internal bank application for use in UK. The application - located itself in Switzerland - had some interfaces to an UK application to and from which web services assured connection and interoperation. This involved also working with their Struts based framework.
  • As part of a pilot project extended the banks IVR application back-end to support a mobile banking application as a second front-end.


Continuing to work at the bank for both IVR application and validator proxy. Besides that starting work on cominusus, which should help people who want to share objects (e.g. a boat, a holiday-home etc.) by providing a common calendar and communication means, all provided as a ready-made service. I wrote this in Java and using PostgreSQL as a database.


Still some jobs at the bank for both IVR application and validator proxy. Besides that I was asked two times to fix small problems in old programs whose original programmers where no longer with the bank.

Alcatel called me to analyse a pile (about 300GByte raw data) of tcpdump log files to find out if and where some packets where lost to verify or dismiss their guesses as to why an application was no properly communicating with ADSL modems. Also for Alcatel I wrote a simple load measurement tool. This was all done in Java.


I was called back for that bank project for which "I was not qualified" (see 2006) for another two months.

At the same bank I later was called to adapt a heap of bourne shell, c-shell and Perl scripts which were part of the IVR application I worked on in 2005. The scripts interface between the IVR's command line tools and its administrative web interface.

Then it turned out, that the web interface does not fulfil the required security standard nor could it easily be integrated with the banks authorisation mechanism. I took it upon me to write in just a few weeks a new one from scratch but using the banks standard WebLogic Server infrastructure so it would use the proper authentication mechanism, base it on the banks JSF elements so it would have the same look and feel as all other bank applications and integrate it with the banks standard authorisation mechanism so that access to different functions would be granted according to roles that could then properly be assigned to individuals and/or teams.

The verification proxy I worked on in 2004/2005 needed to be adapted to a new SOAP protocol and I was called for doing the job.


  • Helped Alcatel to port their Uni-Curu application to Solaris 10. Besides that I did some Unix-support for their ADSL-Provisioning Tool.
  • Some consulting for Spectraseis.
  • End of September at a swiss bank they looked for someone to fill a one month gap, with skills in Hibernate, AndroMDA or MDA in general, Velocity, Spring and Struts. When asked about my skills I had to answer that I did not know those things, but asked, if they were willing to let me work for an afternoon before judging me. They kept me... until the end of the year and were happy to have me in the team, as I was able to help them with the required task and also with their HTML and JSP issues.


  • Finish the validator proxy project for the swiss bank.
  • Help Alcatel with an offer for a railway project.
  • Consult Alcatel regarding JSSE and SSL.
  • Adapt presentation logic (Java generating XML) for an IVR application at a swiss bank.


  • Could use my Axis and Java knowledge when working on a project for a swiss bank where a specific verification proxy for Web and SOAP content was needed. Was project manager ad interim for one month during the setup phase of the project. I declined to continue in this role, as it did not match my skills and preferred to just do the programming and integration work.
  • Design and implementation of a Web GUI for an IVR application at Cablecom.
  • Coach our new employee.


  • Worked on Alcatel Uni-Curu. The CMISE protocol is replaced by one based on XML and SOAP. I wrote protocol testing programs for it. This was done in Java using web services software Axis and a Swing based GUI. In this project I came in touch with the eclipse IDE which became my tool of choice.


  • Continue the support of Cablecoms second level helpdesk.
  • Extend the mail server of IP-Tech to support all features they had not wanted before: autoturn, SSL, SMTP-AUTH.
  • Investigate for Cablecom a malbehaviour of the provisioning systems.
  • Tested wether their NSF server would allow to run POP servers on different host to allow load balancing.
  • Set up for them an additional (temporary) mail server hosting their domain to offload the existing mail server, while waiting for the new one to be supplied by futurelab.
  • Supported Cablecom in migration of the old mail server towards the new one.
  • At Alcatel setup a DNS server for a Betty Bossi subdomain.
  • Reimplemented the mail server for IP-Tech on a new platform, to support in excess of 9000 domains using qmail and vpopmail.


  • Feasibility study for Alcatel regarding the replacement of their BinTec ISDN Router with Cisco products.
  • As contractor of Alcatel setup a fast mail server to be used for the Betty Bossi Newsletter. A slightly modified version of qmail was used for the server, and postal to verify that it indeed could deliver its newsletter to a million customers within 24 hours.
  • Feasibility study for Cablecom regarding the attachmant of the new iPlanet mail server to their existing provisioning infrastructure.
  • Modified their POP and IMAP server to retrieve password information from a Berkeley DB instead of the password file.
  • Rewrote from scratch the customer self care CGIs (Perl scripts) of Cablecom after a hacker managed to use the original ones to access customer data.
  • Rewrote the webinterface used by the helpdesk. During this time I supported also their helpdesk team in the more difficult questions regarding the mail server.


Upgrade servers at Symmetrix.

Left APS and founded iNodes AG together with René Degen.

  • For Cablecom wrote the necessary scripts and programs to attach a sendmail/UW-IMAP based mailserver to Solect's IAF, modifying the programs to get the user authentification from a Berkeley DB.
  • Did there also mail server administration for some weeks.
  • Wrote for them a Perl script for mass delivery of mail to their customers, which detects itself the customers with local mailboxes and delivers to them directly without filling sendmail's queue.
  • Set up for IP-Tech a new mail server to serve more than 2000 domains using qmail/vpopmail/sqwebmail.


Again at Alcatel where I support and maintain some tools used by the System 12 developers. Those tools are mainly compilers for application specific languages. Most of the tools are written in VS Pascal and run on IBM mainframes. But I maintain also part of a tool written in Java. In the second half of 1999 I helped out also in the Uni-Curu group. The last two month of the year I made sure the web server at Symmetrix would be ready for Y2K.


From end of March until start of July, I was at the Bank for International Settlements in Basel. There I had to watch a small VAX/VMS cluster two days per week.


Some Java work at Alcatel, helping out a team, which had troubles meeting the deadline. Fortunately prior to Alcatel calling me I had learned Java on my own out of personal interest and this gave me the opportunity to apply my new skill.


Besides my work for Symmetrix, I spend some time helping out Alcatel, in the group I used to work until 1995.


Set up and administrate the Web Site for APS and Symmetrix, as well as for all Symmetrix customers. We first started with a PC running Linux for which I adapted a kernel driver to work with a synchronous serial card so it could talk directly to the leased line modem and act as a router for the companies LAN. Later a DecStation 5000 was added, which became the main server. In May 1997 the Linux server was converted to Windows NT 4.0, to give us the mean to get experience in both Unix and Windows environments.


Worked on Alcatel STR AlmaSub project. This is a follow-up to Uni-Curu, but was redesigned using object oriented methodologies, and has been implemented in C++. I was involved again in the team, which had to define a new CMISE object model, able to support all new services offered by the next generation of exchanges. This time the team was larger, as Siemens exchanges should be suported too.

Then I helped during detail design of communication modules.

I wrote a tool, which generated linearisation routines out of data definitions from C header files. These procedures are needed to provide persistent storage for those data structures. This was my first time, I used C++.

I also helped developers with interpreting communication traces and configuration of the communcation software.

Besides that I helped in the general administration of the HP-UX workstation and Dec Unix servers used for development.


Worked on Alcatel's ATOM project, a large GUI (Windows NT) application for controlling all aspects of an exchange. I was added to the team writing a form handler DLL, to help them meet the deadlines. This was my third experience in using C. Work was done partly in Zurich and partly in Stuttgart, as this component was part of the Alcatel SEL contribution to ATOM.


Worked on Alcatel STR Uni-Curu. I first worked in a team composed of persons from Ascom and from Alcatel, which defined an object model for customer administration in telephone exchanges. The goal was to use CMISE as a common language to administer both Alcatel S12 and Ericson AXE 10 exchanges from a single application.

After the definition phase I helped writing some of the modules involved in the communication part and in interprocess communication. I liked on this project, that they used Modula-2 as programming language. And I had the opportunity to see deeper into the VMS operating system, as this application was designed to run on VAXes.


Started to work for APS in Zurich, a small company, which does consulting, and through its affiliate Symmetrix is offering Web hosting since 1996.


For a company, which doesn't exist anymore, I wrote the frontend for a compiler, which had to translate from a somewhat strange programming language they had defined. This was my second experience with the C programming language. Before I had used it during my ETH time while doing an internship at Siemens.


For a laser-show company, I had to define and implement a PC based system which allowed them to create the shows, and control the laser deflection units for displaying them. This was done in Turbo Pascal, with some assembler aids in the first days, when an 8MHz PC AT was used. Later, the system was moved to a 33MHz 386, and the assembler parts could be rewritten in Pascal, as now the deflection unit was the limiting factor, and no more the computing power of the PC. At the end the system was augmented so that two PCs could be run in sync, to allow two pairs of deflection units to be controlled.


Together with Jörg Straube, Markus Schaub and René Degen I worked on the M2AMIGA Modula-2 development system for the Amiga. This started during the time we all studied at the ETH, and was the most "fun" project of all I did, as we had the liberty to do what we liked. M2AMIGA was distributed by A+L AG.