Follow the reluctant adventures in the life of a Welsh astrophysicist sent around the world for some reason, wherein I photograph potatoes and destroy galaxies in the name of science. And don't forget about my website, www.rhysy.net



Sunday, 31 October 2010

Beginner's guide to Linux

Well, not literally a guide. More a sort of warning really.

Recently I suggested that Linux isn't worth bothering with as an operating system. And I'm certainly correct in that assertion. As an astronomer, I've already been using it in work for years. But now I've also installed it on my home PC so that the science can keep going until I've run out of cake, giving me a little more ground to expound on my stated anti-Linux position.

Previously (at home) I had to contend with AndLinux, an impressive, nay heroic, attempt to have Linux run like any normal Windows program. But which hero ? Prometheus ? Achilles ? Steven Seagal ? Yes, that's the one. Alas, it's not the Steven Seagal from Under Siege but the Steven Seagal from Executive Decision, where he pretty quickly snuffs it due to a tragic accident involving a stealth fighter. But up until that point, he's as awesome as only Seagal can be.

Now AndLinux is a full Ubuntu* install, so you can do pretty much everything with it you can do with Linux normally. You can install other Linux programs on it and run them just fine, without the pesky need for dual-booting (an option I prefer to avoid since I don't know what I'm doing). And it's absolutely marvellous, but didn't quite install properly and so half the features didn't work. In terms of Antarctic explorers, this one is definitely Robert Falcon Scott. One suspects that if he'd had a stealth fighter he'd have been far less likely to have had a tragic demise, but we'll never know for sure.

*Unlike Windows, Linux comes in many varieties - Ubuntu, Red Hat, Fedora... all of which have meaningless names.

LINUX : latest in a very long line of doomed heroes
Still, it worked well enough for me, but won't run on 64 bit machines - such as my shiny new laptop - at all. Fortunately, it's now possible to install a full version of Linux with dual-booting without the scary need to mess around with partitions. Ubuntu's "wubi" installer creates a virtual hard drive of up
to 30 GB (more might be possible, not sure yet). And credit where credit is due - this really is as easy as installing any other Windows program.

On to Linux itself. First impressions - it's ugly as crocodile vomit. More disgusting than David Mellor, more horrific in appearance than all of the terrible Gorgons, more repugnant, even, than the default Windows 7 (it is, however, possible to make it look just like the nice version of 7 but I'm a simple man and easily confused, so I won't). Style issues aside, I find the default setup of having both top and bottom panels to be just downright weird. What's it for ? That's not rhetorical - I'd really like to know. Really. Please tell me !




Functionality then. Well, it certainly does function, most of the time. Sadly the much-vaunted massive stability of Linux over Windows is a tale worthy of Tolkien : we all wish it was true, but it isn't, and not as adaptable to a movie franchise either. It sometimes completely (and I do mean completely) crashes for the same reason babies cry : it's slightly tired, bored, or has done something unspeakable in places you'd rather not know about. Sure, Windows does the same from time to time, but unless your computer is floating in a lake, not anything remotely like as often as Linux does (and here I'm speaking both of home Linux, installed by me, and work Linux, installed by people who understand these things).

To be fair, if you want to do astronomy, Linux is the only game in town (professional astronomy software for Windows just doesn't exist). It's such a shame that game is cricket. For instance, installing things. On Windows this is simplicity itself. You download a file, you run it, you choose where the files go. Not so with Linux. Just like the rules of cricket, a whole plethora of possibilities are now open to you, which need to be described at length :

1) You use an inbuilt GUI-based program to find and install the program you want. Easy. But you don't get to decide where it will be installed. And no, it won't put a nice icon on the desktop so you can actually run the thing.

2) Same, but this time your program requires installation of other files as well, which the program can also do automatically.

3) As (2) but this time the program can't install the others automatically, so you have to find them yourself.

4) The programs are listed in the installer program but you're not allowed to install them because authenticity cannot be guaranteed. Come on ! This is my personal operating system, not the Antiques Roadshow !
Even though you have to enter a password to install programs in any case, you must now resort to...

