Wednesday 26 November 2008

Daily Electricity Bill

Way back at the end of July I started looking into how to graph current cost data. I was looking at this from the point of view of putting the information together on a web page somewhere and potentially sending out useful information via e-mail to me and Beth on our power usage.

Recently I've been looking into this again and over the past couple of weeks we've been receiving a daily HTML formatted e-mail with an attached graph image that might look something like this:


This is a really handy reminder each day to try and be as green as possible but also to show us how we did on the previous day. The graph shows two lines, the red one showing the actual power usage in watts and a straight blue line showing our average usage for that day.

Also attached to the e-mail are the charges and a few summary statistics for the day. So on the example above you can see we averaged 240 watts throughout the day with our minimum usage recorded as 61 watts and maximum usage as 2359. The total usage doesn't mean very much without time associated with it, but I've listed it there all the same. The total can be used to work out the kWh reading for the day, total divided by 1440 minutes in the day (and points on the graph) divided by 60 minutes in an hour.

The costs are rather crudely calculated. We're charged for electricity on two levels, our first 225kWh per quarter are at a higher rate than any usage thereafter. For us, this averages out at around 10 pence per kWh cost so that rough average is used to calculate an estimate for the total cost in GBP.

This only a really simple way in which the current cost data can be used, Dale is way ahead of me on other applications for the data. I intend to extend the e-mail we're getting at the moment to integrate into a little web system we can use at home to log in and look through historic records of our usage and also produce other summaries such as weekly or quarterly usage. Also, the ability to add notes to each day will needed so when we look back over historic data we might have recorded what particular spikes in our usage are. All this is an effort to educate ourselves more in our power usage so we can change our behavior to be more efficient with it.

Thursday 20 November 2008

One A Day

I'm taking part in a little Flickr group project at the moment to take and upload one picture a day for a month. The group is called A month in my life... and was the idea of Mirriam, an old school friend I've recently got back in touch with through Flickr.

It's a great idea, I bought a new camera earlier in the year and only really used it in anger when Beth and I were on holiday in New York. Having to take one picture a day is forcing me to get off my back-side and look for interesting things to picture. I'm also finding I'm looking at the world slightly differently, stopping to appreciate and think about light and colour a lot more. If I take a picture of a boring subject I'm thinking about how I can make it more interesting while taking the picture but also with a few trivial editing techniques.

I've been going for 7 days now and so far I think my favourite shot of the ones I've taken is this one:
One a Day

I'd not heard of this one-a-day type idea before, but apparently people on Flickr commit to doing this for a whole year so it looks like I'm getting off lightly with just one month. There's plenty of interesting work going up in the group at the moment, with a lot more people about to start contributing through December. Should be exciting, I'm looking forward to seeing what everyone else comes up with too.

Monday 17 November 2008

Super Computing Project Ends

Not blogged in a while, will spare the details/excuses but back in September I had the opportunity to get back into Super Computing for a one-off project. It's this that has kept me so busy throughout October and into November where I was really very well submerged into work for an extended period. Normally I like to keep balanced in my work-life balance. However, this project demanded a lot of time and attention and fortunately my wife, Beth, was away for a couple of weeks on business too so I really had the opportunity to get stuck in.

As I suspected (from much experience in the area) in my previous post there really was a lot of information missing at the beginning of the project. This is to be expected, the customer cannot be expected to know 100% what they want, they may not even know what is available, possible or on offer. To compound this, even the best sales team can't look into minute details when proposing a solution or making bid. So we had a productive kick-off meeting, made a lot of good decisions and recorded these to concrete the design details.

What happened next you can never be prepared for, but we've probably all experienced it. Yes, the iron fist of the bean counters barged their ugly way into the project. The previously neatly agreed deadlines and design proposals were lobbed into the air with such careless abandon it was almost humorous. The promise at the start of the project from my ex-manager that "this one would be different", and we "wouldn't have to work silly hours or cut corners" was about to be viciously broken into pieces. (Wow, I can sound like such a drama queen). Project deadlines were brought forward by give-or-take 50% simply to meet a financial deadline (of one of the parties involved not IBM I should add) way out of my control. When you're met with this kind of single-minded decision making as the technical leader of a project it's very frustrating but you know there is nothing more to be done except save time where you can and work your butt off. Anybody who knows me and my work will know I hate to deliver anything less than the very best solution I think is right. So I openly request to Mr Financial Man, whoever and wherever you are to listen to people, who like yourselves, are considered the expert in their area.

