Computers, Entertainment, Technology

Mythbuntu is even simpler

One of the newest developments in MythTV land is the development of “multirec”. Multirec is the name of the SVN branch of Myth where code to handle the recording of multiple DVB streams from a single tuner (providing the streams are on the same multiplex). This means any DVB users (in the UK this essentially means Freeview users) have the possibility of recording many more channels at once. In fact if you had six tuners (three Nova-T 500s for instance) you’d be able to record the whole of Freeview (if you had enough hard drive throughput at least).

Unfortunately using this wonderful feature requires you to run the latest SVN version of MythTV. Since I didn’t fancy compiling Myth from souce I looked for a simpelr way – the answer is Mythbuntu. Mythbuntu is basically Ubuntu (7.10 – Gutsy) with MythTV installed. It’s basically the same idea as the other MythTV distributions. The big difference is that they also provide weekly packages built from trunk – i.e. if you’re willing to accept the small chance of instability you can have bleeding edge MythTV installed without having to leave your package manager (well within a week of bleeding edge at least).

PS – You can also add MythTV to an existing Ubuntu 7.10 installation by clicking the relevant link on the Mythbuntu page. This also comes with a nifty called Mythbuntu Control Center which lets you choose whether to install a frontend, backend or both as well as choose which desktop to use (Gnome, KDE or XFCE) and enable/disable various useful services (VNC, MySQL etc.) all in one place.

Advertisements
Computers, Google, Languages, Programming, Technology

Google Docs rule – if you use them right

I’ve been vaguely using Google Docs (specifically Spreadsheets) since it came out but never to do anything actually important. Most of the time I just had a list I need sorting, or if I was feeling sophisticated I’d use it to decide on what was best value for money (how much £/GB a range of hard drives were for instance).

Recently I started using it to plan lessons for the language learning app. The ability to use it from work (or any other computer I might be on – including viewing it on my Nokia 770) was useful, but in the end I was only really writing a list with it. Until now.

I now have a nifty little C# app that generates modules directly from a Google Spreadsheet which is definitely a Good Thing. I’ve been thinking of writing an app for module editing for a while since writing them by hand is tiresome and error prone. Google Spreadsheets does half the work for me by providing the user interface for generating a table and then provides access as simple XML.

Which brings me to the matter of actually accessing the data. Google provide a client library in C# for accessing quite a lot of their API. I tried using it but found it a little confusing. Luckily since I was just wanting to query data, I discovered that raw access was actually easier. You simply make a GET request to
http://spreadsheets.google.com/feeds/worksheets/key/public/values (where key is provided to you when you “publish” a spreadsheet – access to unpublished spreadsheets requires authorization which is more complicated). This gives you an Atom feed of URLs to the individual worksheets which them contain Atom feeds of either rows or columns (your choice).

The query power of LINQ (along with XElement, XAttribute etc.) make transforming the feeds into modules really easy. In fact the code that does the hard work (takes a spreadsheet key and generates the XML) is only 102 lines long, and that’s including unnecessary spacing to make the LINQ more readable (the main LINQ query is 35 lines).