Friday, 26 September 2008

Squeezebox Duet: My Impressions

Having recently had my little whinge about setting up the SqueezeBox Duet it's about time I said something about the box itself. Both professional and user reviews around the web are pretty much universally glowing with praise for it and I have to say to a large extent I agree.

First of all, there's the hardware which is sleek looking with a glossy black finish. The hardware is in two parts (ignore the odd cable here and there), the SqueezeBox Receiver:

Which, while not belittling the technicality of it, is to the consumer essentially just a dumb receiver box. It takes an audio stream over either a wired or wireless Ethernet connection and spits it out through your stereo using a digital or analogue audio connection. Then there's the controller:

Which is an altogether more exciting piece of kit. It's a wifi-device that can talk directly to your wifi router or be bridged onto your wired network via the Receiver if you don't have wifi. It features a rather strangely arranged set of controls that become familiar after a little usage. There is a jog dial with selection button, then buttons for playback, volume, control of the playlist and navigation around the menus. As you can see, it's got a nice full colour LCD display too. This means you can wander around anywhere within wireless range, control your music and get feedback directly on the device on just about anything you might want to know.

Software wise, things also come in two parts (well three if you count the firmware on the receiver). There's the software on the controller and some software to run on your PC which is listed as optional but I would consider very much essential. Both of these parts are open source with decent plugin interfaces and documented APIs you can access.

The controller runs a customised embedded Linux distributions known as Squeeze OS which is responsible for running the user interface application on the controller called Squeeze Play. The nice thing about this is you can take the user interface part, Squeeze Play, and run it on your desktop too. While the controller software is open source and pluggable, I haven't found anybody having written any useful applets to run within Squeeze Play yet but it's still early days so hopefully those people producing screen savers will come up with some good ideas for applets. That said, I can have a bit of a hack around too to see how easy it is to program for and whether I can produce something useful too.

The open source server software is called Squeeze Center and should be run somewhere with access to your local music collection. It supports a huge number of formats including flac, ogg and mp3 of course. Squeeze Center is hugely flexible and configurable, mostly through a bunch of supplied plugins. It provides a web interface as well as access to other interfaces so it can also be used to control the music playing as well as being the configuration hub for the entire setup.

Out of the box Squeeze Center provides access to your local music collection via a number of sorting methods (such as by artist, album, song, genre, etc) as well as providing standard playlist functionality. It also allows you to listen to Internet radio through a number of free and paid for services such as shout cast streams, mp3tunes and (a scrobbler plugin is also included). It gives you a favourites menu so you can tag anything as a favourite and later get quick access to it through this menu. Last but not least there's the Extras which doesn't do a huge amount out of the box (this is where most 3rd party plugins are accessed) but it does give you access to podcasts - you can subscribe to RSS or OPML podcast feeds and have them streamed to your hi-fi, cool!

I like to use dynamic playlists and that's some functionality that doesn't get included by default so I've found some plugins that do that for me now. Being a UK resident I want access to the BBC audio content and some kind person has written a plugin to access all their content too, including Live Radio streams, listen again streams as well as BBC podcasts. The final plugin I'm finding useful at the moment is one that automatically adds tracks to my music collection when I copy them to my music directory using a groovy Linux kernel feature, Inotify, otherwise you have to rescan your collection manually after adding new tracks. The plugins I've installed are tagged in Delicious.

Overall, the system seems to work very well. It's great having the flexibility of having an entire music collection at your finger tips ready to play, no messing with things that spin any more, and having access to all the additional content over the Internet is another real bonus. The packaging and interface of the components are really nice and are only set to get better over time, particularly as they're open source. This means I can get my hands on extra code in the form of those useful plugins as well as writing my own. But it also means when Slim Devices get caught up in adding support for new products or bug fixing as they inevitably will, new functionality will always be progressing at least through the community. So now I've got everything fixed up in my config, listening to music at home is quite a cool experience, happy days!

Monday, 22 September 2008

Squeezebox Duet is alive at last

Back in the middle of May I decided to set up my home stereo properly in our new house so I ordered a new stereo (an Onkyo CR-515) and decided to replace an old Thinkpad I used to store my digital music collection with a new device on the market from Slim Devices, the SqueezeBox Duet and a low-power PC as a media server.

Initially I wasn't able to set it up as I was experimenting with using a Linksys NSLU2 (or slug) as the media server. Unfortunately, this was vastly underpowered for the job so I had to re-think that part of my solution. In late June I had my new server so I looked out some pictures I took while unpacking and wrote my first post about the SqueezeBox Duet.

