Coding
Current projects
-
This homepage. It's written in
JOPEGETobjects. Conceptually, GETobjects is the Java rewrite of SOPE, but it's a much cleaner approach to the same concepts and by now much more advanced than SOPE. - FeedBot (not released), a GETobjects server/robot which scans a number (currently 40) RSS/ATOM feeds periodically and posts occuring changes as IM conversations. It still feels very promising and I will probably release it as a GETobjects technology demo.
- iTunesFS, a MacFUSE based file system which lets you access your iTunes playlists via a file system mount - very nifty for making, err, backups for your friends! . Works with iPods and iPhone. Currently at version 2.0.0, released 05/09/2022.
- WOEditor (not released), used to be an editor for SOPE templates. Has since then grown in a highly usable XML editor. Actually, I'm typing this text in WOEditor. Sneak peek here.
-
Bookmarker (never released).
An application for managing all sorts of bookmarks (namely URLs) -
and for sharing them via
RendezvousBonjour! Initially conceived as a testbed for a GNUstep implementation of Bonjour, but the GNUstep port is more or less abandoned now. Now it suits as a technology demo for a true AppKit driven SOPE application which provides DAV and XMLRPC services to its peers. It's one of the applications I use every day and which is, despite its shortcomings, incredibly useful. Sneak peek here.
Past projects (inactive)
- MulleSight, a tiny but incredibly useful application to capture images from your iSight (or other Quicktime compatible) camera. The last version is 1.1.10, released on 04/17/2007.
- OpenGroupware.org, probably the best Groupware server around to date. I'm particularly focussing on SOPE, the driving force behind OGo.
- Wrote SOPE:X, a framework for creating AppKit/WebKit desktop application hybrids. The idea was to create all interface elements of the application as webpages. Navigation would occur via Hyperlinks or standard keyboard/menu shortcuts. Presented it to the GNUstep folks at FOSDEM once or twice, but noone was seriously interested in the idea, thus I dropped it. The code is still available in the OpenGroupware.org contributions section.
- MulleNewz, an RSS reader dockling. The last version is 1.9, released on 05/30/2003. With my evergrowing list of RSS feeds the user interface doesn't work too well. I use NewsFire most of the time which works quite well for me.
- XMLRPC, a framework for programming XML-RPC clients/servers in Objective-C. I stopped development on that some time ago as SOPE has all the stuff built in. Although Mulle XMLRPC does some stuff better (signature mapped type coercion) this isn't too big a deal in practice.
- EDCommon/EDMessage frameworks, future development, bugfixing and porting to GNUstep. I abandoned these in favour of the SOPE stuff although ED* comes pretty handy if you need something really lightweight.
- Wrote CVI, a 30 minute hack which I still use every day! Pretty useful thing. (There's also a version for Subversion which I use far more often nowadays).
- Wrote a GNUstep compatibility framework for Mac OS X which makes it easier to port existing GNUstep apps to Mac OS X. This framework is now a part of GNUstep and is being used by Renaissance.
- Ported WordNet to Mac OS X. The last version is 5, released on 11/03/2003.
- Lamento, an open source bugtracking system for Mac OS X Server. NB: This project is dead now, as there are many good open source bugtracking tools out there which have far more people backing their development. During the course of its development Apple killed almost all underlying technologies which was a pretty funny experience for us at that time I can tell.
Experience
I'm doing a lot of programming, mostly in Java or C++ lately. I've programmed in quite a lot of object oriented languages, with very little functional programming (Scheme, only). Though I really did despise C++ since the early 90ies and clearly favoured Objective-C, my current commercial project taught me that it's kind of useful in special contexts (audio software). If done correctly, code in C++ doesn't even look too ugly… ok, I'm kidding.
My personal, favourite object oriented programming language used to be
Objective-C, but right now it's (surprise) Java (I used to bitch about Java
since its first inception, its pathetic, crippled object model, exceptionally
badly modelled base libraries and the like). However, since Java 1.5 the
language itself is quite tolerable and saves me quite a lot of typing that I'd
have to do in other languages (especially C++) otherwise. Also, the base
libraries have matured and there's a vast amount of really useful third party
libraries for almost every purpose out there.
Nevertheless, I'm also programming lots of everyday use scripts and utilities
in either Python
or Bash shell script language.
I'm still administering several Unix boxes (my laptop included), you really
need to script here and there if you don't want to be bothered with repetitive
tasks (and I'm quite lazy, but enjoy programming). Also, using the right
language for the task at hand, it's quite easily done.
Speaking of scripting languages, I totally hate
Perl. I've never really
understood all the buzz around this language, it's hardly readable due to its
awkward syntax and every script I've read in this language hurt my eyes and
brain. Weird. Well, it used to be the first better scripting language for
Unix folks, that's probably why it has such a devoted following. However, there
are new and better kids on the block now.
Ruby
sounds pretty interesting, but I really never had the time to have a
better look at it, although Erik
always punches me to it (whenever he gets the chance to). I also had a brief
stint with
C#
while working at Codeon and
pretty much liked it, although it didn't impress me too hard at that time.
C# 3.5 sounds very nice to long time Objective-C coders, since the addition
of a
categories
like mechanism. I'll probably look into this deeper, soon.
Following is a list of non-commercial projects that I do for recreational or educational purposes at the moment.