Programming languages and technologies

My interest started with computers since I was 8 where my father brought home a Spectra Video PC (the picture on the right) that used MSX basic, then moved to Yamaha Sakhr MSX for programming and Commodore 64 for games. The Way of the Exploding Fist is still my favorite computer game.

During my long history with computers, my interest shifted from:

  • Programming languages (1980-1998): MSX basic, then C, then Object Oriented Programming using Java and C++, to
  • Design patterns and software engineering (1998-2007), to
  • Computer Human Interaction and a more philosophical perspective to computing (2007 till now).

I have used Java in all my PhD work, but at work I have switched to C# and WPF since 2009. Later on, I started working on supporting multi-touch in applications using Microsoft Surface 2.0 SDK. Now I only do programming infrequently as research and management left very little time for programming.

In addition to programming, and throughout my work in a company that focuses on multi-lingual support and font development, I have gained good experience in advanced fonts programming (GX fonts, and OpenType fonts), bidirectional (BiDi) unicode algorithms, and internationalization (I18N). I have worked for short periods on a number of varying technologies as work required such as EJB, Sybmian OS, J2ME, MySQL, PhP, JavaScript, and Objective C.