Business

ZeeZide / Freelance: Working on projects/products for ZeeZide GmbH, as well as doing freelance work in the calendaring space.
If you got some interesting project, feel free to contact me. Meanwhile, have fun with our demo projects: CodeCows and ASCII Cows!
Timeframe: 2015-today
Technologies: CalDAV, CardDAV, Noze.io, Swift, etc

Apple/iCloud: CalDAV/CardDAV client for Microsoft Outlook, Chrome bookmarks syncing extension.
Timeframe: 2010-2013
Technologies: CalDAV, CardDAV, C, C++, SQLite, MAPI

Outlook plugin: I worked on building a MAPI message store provider for Microsoft Outlook which stores Outlook entities into GroupDAV / CalDAV / CardDAV capable WebDAV servers.
Well, ZideOne has ceased operations. Don't ask.
Timeframe: 2007-2009
Technologies: C, C++, SQLite, MAPI, GroupDAV, WebDAV, CalDAV

Chamber Management System: I design and lead the development of a web based management system for a chamber of pharmacists in Germany. The system is built in Java on top of OpenGroupware.org technology.
Timeframe: Nov 2007-Jul 2009
Technologies: OGo, Go, OpenOffice.org, Java

OpenGroupware.org: For SKYRIX Software AG I architect, implement and maintain extensions to the OGo groupware server. This includes work across all layers of OGo, from the application logic through protocol layers up to the web interface.
Timeframe: 1996-2008
Technologies: C, Objective-C, Linux, PostgreSQL, SOPE

SMS/MMS Platform: An enterprise scale SMS/MMS transaction and service platform which is in use by various large media customers, MNOs and SMEs. My primary work is on system reliability, mobile handset detection and on-the-fly MMS repurposing.
Timeframe: Feb 2006-Sep 2007
Technologies: MMS, SMIL, C, Objective-C, Java, Tomcat, Linux, PostgreSQL

PostgreSQL Cluster: To secure the data in a large scale deployment of electronic datarooms we configured a PostgreSQL warm standby replication cluster using the write ahead logging facility of the server. The datarooms are accessed using a set of Ruby on Rails web applications.
Timeframe: Apr-Aug 2007
Technologies: PostgreSQL, Ruby on Rails

Card Management System: For a large German trust center I architect and lead the development of a system to securely manage applications for qualified signature / encryption cards (health professional cards). Prototypes implemented in SOPE, later moved to Java/Go.
Timeframe: Feb 2004-Apr 2007
Technologies: Java, Jetty, Go, SOPE, HPC, Smartcards, OpenSSL, MySQL

Agenor: For a large French ministry I designed and led the development of a massively scalable groupware server. Designed to serve 60.000 ministry workers. The project kicked off the ScalableOGo OpenSource project which is currently being continued by Inverse.
Timeframe: 2004-2005
Technologies: C, Objective-C, PostgreSQL, GroupDAV, WebDAV, CalDAV

Instant OGo: Designed and implemented an administration web interface for various Linux services. A proprietary OGo component which is in use in the excellent Instant-OGo product.
Timeframe: 2003
Technologies: OGo, Objective-C, Linux, SOPE

SKYRiX Publisher: Enhanced the SKYRIX web application server (now OGo) with an enterprise content management system. Was in use at a large plant research institute to maintain thousands of documents in a structured way.
Timeframe: 2002
Technologies: OGo, Objective-C, SOPE, Content Management

OpenSource / Sparetime

dockSwiftOnARM: Docker images for the Swift programming language that work on ARM platforms, specifically the RaspberryPi. Including Server Side Swift via mod_swift.
Timeframe: 2017-today
Technologies: Swift, Docker, RaspberryPi

mod_swift: A toolkit to write native Apache modules in Swift. Includes a subset of the Connect/Express framework of Noze.io which makes it very easy to write modules. Instead of reinventing the HTTP server, hook into something that just works and is battle proven.
Timeframe: 2017-today
Technologies: Swift, Apache, JSON, HTTP

Noze.io: The "Server Side Swift aS a Service" toolkit ;-) Noze.io are Node.js-like, evented I/O streams for Swift. Implements core Node modules like leftpad, net or http, as well as some external ones, like Connect and Express.
Timeframe: 2015-today
Technologies: Swift, GCD, JSON, HTTP, Streaming

