Pete's Odyssey

    A website and blog by Peter Lewis

GNU/Linux

Richard Stallman comes to the UK

A couple of weeks ago I had the pleasure of doing something I'd wanted to do for quite a long time; see Richard Stallman speak. Stallman, for those not in the know (RMS for those who are) is the founder of the Free Software Foundation and the GNU project, and writer of the original General Public Licence (GPL). The lovely recursively acronymous GNU's Not Unix has arguably been the biggest contributing factor to the widespread availability of free software as it is today. Again, for those unfamiliar with GNU, it's probably safe to say that it's most of what you'd usually end up calling Linux. (I'll probably blog about the name thing later...)

Stallman, an American, doesn't get to these shores very often, so the chance to see him speak in Manchester was one not to be missed. I travelled up in the car with Dan and Zeth. Pete Ashton and Jez Higgins also went up from Brum.

I've actually been holding off posting anything about the talk, since I wanted to mull over my thoughts about it, rather than merely contribute to the flurry of "i haz seen rms omg" posts which litter the internet ;-)

I'm not quite sure when I first heard of Richard Stallman, but it was probably rather soon after I started using GNU/Linux in 1998 (PC Plus coverdisk of SuSE 5.2). Having had some rather lefty teenage years (not to say that I've grown out of it), the idea that software could be driven socially rather than by capital excited me quite a bit. As I read more, the philosophy of software being knowledge to be shared, rather than a shrink-wrapped product, seemed to be rather more obvious than I'd been led to believe by the aisles at PC World. Articles claiming that Stallman was as much a philosopher as a programmer encouraged me to look at my computer in a different way. My commitment, it seemed, had begun to develop.

So, I guess I had some rather pre-conceived ideas about what I expected Stallman to be like in real life. Sure, he's a kind of geek-monk as a person, but his speeches? This guy had inspired a movement, right?

He was actually every bit as inspiring as I had hoped; and every bit the geek-monk. The talk (the video of which is available via OneBigTorrent here) roamed all over the current state of play with free software, DRM and asserting the right to control your own computing. I won't recount the details - that's what the video is for - but the evening did give some perspective and crystalisation to a subject area which I believe I know pretty well. And it was nice to be among friends.

At the end of the almost two hour lecture, Stallman took plenty of time for questions. This was really good I think, though the guy really has to learn to let questioners finish what they're saying before jumping in with an answer. I guess this is due to his enthusiasm for the subject, even after 25 years of being evangelist-in-chief of the free software movement.

One thought provoking topic which did come up in a couple of questions was that of whether sofware is unique in its position of being able to be "freed" in this manner. Could the same principles be applied to harware, or to pharmaceuticals? The questioners almost seemed to be begging him to lead a charge from his barracks in software into the world in general, with copyleft principles becoming all-pervasive in advancing the tide of social over capital in all areas of life.

But Stallman was decidedly cautious about this, and mostly argued that software was unique in its suitability for liberation, due to the programmable nature of computers. The basic example discussed was that if you demand certain freedoms for your computer, why not for your microwave too? Stallman's argument, weak in my view, was that since computers are programmable and microwaves aren't, then the principles just don't apply to microwaves. On the one hand, I can't help but be reminded of Stan's fight for the right to have babies in Monty Python's Life of Brian, even though it was be a physical impossibility, but I really can't see that this is what's happening here. Stallman's argument to me boils down to "if you can, you should have the right to", which I think is both wrong and dangerous if applied generally. There are things which you can and both should and shouldn't have the right to do (think walk to the shop vs murder) and things which you can't physically do (yet) but likewise should and shouldn't have the right to (think swim to the bottom of the ocean vs build a nuclear bomb out of potatoes). This approach is clearly nonsensical.

The OpenMoko project is just one example of how the pricincples of free software are being transferred to hardware, and the free culture movement is borrowing heavily from free sofware too. I can't help thinking that Stallman is trying to stop himself from biting off more than he can chew with this self-imposed restriction to software-only freedom. After all, it's a big enough task in itself.

So, all in all, it was a very inspriring, thought-provoking and satisfying evening. I'd encourage anyone - free software convert or not - to take the opportunity to see Stallman if they get the chance.

Some KDE 4 screenshots

