coffeescript tdd setup

I decided to try to make a small game in Coffeescript. I wanted to carry over my tdd practices from my ruby work. However I was a bit unfamiliar with the coffeescript/node ecosystem. After a bunch of research this is what I’ve decided to use for now. Grunt seems to...


eye process monitoring tool

When you start working with background jobs, you’re going to want a reliable way to monitor those processes. I first started out with monit. I found its configuration file a bit ugly. Here is an example config file: check process resque_worker with pidfile /var/www/vhosts/myapp/shared/tmp/pids/resque_worker.pid start program = "/usr/bin/env HOME=/home/deploy RACK_ENV=production...


icecast source client hack

I’ve thought of a great hack to overcome the limitations that most icecast clients don’t let you specify the ‘source’ field. At first I thought of maybe finding a user by password rather than username. Then I thought, why not just use the password field for the username and password?...


null date object

If you find yourself checking for nil constantly, a null object of some sort can help. I wanted to make a null object for dates. Here is the NullDate class I came up with. class NullDate include Comparable def strftime format "No date yet." end def to_s "No date yet."...


web based icecast client

Although I added some features to B.U.T.T.(broadcast using this tool), its still not the ideal broadcasting tool for all DJs. A web based client would be ideal. Some developers at Liquidsoap are working on what I think is an interesting solution, using Websockets and lame.js. They currently have support for...