This is a list of the more mature Open Source projects in which I have/had a major involvement. Several other projects are on Github.
OCMock is an Objective-C implementation of mock objects. Thanks to the powerful Objectice-C runtime only 200 lines of code in two classes were required to implement a fairly complete mock object library. A few years and a few more features later we're at several thousand lines, though.
CCMenu displays the build status of projects on a continuous integration server as an item in the Mac's menu bar. Or in other words, CCMenu is to OS X what CCTray is to Windows. And in case you are wondering: of course it is prettier.
Trying to avoid the well-known SaaS commenting systems I had settled on an open source system I could host myself. When development stopped, and I really didn't want to maintain a Rails app, I decided to write a minimal commenting system from scratch.
A reinterpretation of the Maeda Wheels screen saver I wrote over twenty years ago (see below). This version stays closer to the illustration in John Maeda's book that served as my original inspiration. It's a bit smoother and efficient, too.
When Thoughtworks went through the brand refresh in 2021 I took that as an invitation to write a new company screen saver. (I had written the previous ones, too. See Dancing Glyphs below.) The new screen saver animates one of the illustrations that were created as part of the brand refresh.
In 2016, when reading Cixin Liu's novel The Three-Body Problem, I saw a shape in our brand asset library at work that had three of the typical ThoughtWorks glyphs superimposed, and somehow I thought, what if those three glyphs were dancing around each other like the suns in the novel? Wouldn't that make a great screen saver? Things got a bit out of hand when I started implementing the idea.
This is a small screensaver I wrote in 2001 after reading MAEDA@MEDIA. At the time my PowerBook Pismo was a bit too slow to render this at acceptable framerates but now it looks as lovely as it was intended. The actual animation depends on the mouse position. So, be surprised by new patterns each time, or move the mouse while the screen saver is active.
Neo is a framework for .NET developers who want to write enterprise applications with an object-based domain model. It is well suited for domain-driven design and agile development. Neo includes tools that create an extensible object-based domain model as well as the database schema from a an abstract description of the model. At runtime, rich schema information is used to dynamically generate all SQL required for object persistence management.
A collection of frameworks for Mac OS X, GNUstep and WebObjects. The Common framework provides advanced datastructures, socket wrapper classes, a lightweight XML DOM implementation and other goodies. The Message framework covers internetmessages (in the sense of email and usenet postings) and the Style Sheet framework is a templating engine.
In 1995 Constantin asked me whether I wanted to join him in his effort to write a good Usenet newreader for the NeXTSTEP platform; something that was desperately needed at the time. A while later we released Alexandra 0.8, which became a huge success and was at times the most popular newsreader for NeXTSTEP.