projects
These are my more recent public projects:
tokyooo
tokyooo (pronounced toke-ee-yoooo!) is an unfinished C++ wrapper for the excellent Tokyo Cabinet libraries. It’s meant to aid serialization and provide scope-safe representations of Tokyo Cabinet concepts.
bashreduce
bashreduce lets you apply your favorite unix tools in a MapReduce fashion across multiple machines/cores. There’s no installation, administration, or distributed filesystem. Also, see further improvements by Richard Crowley for use at OpenDNS.
coroutines
Implements yield in C++, with bindings to Boost.Asio (an asynchronous I/O library) to drive light-weight cooperative multitasking. See the paper Why Events Are A Bad Idea (for high-concurrency servers) for why this is a good idea. Also, See Simon Tatham’s excellent explanation of coroutines and their use. This project is a fork of Giovanni Piero Deretta’s coroutine library with some improvements of my own.
last.fm fingerprinter (svn repo)
Built with the great Norman Casagrande, and based on the work of Yan Ke, Derek Hoiem, and Rahul Sukthankar, this library builds a robust fingerprint of a snippet of audio by looking at highly distinctive patterns in the visual representation (spectrogram) of the song. The descriptors that most often distinguish when songs are the same or different are trained by a machine learning algorithm.
moost::http
A fast, lightweight, header-only C++ asynchronous http serving library. Currently only released as part of Playdar but should eventually become a project in its own right.
thrift-asio
A micro-implementation of the Apache thrift C++ library, sitting on top of Boost.Asio.
Older Projects
I wrote these a long time ago, and though they might still be useful, I no longer maintain them.
pflog (2006)
A world map with a traversable, customizable timeline, written in Flash.
ljArchive (2004)
ljArchive is a tool for downloading, browsing, and analyzing journal entries and comments from LiveJournal (or LiveJournal clones).