Gnome3, Gnome2, Unity, KDE, MGSE, MATE, aaaarggh!

Just over 6 months ago Canonical released version 11.04 of Ubuntu. IMHO every Ubuntu release up until that point had been a major step forward with each release clearly showing improvement over the last, but that all changed with 11.04! 😦 The previous release, 10.10, for me was beautiful, slick and they appeared to have almost nailed the whole “it just works” thing better than any other linux distro I have ever used. Then 11.04 messed it all up. Ubuntu decided to ship 11.04 with their new desktop environment called ‘Unity’ which just isnt an option for me. People tell me it works quite well on a small netbook, but I dont have a small netbook! At work I have over 7 million pixels of display staring at me from across 3 screens. Unity is just not even relevant for this setup. Then there is the fact that Unity has virtually zero options for customisation. Being able to litter my desktop with little applets and panels was one of the things I loved about gnome.

Everything was OK though because Ubuntu 11.04 still shipped with Gnome2 as an alternative for Unity. Phew! Happy days! Yeah. Then came Ubuntu 11.10 which is a frying pan into the fire job. Gnome2 has been totally ditched, Unity is still taking pride of place as the default desktop but you can also install Gnome3. I haven’t done much playing with Gnome3 but it appears to suffer from the same problems as Unity; i.e. Lack of customisation and an application centric design. So no look there then 😦

So what is a man to do? Ubuntu seems to have done their utmost to alienate me so what options to i have?

Linux Mint Is a fantastic OS that I’ve been using for about 6 months now and they seem to have a better attitude towards users than Canonical do, insofar as they actually care what their users want! 😮 Mint is based off Ubuntu and their releases usually follow a month or so behind the official Ubuntu releases. So it is we now have Mint 12. I’m pretty impressed with what the Mint guys have come up with. They recognise that they cant stick with Gnome2 as it is effectively deprecated software so to keep the distro alive they have had to move on 😦 These are the options in Mint 12:

  • Gnome3 – Let’s just not go there
  • Mint Gnome Shell Extensions (MGSE) – An interesting idea which basically makes Gnome3 work like Gnome2 (i.e. task centric) but it still suffers from lack of features and customisations – I still cant add Wanda the Fish to my panel! 😦
  • MATE – This is a fork of Gnome2 that can be installed along Gnome3 (apparently you cant do this with standard Gnome2). I’ve tried it out and it is great – it’s the Gnome2 that I know and love, but but but! It’s just not ready yet. Mint themselves admint this – “MATE is at a really early stage of its development and isn’t stable yet. It was included in this release to gather more feedback and help it get the maturity it deserves.”

None of these options really fulfil my requirements for something that is maintained, slick, customisable and allows me to look at two windows at once! I’m convinced that Mint are doing the right thing here and it’ll be interesting to see what happens in 6 months with the next set of releases. So I’ve been thinking what I’m going to do longer term and havent really had a decent answer until this morning!!

When I started using linux I tried out all the desktop environments I could; Gnome, KDE, Fluxbox, XFCE etc. Eventually i decided I liked KDE’s customisability, uniformity and tight integration above all the others and remained a KDE user for many years. It wasnt until Ubuntu started messing around with Gnome that I saw a reason to switch. The integration present in the 10.04 release of ubuntu was exceptional and it just looked stunning, it made KDE4 look a bit pap really.

So thinking back through all this it suddenly dawned on me that Gnome2 might be dead, and there is no serious Gnome based alternative to it yet, but Gnome is not the only desktop environment out there. So I’m going to give KDE another try. I never really liked KDE4 that much, it felt like a lot of good ideas that never quite worked in practice but I havent used it since version 4.3 and it’s now up to 4.7 so hopefully it’s a bit better these days.

So I’m off to install KDE, see you later! 😉

Github Logo - Octocat

Git for ugly and stupid people; a git tutorial for subversion users

Github Logo - Octocat

Why Git for Ugly and Stupid people then? What’s this got to do with Subversion?

According to Linus Torvalds (author of git and some OS called ‘Linux’ or something) you are ugly and stupid if you don’t use git. Really, he said that!

OK so I’m ugly and stupid, now what?

Where I work we are doing what many software teams are doing and slowly making the transition from subversion to git. The switch is motivated by the desire to move to an SCM that is distributed, powerful and has a good SaaS provider we can utilise (GitHub in our case). Git was the obvious choice and we started trialling it just over a year ago. Since then we’ve forced all developers working on ‘new’ stuff to use GitHub instead of our co-located subversion servers.

The initial switch was far from smooth and to be honest none of use really knew what we were doing! After a bit of trial and error we eventually learnt enough to be able to cobble together a decent workflow that we’ve been evolving ever since. We’re now getting to the sort of critical mass of developers using git that it is no longer practical to mentor everybody to get them up to speed myself. So I took the plunge and started writing some docs to go in our new starter guide that explains what the hell git it, how it works and specifically how we use it day to day to get stuff done. Because the guide is aimed at developers moving from subversion it uses subversion as a reference point and tries to illustrate how git differs.

I’ll be honest, the guide is quite long but it very much demonstrates the key ‘eureka’ moments that I had while learning git. Those times where something suddenly clicks in your head and whole swathes of head scratching moments are suddenly swept aside in a wave of clarity! The guide is basically what I would have wanted to read in order to understand what I was actually doing when I was fiddling around with git commands a year ago.

Because it is so long I’ve split it into smaller, more digestible parts and I’m putting it up here for the wider world to see. Yes, I know, there are hundreds of git guides out there but one more can’t hurt surely! 😉 Here goes…

Next section – Distribution and Commits