dagblog.
← Archive

Six months with Linux


  • Distribution: Ubuntu 8.04
  • Hardware: HP 8510w notebook
  • Typical work: development

I'm traveling by bus again for the first time in a while, so I have time to write up how I've got on with Linux, which I switched to after years of happily using Windows. I'll say at the outset that I'm a fairly undemanding user, and that shapes what I expect from an operating system and its tools.

When, as a dyed-in-the-wool Windows user, I switched to Linux, two things about the operating system worried me most.

  • Configuration. Please let me avoid setting everything in files I know nothing about.
  • Hardware compatibility. It really would be nice if it worked.

Configuration

This was my first big surprise. I'm racking my brain to remember when I configured anything major in a config file. Maybe when I changed the MAC address and mounted network drives. Otherwise, nothing at all. There are graphical tools for everything, so you can change whatever you like in a user-friendly way.

Hardware compatibility

Honestly, I expected much worse. A few things work less than perfectly, but I can live with them. Put the notebook into its docking station, for instance, and it hard-resets (hardware fault ruled out for political reasons ;-). Hibernation is a little unreliable. There's no way to turn off the touchpad. Then again, that may just be because I'm an undemanding user (in other words, I'm lazy), so I didn't look very hard for other solutions.

Pleasant surprises

I don't know whether this is specific to Ubuntu, but here are the three things that surprised me most.

  • Films and music. Work isn't everything, so I was pleased at how easy it was to get video playback working. I added another package source (Medibuntu), chose codecs and a player, and that was it.
  • iPod. I plug it into USB, it gets detected automatically and the music player opens. I put in my earbuds, press play and it works.
  • System upgrade. I was worried that my installed version, 7.10, would soon get old and I'd have to reinstall and reconfigure everything as on Windows. I couldn't have been more wrong. Besides regular updates, which I'll get to, I upgraded from 7.10 to 8.04. This brought such delights as a new kernel and an upgraded graphical environment. How did it go? I selected the upgrade in Update Manager, some magic happened in the background, and two hours later it was done. All my applications, settings and so on were right where they belonged. I didn't have to do a thing. As a Windows user, I couldn't imagine such convenience.

The biggest differences from Windows

The package manager is wonderful. It gives me control over almost all the applications I use and takes care of their updates. On Linux I've hardly had to go through the usual routine. Want some software, go to the web, find it, download it, run a virus scan, say a prayer, install it, run it, and a while later look for a newer version and start again. The package manager takes care of every step except choosing the software, of course.

The file system is a major technical difference. When someone on identical hardware takes twice as long as you to do a full build of a project, it's worth noticing. I'd say this is one of the main reasons for developers to consider Linux in the first place.

Powerful command-line tools. Someone may have ported them to Windows, but here they're ready to use. Once you learn even the basics, they're extremely useful. I often need to find a Java source file in a project with around 150 components. With locate, finding it takes a second and opening it in a text editor takes two more.

There are plenty of other differences, though some are quite subjective. For instance, even after six months I don't feel that the whole system has slowed down as I've installed more applications.

Room for improvement

Compared with Windows, the GNOME desktop feels less cohesive. Its components don't all work or behave the same way. From the user's point of view it lacks the consistency of Windows (now I see why every dialog takes almost a month to approve). For a concrete example, there's no Apply button in the network settings. When you change the parameters, a process automatically restarts the network daemon. Sometimes the magic detection fails to notice a changed value, so you have to restart networking manually from the console. It would be so easy to add an Apply button.

Applications

I originally thought I'd feel like I'd lost an arm without Total Commander and PSPad. It turned out to be fine. With the latest Wine, I can use both reasonably well anyway. After trying the available file managers I settled on Krusader. It has a few quirks because it was written for KDE, but it's still a cut above the rest.

Apart from that, I haven't found a Windows application without some alternative on Linux. Azureus comes to mind as a torrent client, and I use Dia for UML sketches.

A final word

As you may have gathered, I've grown quite fond of Linux in these six months and I'll happily defend it. I have no reason to go back to Windows and no intention of doing so. Windows is a good system that I can work with perfectly well, but right now Linux is much more effective for me as a developer.

I recently saw a question here in the Dagblog discussion about Linux and fonts. I can say with full confidence that the finer points of fonts are beyond what I can distinguish. I've also never needed to sync my phone with my calendar, for example. It may be essential for someone else, but I can't speak to it. If you're looking for something to criticize, you'll always find it.

In any case, if you're a developer and have never tried Linux, I think now is the time to give it a go. You might be as pleasantly surprised as I was.

Medium version

Related articles

Related CZ Podcast episodes