Tag: UI Design

Metroid: Brother from Another Mother Postmortem

So, Metroid: Other M has ginned up a fair bit of discussion and controversy. On the whole I liked it -- I probably wouldn't put it in my top five Metroid games (and how weird does that sound, "my top five Metroid games"?), but it was perfectly solid.

That said, there is plenty to gripe about -- and I'm going to throw my hat in, starting with the stuff that didn't work and how it can be fixed, and then moving along into the stuff I did like so we can end on a nice happy upbeat note.

Oh, and major spoilers follow. So, you know, stop here if you don't want to read them.

The cutscenes.

This particular aspect of the game has probably attracted more criticism than any other, and for good reason. We've gone from an essentially mute protagonist to one who constantly narrates -- badly.

How to fix: 90% of the problems with the cutscenes could be improved by cutting out the narration. Ever hear the expression "Show, don't tell"? If someone has to explain what's going on in a visual medium, you're doing it wrong. And we don't need Samus doing these "dear diary" things where she tells us what's going on inside her head -- as the Robot Devil sagely told us, "You can't have your characters just announce how they feel! That makes me feel angry!"

There is one glaring exception: the one time the game doesn't overexplain the plot is the part that most needs it, the identity of the Deleter. Who the hell is he? The game doesn't tell us. Is Samus supposed to have figured it out? If so, why didn't she ever mention it in her incessant damn narration? The closest we ever get is her finding James's body last. Are we then to assume it was him? Or is it deliberately unresolved, perhaps to be revealed in a sequel? And if that's the case, why the hell isn't that set up somewhere? It's this major plot thread that just...gets dropped.