This was a Linux cluster, which for the uninitiated consists of a number of computers set up to be joined to work together on a single large problem that would take any one of them an unrealistic amount of time to compute. Using the example raised by OzBeefer on my last post, climate modelling algorithms are quite large and complex taking a single computer a long time to run, so loads of them need to work together in order to predict the weather in the future before it becomes the past! Fortunately, the design of this cluster wasn't rocket science and it was quite small. Things progressed very smoothly without any potential problems that might otherwise have occurred and with some very long working hours (read 12+ hours/day) the cluster was eventually delivered to the new schedule at the customer location.

Well I could ramble on about Linux, clustering, algorithms, networks, storage, optimisations and the projects I've worked on for hours yet, which gives me an idea... for those people reading this in the Hursley community answers on the back of a postcard, comment, e-mail or whatever if you think hearing my ramblings about this stuff might be vaguely interesting some time over lunch, tea/coffee, beers, etc?

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 last.fm (a last.fm 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

HE-307
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.

Thursday 28 August 2008

Ubiquity for Firefox

Today I was introduced to a new Firefox extension called Ubiquity via the blog post from Mozilla labs. It's a completely different take on the user interface and usability of your web browser. This video explains better than I could...



It's only at version 0.1 right now and it's already amazing so I'm really looking forward to seeing new versions come out as it develops. I'm already a big fan and thoroughly recommend trying it out for something a bit different in your web browsing life!

Tuesday 26 August 2008

When is open source not open source?

I've been having a pretty major headache trying to get my SqueezeBox Duet to do media streaming ever since I bought it many months ago. The SqueezeBox is also the primary reason for buying a low power home server that I've been blogging plentifully about too. I'll save the post about my trials with the SqueezeBox itself for the day when I resolve the issue; either with a fix or by sending the darned thing back for a refund. However, it's got me thinking about some other things along the way while I've been trying to solve the various problems.

We're all familiar with open source. It can have a pretty simple definition i.e. where source code for a piece of software is made available publicly. Dealing with Slim Devices which are now a Logitech company has sparked thoughts about just how many different types of open source there are and when open source crosses the line to no longer feel like open source even if I can still download the source code.

I'm very used to working with what I think of as standard open source projects. These are the ones that generally started with one person writing something small to solve a problem they had or because they didn't like other versions of software trying to do the same thing. The more mature of these are generally run by a person or small group of individuals who control the project for the benefit of the community of users in a not-for-profit fashion. Numerous examples spring to mind, not least the Linux kernel itself, but huge amounts of different software some of which get grouped e.g. those from the Apache Foundation, KDE, Gnome, Mozilla; and those that stand alone e.g. Pidgin, X-Chat, Samba, rsync; to name just a few that pop into my head.

I think where I'm going with this post is to look at what happens when open source stops being not-for-profit and these projects tread the line between this standard type of open source project and become something else. This is where I've got to in my experience with SqueezeCenter, but clearly this isn't the first for-profit open source software. I have no idea what the first is/was but there are definitely some prominent examples out there such as MySQL. Slim Devices employ developers to write and maintain SqueezeCenter which is central (although billed as optional) to the hardware they sell. In their case, the software is free to use and completely open source, it's written in Perl. The way this model changes the community is quite interesting.

In my experience so far, instead of having lots of developers donating their time to the project to learn, fix, maintain and progress the code base, developers are paid to do this. In the case of SqueezeCenter this seems to cut down the community to just those developers paid to do so. Why would other people contribute to something for which they could be paid, or for which other people are paid? Plenty of people get paid to write code for the Linux kernel but in this and other examples there is a distributed interest for that code rather than the single point of interest of one company. In spite of the fact I don't feel compelled to contribute to SqueezeCenter directly though, I still take great comfort from knowing it's open source and I think that's where the benefit to Slim Devices comes from. If I did have a problem, I could fix it myself, maybe sending a patch or possibly maintain my own personal patch set if I got that deeply involved.

So how many types of open source are there and when does open source no longer feel like open source? A good philosophical point for debate for which I think there is no real answer. There are so many reasons for using the open source methodology that it can bring benefits in so many different ways whether you're a developer, employee, company or simply a user. Each open source project tends to have a different feel to it, in my experience so far this has generally been governed by those who run or contribute to the project. However, there are clearly some other factors that might determine what it feels like to be part of a project that releases its source code. I'm sure the reasons for these are as numerous as the benefits they bring.

Tuesday 12 August 2008

Byebye Ubuntu, Hello Fedora

My recent experiments with installing Ubuntu on my little home server came to an end this weekend. I'm working hard to debug problems with my media streamer software, SqueezeCenter. After finding tons of forum posts and various problems with installing SqueezeCenter on Hardy Heron I decided to try another approach so I'm now running Fedora 9 at home instead. Both Hardy and Fedora 9 are supposed to be supported by Slim Devices for their Squeeze-stuff. However, it appears neither of these work but I'll save that rant for another day once I've worked out what's wrong (I have my suspicions about Slim Devices testing against Perl 5.10).

I'm actually quite relieved to be back in my comfort zone with Fedora at home again. I really enjoyed the experience of playing with Ubuntu but it's just not for me for various reasons...

I've met quite a few Canonical guys in my professional role and they've all been great; helpful, very approachable and in the case of some, such as Jono Bacon very decent techies too. That's not my experience with non-Canonical Ubuntu contributors though. I found if the Ubuntu documentation (which is excellent for pretty much everything before Hardy Heron right now) failed me, then talking to the community was not a good experience. I found I was met with an abrupt RTFM attitude in most instances, where the assumption of the community is that people asking questions are dumb. Personally, I blame this on the typical Ubuntu user being non-technical where Linux is concerned so I guess the community receive lots of silly questions which must get annoying at times. All that said, I still believe Ubuntu is really important and plays an extremely valuable role in trying to bring Linux to a more mass audience.

I also found Hardy to be down level in various instances compared with the packages available in Fedora 9. The big one for me here, on my little server, is the OpenChrome drivers for the graphics chipset. Fedora have the version that supports my chipset, but when I asked about inclusion in Ubuntu there was no interest in updating the down level version in their repositories. I also enquired about the broken Via proprietary driver in Ubuntu which resulted in the Via driver being marked for removal! So rather than update the open drivers or fix the package for the proprietary drivers, the response was to remove the proprietary one and not update the open driver which left me in a position of manually maintaining my own graphics driver until the next major Ubuntu release.

I've used RPM and yum way more than I have deb and apt so I sway towards the former simply through familiarity. Having the chance to play with debs again recently has been great too, there's some nice additional touches you don't get with RPM such as the suggested packages and the ability to remove dependencies installed with a certain package, etc. Ubuntu have done a nice job of packaging this all up with Synaptic too. Aside from those few nice-to-haves I don't really see any other advantages to the Ubuntu system, yum and RPM would do exactly the same job when fronted by Synaptic but as ever in the world of open source having choice and competition is good.

Hiding root from the general user is a decent idea too, no need for that confusion in a simple desktop environment, and makes it feel a little closer to what people expect from a Windows box.

Gnome is the desktop of choice for both mainstream Ubuntu and for Fedora so I've been going with that recently instead of my usual choice of KDE. I've been really impressed with Gnome too, for a simple desktop environment it's fantastic but I know if I were to use it every day there would be some features and tools I use regularly under KDE that I would dearly miss. However, I think I've been converted for home use over to Gnome, particularly as KDE is going through turbulent times with their version 4 releases right now. Having everything written in one toolkit is really nice, you can't avoid running GTK and QT apps under KDE but at least under Gnome you have the option of not running QT and sticking with the same look and feel everywhere.

I hope I managed to stabalise on one distribution soon so SqueezeCenter actually works, I get the feeling that will likely be Fedora 8 in the short term until Slim Devices get their act together for Perl 5.10 if my current thoughts are correct. So for now at least it's goodbye to Ubuntu until the next time I give it a run somewhere.