code

clones

Over the years I've built a series of loose clones of web services that I use.

ggg
a git repo server
ihkh
a minimalistic flickr viewer
'phemera
a forgetful blog
trobble
a scrobble catcher

rss

The glue that holds once held the web together is still useful.

After Google Reader closed down I wanted to write my own feed reader. At first it was going to be an inbox style reader but then I became interested in the river-of-news style after seeing river2.

riviera
a river.js producing feed aggregator
rivelin
a river.js reader
riviera-admin
an admin panel for riviera

I've also written a few tools to extract RSS feeds from places that don't provide them.

tl-feed
a tinyletter rss feed generator
tw-feed
a twitter stream rss feed generator
tw-linkfeed
an rss feed of links posted in your twitter stream

web dev

While creating these web apps I've written a few useful libraries that allow me to continue creating them the way I want.

route
a path-based request router
mux
a collection of request routers
serve
a package to simplify serving a web app
socketandserve
a tool to serve local webapps at .dev

Occasionally I just need a static web site. I'm not a big fan of existing frameworks/tools since I forget how to use them or end up customising them so much I may as well write your own.

So instead I have two small ruby gems that do the hard bits of serving a local version of the site and then eventually publishing it to a remote server.

serveable
minimal fuss rack server hooks
publishable
easy publishing of generated web sites

mpd

I have a Raspberry Pi with Music Player Daemon on to play my music collection. These are a few tools I wrote to enhance it.

ashuffler
automatic shuffle for mpd
evmpd
listener to translate media key events into mpd commands
mpd-scrobbler
a scrobbler for mpd
mpd-slack-status
update your slack status to the current song playing in mpd
mpd-sound-menu
a plugin to show mpd in ubuntu's sound menu