(And if it was anyone but Adam or Anthony, what's the point? Does it really matter which random Redshirt is the traitor?)

Oh, and also, guys...it's the twenty-first damn century. There is no excuse for unskippable cutscenes.

Item acquisition.

Bad for the story. First of all, Samus being told not to use any of her equipment, and just deactivating all of it, has pissed a good many fans off, and rightfully so (see "Samus is a pussy", below). But even ignoring that, the execution is utterly nonsensical -- Adam allows his men to use Ice Beams from the get-go, but won't let Samus use hers until she's spent 10 minutes in a volcano? And speaking of the volcano, she's not allowed to use the friggin' Varia Suit at first? I mean, okay, you can come up with a plot explanation for being careful with missiles and bombs (though this would, you know, require some sort of damn payoff later in the story to actually work), but what the hell possible story justification can there be for not allowing someone to use heat shielding in a fucking volcano?

There is a neat "Screw (Attack) this" moment later on where Samus loses contact with Adam (for, it is later revealed, a profoundly stupid reason), and reenables a couple of moves on her own...but there's still no damn explanation for why she doesn't just unlock her entire arsenal at that point. For God's sake, she doesn't even enable the Gravity Suit until after she's slogged through the high-gravity area.

Oh, and incidentally, guys, it's been mentioned before, but giving a cute explanation for why Samus has to give up all her equipment at the beginning of the game only works if you explain what happened to all her missiles and energy tanks. Which brings us to:

Bad for gameplay. Unlocking Samus's powers at set intervals reduces the variety of items for you to find down to three: missiles, energy tanks, and powerups that reduce your charge time.

Now, reducing charge time is neat, and I was always happy to find one of those. And energy tanks are an essential part of a Metroid game too -- I just wish Nintendo hadn't decided to crib one of the more annoying collect-y bits from the Zelda series and started splitting them up into quarters. Does anybody like hunting for Pieces of Heart? Anybody?

Of course, the vast majority of the stuff you find in walls is going to be missiles. Trouble is, missile upgrades are damn near useless this time around, as you can fully recharge your missile supply in a couple seconds at any time (except, arbitrarily, in the last fight!). I mean, yeah, it's obviously better to have 50 missiles than 10, but the missile count just isn't as significant this time around. Especially when you're incrementing it by one at a time.

How to fix: Easiest thing to do would be just to go back to resetting Samus's powerset at the beginning of the game without explanation and having her get upgrades from Chozo statues. Sure, it requires a little bit of suspension of disbelief, but you know what requires a hell of a lot more suspension of disbelief? Being forced to turn off heat shielding in a volcano. And, you know, all that other shit I just got through complaining about.

If you're really concerned about having an in-plot explanation for Samus losing her powers, set the next game after Fusion and throw together some explanation about how the Fusion Suit can't retain its upgrades over time. Easy.

And it doesn't have to be the same arsenal in every game, guys! Let's see some new equipment!

Samus is a pussy.

We've already covered Samus's subservience to Adam, but the scene that rightfully cheesed a bunch of people off is the one where she's literally transformed into a crying child when Ridley confronts her.

Guys, I see what you're going for here -- the game plays with the image of a child's cry from beginning to end. And you're trying to show Samus gets scared sometimes -- Alien, after all, never had a problem showing Ripley scared shitless.

Difference is, Ripley still got shit done. She never needed a man to swoop in and snap her out of her little-girl crying.

And of course there's the fact that Samus has killed Ridley, what, four times by this point? That doesn't necessarily mean she can't still be afraid of him -- after all, it's not going to make the giant monster who killed your parents less scary if he keeps coming back from the dead -- but she never froze up on the previous four occasions, so it seems silly for her to do so now.

How to fix: I've already covered the "don't make Samus switch her equipment off and on at some dude's whim" point. As for the Ridley scene, it's okay to show her scared, but not to have her fall to pieces and just stand there. You really want to play the "crying child" thing, okay, make it a flashback, but this whole scene, Anthony's non-sacrifice and all, would still have worked without making Samus totally helpless.

Invisible walls.

This game has the worst abuse of invisible barriers I've seen since the Nintendo 64 era. It's embarrassing. If something looks like empty space, I should be able to walk through it. If there's an object with a flat top that's lower than the maximum height of my jump, I should be able to stand on it.

How to fix: If you don't want me to be able to walk through something, put a wall there. If you don't want me to be able to stand on top of something, make it taller, or have it end in a point. It's not rocket science, guys; this is embarrassing.

Pixel hunting.

I am not a guy who usually looks at walkthroughs, but several times throughout this game I had to punch one up after spending ten minutes trying to figure out what I'm supposed to be looking at out of all the tiny objects off in the distance that are almost the same color as the background. It's utter nonsense -- that boss isn't going to attack me until I see the larva? MB's just going to stand at that window and watch me look around for five minutes and only run away once I've actually looked directly at her? -- and it completely kills the momentum of the game.

While scanning worked okay in Metroid Prime, this is fundamentally different. Prime clearly marked everything that was scannable, and let you move around while you were looking for things.

How to fix: It can't be fixed. Fucking get rid of it. The moment you think it would be a good idea to include another pixel hunt, bash your hand with a hammer. Keep doing this until you no longer think it sounds like a good idea.

Unclear objectives and inconsistent rules.

Following off the above section: I had to look up a walkthrough three times in the endgame. First, to find out what I was supposed to be looking for in Room MW. Second, to figure out how to beat the Metroid Queen -- yes, I'd figured Power Bombs, but holding down the button didn't work, you had to go into the menu and activate them. Which would be fine if that had been how it worked for every single other power, but all the rest activated automatically. You can't go changing the way powers are activated at the very end of the game.

And after that, there was one final pixel hunt. In the middle of a fight. Where you can't dodge or recharge your missiles and indeed there's not actually any indication that your goal is to look at the middle of the room instead of the guys shooting you in the face.

How to fix: You don't need to hold my hand and spell everything out for me, but make points of interest visible (at least if they're places I have to go and not, say, missile upgrades), and don't change the rules of the game at the very end.

Anyhow, enough with the complaints and on with the good stuff:

The cutscenes.

It almost feels like the cutscenes were created in order, because -- with the exception of the horrendous Ridley sequence late in the game -- they get progressively better. Adam's death is a real high point, and while Madeline spends a bit too much time on exposition, there's a real sense of tragedy and pathos to the ending. There's potential here; it gives me hope they'll get it right from the beginning in the sequel.

And you know, I didn't really think the voice acting was that bad -- I didn't think it was fantastic, but it was competent, especially given the material.

The Metroids.

I could count all the Metroids in this game on my hands. They only show up at the end of the game, and they are bitch-ass hard to kill.

This is exactly how it should be. Keep the Metroids scarce, make them scary and make them a legitimate challenge.

The high-gravity sequence.

Yeah, it was a pain in the ass to play, and Samus's refusal to activate the Gravity Suit is utterly nonsensical, but it was probably the most legitimately creative point in the game.

The escape sequence.

It's hard to take a formula and make it surprising. Super Metroid put its twist on the escape sequence by making the room tilt; Zero Mission added the Zero Suit stealth sequence, and this one puts the whole thing after the end credits. Great twist; too bad it won't be a surprise next time (and too bad a guy with a loud mouth spoiled it on my messageboard).