SwiftSockets, SwiftyHTTP, SwiftyExpat: SwiftSockets is kind of a demo on how to integrate Swift with raw C APIs. More for stealing Swift coding ideas than for actually using the code in a real world project. It also comes with a great Echo daemon as a demo, it's always there if you need a chat.
Timeframe: 2014-today
Technologies: Swift, GCD, Expat, XML, HTTP

Go: Go is a set of Java frameworks to build powerful Ajax, web and web service applications. Comes with a lot of WebObjects compatibility as well as support for Zope concepts.
Timeframe: 2005-2010, 2014-today
Technologies: Java, Tomcat, Jetty, Eclipse, JDBC, HTML, WebObjects, Zope

ScalableOGo: A groupware server designed for massive scalability. The result of the Agenor project. This is a completely stateless application with a novel storage concept which allows high scalability despite using a RDBMS storage backend. For 60.000+ users.
Timeframe: 2004-2009
Technologies: GroupDAV, PostgreSQL, SOPE, Objective-C

GroupDAV: During a KDE/OGo meeting we designed a new groupware protocol to allow the lots of OpenSource groupware servers to connect to OpenSource groupware clients.
Timeframe: Dec 2004-2009
Technologies: WebDAV, iCalendar, vCard, Calendaring

OpenGroupware.org: I'm the project lead of OGo and coordinate the small but excellent community. Doing talks on various events. Currently working on the Java port of OGo, OGo/J.
Timeframe: 1996-2009
Technologies: C, Objective-C, Linux, PostgreSQL, SOPE

SOPE: Initially a clone of the WebObjects 4.5.1 web application framework, SOPE was enhanced with concepts from the modern Zope environment. SOPE is the application server used by OGo as well as SOGo. Includes a large collection of modules: XML parsers, iCalendar/vCard processing, NIO streams, EOControl, MIME/IMAP4 support, LDAP wrappers, database drivers, the appserver itself, etc
Timeframe: 1996-2009
Technologies: Objective-C, HTML, WebObjects, Zope, Database C Libraries, MIME, IMAP4, LDAP, EOF, XML-RPC, SOAP, SAX, DOM

Remote iTunes: Prototyped a small application to use the Nokia 770 as a remote control for iTunes running on an iMac.
Timeframe: 2005
Technologies: Maemo, Linux, AppleEvents, Cocoa, Objective-C

libFoundation: A clone of the OpenStep Foundation library, similar to gnustep-base. Initially developed by Ovidiu Predescu and friends. Took over maintenance around 2000. Worked on adding support for garbage collection.
Timeframe: 1996-2009
Technologies: GCC, Objective-C, Boehm-GC

GNUstep: Worked on various GNUstep subprojects. Improved the gnustep-make library, assisted the creation of the GSWeb framework, enhanced the GNUstep database library with additional adaptors and features. Bugfixes in the base library.
Timeframe: 1996-2009
Technologies: GCC, Objective-C, Make

libobjc: Designed and assisted implementation of garbage collection support for GNU Objective-C in cooperation with Ovidiu.
Timeframe: 1997
Technologies: C, ObjC Runtime, GCC

GTKKit: Implemented an Objective-C wrapper around the GNOME gtk+ GUI library. Modelled after AppKit where possible, integrated NSRunLoop with the X11/GDK event handling.
Timeframe: 1998
Technologies: C, gtk+, X-Windows

Apache ObjC: An Apache module to enhance the server with regular Objective-C NSBundle packages.
Technologies: Apache API, C, ObjC runtime

NGPython: Wrote an Objective-C / Python bridge for use in the Skyrix 3 web application server. Full support for Java-Bridge like 'jobs' files and a Pythonic API to Objective-C.
Timeframe: 1998-2000
Technologies: CPython Embedding, ObjC runtime

NGJavaScript: Wrote an Objective-C / JavaScript bridge for use in the form engine of the Skyrix 4 server. Allowed users to write small applications using HTML and JavaScript inside the groupware system.
Timeframe: 2000-2003
Technologies: C, ObjC Runtime, Mozilla SpiderMonkey

mod_ngobjweb: A non-streaming Apache module to forward HTTP requests to backend application servers. Capable to distribute requests across cluster nodes with a central registry daemon (snsd). Support for sessions stored in volatile memory. Now part of SOPE.
Timeframe: 1996-2009
Technologies: C, Apache 1/2 API

CocOOo: Small AppKit application to view OOo files. Loads the XML stored in the OOo file, transforms it into HTML which is then displayed in a WebKit view.
Timeframe: 2003
Technologies: AppKit, WebKit, OpenDocument Format, XSLT, Objective-C