Windows is Dead (almost). Long Live Free & Open Source Software, i.e. Ubuntu

Finally.

My wife’s PC was the last bastion of proprietary software hell remaining in our home (and we have quite a few PCs). 2 days ago, Helen explained that she’d been having a nightmare with Windows. You’d start to login and immediately it would log you out again! Nice. And there was no easy way to prevent it. “Safe Mode” did the same thing. Very helpful – not. Googling threw up a lot of people with the same experience and some rather dodgy sounding workarounds to rectify the situation.

Helen has had a dual boot setup for a while, has been getting used to the nuances of Ubuntu and the Gnome desktop and is now fairly comfortable with it. So, rather than trying to fix an inherently broken OS we decided to make the switch. There was one caveat however; iTunes. Her work is a franchised music therapy business for elderly and disabled residential care homes. She uses a big iPod and iTunes to manage her many playlists etc., and all the music is in Apple’s lossless proprietary format. (I know, but I didn’t have an opportunity to suggest an alternative at the time…)

To make the move to Ubuntu as painless as possible I bought some more RAM and a 320GB HDD from Scan Computers to give her some more space and also just in case I ended up needing to do a fresh Windows install for a dual-boot setup. But my plan was to first of all attempt to use VirtualBox for the iTunes requirement. Unfortunately Wine didn’t seem like a viable option at this time.

After what seems like far too much effort, the iTunes Library is now hosted on our home server so it can be backed up easily. A VirtualBox (the closed source PUEL edition for USB passthrough) VM is running a fresh new install of XP and only iTunes, and it connects via a Samba share (Windows is configured to re-connect the network drive (Z:) on startup) to the music library.

The iTunes library was a complete PITA to move. There are lots of how tos and such like on the web but when it boils down to it, you need to check, very carefully, the structure in the iTunes Library.xml file so it matches the new location of the music itself. What didn’t help me was discovering, after several failed attempts, that iTunes at some stage in the past, had decided to create two complete “Compilation” and “Podcasts” directory structures, each with mostly different content, but some of it overlapping.

Essentially, the process is something like this:

  • Backup the whole library!
  • Create the new library location and copy in the data
  • Delete the *.itl files from the root of the iTunes library
  • Examine the iTunes Library.xml file and use a good editor/comparison tool to alter all the paths so they point to the correct locations in your new library structure
  • Fire up iTunes, edit the Music Library location to where the new one lives
  • Under the File menu (IIRC) you choose “import library” and point it at your modified iTunes Library.xml file
  • Cross your fingers, toes and anything else 😉

Judicious use of that great comparison tool Meld and my eyeballs meant that finally I managed to restructure the library so it was consistent and not duplicated. I think that had it not been like this, my experience would not have been so bad or so lengthy, but iTunes will leave always a very nasty taste in my mouth. Also, had Windows not completely barfed (again) I would have been able to use the already installed iTunes app and move the library using it’s own built in tools (as this is apparently possible according to the interweb).

Probably the next step will be to introduce Helen to Songbird (or similar) and see if we can migrate the library, playlists and music across to that. I’ll do some playing on my own before suggesting it though. Small steps to catchy monkey I think.

VirtualBox 3.02 seems to be really good though. The USB pass through and auto-filtering is just brilliant (so Ubuntu doesn’t alert when you plug in the iPod when the VM is running; it goes straight through to the Windows VM). It does seem to take quite a long time for the whole Windows/iTunes thing to settle down after I’ve plugged the iPod in but it might be just because it’s a big 120G iPod anyway… But it isn’t a major issue.

So, although Windows isn’t completely dead in our household, it is certainly on its very last legs. And good riddance to it to.

More on Number 10’s website fiasco

Being “that-kind-of-a-bloke”, I thought I’d dig a bit further into the Number 10 Steals Free WordPress Theme story 😉

Here’s the background:

  • No. 10 Are running WordPress1
  • The theme (or template) is based on one called NetWorker2
  • The attribution and copyright notice that is in the original footer has been removed
  • The site claims to be Crown Copyright and makes no reference to the CC-by-sa license used in the original template