The return of the Zero Suit doesn't make a lick of plot sense (and neither does Adam leaving his helmet behind in the first place), but it's fun -- chalk another one up in the "I'm willing to suspend disbelief if you give me something worthwhile in exchange" column.

Speaking of which,

Three Stages of Ridley.

It's completely ridiculous, but I love it.

No drops.

It was a little odd at first, getting used to the lack of energy/missile drops, but it really fits the mechanics of this game well. Running out of missiles is a minor inconvenience, but recharging health requires a real risk -- and pays off often enough that it's not frustrating, while getting you killed often enough that the game's still a challenge.

Well-placed save points and forgiving deaths.

In general, I tend to wish the Japanese would figure out that we're not saving to batteries anymore and realize save points are anachronisms and just let me save wherever I want -- but this is the next best thing. You rarely, if ever, go 20 minutes without hitting a save point and, better still, always respawn close to where you die (eg at the beginning of a boss fight). It allows the game to be challenging without being too punishing -- especially given the aforementioned unskippable cutscenes.

The gameplay!

Saving the most obvious for last -- for all its flaws, this is a pretty fun game to play. It's nailed the atmosphere and mechanics of the series. Sure, combat's a bit more complicated, but it seldom hurts the momentum of the game. Make no mistake: this game plays like a Metroid. It's got its blemishes, but I enjoyed it, and I played it through to the end -- and, perhaps most notably, it made me want to go back and replay its spiritual predecessor (and chronological successor), Metroid Fusion.

All in all, a pretty good game. With some spit and polish, a sequel could be better yet.

Form and Function

A few weeks back, I rented Hellboy: Sword of Storms. It was a neat little movie, and adhered pretty well to the the comics' folklore vibe. The highlight was a sequence adapting Heads.

And it occurred to me, you know, the best Hellboy stories are 8-page adaptations of folk tales, in which Hellboy himself plays only a minor role. Similarly, wouldn't it be great to see some 10-minute Hellboy animated shorts?

It's a real pity that both 8-page comic stories and 10-minute animated shorts have fallen by the wayside. DC, at least, seems interested in bringing them back: they've been doing 8-page "secondary features" in some of their popular titles, and next week's animated Crisis on Two Earths will also include a 10-minute Spectre short. Which is the perfect length for a Spectre story.

And of course all this has me thinking, Why 22 pages? Why 22 minutes? Why 6-issue arcs? Stories should take all the time they need; no more and no less.

Which isn't to say that rigid parameters can't foster creativity. The BioWare Writing Contest I participated in a few years back had some very tight guidelines -- only so many characters, only one location allowed, and that location has to be a pretty tiny square. But in a way, that stimulated creativity. Sometimes, you need parameters.

Douglas Adams is a favorite example. His best Hitchhiker's Guide work was written for radio, with a rigid three-act structure and length requirement for each episode, with the requisite pacing those things entail. Those episodes were adapted as the first two books of the Trilogy. The third, Life, the Universe and Everything, was adapted from an unused Doctor Who pitch, so it was conceived around a predefined structure as well. The last two books, where Adams took a more freestyle approach, tended to flail a bit; they were adapted by Dirk Maggs for radio a few years back and, for my money, worked much better with his judicious editing.

