my cat breeds beats
Some 15 years ago I found a nice little Nokia phone that had a color display and was able to run small programs - you'd call them "apps" today. Playing with the devices capabilities I came across a project called bemused that lets you use the phone as a remote control for a music player via Bluetooth. There was a Linux server running in the hall of our flat that I set up earlier - to keep the thing quiet it was wrapped in carpet, much to the delight of our cat who quickly adopted its new scratching post (see picture). I connected this server to an amplifier in our kitchen and ran the bemused daemon for a while - the whole setup was barely useable and got replaced by MPD and SubSonic as jukebox daemons over the years, but for the first time I saw the idea of using your phone in combination with a fat server to play music brought to life.
Fast forward: today you have a multitude of smartphones all around that are still mostly vendor-locked just like the dumbphones back then, but at least power and usability increased a lot. On the server side things are looking a lot brighter: since the RaspberryPi started in 2012 you can play around with cheap Linux boxes for very little money and power consumption and size decreased drastically. Run your own server in the car? .. why not!
Since I spend weeks and month in my little campervan during summertime, I tried running the SubSonic server daemon I've been using @home, as soon as I got hands on my first RasPi. SubSonic turned out to be far too bloated for a little device like the Pi. Since SubSonic is written in Java, not a dreadful ecosystem per se, but too attached to working for the $$$ for my taste, I started hacking on a more lightweight daemon reimplementing the SubSonic protocol that has its roots on a wonderful playground: Python. Similar to Java, Python is not exactly know for being lightweight, but since the server is basically a thin wrapper to a SQLite database and great Unicode-support was quite high on the list of requirements, a fun to hack language like Python seemed like a good choice. I've been running that server in the van for more than 2 years now and it can handle a 300Gb music collection just fine.
Releasing the server code has always been on my mind, but the whole thing still is a little too rough on the edges to be useful. It works with every SubSonic client I tried so far (like the fantastic DSub Android App) but since I had to extend the API a bit, for example to be able to setup and scan your library, I started working on a Web-Client that goes along with the server. Turned out to be more work than the server itself, but I'm confident to be able to get my shit together in early 2017. During development I grew quite fond on a name that resembles the scratching post setup from 15 years ago - be.mused
See you in a bit,