This week my work started the process of buying me a PowerMac – a 12 core, 24Gb RAM monster that will replace my 8 core, 16Gb RAM windows machine. I also received a new macbook, and my colleagues are also going to or planning to buy macs in their next round of upgrades. This means that unless something catastrophic happens with funding in the next week, I will have completely abandoned Windows in my work life. I have long since abandoned it at home, but workplaces have tended to be more conservative about the change, but it’s finally going to happen.

I have noticed over the past few years that a lot of people working at the crunchy end of science are using macs, not Windows machines. This has included people working in computer graphics research, nuclear physics, veterinary epidemiology, medicine and epidemiology. It appears that if you need to do numerical computation, Mac OS X is increasingly the platform that you do it on. I guess this is because Mac OS has been much easier to develop for since it switched to a unix-based system, and so now many of the key tools of numerical computation are available on it: Matlab, Stata, LateX and R are all implemented very well on Apple machines. Indeed, in my experience these packages tend to be easier and more pleasant to use on Apple – LateX editors are much more pleasant and more readily available, R’s script-writing tools are much better, and there is not really any difference that I can see between matlab and R on the two platforms.

I think this means the end of the dominance Windows had in this area since it forced Unix out. This would make the scientific computing market a rare (I guess) example of a company with essentially complete market dominance losing its monopoly place purely on quality-related issues. I’m not a fascist about any one computer system (except Linux – I try to avoid Linux) but I do find Mac OS much nicer to work with, and not just because the machines are pretty. Something about the way it works is just less sticky than Windows, and it seems to trouble me less with extraneous stuff. I think it’s probably something to do with the attitude to design, and also with the greater degree of sympathy between hardware and software (which comes, I guess, from Steve Jobs’s obsession with keeping everything in the one company). I think it might also have something to do with the extra money one pays for the machines.

As far as money goes, the common complaint that you can get the same performance at half the price with a Windows machine is, in my experience, sadly misguided. The very worst thing you can do with Windows is buy a cheap machine that has good stats on paper – or worse still, build your own. You’ll be paying in time and Insanity Points for the rest of the 2 years you use it before you throw it away.  I don’t know what it is about computers, but their performance is like a symphony orchestra, and if you scrimp on any part of the process the whole thing leaves you feeling bad. You’re better off getting an Apple that is, on paper, inferior for the same price, than assuming that the extra 0.2GHz in that PC chip are going to work as they should for half the price.

Of course, this is all classic flamewar material, but my observation is that the scientific computing world is moving away from Windows and taking Apple seriously as a computational tool. This is particularly striking given that just 10 or so years ago Mac was seen as exclusively the tool of inner-city designers with black clothes and slanty hair, or girly magazine writers who value a cute case over a decent OS. Well, perhaps those girly magazine writers were right all along …

As an aside, and to give all those reading this a common enemy, I recently downloaded the cute 2D dungeon crawler Dungeons of Dredmor. I can’t say it’s holding my attention, but it is cute. On their blog, the developers talk about the work they’re doing to port the game to iPad (an excellent idea!), and they have a few things to say about the commercial and technical problems involved in porting it to Android. In the process they also reveal some interesting issues about Linux. In answer to the question “Will the game be available for Android?” they say:

This… is an interesting question. While SDL 1.3 supports Android, at least partly, there are two reasons why we might not go ahead and do this. The first is insufficient demand – my personal experience with Android on previous products have been that Android sales are a very small fraction of iPad sales (in fact, less than the ratio of Linux sales to Windows sales.) Consequently, it’s not entirely clear that this is something that we will actually make money on – especially on the tablet market, where Android tablets are still somewhat of an unknown factor and where the iPad still occupies 75% of the market share.

The second reason why we might not support Android is because the infrastructure for Android is so, so, hideously broken. Again, it’s *worse* than the Linux situation, which is kind of amazing. In order for us to ship on Android, we have to be convinced (more specifically, as the Technical Director for the studio *I* have to be convinced) that we can actually ship an Android version of Dredmor and have it work. Given that there are a number of horror stories floating around about people who test their software on 300 Android devices and get everything working, only to release and have everything explode on Day 1… I’m just not confident that we can do this. It is possible that we might put together an Android release for a *very* limited selection of devices (Kindle Fire, Samsung Galaxy Tab, ASUS EEE Pad Transformer) where we have some hope of having things run in a fashion that we’re happy with. That said, we’re still looking into this, and the iPad port (by virtue of the market share we mentioned above) is still the top priority.

There are phrases in there that are genuine music to the ears of someone with a strong anti-linux fetish. “Worse than linux … which is kind of amazing.” ha! Also note the disturbing information about the ratio of iPad to other tablet sales. I wonder if Apple are going to become the windows of the smartphone and tablet marketplace, completely dominating all other products and stifling development on anything else? And if this market dominance is built, in the short term at least, on higher quality product, what are the chances of a rival OS surviving? The “I hate apple” niche market is probably going to get smaller and smaller as the virtues of Apple products become better known (as has happened in the scientific computing world).

I guess we’ll have to just learn to love our new slanty-fringed overlords …

 