(The awesomeness of The Long Dark Tea-Time of the Soul does not fit my narrative as, to the best of my knowledge, it wasn't adapted from a radio or TV format. The first Dirk book was, though.)

There are plenty of writers who could benefit from tighter restrictions. Will Eisner put as much plot in a 7-page Spirit story as Brian Michael Bendis does in a 132-page Avengers arc. Sometimes I like longer, decompressed stories that spend more time on the scenery and the atmosphere. But there should still be a place for those weird little Hellboy stories.

I recently read Fables: 1001 Nights of Snowfall. Its pacing and form were noticeably different from the typical Fables books, because of its format: it was written as a graphic novel, rather than simply collecting 6 issues of a serial comic.

(A tangent on nomenclature: I absolutely despise the term graphic novel as it is commonly used, ie as a synonym for "comic book" used by people who think they're too cool for Spider-Man. However, it is a useful term when used in its original sense, ie a comic written in long form instead of being serialized in stapled, 22-page, monthly increments.)

Of course, 1001 Nights isn't a graphic novel so much as a graphic short story collection -- far from being a longform Fables story that takes its time, it's a series of stories which are shorter and tighter than a typical issue of Fables. So actually, it's more along the lines of those 8-page Hellboy stories I've been yammering about.

More in the "paced like a novel" vein would be DC's upcoming Earth One books. While it is obvious that these stories need to be published, as nobody has retold Superman's origin story in over three weeks, it's going to be interesting seeing them told with a little more breathing room, without the overwhelming, breakneck pace of Superman: Secret Origin.

I kid, but you know, the nice thing about constantly retelling Superman's origin is that now the Siegel heirs get a cut.

At any rate, once the rehashes are done, it would be quite nice to see DC tell some new stories with these characters in this format -- stories as long or as short as they need to be, at whatever pace suits the piece, without having to speed toward a cliffhanger every 22 pages.

V for Vendetta is actually a decent example -- yes, it was serialized, but its chapters don't fit into a consistent, forced length or pace. And while some of the chapters were climactic action sequences of V stabbing people a lot, others had him simply soliloquizing about anarchy.

(And funnily enough, the guy writing Earth One: Superman is J Michael Straczynski, the same guy whose The Brave and the Bold is currently the best 22-page superhero book that actually tells 22-page stories -- but whose run on Thor was decompressed, organic, and even meandering. Which is not a criticism, as I loved his Thor; it's just a statement that the man can write very well in different formats.)

If the world is a just and beautiful place, Dr. Horrible's Sing-Along Blog is a template for the future of television. It manages the rather neat trick of adhering to a rigid structure that also just happens to be noticeably different from the traditional structure of a TV show: three 13-minute acts, each itself featuring a beginning, a middle, an end, and four songs. It's similar to, but distinct from, the standard three-act structure and 44-minute length of an American TV show.

Even The Daily Show -- God, not a week goes by anymore but one of the interviews goes over. Which is swell, but the way this is handled online is completely boneheaded: if you go to Full Episodes on thedailyshow.com, or view an episode on Hulu, you get the broadcast episode, which shows the truncated interview, followed by an admonition to check out the website, followed by Moment of Zen and credits. I can see this as an unfortunate requirement for broadcast, but guys, Internet videos can be more than 22 minutes. Why in the hell do I have to click through to a different page on the site (or, if I'm watching from Hulu, a different site entirely) to watch the rest of the interview? It's viewer-unfriendly, especially if you use your PC as a media center hooked up to your TV. Cut the full interview into the damn episode. Add an extra commercial in the middle if you have to. (It would be swell if you didn't show the exact same commercial at every single break, but that's a separate presumably-silly-and-useless "rant".)

At least they've wised up a little and started showing just the first part of the interview in the broadcast episode and then showing the rest in the "Full Interview" link on the website. It used to be they'd show a chopped-up version of the interview in the broadcast episode, meaning that instead of the Full Interview link picking up where the show left off, it had five minutes' worth of the same content spread out across it.

You know, it seems like the youngest of the major media is also the one with the least rigid requirements for length. Video games can be anything from a three-second WarioWare microgame to a persistent world that players sink years into. People may grouse a bit that Portal or Arkham Asylum is too short, but it doesn't prevent them from being highly-regarded, bestselling titles.

Which is, of course, not to say that longer games don't have to function under tight restrictions. They're often very high-budget affairs with a hell of a lot of people involved (as Dragon Age tries to forcibly remind you with its absurdly slow credits crawl) -- programmers, writers, artists, and so on. The Mass Effect games have voiced player dialogue and let the player choose Shepard's sex, which means every single one of those lines has to be recorded twice. (And frankly that doesn't seem like enough variety -- I have a Samuel L Jackson lookalike who says "aboot".)

And those restrictions are probably why every dialogue choice in ME is broken up into a predictable paragon/neutral/renegade choice. That kind of very-unsubtle delineation is exactly the sort of thing western RPG developers have been trying to get out of (as in both The Witcher and Dragon Age), but in the context of ME it works quite well -- I've even tried my hand at writing in a three-choices, no-hubs dialogue style and it works very organically. (For the ludicrous amount of dialogue in Dragon Age, there were places I could see the seams showing -- spots where I'd have three dialogue options and, as soon as the NPC spoke, knew that all three led to that exact same response. But that's probably a lot harder to notice if you've never written a dialogue tree yourself, and it's certainly an artform in and of itself, giving a response that works equally well for three different questions. I can only think of one occasion in the dozens of hours of Dragon Age where a writer screwed up and had a question hub that began with an NPC answering a specific question in a way that didn't make any sense if the dialogue looped back.)

And of course it's the medium that allows this kind of longform storytelling. Game length is no longer restricted by the arcade environment. Which is, of course, not to say that short-play games don't get made anymore -- Street Fighter 4 is a high-budget, "hardcore gamer" example, but Nintendo's entire business is built around games a casual player can pick up and play for ten minutes at a time. Ditto every Flash game on the Web, and most games on the iPhone.

And, indeed, Internet delivery is going to liberate other media from their restrictions. Eventually, we're bound to see shows like The Daily Show just run more than 22 minutes if they have to, and, God willing, we'll see more offbeat stuff like Dr. Horrible. The Web's given us comics as diverse as Achewood, Dr. McNinja, Templar, Arizona, and FreakAngels, and cartoons from Adventure Time to Homestar Runner to Charlie the Unicorn to Gotham Girls to the complete version of Turtles Forever. It's also allowed MST3K to continue in the form of the downloadable RiffTrax and the direct-order Cinematic Titanic.

Variety is the spice of life. I love comics -- and yeah, that includes mainstream superhero comics. But I'm sick of all of them having the exact same structure. Fortunately, I think we're on the edge of an age of experimentation.

Or another damn market crash. It is an odd-numbered decade now, after all.

WordPress

You've probably noticed the site looks different.

Or, if you haven't because you're reading this via RSS, you've probably noticed you just got ten duplicate entries in your reader.

That's because I just migrated my backend over to WordPress.

As I alluded in a recent post (and yes, I update so seldom that three months ago qualifies as "recent"), b2evolution reached a point where it made even the simplest tasks a chore. A quick rundown:

  • As noted before, it refused "id" and "name" attributes in <a> tags. In other words, it would not allow me to use anchor tags as anchors.
  • Its error messages were hideous. "Invalid URL" may be useful information in a post that has as many as three links in it, but when you have fifty, it's the coding equivalent of punching me in the gut and then pointing and laughing. And for those of you who have not yet taken a 100-level programming course, it bears noting here that telling me which URL was causing a problem would take maybe twenty characters of additional code.
  • Not only wouldn't it tell me which URL was a problem, it wouldn't tell me why. I had to poke through a gigantic list of blocked URLs before I discovered that b2evolution had for some reason automatically blacklisted all mac.com sites.
  • Okay, this is the best one. You think blocking mac.com is bad? Check this out. In the same post, I linked to a rather lengthy driver URL -- go ahead and mouse over that link and see what I mean -- and b2evolution rejected it.
    See anything wrong with it? No? Neither did I. It took me about an hour to figure out what was happening. Here's the problem:
    The link contains the string "&ProductID". See where I'm going yet? No, you probably don't; even if you know that the HTML code for an ampersand is "&amp;" it probably hasn't hit you what happened there.
    So okay, here's what happened: b2evolution saw the "&Product" in that link, expanded it to "&amp;Product", and then, on a second pass, turned the ;P into a smiley.
    Hang on, it gets better: there is no way to disable smileys in the b2evolution admin control panel; you have to hack the PHP manually.
    Hang on, it gets even better: there actually is a checkbox in the control panel to allow you to disable smileys...and it is grayed out by default. Someone went to the trouble of actually coding up an easy fix...just to make it impossible to use.

In short, b2evolution was like everything my old web host ever gave me: at first, it was a generous gift and gave me an outlet to share my thoughts with the world, but over a period of years it became less and less bearable up until it reached a point where I simply couldn't go about my daily business anymore without it making my life unpleasant.

Actually, catty remarks about Internet drama aside, this is a coincidence -- I started this overhaul several days before Sharkey decided to pull up stakes. However, it's a happy coincidence, and it's nice to see him carve us out an alternative to Crazytown.

Anyway, on to the technical side, for anyone else who has WordPress questions. On the whole, I think WP is better so far. I absolutely despise "smart" quotes, and it parses text inside <code> tags just as poorly as b2evolution, if not even worse, but fortunately I found two plugins called Unfancy Quote and Preserve Code Formatting which take care of those two problems right out the gate.

I think I've done a pretty good job with the new theme, taking the old look and making a few modest changes to it. (I've finally retired that silly-ass old digits.com counter. It is the end of an era.) The CSS is my own, but the PHP code is largely adapted from Sandbox. As such, it's GPL'ed code, so once I'm finished tweaking it I'll put a zip file up just in case anyone wants to eyeball my source.

If there's anyone else trying to migrate old-ass b2evolution (0.9 series) to WordPress, there are a couple different ways to do it. You can convert to Movable Type and import natively (tutorial at Insert Witty Title), which preserves categories but hoses custom slugs, or you can use a conversion PHP script (tutorial at ibrian, though there are a few different versions of the script), which preserves custom slugs but hoses categories. I opted for the latter since it's less of a pain to recreate categories than slugs, but YMMV; if you never used custom slugs and just stuck with the default post titles, I'd say try the former. (There is something in there about how b2evo replaces spaces with underscores and WP replaces them with dashes, but there should be a tool to correct that too.)

Anyway. New blog, new forum. Let me know what you think. Maybe one of these days I'll get up the courage to dust the cobwebs off my Links page.


Playing: Super Mario Galaxy.

Reading: Just finishing Dune.

Triple-Booting a Mac Pro

Updated 2007-10-14. Scroll down to where it says "Update 2007-10-14". I'd put a link here, but for some reason b2evolution will not let me use the "id" or "name" attributes; expect a presumably silly and useless "rant" on that subject very, very soon. (Update 2008-01-17: Switching to WordPress fixed the problem.)


So I got that Mac Pro I was talking about earlier. No, I still can't afford the thing, so if you notice me living a life of indentured servitude for the rest of my days, well...I'm Irish. We're used to it.

The bastard about being on the bleeding edge is that there aren't a whole lot of guides to walk you through your setup. For example, I found quite a number of guides on how to multiboot a MacBook Pro with 3 OS's on different partitions of the same drive, but approximately bupkis on how to do it on a Mac Pro with each OS on its own drive.

So, in case anyone winds up Googling for the same information I couldn't quite find, here's how I finally did it. Hopefully this'll make it easier for you than it was for me.

Installation and booting

I can't say for certain, but I think order of drives and order of installation are both important.

After some trial and error, I wound up laying my drives out like this:

Drive 1 is Kubuntu.
Drive 2 is OSX.
Drive 3 is Windows XP x64.

Leastways, that's how they're set up in hardware. For reasons I'm not altogether clear on, they show up in software as Kubuntu on sda, Windows on sdb, and OSX on sdc. Still more curiously, both the Kubuntu drive and the OSX drive are assigned SCSI ID 0,0,0. (Could be some holdover from the old master/slave days? Maybe the drives are on different controllers? Something to do with MBR vs. GPT? Is it because the Kubuntu drive is physically first but the Mac drive boots first? Don't know.)