5) Use sudo apt-get install [whatever]. This isn't a GUI, you have to physically type this command into a terminal. Provided you know the correct name of the program, this will work - even though there's still no more than a password check.
That's right people, we're back to typing in commands. What is this, a typewriter ? Looks like DOS has the last laugh after all.

6) Download and compile the source code yourself. Provided you've already got the necessary programs - and you probably will - this is generally quite simple. Except if...

7) Your program requires multiple libraries and other programs to install which must all be compiled from source code. Libraries have to be put in a specific location, otherwise it won't work or you'll have to manually edit path files. Most likely, you'll have to do a lot of digging to find out where the libraries are supposed to go.

8) As 7, but your program will partially function unless you do something very very specific, like running another program first, or have a particular compiler installed. Thus leaving you utterly bewildered until you blindly stumble upon whatever that something is.

Soo... it's a colossal WIN for Windows over Linux in terms of installing things. I mean, really huge. Overwhelmingly, staggeringly vast. Stunning. Which is the perfect cue for an exploitative picture, and that's exactly why there won't be one here.


Linux has multiple workspaces (desktops). AWESOME feature. Makes things 207x easier to organise. I have no complaints at all. Too many windows ? Just drag some to another workspace. True, Linux has this one licked, but it won't help you one iota if your desired program has a category 8 level of
installation problematicity.

How's about boot-up times then ? Ever since we evolved beyond the abacus, loading times have been a thorn in the very soul of mankind. For me, Linux boots in 55 seconds compared to Window's 7 more stately 3 minutes 35 seconds. That's measured from pressing the power button to entering a state of usability (i.e. being able to open a web browser). Linux shuts down faster too, in less than 10 seconds compared to Windows 25 seconds.

But is time really that important ? No. Almost every time I turn my computer on I do what all those who work with computers do with alarming frequency : I make tea, thus sparing me the unbearable nightmare of waiting for 3.5 minutes for the thing to boot up. If you really can't wait an extra 2-3 minutes to get online, see a doctor. In the words of no less of an authority than Marge Simpson : does anyone need that much pornography ?

Sure, it's faster to load and shutdown, but is it any faster to use ? For this I shall employ the awesome power of 3D-modelling software Blender. Rendering the scene below takes 62 seconds on Windows 7 but just 42 seconds on Linux. Now that's impressive. Instantly reducing render times by 25% is no mean feat, and could save many hours on longer animation renders.

1.1 million vertices using 580 MB RAM. For full-size images see here.

Except that it won't. Since Linux has the same stability levels as Chris Huhne's policies on nuclear power, there's no way I'm leaving the computer unattended for renders of any length if it's running Linux. I'd be better off microwaving the damn thing and get it over with.

For day to day computing -  web browsing, word processing, basic graphics applications, I contend that Linux is as viable an alternative to Windows as helicopters are to buses : Nice idea; ain't gonna happen.  It doesn't even come with a paint program installed by default. How ya gonna make lolcats without a paint program ?


One other point concerns security. As I mentioned previously, the world is unanimously against Window's Vista's security measures, whereas Windows 7 is without doubt superior. Is Linux more secure than Windows ? I'm not qualified to even try to answer this. But I do know that its security measures - requiring you to enter your password when installing anything - can scarcely be lauded as much fun to work with.

To summarise then, Linux is really the only choice for doing science. It's faster and gives better performance than Windows, and has multiple workspaces built-in. More importantly, most astronomy software is only written for Linux. And while it's nice to have a terminal to input commands, the fact that this is necessary rather spoils its retro charm. Moreover, Windows performs just fine for everyday use, and so utterly defeats Linux in the battle of software installation that one wonders how its designers sleep at night. This, together with Windows massively greater stability and prettiness, means that I'll continue to be enslaved to Microsoft's evil empire for some time yet.

No comments:

Post a Comment