next up previous contents index
Next: Resume / CV Up: Introduction Previous: Introduction

Chronological Background

Around 1981 I started learning programming at the age of 13. First I only coded on paper, then on a TI-57, VIC-20, Commodore 64 (C64) and later Amiga 500 using Basic, 6502 & 68k assembly and C with the Lattice C Compiler. My early hacking on the C64 in 6510 assembly included copy-programs, an index database and notorious sound & graphics effects.
I also coded a working IRQ-based preemptive multitasking scheduler on the C64 for a never finished core wars programming-game variant as inspired in 1984 by A.K. Dewdney.

My C++ dates back to 1993, when I started with Bjarne Stroustrup's Design and Evolution of C++ to implement my OO genetic algorithm design for a game theory assignment.

Around 1994 I enjoyed writing a UML SDT compiler between dialects for S&P Media, Bielefeld. Then I joined Prekwinkel in Herford to move their CAD implementation from C to early C++ and produced a compiler for an interpreted language. I also realized a drainage DB visualization with editing using AutoCAD.

Afterwards in 1995 I implemented an embedded sewing machine control system for an 80166 platform for Duerkopp-Adler, Bielefeld. My work included a file system and graphical representation of the CNC data. Here I also maintained a graphical CAD system running on Windows to edit same CNC programs. Notably I shared most of the object oriented code using my own C++ alike template compiler.

My first Java experience was in 1996 for IBM Frankfurt, working on enterprise systems implementing DSL toolkits to produce UI elements directly from business case descriptions.

In 1998 I finally found time concluding my diploma thesis GL4Java, a Java extension exposing native OpenGL and GLU to the JVM.

In 1997 I worked on a DSL modem upgrade solution for Siemens in Munich, using SDL/UML and C++98 for the 68k target machine. We used SNMP for event management. I achieved to decouple module development between our teams by introducing white box testing using synthetic data for our API.

Until 2001 I worked on several C++ and Java enterprise projects as well as tutoring C++ and Java. The projects involved IIOP/Corba Proxy, OO/SQL mappings, 3D-Scenegraph, UML and XMLRPC.

My automotive experience started in 2001 with Harman/Becker, where I developed QNX and Linux driver for a DSP video board of a HMI unit, enabling video decoding accessible via standard libraries. I added PCI DMA/IRQ management for a Linux/SH4 BSP including disk-less bootloader and evaluated cross-platform UI via QT. Two X11 driver for custom GPU for Linux and QNX (x86, sh4) including blitting and YUV video overlay were added. I realized a remote car control unit using Java and OSGI on a handheld device connecting to the car's MOST bus plus GPS positioning. I am familiar with Adaptive AUTOSAR guidelines and handled requirement management in 2005.

At ATI and AMD I followed up with C/C++ OpenGL driver technology for embedded device applications in 2005, focusing on performance OpenGL extensions, hardware overlay, asynchronous ReadPixel, GLSL/DMA texture transfers, page flip, VSync and multi DMA page locks. I enhanced the driver performance about factor 2.5, targeting functional driver blocks like TLS, inlining, caching, dispatch table, stream copy, etc.

In 2007 I lead the refactoring of the New Java Plug-In with JNLP support for Sun Microsystems in Santa Clara. I also demonstrated an AWT-less proof-of-concept Plugin 3, intended for a relaunch of Java on the desktop and mobile devices. I also contributed to a new experimental JavaFX platform, utilizing hardware accelerated rendering (OpenGL, OpenMax, ..). As a result, I added a platform independent windowing architecture with mobile and OpenGL profile support to JOGL, which later became part of the independent JogAmp project.

I hold a degree in electrical engineering with a focus on computer science, Dipl.-Ing. (FH) - Diplom Engineer, Applied Science - MASc equivalent, conferred upon me by the Bielefeld University of Applied Sciences, Germany in 1998.

I live with my wife and two sons and enjoy playing and learning together.


next up previous contents index
Next: Resume / CV Up: Introduction Previous: Introduction

2024-05-16