Hack, the Hardy Heron Sings: Glory to this Linux thing

Wednesday September 17, 2008
It was time.

After running Gutsy Gibbon on five of my computers for almost exactly a year — nearly six months past its "best used by" date, and about seven months after I would normally have started upgrading — I have finally upgraded all of my computers which have displays.  Alastor (workstation), Illidan (desktop), Suijin (media center), Kazekage (backup), and Nhuvasarim (laptop) are all now happily flying the 8.04.1 banner.

You may have heard that this particular upgrade was somewhat rocky.  I have definitely seen a few of my friends lose hours of their lives that they'll never get back with 7.10 → 8.04 upgrades.  However, I'm happy to say that after paying my dues as an early adopter of inadvisably new kernels, packages, and libraries for ten years, my decision to lag this time has paid off.  On all five highly varied systems, the upgrade went off nearly without a hitch.


So, in the interests of saving those of you who are even later to the party than I am some trouble, I'll enumerate the few difficulties I did encounter.

The main thing that kept me from upgrading for so long is VMWare Server — or, as I sometimes like to call it while I'm trying to get it to work, VMWare CENSORED Server. There are packages for it that work beautifully in 7.10, but none in 8.04.1.  Considering that I have it installed on pretty much every computer that I use, that was a pretty big problem.  To make matters worse, not only were the nice, packaged ubuntu installations no longer available, some library incompatibility in Hardy made the custom-installer tarballs that VMware releases broken as well — and by "broken" I mean "would crash before opening a window".  But, there is now hope!  The recently-released 1.0.7 build of VMWare Server for Linux works like a charm on Hardy, with only two tweaks.
  1. If you're upgrading from Gutsy, and uninstalled your vmware-server package in preparation for installing the 1.0.7 tarball which actually works, you'll notice that the new tarball refuses to install.  That is because your /etc/vmware directory now refers to a removed installation.  You will need to back it up, since it contains your (ugh) "serial number" (seriously is this 1997 or what), and move it elsewhere.  Don't do a --purge removal to remove /etc/vmware, since that will destroy your virtual machines.  When the installer prompts you for a serial number, have a look in /your/old/etc/vmware/license.vs.1.0-00; it's helpfully left in plain text.
  2. You will need to sudo rm -fr /usr/lib/vmware/lib/libgcc_s.so.1 in order to delete a library which conflicts with something in Ubuntu.  A few months ago, there was a great deal more of this type of surgery, but thankfully this one step should be all, now.
So, once the finicky VMWare was up and running, it was time to resolve some testing issues.  Divmod's tests have a dependency on the now apparently unmaintained "pyxml" package.  Hardy has a package for pyxml, and it installs the code, but it does it in such a way that you can't import it.  I'm not sure why that's useful, but whatever.  Luckily, Combinator makes it so that "python setup.py install" works without being root, so I downloaded the ancient and whithered archive, which is now hidden for some reason, and installed it into my home directory.  Then I tried to forget about it.

I already had to make a tarball of an old, hacked up version of _PyLucene.so and friends to get the tests to run under Gutsy, so I didn't have to touch that to keep it working.  I guess I should make those files available somewhere, but I always feel like if I am going to put any kind of effort into making Divmod code easy to work with it will just be in ripping out PyLucene entirely, since that's tantalizingly close.

And... that's it.  Everything still works, and despite the occasional, although increasingly distant dread that random kernel bugs will attack me, number of things have been improved.  So, that's enough with the workarounds and hacks.  Let's get to the good stuff!
  • Firefox 3 is definitely faster.
  • The awesome bar is awesome.
  • Fullscreen flash movies are actually fullscreen, and don't reliably crash the browser.
  • The "typing" notification in Pidgin is a lot easier to spot and works a lot better in the flow of a conversation.
  • Deskbar can stick to the panel again, finally!
  • Compiz is generally less buggy.  I couldn't figure out how to file these as bugs in launchpad because I could never reproduce them reliably, but at least one of them would happen by the time X had been running for an hour and they're not happening any more...
    • The screen would sometimes freeze and compiz would crash while rotating the desktop cube.
    • Sometimes changing the title of a window rapidly (such as when typing commands in a bash prompt where the title is tracking commands or switching Emacs buffers rapidly where the window title is tracking the buffer name) would cause the entire window frame to appear unfocused until the title changed again.
    • Running games — WoW in Cedega, and OTRSPOD natively — under Compiz is much faster.  I can maximize WoW and it doesn't crash.  (Fullscreening OTRSPOD still seems to have a pretty vicious problem, but I can play it in as large a windowed resolution as I like.)
    • Sometimes window stacking Z-order would be messed up after invoking the shift switcher or application switcher; combined with the focused window frame suddenly becoming unfocused, sometimes I couldn't tell which window was actually on top or actually had the keyboard focus.
    • Okay, this wasn't exactly intermittent: the "Scale Window Title Filter" plugin would always crash after a few tries.  Now it doesn't.
  • The hardware temperature sensors can now tell me how hot my GPU is!  I'd be a little more excited about that if it weren't really, really hot:
  • On my laptop, suspend works when I close the lid.  By that, I also mean resume works when I open the lid.  This hasn't happened for me since Edgy, I don't think.  I can rest easy knowing that they're planning to break it again in intrepid, but maybe I won't upgrade to that right away either.
  • There are now free drivers available for my wifi card.  This isn't a huge win, since the ndiswrapper drivers still seem to have an edge in dealing with poor signal, but it's nice since the free drivers seem to get better throughput when the signal isn't terrible; and now, I have the option.
  • Although I still have a bit of work left to get it set up, two finger scrolling on the macbook trackpad now works.
Of course, the biggest good thing about Hardy is that it's the first major Ubuntu upgrade that hasn't really broken anything unexpected, nor taken any serious investment of effort for me.  The upgrades themselves, all together, took a lot less time than writing this post did.  My home machine upgraded while I entertained myself with "機動戦士ガンダム00", my work machine upgraded while I was occupied talking to JP about some unpleasant business, and my laptop pretty much just sat in a corner churning away while I was working.

Anyway, thanks to the Ubuntu distro team for making this a good one.  I'm certainly enjoying it!


P.S. Sorry if this post seems kind of frivolous, but I have a huge backlog of writing to do and I needed to start with something simple.

P.P.S. I don't like to talk about personal stuff to much but last month I got married.  It was cool.

P.P.P.S. If you knew why the image above was appropriate to the theme of "hardy heron", congratulations, you are as much of a dork as I am.

Update: ScribeFire has a neat feature where dragging and dropping photos will automatically upload them to your blog's API.  I used it, and I was pretty impressed. 
ScribeFire uploads the images just fine, and gets correct URLs to use from the upload, and inserts the appropriate <img> tags into the content of the post.  However, Google's image hosting (picasa) has a bug in it.  It checks the referer to see if you are coming from a subdomain of a google "property" — google.com, blogspot.com, blogger.com et. al., and since my blog is hosted on a custom domain, it doesn't count as a "google property" despite the fact that it's on their servers and they know about it.  So, sorry if that last P.P.P.S. was kind of nonsensical without any pictures acutally visible in the body of the post!  I hope they're fixed now.  (How is it that I keep hitting these crazy problems?  It's not like I'm doing anything interesting, I just want to include indentation and images in my writing.)