After a couple of weeks or so of having KDE 4.0.0 installed, which has already been upgraded to 4.0.1 thanks to the speedy Kubuntu packagers, I thought I'd post a few screenshots to show what it looks like. As I mentioned in this previous post, though the desktop is looking good, many of the applications are not quite there yet. However, I was still very pleasantly surprised to find a dark background colour scheme available in the default installation. The scheme is much better than my own incrementally built fairly dark scheme for KDE 3. These screenshots are then in KDE 4's new dark scheme, "Obsidian Coast". You can view the full size screenshots by clicking on them.

Firstly, let's take a look at a basic KDE 4 desktop. The new panel is sitting at the bottom (where until 4.0.2, later in February, hopefully, it seems it shall remain) and there's a clock widget sitting at the top left. Here I'm using the new file manager Dolphin to look at some photos.

Now, there's been a lot of controversy over the introduction of Dolphin into KDE, and its position as the default file manager. In KDE 4, the original Konqueror file managing code has gone, but the Dolphin KPart can be run inside Konqueror to allow the latter to still be used as a file manager. One very useful (in my opinion) feature of this is that you can still use tabs for file management, or indeed a mix of file browsers, web pages and SFTP connections in one Konqueror window. This has been one of the best features of Konqueror since it was introduced, allowing the logical grouping of windows according to task. This next screenshot shows the same view as before but in Konqueror, with the tab bar visible.

As I've already alluded to, one of the new things KDE 4 offers is its deskop, Plasma. This is a completely new thing, built out of the desktop widget idea which Superkaramba showcased in KDE 3. Apple OSX also has a similar thing. The desktop and the panel can be populated with various widgets, called plasmoids. The weird looking splash of paint in the top right is the button to add more plasmoids to the desktop. In this next shot, the splash of paint has been clicked, and it's asking me which widgets I'd like to add. There area quite a few available already, and they're incredibly quick and easy to write, in pretty much any language you like from HTML to C++. Here, I've dragged the "comic strip" plasmoid onto the desktop, and it's automatically pulled in the latest edition of whichever comic strip it's pre-configured to from the internet.

As I said, there are lots of plasmoids available, which can each be freely moved, resized, and rotated.

For those people (like me) who use the terminal regularly, Yakuake has been very nicely ported to KDE 4, and it's now got proper transparency. Take a look at this next screenshot.

The compositing features of the new version of the window manager, KWin extend all across the desktop environment, including dimming out-of-focus windows and the OSX style window switcher.

