I was 10 years old when I got my first computer, a second-hand
Sinclair ZX Spectrum. I learned some BASIC with that, but used
it mainly for playing games. Two years later I upgraded to an
8 Mhz PC/XT with 640KB of RAM, on which I wrote some senseless
stuff in GWBASIC and learned a bit of Pascal.
Spectacular games such as Pool of Radiance or
Space Quest made an impression lasting for life.
That life changed rather drastically, when, with 15, a 25Mhz 386
including 2MB RAM and a VGA graphic adapted entered into it,
severely limiting my future career options to those involving
some kind of software development. I learned some basic
system programming, x86 assembler, and got quite experienced
in Pascal. The actual products were rather trashy, such as the
mode 0x13 game WormWar, some sort of multiplayer caterpillar.
I also shelled out the rough equivalent of EUR 200,- to equip
my system with an original Soundblaster card, and proceeded to
write an instrument editor for the FM sound generator just
because it was cool. If you fail to understand why someone
would spend weeks to write a tool he doesn't even need, you are
probably looking at the wrong page.
Vaguely contemplating to to make a real game someday, I embarked
on the obvious course of action, which was to implement a
little 256-color paint program first.
Two years later, when the mode 0x13 target technology was becoming
increasingly obsolete, I decided to discontinue the FrogPaint
project. However, it did have some really nice
features, such as full control over the palette even
when merging images using different palettes, and a floodfill with
stochastically dithered color gradients which is probably still unrivaled
by the unworthy successors in common use today ;-)
After school I studied mathematics at the
University of Stuttgart,
taking computer science as a side subject. At home, I continued to pursue system
programming in DOS using Pascal and Assembler, developing units for all kinds
of functionality from VESA S-VGA graphics to real time audio mixing.
For testing purposes, I stuffed it all together to produce
Gemtris - a tetris clone.
Meanwhile, I developed software as an intern at the
I learned C there implementing a simulation for ultrasonic sensors
and laser scanners and interfacing it to the simulation environment
Igrip from Deneb (now Delmia).
The next project used Java
and implemented a Jini-based
infrastructure for plug-and-play factory automation components.
After graduation, I started working as a software developer
for the MVTec Software GmbH,
a small independent company specializing in software for
industrial machine vision. I worked on two different products
and on various tasks while the company continued to grow, so
it never got boring and I ended up staying an entire decade.
Among other things, I got experience in VB6, C++, COM, .NET,
image processing, OCR, Qt, Visual Studio, Windows, Unix, CVS,
Makefiles, XML, XSLT, Perl, NSIS, and internationalization
Of course, I still need something to hack at home, too. With DOS
system programming no longer being absolutely state-of-the-art, I
started dabbling with
software for mobile phones using J2ME.
Later I took a quick look at Flash and Android development but
did not pursue that.
Now my off-work focus has shifted more to topics related to
I am enroled as a part-time student in the distance learning
JCU Master of Astronomy Program, and toying around with the idea of
applying the machine vision software HALCON
to astronomical image processing. My first
will be to integrate the
library as a HALCON extension package. Apart from that, I closely follow the
POV-Ray community, and actually render
an image now and then at cosmological intervals. I've also taken up
playing Lexulous, favoring the
computer opponent over online companionship. Now if that's not geeky ...