I’m going out for a drink now. I spent much of this afternoon and evening trying to install Linux on a PowerPC iBook G4. The only reason I’m doing this is that I thought it might be nimbler than mac os 10.4. We use this iBook purely for watching movies (it’s plugged into the tv) and playing music, but recently its been struggling with streamed stuff, and I thought a non-mac OS might work. Linux is supposed to be speedier. So I tried installing it.

I have previously managed to install windows 7 on two iMacs, one of which is depicted here. I got this done with the help of Apple’s bootcamp, which sorts out the boot sector of the mac so you don’t have any really painful problems. I found a couple of sites online – here and here – which claim to have installed ubuntu on an ibook, so I thought I’d try it.

Of course it was impossible. Just like the last two times I’ve tried to install linux on anything. What a useless piece of shit linux is. Here is why:

  1. For a start, the installation disc randomly crashes. Sometimes it works, sometimes it doesn’t. Brilliant.
  2. Secondly, the installation disc runs into some kind of problem with the file system and, instead of throwing up an error saying “encountered a file system problem, you really should try using a decent computer” or some such, it produces an incomprehensible and meaningless “ubi-partman crashed with exit code 141.” Now, correct me if I’m wrong but “exit code” sounds suspiciously like a euphemism for “error code.” Could it be the linux community are so up themselves now that they don’t want to refer to errors as errors?[1]. Anyway, I looked up “exit code 141” on the internet and it has multiple possible causes. This is singularly unhelpful. This is a microsoft or SPSS level of debugging power[3a]. I want to know what causes my error, so I can work around it[4], not just get pointed to a series of websites full of people with diverse OSs and hardware talking about a meaningless error code. So I had to go back online looking for oblique solutions to the problem. This is nothing compared to the last time I had to solve a Linux problem, but we’ll get to that
  3. Thirdly, the available information about how to proceed to a successful implementation has no relation to the way that the Ubuntu installer works. For example, one of those sites says “Choose all default options but when it comes to partitioning, dlete the Ubuntu partition you created earlier. go back and choose to use maximum free space”. None of these processes or options existed in my installer. So there’s no way for legacy information to be used to inform current installations. I’ve never seen a “use maximum free space” option in any partition software. But I get three completely different options I can choose from. I think it’s probably a mark of an amateur software project to have completely different installation processes at every release. The basic processes of installation are the same in every iteration, surely?
  4. WTF is it with the verbose way that Linux starts up and shuts down? I know that there are a couple of hundred people in the world who think it’s cool how the computer tells you that “random process A” is “doing incomprehensible shit B”, and there might be another 10 people in the world who actually know what it’s doing, but it really looks juvenile. It’s like the BSOD – nobody understands that crap, so why bother? The shutdown process in Ubuntu is particularly pratty. Why on God’s green earth should I have to hit return halfway through the process after the CD spits out? There’s no going back from here, why bother?

Anyway, so the basic problem seems to be this: Apple mangles the boot sector, and you need to somehow come up with a set of partitions that the linux installer can read in order to use it. The installer is supposed to be able to preserve the Apple bootsector, so it just becomes a straight dual boot, but in fact no matter how I contort the installation process I end up fucking the apple boot sector 8 ways to Sunday (take that, Steve!) and then it can’t reboot. Following the information in the few websites by people who’ve done it is just impossible, largely because I don’t understand the process of setting up Linux drives[5] but possibly also because Apple mangled the boot sector, and maybe also because I’m profoundly stupid when it comes to linux[8].

So I tried setting up an ext4 partition on top of the Mac OS one. My Hard Drive is 30g, so I had:

  • 32 kb boot sector[9]
  • 132 Mb of nothing
  • 6 Gb of MacOS
  • 132Mb of nothing
  • 21Gb of ext4, the standard linux file format (apparently)

Then I start the Ubuntu installer (after several tries, of course) and it offers me three partitioning choices: install side by side, use the whole disc, or custom format. The first choice doesn’t “install side by side at all” but instead splits my 21gb partition into two chunks of ext4. The second choice does what is expected, but that will probably shaft the bootsector so it was out; the third choice demanded to know “where is the root mount” and since this is my partner’s computer I’m not going to root mount it; I left this well alone. Choosing option a), I proceeded with an installation that just stopped 75% of the way through, and somehow managed to shaft the bootsector, because when I gave up on the process and restarted I had lost the mac os boot as well.

What kind of installation software is that? I just downloaded a “disc” that is designed to fuck my machine. And on top of that, when I repeated the process – same partition in mac os, same install disc – the following happened:

  • The first time I insert the install disc, it just fails, out of hand
  • second time, the install disc works but I get the stupid “ubipartman” error, i.e. the partition software can’t handle the ext4 file system (???!!!???)

So, I don’t really even know if this ubipartman error has anything to do with apple’s shenanigans with the boot sector, or if it’s just a bodgy piece of software. Someone else I spoke to said all knowingly “ah, yes, getting the partition software to work is always the trick.”