The launcher has also been completely redesigned, with menus behaving rather like they do on the iPod (I'm not sure what I think about this yet). There's also a search box, which I've found very handy in case you can't remember whether something was hidden away in "utilities", "system" or "settings".

KDE 4 comes with a good selection of silly addictive games too. Remember the Simon Says game?

We were looking at images in Dolphin and Konqueror eariler, but KDE 4 comes with a newly revamped Gwenview too. The browse mode, shown here, with its associated panel (on the right of the window) makes organising pictures a lot easier.

One of the most demonstrated programs in KDE 4 has to be KStars, a "desktop planetarium". This really is an excellent program, realistically simulating and labelling the night sky from any given location and time. Okay, so I haven't actually checked it against the real night sky. I live in Birmingham, and the light pollution has created this sorry state when I have to check my computer to see what I should be able to see from here... KStars also makes use of "Get New Hot Stuff", which apart from having a really cheesy name, integrates the finding and downloading of add-ons directly into the program. It works for desktop themes, backgrounds, maps and, here, planetarium data files, such as the locations of comets.

Well, that's all for now. KDE 4 is available for Ubuntu / Kubuntu, and will install alongside your existing KDE 3 or GNOME, without interfering with any of your current settings. Take a look here to find out how. There area also live CDs available from SUSE and Kubuntu.

OpenMoko: Free and open mobile phones

Neo1973

For the last couple of months, I've been very fortunate and grateful to have been lent a Neo 1973 smartphone by Andy Loughran. Thanks Andy.

The Neo is the first piece of hardware which has been released by FIC, as part of the OpenMoko project. OpenMoko aims to create a fully free (as in freedom) mobile phone. Both harware specs and the software source code are free and open. So, what's it like?

Well, for a start, the thing runs Linux, which is rather cool and makes sense given how successful Linux has been on other small devices such as the Sharp Zaurus. The Neo is very obviously running Linux too, with the scrolling text boot-up screen Linux users will be famlilar with, from time to time hidden by a progress bar decorated splash screen. I decided not to put any real pictures or screenshots on this post, since none of the ones I tried came out very well, and there are lots of good examples on the net already, such as this video on YouTube and these pictures on Flickr. Zeth Green has also written about the OpenMoko software, and his post here has some great screenshots.

This is a project which I wholeheartedly support. Mobile phones are probably the last major area of modern personal computing-based technology which does not yet have a decent free software option. Indeed, since the phones are very often bought from the network operating companies themselves, the companies almost without exception impose some form of locking down on your phone. The extreme example is probably the iPhone, of which a friend of mine is currently having to downgrade the software, in order to get it to do what he wants. Apple has left no doubt as to its view on people having any kind of control over their own equipment. Other examples of locking down include non-optional firmware upgrades, tying you into one particular network and most importantly making it very difficult to develop your own software for the thing, in order to make it work in the way in which you want it to.

OpenMoko is changing this idea. Okay, but let's be honest, we're still not there yet. Whilst the hardware is virtually finished, the software is still really a work in progress. Power management, for example, is still quite broken, meaning that the phone won't go into standby mode properly and loses its entire battery in just a couple of hours. The phone is also quite a pain to charge, since it seems to go through phases of turning itself on and off repeatedly when it doesn't have much juice in it. These problems, of course, will be fixed in good time.

But these initial factors, whilst making the Neo unusable as an everyday phone at present, cannot rain on the parade that is the achievement in bringing really good free smartphone software into the world. The OpenMoko software suite looks nice, being based on GTK+, the widgets used in GNOME, and works well for the most part. The phone's touchscreen makes it feel more like a PDA than a normal phone, but I guess that perceptions will change with more and more touchscreen phones being invented, such as the aforementioned iPhone. There are small usability problems to be sorted out, like the touchscreen keyboard requiring accuracy the likes of only Robin Hood possess with the stylus, in order to enter words. Nevertheless, it's easy to see how this will be a major player in the phone market once it is finalised.

The OpenMoko software will run not only on the Neo 1973, but also on many other phones, according to the OpenMoko project. It's easy to predict a scenario where OpenMoko can be installed on pretty much any phone, rather like how Rockbox can be installed on pretty much any music player. This has to be a good thing.

And in case this wasn't enough, there's also the Qtopia smartphone software, also open source, being developed by Trolltech, the Noweigian company who develop QT, the libraries upon which KDE is based. While OpenMoko will look familiar to GNOME users, KDE users will probably feel more at home with Qtopia, and it looks just as good. The Qtopia software, which has been primarily developed for their reference platform, the Greenphone, is perhaps a little closer to release quality at present, and can, as mentioned, be installed easily on the Neo.

All this flexibility, in my opinion, hails a fantastic, revolutionary time for our now ubiquitous mobile phones. Pretty soon, we will all have the choice not only of which phone to use, but also of which software to run on it, regardless of hardware or network. We'll be able to extend it, modify it, and share our work with the community. The success of the free software model has really been demonstrated through many hugely successful projects. When the ability to improve stuff is open to anyone, it seems, all sorts of possibilities come into play and things get better. Just take a look at this video showing someone running the KDE 4 desktop, Plasma on the Neo, merely a couple of weeks after its release, and this one of Enlightenment E17 running on it.

OpenMoko is a great start, the Neo is quite a cool looking phone, Qtopia is coming along really well, and with projects like KDE embracing PDAs and phones as part of its cross-platform approach (see my post on KDE 4), the future looks very bright for free and open phones. Arguably the KDE vs GNOME desktop competition has been a good driver of free unix-based desktop systems, and it seems we won't be able to escape that particular war even on our mobile phones.

Anyway, flame wars and trolling aside, I'm looking forward to the freedom to choose.

KDE 4 begins

This post is somewhat delayed (given that I wasn't around much last week) but KDE 4 has now been released. The internet is now full of reviews and blog posts about this highly significant milestone in the development of KDE and free software generally. The KDE news post can be found here, and there are articles here, here and here. If you have a spare hour, I also highly recommend watching the release event's keynote speech, delivered by Aaron Seigo, President of KDE e.V, the non-profit organisation which represents the KDE project legally and financially. The video, available here, contains lots of nice demos of the new functionality, and also introduces the new frameworks (or pillars) upon which KDE 4 is built. It also shows early demos of KDE running natively on Windows and OSX, as platform independence was always one of the goals of KDE 4. This is a little contravertial, but also quite exciting as it has the potential to bring in many more users (and testers and developers).

I myself have installed the KDE 4.0.0 packages, available with Kubuntu Gutsy (see here), though haven't had much time to look at it yet. Hence I'm going to refrain from any real judgement or review until a later date. I will say, however, that despite a few of my concerns around Dolphin and the general move to dumb down much of the user interface, it does look very nice indeed, and I like the sound of where the project is heading. It's good to see a piece (suite?) of software which I use so much having so much effort and momentum behind its development. Personally, I'm going to be very interested to see the new Akonadi (named apparently after the Greek god of Knowledge) personal information management framework come into play in forthcoming releases.

As all the release statements and blogs say, KDE 4.0.0 is merely the beginning of KDE 4. The frameworks are now laid out and finalised, the applications are coming together. It is in no way yet suitable as a replacement for KDE 3.5, simply because the applications are not there yet (such as Kontact), but with a little time, I am certain that this will become an excellent leading edge desktop system.

Got my KDE desktop back!

After my little foray into the land of GNOME over the last month or so, I've finally got my KDE desktop back and pretty much configured on my home PC. Mmmm... hopefully without sounding too weird about it, this feels much better....

A few people have expressed dissatisfaction with the default KDE look, and I've always indicated that I tend to tweak the layout quite heavily. So, here's a screenshot of my current set-up.

There's nothing out of the ordinary KDE stuff going on here. But, for those unfamiliar, there are a couple of Konquerors (one in web-browsing mode with three tabs open, the other looking at some picture files), Amarok (the KDE music player) is in its xmms-style mode, and Yakuake (the quake-style terminal program) is rolled down and just visible at the top of the screen. I tend to have my Kicker (the taskbar thing) occupying the left border of the screen, which works much better in this day of widescreen monitors. There are a few other minimised windows on the current desktop, but nothing on the second. I have a few shortcut buttons, the K menu (depicted for a bit of fun by the gorilla guy) and then some other stuff, such as Kontact indicating how many emails I've got, sitting just above the clock and deleted items widget.

Anyway, so there we go. Perhaps a little boring for a blog post, but now we know. :-)

A month with GNOME: The Verdict

I wrote a month ago a little about my experiences with GNOME and KDE, the two most popular desktops for Linux-based systems, and, being a long-time KDE user, decided to spend a month using GNOME. A month later, I will now relate my experience and opinions.

So... has a month using Ubuntu's default choice of desktop environment convinced me of the wisdom of switching more permanently? Have I been shown the error of my kways? In summary: No. For me personally, the difference between the two desktops is still stark, and GNOME has very little to offer anyone used to the functionality and configurability of KDE. Plus, in other places, I found that it just didn't work.

Firstly though, some positives. GNOME's default look has certainly been well polished. Its use of shadows, and choice of fonts are well made. The integration of compiz enables a fun and useful three-dimensional desktop, with very few glitches given how new the software is. Plus, it's easy to use (if a little confusing to configure). "GNOME looks better" is often the first comment people make when they realise that I'm a KDE user. They've perhaps installed KDE and played with it for a bit, but never long enough to want to customise its looks very much. And let's be honest, the default look of KDE (even the pre-release KDE 4) really sucks.

However, we are urged not to judge a book by its cover, and this is no exception. Firstly, because KDE's look and feel is so highly configurable when compared to GNOME (my KDE desktop is altered almost beyond recognition from the default), but also because looks aren't everything.

As ever, it's functionality that really counts. Now, GNOME's feature-set is fairly standard, and what it does do, it does relatively well (for the most part). It has a web-browser (either Epihany, or else Firefox fits in well), which does what it says on the tin, it has an email and calendar program (Evolution), a movie player (Totem), music player (Rhythmbox) and a file browser (Nautilus), all of which do what you would expect, but there are very few added extras. This was my initial opinion upon first using the system, and it came to be backed up over time.

For example, take Totem, the movie player. Upon firing it up, you have three buttons, play/pause fast-forward and rewind, plus the usual menus to load files and discs, and the beginnings of some playlist support (though the way this worked really wasn't obvious to me, and there's no "add to queue" option in any other application). So far so okay, but there's strangely no stop button, and the position of the seek bar doesn't seem to particularly relate to the current position in the movie, especially when used with the mouse-wheel, which sends the film backwards then forwards somewhat in an oscillating motion. Okay, so there's a couple of bugs, but that's okay, I'm sure they'll be ironed out.

I've alluded to the main annoyance I found with Epiphany and Nautius already, a real lack of context-sensitive options for files and links. Why the default option for mp3 files is "open in movie player" I don't know, but for files to be opened in either Totem or Rhythymbox there is no "add to playlist" option. While I can live without this for films, it's fairly useful for building music playlists.

Another program of which I've become a heavy user of over the last couple of years is yakuake, a terminal emulator which sits just off screen, ready to slide onto the screen at the touch of a button (rather like the one first used in Quake and still in many games). Doing without this has been the most clumsyfying part of the last month; I just don't like having to alt-tab through dozens of windows to find a terminal. And yes, I tried tilda, but it didn't really cut it.

Okay, so I'm going to stop picking at small annoyances now (which to be honest can be overcome), and deal with some more fundamental issues for me. These issues can be largely summed up as a lack of integration and configurability. Integration, something which KDE does so very well, is just not there in GNOME. Okay, so all the programs use the same "open file" dialogue, but there is a general lack of awareness between programs, exemplified by the lack of "add to queue" option already discussed. I dislike using Firefox under KDE since it is not part of the integrated desktop, and hence its context-sensitive options must all be separately configured by hand. Konqueror behaves much better, knowing how to deal with items from local directories, ftp servers or websites. Epiphany falls down here however, providing usually only a simple "open link" option, which behaves like a poor cousin of Firefox's.

The lack of configurability of menu options doesn't make it any easier. Take Evolution, GNOME's flagship email and calendar program. As with most GNOME apps, it does what it says on the tin, but no more. In KDE, one consistent feature is that you can right click on a menu bar and configure which buttons it has. I find this most useful in KMail, where I replace the single "reply" button with three: "reply to author", "reply to all" and "reply to mailing list". All three have very different but highly useful functionality. I could not find a single way to achieve this in Evolution. The most it allows me to configure the menu is to decide whether I want text next to the icon or not. Evolution's threading support also lacks features to the extent that it makes a large folder of threaded messages difficult to handle, but I won't get back into small grievances...

This post was not intended as a blow-by-blow review of GNOME or KDE, and as such I will not cover every feature and gripe I have with each. There are enough websites around which do that already. Instead, I hoped to simply point out a few of the possibilities which are available, but which GNOME's lack of extended functionality prevents users from perhaps even realising exist. GNOME works, don't get me wrong. But Windows XP also works, as do Windows 98 and AmigaOS. When moving from Windows to Linux for the first time, it suddenly seemed that my computer would behave how I wanted it to, rather than me having to conform to the paradigm provided by its user interface. The feeling has been comparable but contrary this last month. KDE certainly gives the user more control over their interactions with their computer than GNOME does, and has more functionality. I believe that GNOME's restrictive "user friendly" design approach is bad for the cause of free software, which should encourage people to think about and use their computer in new and imaginative ways (such as IMAP resources for contacts, session management and consistency between handling of files wherever they are based), rather chaining them to what the designers think they want. Open, extensible and configurable functionality is the only way for this to be an option for the vast majority who are not prepared or able to dive into the code themselves.

A month with GNOME

As any regular reader of this blog will know, I'm an every day KDE user. After a history of using SuSE and Gentoo, my Linux distribution of choice for the past year or so has been Kubuntu, the KDE flavour of Ubuntu. Well, after a few discussions at this month's Birmingham Linux User Group meeting, which coincided with the new release of the Ubuntu family, the Gutsy Gibbon, and having spent quite a bit of the evening strongly advocating KDE, I've now decided to give GNOME a try.

For those not up on the particulars of modern Linux-based desktops, GNOME and KDE represent two quite different approaches to a fully fledged desktop system. The UNIX world has always been modular, and though the graphical windowing system itself is provided by X Windows, much of the look and feel is provided by the particular window manager or desktop environment you choose. The two most fully featured and mature desktop environments are KDE and GNOME.

A bit of history is probably in order here. Many people moving over to GNU/Linux based systems spend a while wondering why there are several different options, and why the community doesn't just pool its effort into one really good system. There are many reasons why that doesn't always happen in open source development, but the KDE/GNOME case is particularly interesting.

KDE was begun by Matthias Ettrich in 1996, in an attempt to create a consistent and easy to use desktop environment for UNIX systems. It was immediately a very popular project and gained developers fast, the software progressing quickly. However, many in the free software world (including myself) had concerns about KDE, since it was based on the proprietary QT widget libraries, owned and developed by the Norwegian company Trolltech. Of course, the GPL does not allow free software to be linked with proprietary software, and hence the GNU project could not support KDE. Debian subsequently dropped the system from its distribution.

A number of responses came about from this move. Listed in no particular order, the first was an attempt to create an alternative, free version of QT, called Harmony. Secondly, many keen KDE people created the KDE Free QT movement, an attempt to persuade Trolltech to relicense QT under a free licence, and subsequently to guarantee its availability should Trolltech disappear or abandon QT. Thirdly, the GNOME project was founded; an attempt to create an alternative desktop environment from scratch, free from any involvement with proprietary code or reliance on commercial developers.

Those who know where I stand on free software would expect that I would have been a supporter of GNOME from the start, and back then they'd have been right. I was doing my undergraduate degree at the time, and the university computers included both GNOME and KDE. So, I used this early version of GNOME for a while on both them any my own PC.

GNOME has always felt different to use than KDE; a bit like the difference between AmigaOS and Windows 3.0, both of which I'd been used to switching between previously, so after a year or so of using KDE, GNOME took a bit of getting used to. My initial reactions were quite positive; it looked good and was quite fast, though much of its functionality appeared to exist in framework documents rather than the software I could see on my screen. Still, it allowed me to achieve a consistent look to the desktop (something previously lacking on Linux really) and the look was highly configurable. It looked better than KDE.

However, over the next couple of years, to me, GNOME stagnated. KDE, on the other hand, came on leaps and bounds. KDE's file manager (kfm back then) and subsequently its lightweight web browser (konqueror) appeared technically superior to Netscape Navigator, which the GNOME systems hadn't been able to supplant. But by far the best feature of KDE back then was the interoperability of the applications. Items could be dragged and dropped between virtually any application, and they would know what to do with them. Even the early implementations of what is now known as 'kparts' technology allowed programs to be run inside others when Microsoft Office was still struggling to achieve this properly.

Then in 2000, the freedom issue seemed to disappear. Trolltech released QT under the GPL, resolving the issues about distributing modified code, which their own QPL created. By this point, an agreement was also firmly in place with KDE to ensure that if Trolltech folded or abandoned QT, then the code would be released under a BSD style licence.

By this time, both GNOME and KDE were progressing very quickly, though KDE remained consistently a year or two ahead of GNOME in terms of features and stability. Since the new millennium, both systems have been very usable, though each retaining a distinct look and feel. At this point I was already very comfortable with KDE and its ever expanding suite of programs. I found GNOME a bit like KDE before I'd upgraded it. Added to that, GNOME lacked (perhaps still does) a uniform way of doing various tasks (such as right clicking on a menu bar to configure it). Its file dialogs were chunky, and it just didn't have as many features as KDE. I stuck with KDE.

The choice of desktop system by the main Linux distributions at this time was fairly evenly split. Many had no obvious bias, whilst Redhat used GNOME, SuSE favoured KDE, and both contributed heavily towards the development of their respective desktops. Debian now included KDE again, and a host of other systems lay on each side.

Then, in 2003 Novell bought SuSE, and subsequently also brought in GNOME founder Miguel de Icaza and his company Ximian, who were responsible for a large chunk of GNOME development. It was no great surprise, therefore, when Novell's SUSE (note the large 'U') announced that GNOME would be the preferred desktop for their Linux distributions, with which they hoped to compete with Redhat in the enterprise market. Luckily, SUSE still do contribute towards KDE, though the announcement did send ripples across the KDE world. Controversially, Miguel has now led the charge on Microsoft compatibility through the Mono project, and despite the guy having done great work on pushing open file formats in recent years, I've heard frequent criticisms of his style of "starting" projects, only to leave others to pick up the pieces and make the thing work.

Arguably the most popular desktop Linux-based system today is Ubuntu, itself a remodelling of that stalwart of the Linux world, Debian (rather excellently named after its founders, Deb and Ian). Ubuntu however, was also firmly behind GNOME, and despite the fact that KDE and XFCE based flavours of the distribution were later released, the lion's share of development and use remains focussed on GNOME. With all this extra focus, surely GNOME has now caught up.

Given the number of distributions now preferring GNOME, its no surprise that its user share has also increased. A hunch tells me that more people at my Linux User Group use GNOME than KDE, and this month we were treated to a demo of GNOME-based Ubuntu's latest features. It looked good. Ubuntu, being primarily developed for GNOME, tends to be slightly quicker off the mark with new functionality for the GNOME flavour than the KDE one, but how much? So, as someone who has now used KDE since version 1.0, and only dabbled with GNOME occasionally, perhaps it is time for me to take a closer look.

So, my "project", if you will, is to spend a month using GNOME rather than KDE on my home PC. I've installed Ubuntu Gutsy Gibbon from a fresh install, and there isn't a KDE application in sight. I'm going to attempt to get to know the GNOME way of doing things. I aim to compare GNOME and its applications' approach with the good KDE functionality I know I like. I also hope to discover some new stuff too.

In a month's time, I will write about my experiences, and whether it's tempted me to make a more permanent switch.

After all, KDE and GNOME (contrary to many mailing list debates) are not enemies, just rival siblings, willing each other to do well. And it's good to get to know your friends better, right?

On synchronisation

For a while now I've been faced with a problem which really should have had quite a simple solution in today's internet-enabled computing world: file synchronisation.

Like many people, I'm sure, I do a large amount of work on the desktop PC in my office. I also do increasingly more on my laptop. (In actual fact, I tend to do more on my laptop, but that's another story). I then have the problem of where my files are kept. Years ago, the answer would have been fairly straightforward: a floppy disk. As time moved on, perhaps a zip disk or USB pen-drive would have been used, but to be honest, I now have such a lot of data that I'd need an external hard drive to keep it all on, and that isn't always practical to carry around. Added to this, it wouldn't feel a very secure system to me, even if I did back it up regularly, and sometimes I'd like to be able to read the same file on more than one PC. Perhaps in this networked world I've grown to expect too much from my computer(s), perhaps not.