Order of installation seems to be important too. I say this because my first time through, I installed Kubuntu, it ran fine, and then I installed Windows and Kubuntu wouldn't boot anymore. I'd click on the Linux icon and it would boot the wrong OS. (Actually, it still does; more on that later.) So, as with most things in life, everything was going great until I installed Windows.

But after a day and a half of banging my head against the wall, I finally got all 3 OS's moving by rearranging the drives (see above) and installing Windows first and then Kubuntu. (OSX, of course, was preinstalled.)

Things to keep in mind: since we're talking 64-bit Windows, the Boot Camp program is useless. You can ignore it. It might be useful for resizing your OSX partition since Windows insists, for no reason whatsoever, on writing system files to the first drive. I say "for no reason whatsoever" because you can move those files -- boot.ini , ntdetect.com , and ntldr -- to the drive Windows is installed on and it'll run just fine. There's more info at x(perts)64; that guide is specifically for dual-booting XP and Vista, but I found it useful anyway.

(Also, "the first drive" noted above is actually the second drive in my case, which caused a good deal of confusion; as I mentioned earlier, both the Kubuntu drive and the Mac drive show up as 0,0,0.)

It's also worth noting that the much-ballyhooed rEFIt doesn't work for me; I have to hold down Option at startup to get a working boot menu.

