page2
Detailed Experience
My first computer was an Amiga 500, at the age of 12. I got bored of the computer games and my curiosity woke up about how the games actually work, which put down the foundation for my career as a software engineer. Lacking Internet and any expert around me I started digging on my own, and basically through reverse engineering games and programs I learned programming in Motorola 68k assembly language and learned the basics of the Neumann architecture.
By the age of 16, I was part of the team that wrote the Amiga version of a moderately successful game called Reunion, written in M68k assembly, programming directly the hardware of the computer without any operating systems.
Childhood Years
Later on I bought my first PC and did some Linux programming in C. I also became a BeOS beta tester and wrote several programs for it in C++. I partially rewrote the BeOS file manager, which was quite successful in the community for its extraordinary speed (due to multithreading), for its 100% covered error checking of system calls, and for its detailed error reporting. I started to 'misuse' inferior mainstream languages like C++ based on my knowledge of other, more expressive languages: e.g. in C++ I used macro/template generated inline destructors of stack allocated objects to emulate the missing unwind-protect abstraction, and I used template meta-programming (wrote a lib to detach any C++ function call into a separate thread).
At that time the Internet emerged, so I started reading about and experimenting with reflection, metaprogramming, metaobject protocols, orthogonal persistence, dynamic compilation, mutli-stage programming, mostly in the context of Slate and Common Lisp. Then I got involved in the development of the Slate programming language, where I implemented various parts of the system.
In my university years I became interested in cryptography. Since then I got to know a few practical technologies like PGP and TrueCrypt, and various other, mainly Linux related solutions.
University Years
In my first job at Brokat I've acquired Java proficiency in an enterprise environment. With my colleagues we were teaching seminars in small-groups for the undergraduate students majoring in IT, focusing on topics around Enterprise Java and other industrial standards.
About a year later a professor of mine introduced me to Charles Simonyi, and I joined them in Charles' Intentsoft start-up. It was a great opportunity to work with historical figures of computing, like Simonyi and Kiczales, and to further refine my bird's eye view on Software Engineering. I've learned the ideas behind Intentional Programming, and acquired hands-on experience of programming Windows in C#.
With Gregor gone, I also left to NETvisor for an offer that better matched my expectations. At NETvisor, around 2004, I created a web based meta-UI using Echo and AspectJ. My framework was capable of rendering a navigable, searchable, editable and customizable presentation of any object-level data stored in an SQL database, granted that there was sufficiently detailed meta-data describing its structure. In this case the description was an annotated Hibernate ORM mapping. Once it reached production quality, we started using it to develop and deploy various applications for our clients, some of them still used in 2011. It greatly accelerated initial application development and lowered the costs of the later stages of the software life-cycle.
Professional Experience
<number>/3
Having worked together with 3 friends for almost a decade at various organizations, we realized that we will never really have the freedom to choose our tools. We learned all the industry standards, but our frustration only grew by that, and therefore we decided to found our own company to work on the same problems, but with the tools of our choice.
First we implemented an opensource application server in Common Lisp (SBCL). Among other things, it has the following noteworthy features and components written by the three of us:
a high performance, muti-threaded web server
an ORM implementation
Entrepreneurship