It's only now I'm able to write that I've successfully set up my complete solution as of the start of September. I've been having huge difficulties getting the box to stream audio properly with all sorts of symptoms. I'll spare the long description and cut to the solution, I changed my wireless router settings from its default channel 11 setting to channel 1 and everything sprung into life. During my 3 months of debugging to find this simple solution I contacted Slim Devices through various means, forums, chat channels, and official support. While the staff were extremely keen to help and reasonably responsive given the time difference between California and the UK, at no point did they give me any useful suggestions towards the successful solution. It was this that prompted me to think about the different types of open source. Now I can conclude that you're pretty much on your own with a SqueezeBox, but that's something I can live with quite easily, so now it's working I'm a happy bunny.

For future reference, next time I move house I'll do a scan of the local wireless networks much earlier and change my channel accordingly. I'm no wireless expert but then I'm no dummy either, so when I can communicate over my wireless network with several devices including more than one laptop, a Nintendo Wii and the SqueezeBox Duet Controller, I would suggest it's reasonable to expect the other half of the Duet (the Receiver) to work too. Not so apparently.

Friday, 19 September 2008

Turning my house off

After talking recently about the stand-by power savers I've been messing with at home I've made another small investment in the Home Easy range. We now have a switch I've located downstairs we can use to turn one or more sockets off in the house. It's a small step I know, but this simple device will effectively become the on/off switch for our house. Currently, we're only using it to control one socket to switch off all the electrical gadgets in the living room such as the TV, DVD hard disk recorder, Wii, etc.

I like the idea of being able to turn your whole house on/off. So this switch has the potential to be extended should I make further investment into Home Easy kit. We could eventually have computer controlled devices all around the house to activate lighting or any electrical device. With one press of this button the whole lot would turn off in order to make power savings as we leave the house or overnight though. As well as saving some cash it gives you a great green feeling of energy saving too, safe in the knowledge that only the essentials are left on at home. For us right now, the essentials are the home server, network router, our fridge-freezer and currently a second freezer to store our surplus vegetables from the allotment. These typically use 130 watts as an average total which goes down from something like 170 watts I think when we turn off the stand-by switch.

I was hoping for a certain amount of traction and community to build up around the Home Easy range, being the first reasonably complete and affordable range of radio controlled devices in the UK. However, that doesn't seem to be the case. I have loads of little questions I would love to ask Home Easy, mostly about future products and their intentions. So far, it's been difficult to communicate with them or other users of the products. For example, their web site has a forum link with a few registered users on the forums, including some staff from Home Easy. In order to get access though, you have to e-mail one particular guy and wait for him to approve your access which isn't ideal. I e-mailed several months ago and I'm still awaiting my ID. Conclusion, the forum isn't very active and the community I was hoping for doesn't exist, yet.

Wednesday, 17 September 2008

Dipping my toe back into super computing

I've been out of university and working in IT for a good few years now and held several different roles along the way. When I started work I was doing an internal support role after which I moved to my current department, Emerging Technologies, where I've held several roles including being an emerging tech specialist and working for IBM's Linux Integration Centre.

I've used the attention-grabbing title for the work I very much enjoy doing but due to certain circumstances thought I had left behind in my career. Super computing sounds very grand and conjures up all sorts of ideas along with other grand titles for the type of work I do such as Beowulf Clustering. The term I prefer, but can also be misleading, is High Performance Computing (HPC). There are all sorts of misconceptions about HPC but easily my favourite is when people pretend to joke, but expecting a serious answer ask something like “Wow, how many frames per second can you get on Quake with that?”.

The opportunity has come up for me to go back to this area for a one-off project, working with some of my ex-colleagues. I'm very much looking forward getting stuck in as the work is usually interesting and my old team are fantastic. As ever with these projects, there are an enormous number of unknown's at the start of the project. I already feel at home knowing the list of things we don't know yet – where the hardware is right now (delivery due soon), what the software stack will be, firmware levels, network layout and design, naming conventions, management and monitoring required, storage requirements, job scheduling, operating system, tweaks and configuration, etc. That's all part of the fun though, I get to work things out along the way and fill in the gaps for areas that, for no fault of their own, people just don't think about answering until implementation time. The kick-off meeting is due soon now so I'm looking forward to getting people to think about all the tiny details I'll need in order to supply our customer with the best suited system I can.