That menu gives me the following:
rEFIt, Windows, Windows, Windows
because EFI very helpfully assumes anything that's not Mac is Windows.

The first "Windows" is actually Kubuntu. The second gives me "Error loading operating system". I assume that the first "Windows" is the MBR of the drive and the second is the first partition, which is flagged bootable but doesn't have Grub on it.

The third "Windows" is actually Windows.

Now, rEFIt looks similar -- it offers "Boot Mac OS X from Mac", then "Boot Linux from HD", "Boot Legacy OS from HD", "Boot Windows from Partition 1", not always in that order -- but the last three all open the same OS, either Linux or Windows depending on which I booted more recently.

So I'm stuck with holding Option at boot and selecting the left Windows or the right Windows, but at least it works. I'm hoping future versions of rEFIt fix this problem.

Windows

Here's where you can find the necessary 64-bit drivers for Windows:

(Sources: Triple Boot thread on the Apple forums; Airport Driver thread on driverguide.com forums)

Kubuntu

Boot issues aside, this is the single most painless Linux installation I have ever experienced. I know there's no dearth of people singing the praises of Ubuntu and how close it is to being ready for desktop use, but I'm afraid I'm going to have to add my own redundant voice to the chorus. It was almost painless.

I still had to install the nVidia drivers by hand -- either get us some free drivers that work or stop being so damn concerned about ideological purity, guys; I need support for my video card, and this would make life pretty rough for the average user. But by my standards as a Linux vet...I didn't even have to touch xorg.conf. Kubuntu, how I love you.