I am a bit confused here. Why would a web design shop (or “Full Service New Media Agency” as they call themselves), who were apparently paid the best part of £100k for this job3, use somebody else’s template as the basis for their design?

  • You might think it would be because using a pre-made template would save you loads of tricky coding and playing around with CSS trying to get your site to look the same in IE6, IE7, Firefox, Safari and Opera [A task I am quite familiar with myself].
  • You might also think that using a pre-made template would allow you to make minor modifications, add some different images and give you something that looks really different.
  • Of course it might be simply that you don’t have time to create a new theme from scratch and using an “off-the-shelf” template will mean you can get the site up and running much faster.
  • Or another possibility could be that you like ripping off your customers for as much as possible and using a free (or even a bought) template will mean your costs are minimal.

All, some, or none of the above could be reasons to use an existing template as a basis for your new design.

So how much new coding would be needed making the changes to an existing template to suit your new design? 10%, 20%, maybe even 50% and it would still be worth while…

Get this: the revised stylesheet from Anthony Baggett’s template is more than 6 times the original’s length and size! And that isn’t all made up of whitespace either…

The original stylesheet4 is 612 lines in length and is 9234 bytes in size (9KB).

The modified stylesheet5 is 3826 lines long and weighs in at a frankly astonishing 63724 bytes (63KB)!

You can obviously download the two stylesheets from their websites directly (I recommend using a plugin for Firefox called Web Developer) or to make things easier, I have made them available at the bottom of this page.

Looking through the new file, the amount of duplication and repetition of styling of the same, or very similar elements, is quite odd. It certainly isn’t the way I would construct a theme. Why duplicate the same styling over, and over, and over again when you could craft the logic so that each of these elements have a commonality that could then be controlled with a much smaller stylesheet?

Here are a few screenshots showing some of the differences between the two files. In the brilliant Open Source comparison application Meld I’m using here, the original stylesheet is shown in the left pane and the modified one is on the right. The first image shows the very top of both files with Anthony’s header still in tact. The second and third are just a couple of fairly random points where the new file contains a great deal of repetition as I am walking down through the files. The final image shows the bottom of both files (note the line numbers!).
Top of StylesheetsStylesheet ComparisonStylesheet ComparisonStylesheet Comparison

One thing that is clear from using a tool like Meld is that these two files are definitely related. The way the application displays the differences, it is clear where the files are the same and where they differ. The larger file is certainly a derivative work of Anthony’s original.

Another aspect I found rather funny in this investigation was the method of version control for this huge stylesheet. Both stylesheets have the same version number and there doesn’t appear to have been any tool used to update the header as would be usual. How on earth does a business that develops a ~4000 line stylesheet manage to do that without using some sort of versioning system?

I have helped businesses use and modify pre-made templates for Joomla!, and to be honest if you are making changes of any significance to these templates, it is almost always easier and quicker and cheaper to start from scratch. For small mods and changes pre-bought templates can be really good value (I mean $50 is fairly average), but getting your head around someone else’s code is never easy and takes considerable time. For major alterations it just doesn’t make financial sense.

Now, making additions and changes just to the stylesheet of more than 6 times the original is not good business sense in my opinion. How much more work have they done to the PHP code that we can’t see? We know they have modified at least index.php (by removing the WordPress statistic generator meta tag) and footer.php (by removing Anthony’s copyright notice). But if they have made SO MANY changes and additions to the stylesheet, there surely must be a good deal of altered php code, or additions, in the core php files too? Surely, it would have been easier to make a new template from scratch in this instance?

This leads on to the other question that might be worth digging into a bit more; GPL violations:

“If” the developers have modified the WordPress engine, as is being suggested as a possibility here, and then sold it to the Government, in my humble understanding that means they have distributed their modifications. That means those modifications must also be licensed under the GPL. I had a quick look on New Media Maze’s web site and couldn’t find an area for software downloads or mention of the GPL. That doesn’t say anything to be honest and there might be nothing to this, but it would be interesting to find out a bit more… Is there a real WordPress guru who can look at the “footprint” of the XHTML the site generates and tell if it is different? Or are there any other ways to tell if it has been modified?

Anyway, what a wheez this all is for us bloggers: It just isn’t Gordon’s year is it…

1. www.number10.gov.uk/
2. NetWorker Theme
3. £100k for WordPress site
4. Anthony’s original stylesheet
5. No. 10’s heavily modified stylesheet