These days, I'm mostly just writing small programs for fun, or throw-away code relevant to some theoretical subjects I happen to get interested in in the field of functional programming, and then push them to my GitHub repos or write about them in my blog. Ones you might find interesting include:
- A MOS 6502-compatible CPU implemented in Kansas Lava. I've turned this into a full Commodore PET and I plan to eventually build a complete Commodore 64 from it.
- Scope- and typechecker for the simply typed λ-calculus, in Agda and in Haskell. The latter utilizes many of the same techniques as the former.
- Alef: A lazy functional programming language (interpreter and compiler). I later reworked that into a simpler version for this blogpost.
- MetaFun: Compile a Haskell-like functional language into C++ template metaprograms
- Tandoori: Compositional type checker for Haskell 98 (my M.Sc. thesis)
- Brainfuck compiler & transpiler for the Commodore 64
Everything below is horribly out of date and unmaintained, including the project descriptions themselves.
- Guikachu: Graphical resource editor for the GNU PalmOS SDK
- When I find the time to do so, I like to contribute to GNOME. Modules I've contributed to include Gnumeric, Evolution, gal, gnome-libs, gnome-terminal, and Bonobo.
- Smaller GNOME things
- Collection of Elisp snippets.
- Goblin: A Python implementation of the board game Gobblet, for Windows and Unix/Linux systems.
- XSLT templates for creating your CV: This page describes in detail a simple way to generate HTML and printable versions of your resume from a single source.
- A CipherSaber implementation in QBasic
- ORBit/C++: I worked on making this usable with GNOME 2 and GTKmm for more than a year, before finally giving up. Bowie Owens took over, but the whole thing never really took off.
- RadioActive: A GNOME/GTK+ front-end for radio tuners
- I've sent quite a few patches to Gnomoku, a small game. Since then, I've become the maintainer of it.
- Bonobo Clipboard: This is a moniker-based clipboard supporting both embedding and linking. Accessing it is done via the Bonobo::Clipboard and Bonobo::ClipboardStore interfaces, and the "clipboard:" moniker.
- Bonobomm: This project intended to integrate Bonobo with the GNOMEmm C++ wrapper for GNOME. It's become part of GNOMEmm.
- Bonobo-Media: A set of Bonobo interfaces for multimedia playback
- I've ported GConfmm to GNOME 2 and cleaned it up some in the process.
- Panelmm: a C++ wrapper for developing GNOME 1.x panel applets (see the GTKmm page for details, and information on the GNOME 2 version)
- MAGE Adventure Game Engine