Setting up wireless was another concern, especially when I read there was no native support for the adapter and I'd have to use ndiswrapper. Let me explain something about ndiswrapper: it was a bastard to install under Gentoo, and is responsible for every single kernel panic I've experienced in the past year and a half.

Under Kubuntu, on the other hand, it was over in minutes. And I don't want to jinx it, but it hasn't panicked my kernel yet.

There's a HowTo at ubuntuforums.org. Steps 1-3 are outdated now; Feisty comes with a current version of ndiswrapper, so you won't need to update it. As for the bcmwl5.inf file, it's the same one in the Dell package I linked above.

To get wireless to work immediately at boot, you'll also need to set your access point up. In Kubuntu, you do go to K → System Settings → Network Settings, click "Administrator Mode", enter your password, click wlan0, then Configure Interface, and enter the ESSID and WEP key. (DHCP and "Activate when computer starts" should already be set.)

I will note that on one of my reboots wireless didn't start up automatically and I had to run iwconfig myself. I think that's most likely due to signal interference in my apartment, but I can't say for sure at this point.

Sound support was the biggest problem I hit. The ALSA driver for Feisty doesn't support the Mac Pro's audio adapter.

After poking around for awhile, I decided that rather than bother with the individual package, I'd just go ahead and upgrade to Gutsy RC. After all, if you've even read this far, I'm guessing you're somebody who's not afraid of the letters "RC"; I'd advise you just to go with Gutsy from the start. (Course, by the time anybody actually reads this guide, I'm betting Gutsy final will be out.)

So far Gutsy's working just fine for me. (Update 2007-10-14: Except that I can't adjust volume from the keyboard. The bar goes between 0 and 11 but doesn't actually make any change in the volume. This appears to be a known bug in Gutsy at the moment.)

I'll edit this post if anything changes or if I find anything else out -- I have a Bluetooth keyboard and Mighty Mouse that I haven't bothered trying to set up in Kubuntu yet; I intended it more for my media center/emulation rig Mac Mini anyway. But if I get that, or anything else set up, I'll make a note of it here.

Hoping this has been a help to somebody. I don't usually do this, but when I find myself running into problems that aren't well-documented, I figure I may as well document them myself in the hopes that I can make life a little easier for the next guy.

Good luck, next guy.


Reading: Cat's Cradle again, the first in my "My favorite recently-deceased science fiction authors" theme. I think A Wrinkle in Time is probably next.


Update 2007-10-14: Accessing the Mac drive from Kubuntu

It's easy enough to mount an HFS+ volume under Linux (FS type is just "hfsplus" in mount or fstab), but accessing your home directory or mounting with write permissions is a little trickier.

To access your home directory on the Mac volume from Kubuntu, your Mac user account and your Linux user account need to have the same UID. There are a number of ways to do this; the easiest involve simply creating a new user, but I changed the UID on my Mac login to 1000 with no real trouble.

Just go into Applications/Utilites and run NetInfo Manager, click Users, then your username, then scroll down to uid and gid and change them both to 1000 (or whatever your UID is under Linux -- 1000 is, of course, the default number for the first user account).

After that, you'll need to log out and back in, pull up a terminal, do a sudo chown -R <username>:<group> /Users/<username>, and then log out and back in again.

My source on all this is the Gentoo wiki (even though I'm using Kubuntu).

That should give you write access to your home directory on the Mac drive from Linux. To get read access, you'll need to disable journaling.

It occurred to me that I'd like to keep journaling enabled in OSX and only disable it when I want to access the data from Kubuntu. I came up with a relatively simple solution: I wrote a script to enable journaling when OSX boots, and added a line to the shutdown script to disable it.

For the startup script, I created a directory called /Library/StartupItems/EnableJournaling containing a filepair called EnableJournaling and StartupParameters.plist, as follows:

StartupParameters.plist

{
Description = "Enable Journaling";
Provides = ("Journaling");
OrderPreference = "Late";
}

EnableJournaling

#!/bin/sh

. /etc/rc.common

# Enables journaling on Mac volume

ConsoleMessage "Enabling journaling on /Volumes/Mac"
diskutil enableJournal /Volumes/Mac
exit 0

(Don't forget to make this file executable.)

(Source: Greg Neagle's blog)

And I modified /etc/rc.shutdown to the following:

#!/bin/sh
# Copyright 1997-2004 Apple Computer, Inc.

. /etc/rc.common

if [ -f /etc/rc.shutdown.local ]; then
sh /etc/rc.shutdown.local
fi

SystemStarter stop

# ADD THIS LINE:
diskutil disableJournal /Volumes/Mac

kill -TERM 1

exit 0

Seems to work all right; I get journaling when I'm running OSX, and I get write access when I'm running Kubuntu. (Update 2007-11-05: It appears rc.shutdown is gone in Leopard. I'll update when I learn more.)

The bad news is that it doesn't work both ways. At present I have Kubuntu installed on a ReiserFS volume, which is unsupported by OSX. I could have made it an ext3 FS instead and installed the ext2 driver for OSX, but, well, if I wanted compatibility over performance, I probably wouldn't have gotten a Mac Pro.

Another Love Letter to Microsoft

Here is what I love about Windows 2000's network configuration.

First of all, if you uninstall a network card -- say, for example, because you are having trouble getting it to work, perhaps trouble that suspiciously coincides with the latest round of Microsoft patches --, and then reinstall that card, you will find that your network settings have defaulted back to DHCP instead of static IP.

So you'll have to re-enter your IP.

If the machine you are currently working on happens to be a Web server that uses 250 different IP's, you will have to re-enter your 250 IP's.

But Thad, you say, that is awesome! How could life possibly get any better?

Well, it may seem difficult, but it does get better.

You can only enter one IP at a time.

And you can't copy and paste.

And no matter how many dozen times you enter the netmask 255.255.252.0, it will always default to 255.255.255.0.

And and every single time you tell it to add a new IP, it pops the new IP window up right on top of the list of existing IP's. So that if it is, just for the sake of argument, 11:30 at goddamnfuckinghellshitcock night and you are entering 250 different addresses, you have to scroll a bar and then drag a window to see the last one you entered. In the absurdly unlikely event that you somehow have trouble keeping your place under those conditions.

Awesome enough for you?

Yes, I am sure you are saying. Yes, that is just incredibly, unspeakably awesome. There is no possible greater threshold for awesomeness.

Well shut up, you're wrong.

Let's say you make a mistake. Let's say you somehow enter the same IP address twice. I know, there is absolutely no way of that happening under the circumstances, but bear with me in this thought experiment.

Let's say you enter an IP twice. It doesn't like it when you do that.

But does it tell you when you enter the redundant IP? No, that would make too much sense. Does it just delete the redundant IP itself seeing as the two are identical? Of course not. That would be stupid. That would require someone at Microsoft to write an entire extra line of code.

But Thad, you may say, surely they must at least tell you which IP is redundant?

My friend, where's the fun in that? Why tell you when they can instead just make you strain your eyes staring at every single IP you've entered?

Oh, and also, there's no way of sorting them.

They don't pay me enough for this shit.

Not a Bubble-Gum Gang Leader Like Rest of Slovakia

The rain never quite hit us yesterday. But it sure smelled divine for about twenty minutes.

But none hit Sky Harbor Airport, which, as that's Phoenix's weather center, means we're technically still in our dry spell. This is day 142.

On another note, what's the deal with ICQ?

You remember ICQ. It's the redheaded stepchild of IM networks. It was big in the late '90's when it was the only game in town besides AIM, but has long since been displaced by MSN and Yahoo. Of course, the fact that AOL bought it out probably hasn't done it any favors either.

The weird thing about ICQ, as compared to the other networks, is the amount of random contact I've received.

A few years back, my ICQ account was inundated with porn spam. That's died down, but just the last couple weeks I've started getting weird random contacts from China and eastern Europe.

A sample:

(08:45:10) 264737669: hi
(08:46:46) 264737669: hey homie
(08:46:50) 264737669: write to me
(08:47:13) 264737669: i´m not a bubble gum gang leader like rest of slovakia

Now, my ICQ number's been relatively easy to find for the past...Jesus, has it been seven years already? Probably seven years. (Just for perspective, my ICQ number is seven digits, compared to the nine on my Slovakian friend's.) So my question is...why the hell have I just now started getting these messages? Where has my account number been recently posted to attract the attention of bubble-gum gang-leading Slovakians?

And on another topic, what genius decided Gaim should display ICQ numbers by default instead of nicknames? In the rare event that somebody I know drops me a message, I generally don't know who the hell it is, even if he's on my list under a nickname.

The world may never know. But at least somebody's asking the right questions.