Google's Go programming language looks like something interesting to explore and one of the aims of the Raspberry Pi is to enable people to learn programming. However if you are using the new Raspbian distribution you may have noticed that the golang package does not work due to problems with the way it is compiled. The package installs without issue but if you attempt to run Go it crashes in a quite ugly way. Fortunately thanks to the power of the Debian package management system used on Raspbian it is relatively straightforward to grab the source of the package, change it and rebuild it so it does work. This is preferable to rebuilding it from the source code on the Go website as it means that the work done to integrate it with the operating system will remain intact.
The Raspberry Pi may be designed as a cheap educational computer, but hardware-wise it has a lot in common with set top boxes. However, set top boxes are traditionally locked down and not easily modifiable by the user, the Pi is the opposite and is open to user experimentation. People have been building their own media centres for years and now the Pi offers a very cheap route into learning about this area. XBMC defines itself as a "software media player and entertainment hub" that is packed with features and offers a fairly friendly user experience which follows the ideas in the ten foot user interface. It has also been ported to work on the Pi. I've been experimenting with OpenELEC - a minimalistic Linux distribution that hosts XBMC and makes setting up this sort of environment on your Pi not as difficult as you might think.
It turns out that the Raspberry Pi is capable of quite a lot. I have had mine for a couple of weeks now and have been exploring what it can do, as well as taking the opportunity to broaden my knowledge (after all it is a device intended for educational use). I have been exploring desktop, server and set top box uses (the latter two I will cover in future posts) for the hardware and it has been a very interesting experience. After using the Debian image for a few days I got frustrated with the old versions of software in the Debian repositories. Don't get me wrong I admire and respect Debian greatly but for cutting edge stuff it can be a challenge. I tried to use a technique known as Apt pinning to enable installation from different branches. This worked and enabled me to do quite a lot, but I felt that maybe it was time to try a different approach so I decided to try out the Arch Linux ARM image.
Yesterday I finally received my Raspberry Pi (model B), a small computer designed for educational use that retails at about the £25 mark. I had had mine on order since March and had been reading a lot about it in that time so was looking forward to getting it. The first thing that strikes you about this device is its size, or rather lack of it. The Pi arrived in a box and a padded envelope and yet still fitted through my letter box! So that was the first computer delivery I've had where I didn't need to wait in or find some delivery office to pick it up from. The second thing that struck me is just how raw this machine is. No case, screen, input device or operating system supplied. You need to find these items for yourself. The device is also designed to be plugged into a TV, which might momentarily give it an 80s retro feel. In a time when manufacturers spend so long on polishing products and interfaces and where devices such as mobiles and tablets are starting to bring computing more into a consumer appliance mode of thinking this is quite a shock. This could prove to be a double edged sword.