30+ years of experience in IT. It has been quite a ride. Want to know the details? Read on…
2017Worked on a new app for professional IPcam monitoring and event research, the Surveillance Pro app, including dedicated support for MOBOTIX and ZONEMINDER. Wrote a companion server using Python, aiohttp, and motor (asyncio driver for mongodb) to facilitate 24/7 remote IPcam push notifications. Dived into Zeroconf (Bonjour) and assorted techniques to provide the best possible autodetection for IP cameras. Held a presentation about Zeroconf on the annual Macoun conference – slides are available.
2016Worked on the Cargo Objects Street Assistant project for LAWA Solutions, including the App-UI concept and implementation as well as the specifications and implementation of the Client/Server REST API. Wrote the new PORTA II breakdown service app for ADAC e.V., Europe’s largest automobile club. Released my new internet streaming radio client called „Wellenreiter“ for iOS and tvOS. Dived into the OBD2 on-board-diagnostic protocol for vehicles and wrote an ELM327 communications client for iOS. Released an iOS/macOS OBD2 support library as open source. Released an OBD2 diagnostics app for iOS. Held a presentation about OBD2 via BTLE on the annual Macoun conference – slides are available.
2015Wrote a web app as fronted for the app services I’m offering (Push notifications, Info messages, Crash logging and analytics, Session and navigation tracking, etc.). Became familiar with Flask, Bootstrap, and mongodb (and a tiny bit of necessary JS). Moved the FSO special interest middleware source code to github and put out new releases. Learned how to serve many REST clients efficiently with the new asyncio framework that debuted in Python 3.4.
2014As per the end of this year, I have resigned as being co-director and CTO of LaTe App-Developers – after 6 years of iOS and Android project work I wanted to revitalize different skills again. Also, after more than three years being absent from the open source scene (mostly due to my doughter Lara Marie), I started catching up with some of the projects that are of interest to me, in particular FSO, Python, and Vala.
2013Spending most of the time getting more and more specialized with regards to iOS, including work on the long-overdue 3.0 update of the Börse Frankfurt iOS app, which happened to be a complete rewrite. Presented this work as part of the annual Macoun conference – a video is available.
2012Supervised the Android-port of the official Frankfurt stock exchange app, which is available on the Google Play Store. Although the Android port shares no code with the iOS app, I made sure it shared some of the backend and frontend design principles. Presented my work on the Lauer & Teuber internal support library on the annual Macoun conference – a video is available. Held the invited presentation „Torn Apart! The Challenge of choosing between open and closed ecosystems“ on the SmartDevCon conference in Katowice, Poland – the title reflecting my recent experience of working with open and closed source systems.
2011Wrote the first prototype of iChordPro, an iOS-app for managing your guitar songs. Did the wrap-up presentation „OpenMoko — what’s left behind“ at the FrOSCon conference – a video is available. Stopped most of my open source activities due to my doughter Lara Marie being born. Continued developing iOS apps for various clients.
2010As part of my CTO-job at Lauer & Teuber, I designed and developed various iOS apps, the most notable among those being the official iOS app for the Frankfurt stock exchange market (Börse Frankfurt). To make this happen, I also created the specification of a REST-API for communicating with the Frankfurt stock exchange data center. Technologies and Skills these days: Objective-C, iOS SDK, XML, JSON, HTTPS, fluid UI, asynchronous networking.
Organized the OpenMoko devroom at FOSDEM and did some presentations on past, present, and future of the now-volunteer-driven project.
Coauthored ‚Just Radio‚ (Original title: Volksradio), a lean-and-mean internet radio streaming app for iOS. Learned a whole lot about ICEcast and friends. Presented an insight into iOS audio APIs on the annual Macoun conference. Due to some ugly GEMA-related circumstances, the video is not available (I’m sorry).
2009Created Vala-bindings for the Enlightenment Foundation Libraries. Coauthored the article ‚Développement Embarqué sous GTA01/GTA02‚, with Jérome Blondon and Julien Cassignol, in: GNU/Linux Magazine France HS43, Editions Diamond, July 2009. Presented my work on FSO on the OpenExpo in switzerland — a video is available. Did a similar presentation about FSO for Chemnitzer Linuxtage. Presented my work on OpenEmbedded on the FOSS conference in Aalborg, Denmark.
Unfortunately, due to the economic crisis on one hand and the success of both the iPhone and Google Android on the other hand, Openmoko had to close the telephony section, hence freesmartphone.org went on without funding. Cofounded the Lauer, Teuber GbR, offering consulting and development for iOS and Android.
2008Started the freesmartphone.org FSO special interest middleware platform, created most of the original code base in Python, integrated it for the use with many platforms. Continued my freelance work for Openmoko Inc. as consultant and FSO integrator. Published an article about the OpenMoko project: ‚OpenMoko — Free Software for Mobile Phones‚ (Original title: OpenMoko — freie Software für Mobiltelefone), in: Bernd Lutterbeck / Matthias Bärwolff / Robert A. Gehring (Hrsg.), Open Source Jahrbuch 2008. Zwischen freier Software und Gesellschaftsmodell. ISBN 9783865412713, Lehmanns Media, Germany.
Discovered the Vala programming language and fell in love with it, especially the asynchronous methods and the closures. I have been contributing a fair amount of stuff to it since then and are still maintaining some of the library bindings (e.g. linux.vapi). Redesigned and rewrote most of the freesmartphone.org special interest middleware using Vala. Started using Mac OS X in parallel to Linux, learning Objective-C and the iPhone OS SDK. Started working on my first iOS app ‚SidPlayer‚ (has unfortunately been removed from the AppStore since).
Took part in the Google Summer of Code 2008 as mentor and coording Openmoko as mentoring organization, supervising the development of SMS and device middleware projects. Presented my work on Openmoko on a bunch of conferences, most notably the Bossa 2008 conference — a trailer video including yours truly is available.
2007Did Freelance work for Honda Research Institute Europe GmbH, developing a simulation frontend application with Qt4 for the ASIMO robot. Submitted my doctoral thesis ‚Component-based adaptive Middleware for mobile distributed systems‚ (Original title: Komponentenbasierte adaptive Middleware für mobile verteilte Systeme). Licensed to Shaker Verlag, Germany, who published this as ISBN 978383226071. Received my Ph.D. from Frankfurt University. Presented my work on Openmoko on the LinuxTag conference and the FrOSCon conference – a video is available. Took part in the Google Summer of Code 2007 as mentor and running Openmoko as mentoring organization, supervising the development of a media player and a web browser.
2006Bought the Linux-based Motorola A780 mobile phone and joined the OpenEZX project community. I added the necessary glue to OpenEmbedded to build A780-images with it. Ported Opie to the A780 (and further) EZX phones. Contributed a tslib touchscreen driver plugin to the Enlightenment Foundation Libraries. Did freelance work for FIC, Inc., designing and developing the Linux-based OpenMoko mobile phone platform. Got rid of Microsoft Windows on my last machine – upgraded to Linux. Took part in the Google Summer Of Code 2006 as mentor, supervising the development of a GPE audio player.
2005Did freelance work for PePLink, porting my cross-compiled embedded Python distribution to the PePLink MANGA Board. Added tons of software packages to OpenEmbedded to make it more and more useful. Wrote regular newsletters about the state of OpenEmbedded, OpenZaurus, and Opie. Presented OpenEmbedded on the FOSDEM conference, slides are available.
2004Did freelance work for Tradesquare.NL, porting Opie to the MasterIA Beagle handheld. Contributed a JTAG utility chip driver for a rare variant of Xilinx XCR3128Xl-VQ100 flash chips with Philips manufacturer ID to the OpenWinCE project. Started EFL++, C++ bindings to the Enlightenment Foundation Libraries, source code available on the project git.
2003Cofounded the OpenEmbedded (and BitBake) projects together with Chris Larson and Holger Schurig in order to create a versatile build environment for embedded devices. OpenEmbedded turned out to be award-winning and very popular. It is in widespread use of both commercial and non-commercial vendors. The source code is available on github. For a while, I used to be president of the OpenEmbedded e.V., but resigned when my doughter Lara Marie was born in 2011. Learned a lot about IEEE 802.11b networking and created Wellenreiter II, a wireless scanner utility – in variants for Qt/X11 and Opie. The source code is on gitorious.
2002Wrote a book about advanced Python programming, in particular using various UI toolkits. Licensed it to the MITP who have released it as „Python und GUI-Toolkits„, ISBN 3826608445. Bought the Sharp Zaurus SL-5500g and joined the OpenZaurus community working on a custom Linux distribution for this device. Used OpenZaurus to maintain a custom cross-compiled Python distribution for arm-linux. Submitted a bunch of patches to the Python community in order to ease cross-compiling in the future.
2001Submitted my diploma thesis ‚Development and Evaluation of a Quality-of-Service Catalogue for a CORBA-based framework.‚ (Original title: Entwicklung und Evaluation einer Dienstgüte-Bibliothek für ein CORBA-basiertes Rahmenwerk) and received my diploma. Wrote an extension of MAQS, which was a quality of service extension for the MICO, a CORBA ORB implementation. Started working as a full-time researcher for the institute of telematics at Frankfurt University. Topics including adaptive middleware, software architectures for E-Learning, and mobile distributed systems.
Got an iPAQ from a colleague who was interested in doing wifi handover and multi hop adhoc routing experiments. I joined the handhelds.org community and managed to flash it and run an early version of Familiar Linux. Familiar Linux included a version of the ‚Open Palmtop Integrated Environment‚ (Opie), which has been just forked out of the ‚Trolltech Qt Palmtop Environment‘ by a bunch of open source enthusiasts. I submitted a patch to Opie-Sysinfo, wrote a wireless info applet for Opie-Taskbar and later became involved in the core parts of Opie. The code of Opie is now on gitorious and there is also a project page on OpenHUB.
2000Found myself using more and more UNIX-flavors and less Windows. Learned LaTeX in order to typeset my diploma thesis, but migrated to LyX pretty soon, because of the higher abstraction and the ability to better concentrate on my actual content. Dived into various UI toolkits, such as Qt 1.x, GTK 1.x, WxWidgets, Tk, and Lesstif.
1999Discovered Python (1.5.2 back then) which was used in a lecture and immediately fell in love with it. Learned a lot about the world of networking (ISO/OSI, HTTP, Multicast, …). Wrote a small multi-threaded web server in C++. Read ‚Refactoring: Improving the Design of Existing Code‚ by Martin Fowler, which I found very influencing.
1998Wrote an adaptation for the EMAGIC (now Apple) SoundDiver generic MIDI editor, adding support for the Novation Supernova family of synthesizers. Worked with different MIDI SysEx protocols using the WaveIdea Bitstream MIDI Controller.
1997Dived into digital audio, in particular uncompressed audio formats and editing. Bought a Yamaha 03D Digital Mixing Console and learned more about mixing multi-channel audio.
1996Evaluated the Java programming language. Didn’t like it (and I still don’t). Read ‚Design Patterns. Elements of Reusable Object-Oriented Software‘ by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides and although it was quite some heavy stuff to digest, I loved it.
1995Got Windows 95 and actually enjoyed it pretty much, in particular the first serious attempt towards a consistent set of human interface guidelines (HIG). I love common controls, no matter how you call them these days… ‚widgets‚, ‚views‚, ‚activities‚, or whatever. Here is the (now ancient) Windows 95 HIG for reference.
1994Moved to the Win32-API using Windows NT 3.51 (most stable Windows-version ever, that was before they moved the graphics services back into the kernel). Technologies and Skills: C, C++, Microsoft Foundation Classes, MIDI. Installed my first Linux distribution with kernel 1.1 patchlevel whatever, using a myriad of floppy disks. It wasn’t that impressive, but I could at least use the same command line commands that we were using at university workstations.
1993Began studying computer science at ‚Johann Wolfgang v. Goethe University‚ in order to support my practical experience with the necessary theoretical foundations, such as data structures, algorithms, grammars, computational complexity, and – last but not least – mathematics. Familiarized myself with the various UNIX platforms we had at university, such as HP-UX, Solaris, and AIX. Learned MODULA-2 as part of an introduction into algorithms.
1992Released my 2nd commercial software, ‚Mediathek‚, a media database and user management software for the ‚Videoinsel‚ video rental store (operated by TREPAN MEDIEN GbR). The software was written in Borland Pascal 7.0 (which was one the fastest one-pass-compiler back then).
1990With the AMIGA platform slowly fading into oblivion, I bought my first PC (486) and dived into the completely different world of IBM, Intel, and Microsoft technologies. Technologies and Skills: MS-DOS, Win16-API, Borland Pascal.
1987Released my first commercial software, ‚Toolkit‚ for AMIGA, a multi-functional assembler, disassembler, chipset diagnostic and memory monitor utility. Licensed to Heim Verlag Darmstadt, published as software accompanying the german ‚Kickstart‘ AMIGA magazine. The software was fully written in 680×0 assembler and was a real gem for power users and developers.
1985Got a Commodore AMIGA and started with sound & graphics programming. Later on, joined various now legendary demo scene groups, such as ‚TGM-Crew‘, ‚THRUST‚, ‚Traitors‘, ‚THREAT‚, and ‚Supreme‚. Technologies & Skills: 680×0 Assembler, AMIGA OS, Low-level chipset programming. Get more info on my dedicated AMIGA page.
1982Got a C64 and did graphics and game programming. Founded the coding crew ‚MST‘ (Magic Software Team). Technologies & Skills: PEEK, POKE, Commodore Basic (including various basic extensions), MOS 6510 Assembler, Low-level chipset programming.