You know your software is shit when people are saying things like that about it. Let’s try similar phrases with some other software shall we?

  • Stats software: “ah yes, getting the mathematics engine to work is always the trick”
  • Graphics software: “ah yes, getting the colour palette to work can be a tad fiendish”
  • Nuclear powerplant software: “oh yes, we always take the radioactivity meters with a grain of salt, it’s the software don’t you know old chap?”

So, this is my third time attempting to install linux and my first time on a laptop. Let’s review our results:

  • First time: nothing, the installer just died in the arse
  • Second time: I installed it fine but X Window didn’t work. Who wants linux without x window? It’s a glorified telex machine. So I hunted around on the internet and it turned out that there’s no standard drivers for the i810 chipset, but someone had written one. I downloaded it and installed it but it didn’t work, and another day of hunting on the internet enabled me to discover that a couple of lines of code in the driver had typos in them. Fucking typos. So I hunted out other drivers with similar code and worked out how to correct the typos, and X Window worked. Oh my god! This is the computing equivalent of making fire. A fucking GUI, man! What next – object oriented programming?!! Anyway, so then when I invoke my beautiful X Window[10], there is no networking. I try invoking the control panel thingy to work out what the next driver problem is and… nothing. No functioning control panel. Two days of struggle to get X Window to work, and I still have to work out the control panel?!! Fuck that. I wiped it
  • Third time: Who knows what mysteries can be produced with the arcane combination of Steve Jobs ratfucking your boot sector and linux trying to clean it up?

So I think I just need to give up. But I just want to point out that EVERY TIME I have spoken to someone about installing Linux they have said to me “oh, it used to be really hard, but now it’s trivial, point and click, out of the box baby.”

Well, I beg to differ.

None of this would be an issue of course, except that there’s an army of linux nerds out there carefully watching the progress of linux, calculating every 10th of a percentage point increase in its market share, claiming it’s the best thing ever and wondering why it isn’t more popular. If any of you are reading this, perhaps there is a hint of why contained in my struggles[11].

And don’t even get me started on my attempts to get hold of a decent, working 64 bit windows package!!!!

fn1: Many years ago I had cause to call a Microsoft helpdesk[2] and the guy on the other end of the phone referred to a clear bug as an “oversight.” I challenged him about this and he told me that it was official policy that bugs were “oversights.” Windows NT was great at the time[3], but jesus christ…

fn2: Hey, don’t criticise me! I was at work, it was Windows NT, I was desperate!

fn3: This is where Apple screwed the pooch. Windows were floating around with the shittest software on the planet (windows 3.1), but it was tied to the best productivity software (MS Office). Apple had a chance here to come up with a killer OS that would take market share, provided that a) it worked and b) they used MS Office. Unfortunately, they gave us Mac OS 8, and they were too arrogant to respond to complaints of “my computer freezes” with “we’ll fix that” before Windows NT came out. I don’t know what happened to b), but jesus Mac OS 8 was shit.

fn3a: not as bad as SPSS. Until their most recent incarnation, when SPSS syntax ran into an error it told you the column number rather than the line number[3b]

fn3b: Possibly not as bad as R, either, another piece of open source joy. When I was working with R in Japan, I actually had a piece of code that worked on one computer but not another, until we removed the comments[3c].

fn3c: which is almost as bad as my friend’s experience of an electronics lab in our undergrad physics days, when his experiment worked using wires with blue insulation plastic but not red.

fn4: Witness here the soft bigotry of low expectations. I’m so used to Microsoft and Apple (and SPSS) that instead of saying “I want to know what the problem is so I can get someone to fix it” I say “If I know what it is I can find a way around it!”

fn5: why does it have to be so fucking difficult? Why can’t they just have one drive with a sensible name (i.e. not “root”, which is a well-known Australian euphemism for fucking and just sounds stupid, I don’t ever want to be a “root user” in any situation which involves a hairy nerdy guy who keeps his dog in his office[6]) and why do they have to have a separate swap space etc? This software has been around for 20 fucking years, can’t they find a solution to the omfg-so-hard problem of swap space?

fn6: I once worked in a place whose network support guy, the classic bearded neckbreather, actually kept his dog in the office – in a tiny cage – and fancied himself an ubernerd. Like most neck-breathers, he was incompetent. When you went into his office, if he wasn’t there the dog would bark and snarl at you from in its cage. Need I add that it was a chihuahua? Need I also add that he stuck to Novel Netware 5.1[7] long after Windows 2000 Server was out?

fn7: If anyone thinks that Windows 95 is a product of Cthulhu, they should try trouble-shooting a Novell Netware Server, as I once had to do. Truly there are heirarchies of evil.

fn8: and, you may have noticed, just a tiny bit antsy.

fn9: Actually I reckon this is just a 32kb file with “Steve Jobs is GOD” written in it over and over.

fn10: Did I mention that Linux/Unix is beautiful when it works? This is the real shit about all of this.

fn11: I know, I know, you’re going to say “It’s Apple’s fault.” But in my experience, the person who glibly states “it’s because it’s an apple” is always wrong. How come I can install windows on my unix-based apples, but I can’t install linux, even though linux is supposedly infinitely more amenable to hacking, and flexible, than windows or apple? Because it’s too fucking hard is why.