Resume
Experience
- April 2007 until now: Fulltime-employment at aicas GmbH as a software engineer. Aicas is the vendor of a realtime
Java VM, the Jamaica VM. My responsibilities include:
- Implement and maintain AWT/Java2D backends for a variety of
platforms, including X11, GTK, VxWorks/WindML, NanoX and
more. Jamaica VM supports graphics on most of its supported
platforms. I help porting and extending graphics backends and am
generally responsible for all things graphics.
- I manage transition from CVS to Mercurial as source control
system. In the past we have been using CVS for source control. I am
organizing the transition to Mercurial, a distributed and more
modern source control system. This includes creating the necessary
infrastructure (repositories, backups, auto-builder), training
co-workers and communication with the Mercurial community.
- Manage transition from GNU Classpath to OpenJDK as class
library for the Jamaica VM. In the past, GNU Classpath has been
used as basis of Jamaica's class library. We are now moving to
OpenJDK. It is my responsibility to manage the transition, port
native code to all of Jamaica's supported platforms and update the
infrastructure to be usable with OpenJDK.
- Active involvement and contribution to OpenJDK. This involves exchanging
patches as well as communication with the OpenJDK team and community.
- Implement and maintain OpenGL APIs for Linux and VxWorks (and
others to come), based on JOGL and Escher.
- General performance engineering and maintainence of the Jamaica
VM.
- 2007 Diploma Degree on optimizing JamaicaVM's Java interpreter (in
progress until April 2007). I'm applying certain interpreter
optimization techniques, like superinstructions, different dispatchers
etc and observe the impact that these show in performance, with
attention to a variety of embedded platforms (i.e. with small
cache).
- 2006 Implemented automatic hinting for
TrueType fonts for GNU Classpath. I adopted the algorithms used in
FreeType to avoid the patented TrueType instructions to Java, with
special attention to performance issues. This means almost zero
allocations and fixed point arithmetics throughout.
- 2006 Implemented HTML
renderer for GNU Classpath's Swing implementation. This
implementation is based on CSS2. It covers everything that is covered
by Sun's JDK6, i.e. simple text formatting, lists, images, tables,
frames and forms. It even excels in a couple of areas, like a couple
of CSS2 features and improved table layout.
- 2005 until now: Working at aicas GmbH:
- Implemented much of
GNU Classpath's
Swing and AWT libraries, making them generally usable. This effort was supported by the GNU Classpath community, most importantly by RedHat employees and a couple of individuals.
- Implemented and improved AWT/Graphics backends for various platforms, including Linux, VxWorks, Windows CE and OS9.
- Working on Escher and
a set of Escher-based AWT peers for GNU Classpath, implemented
completely in Java.
- Drastically improved performance of GNU Classpath's Swing.
- Generally working in both the VM itself as well as the class
libraries, including several performance improvements and
bugfixes. This provided me we an in-depth insight in both C and Java
programming.
- Maintaining contact to the GNU Classpath community. This includes
merges between Classpath's and Jamaica's repositories in both
directions as well generally communicating with the community.
- 2004 Implemented Ontographics visualization tool, later published
as Xebece. This allows for
visualization of huge data sets in a very appealing way, showing only
the important data at any one time.
- 2004 Implemented a standalone application for Knowledge Tracking,
used in Knowledge-Based
Selection of Association Rules for Text.
- 2003 University Freiburg, Institute of Cognitive Science:
Implemented web based Knowledge Tracking tool version
2. Knowledge Tracking is an exciting technique for analysing
sequential symbolic data, for example plain text or data recorded from
human-computer interaction.
- 2002 University Freiburg, Institute of Cognitive Science:
Implemented and maintained several web based data collection and data
mining tools. This included web based questionnaires as well as tools
to analyze the incoming data. The biggest challenge probably was to
handle the amount of data and to separate the 'good' data from the
noise.
Biography / Education
- April 2007 until now: Fulltime employment as software engineer at
aicas GmbH
- April 2007 Degree (german diploma) in computer science, University
of Applied Science Karlsruhe, Germany
- 2005 Employed by aicas GmbH as software developer
- 2001 Begin study at University of Applied Science Karlsruhe,
Germany
- 2001 Birth of first child
- 2000 Employed by University Freiburg, Germany
- 1999 Begin study at University Freiburg, Germany
- 1998 Civilian service in Cottbus, Germany
- 1997 Passed university entrance qualification with special focus
on maths and english in Cottbus, Germany
Skills
- Programming
Languages: Extensive knowledge of Java, C, C++, Assembler (x86, 6502),
Python and Perl. Knowledge of Bash and Basic.
- Operating
Systems: Extensive knowledge of Linux, FreeBSD and NetBSD, average
knowledge of Windows and MacOS X
Languages
- German native speaker, English, Russian
Publications, Talks and Articles
References
... are available on request. I don't want to publish contact information of 3rd
parties online.
If you are interested in more personal and informal information about me, you might want to check out interests and my blog.