Hacker Music
Hacker Music is a stupidly simple web application designed to solve a bedeviling problem: what music should we be playing in the office right now? We wanted to use Apple’s super-slick Itunes DJ / iTouch Remote combo, but not everyone in the office has an iTouch-ready device. We looked at Tunez which is an icecast interface with a voting system, but that looked like more bells and whistles than we needed.
Hacker Music is an interface to an Icecast server. Once you’ve set up the database and populated it with songs, you run a non-terminating Ruby script that continually sends songs to your Icecast server, and Hacker Music provides a small webapp where people can vote on what should be played next. We’ve included the default icecast.xml file, which works with the default configuration settings in HM, so once you’ve got all the prerequisites installed you should be good to go.
The rules are simple:
- Each user gets a fixed number of votes, which they can apply towards songs.
- You cannot vote for a song twice.
- The song with the most votes gets played next.
- If songs are tied for votes, whichever song got the first vote chronologically goes first.
- If nobody’s voted for anything recently, it plays a random song from the database.