Email is something which has got the whole problem pretty well sorted. Probably the majority of people in the world now use webmail systems of one sort or another. Those, like me, who prefer to have a copy of the emails on their own systems often make use of the IMAP protocol to allow our mail clients to automatically synchronise between multiple locations. And IMAP has worked remarkably well for me for over ten years. KDE quite niftily also allows me to store my contacts and calendar in IMAP folders, so that they are too accessible from anywhere with internet access or a local copy. Great stuff.

So, why is it so difficult with files? I remember vaguely there being something called "My Briefcase" on an old version of Windows I used to use, but I never really needed to back then or spent any time getting to grips with it, but I've found nothing similar on any linux system, and I'm told the functionality has now disappeared from Windows too. (Perhaps it's been replaced with something else... I don't know.)

A few months back, looking around for a solution to my file synchronisation problem, I discovered rsync, a fairly old tool, developed for creating mirrors of things such as FTP servers. I played around for a while with rsync, and found it quite useful, but the main problem was that it was only really intended for uni-directional syncing. This is fine for backing up one computer to another, but when I often work on both, I need something which can deal with the fact that changes could have occurred on either machine.

I asked around on a few mailing lists, and it was suggested that I try Coda. Rather than being just a tool, Coda is a filesystem, a bit like NFS, but offering "disconnected operation for mobile computing" according to their website. Great, I thought, sounds just like IMAP, and what's more, it's been around since 1987. Unfortunately, Coda proved to me to be an enormous headache, and after quite a lot of wasted time, I still didn't have a functioning implementation of it (its configuration is most definitely not for the faint-hearted). It appears to me that the idea of Coda has been around since 1987, but in practice it is, again according to its website, merely "promising".

So, I was back to rsync. A few months ago, I settled on the use of a few hand-written and easily breakable shell scripts which called rsync to mirror my files in either direction at a time. The scripts relied on some flags, set by the scripts, to determine which machine had the 'current' copy of the files. In essence, I was able to check files in and out of the desktop machine (which was behaving like a server) to my laptop. It just relied on me knowing which one I was supposed to be working on! A lapse of memory on my part would unfortunately lead to the updates on the non-current machine being wiped at the next sync.

This week, thanks to my friend Edd, I have discovered something which I'm hoping will be the end to my woes: Unison. Unison appears to be a kind of hybrid of rsync and CVS, and claims to allow updates to take place on either machine (providing that they're not on the same file), and then merged together. It's free software, in the Ubuntu repositories and even has a nice little GTK+ GUI as well as a command line interface. So, I'm suspending use of my rsync scripts for a bit, have backed up my files, and will give Unison a whirl. So far, it seems very easy to use. Though frankly, why this kind of functionality isn't completely standard by now, I don't know.