Last night I upgraded my home PC from Kubuntu 8.04 to 8.10.  On the one hand, the upgrade went better than any other upgrade ever has.  On the other, I ran into some major problems.

Good

  • The actual upgrade process completed without errors.
  • The computer was successfully upgraded from 8.04 to 8.10 without any manual intervention on my part.
  • Desktop effects (aka compiz) are very fun.  I’d tried them in the past with less than stellar results (too buggy) but they seem much more stable now.
  • The extra buttons on my trackball finally work righ with Firefox under Ubuntu (back/forward).

Bad

  • The upgrader removed and did not reinstall the restricted kernel modules.
    • For my less technical readers, basically the upgrade broke both my wireless connection and 3D acceleration.  I could live without the 3D, but this computer relies on wireless to connect to my home network.  Fixing that took a couple of hours of digging around in the log files and using another computer to get the files I needed.  Major headache.
    • I understand why the modules were removed and not installed after the upgrade, but I wish the upgrader had been smart enough to realize I needed them and would have at least downloaded them to be available after I rebooted to complete the install.
  • KDE 4.x is the new default desktop environment for Kubuntu.  KDE 4.x does not play nicely with Nvidia graphics cards.  Like the one in my computer.  Meaning the lag between clicking on a the K menu and the menu popping up was about 2 minutes.  *ugh*  I could disable the Nvidia drivers to get normal performance back but then I’d lose my 3D acceleration.  *sigh*  So I’ve switched over to using Gnome, which will probably make at least one person I know very smug.
  • The network shared drives I had setup to be automatically mounted on every boot are no longer mounting.  Gnome has an easy way to connect to those shares, but I really don’t want to have to mount them manually every time.

Update: For those of you stopping by looking for instructions on how to do this upgrade, you can fine the complete instructions (with screenshots!) over at Ubuntu’s Community Documentation page for IntrepidUpgrades/Kubuntu.

Just upgraded CoffeeBear.net to WordPress 2.6. So this post is partly to make sure all my plugins are working correctly with it.

I’d also like to take a momemt to thank AWelkin & Bryon for the gifts they brought back from Japan for me. I’ve now decorated my cubicle with 3 Tachikoma gashapon. *yeah!* Also a quick thanks should go out to my buddy/ex-coworker Eric, he mentioned more than once I just needed the right motivation to get into programming1.  Well I recently had some slow time at work and wanted a way to parse some badly formatted data; so I wrote a Python script and while doing so certain things that have never clicked in my head about programming started falling into place.  I’ve since started working on another Python script for a different project at the office, so perhaps there’s some hope for my coding-fu yet.

1 I do a lot of computer stuff, but have never been much of a programmer.  Usually I just learn enough to hack somebody else’s stuff together to do what I want in rather ugly hacks.

I I finally set about upgrading my home server1 from Dapper to Hardy yesterday. I had been hoping for a less traumatic experience then upgrading my desktop computer from Dapper to Gusty2. Unfortunately I once again ran into problems. First off, it’s been nearly a week since Hardy was officially released but when I tried to run the official upgrade tools they all initially told me I was running the latest version. According to the documentation, I should have been able to run either sudo do-release-upgrade or sudo update-manager but neither worked. I was only able to start the upgrade process by running sudo update-manager -d and my understanding is that “-d” tells the program to grab the latest development version. Weird, but oh well. Then the process just dragged on and on and on and on and on…. I eventually went to bed leaving it running. The only reason I stayed up as late as I did with it was the excellent book I was reading.

When I got up this morning, it was still running but was hung up on a question I needed to answer. I clicked through the question and a few more before heading off to work. When I got home, again the upgrade was hung up on a question. I worked my way through answering all the questions and let the upgrader do its job. Unfortunately the upgrader eventually failed on these packages: gnome-applets-data, gnome-applets, ubuntu-desktop and update-manager. I clicked through the errors and then the upgrader said:

Could not install the upgrades
The upgrade aborts now. Your system could be in an unusable state. A recovery will run now (dpkg –configure -a).

I clicked ok to the error, something flashed up and then the upgrader died/vanished/went away. I tried running:

  • sudo aptitude update but it sat there for far too long for my sleep deprived and impatient self.
  • sudo aptitude upgrade, only it said there wasn’t anything to upgrade.
  • sudo aptitude autoclean, *shrug* it's part of my standard script for updating my systems.
  • sudo aptitude dist-upgrade, only it said there wasn’t anything to upgrade.
  • sudo dpkg --configure -a, it said there were unconfigured packages but it couldn’t fix them automagically. It mostly complained about gnome-applets-data.

I ended up running sudo aptitude install gnome-applets-data gnome-applets ubuntu-desktop update-manager and that fixed up those errors no problem. For giggles of insanity I tried running sudo aptitude -s -f install to see what else might be left to update3. It found another 111 packages it wanted to remove but some of them I want to keep, so I’ll have to look into that more closely. Most likely all these errors were caused by my own foolishness, as at one point I was testing some stuff out on the machine and enabled some 3rd party repositories to install unsupported apps. *blech* I don’t think I’ll be doing that again. I was able to reboot the machine and connect to it via SSH and SMB, but HTTP seems to be broken at the moment. *bugger* Apache is one of the packages sudo aptitude -s -f install wanted to remove. I guess looking into that just got bumped up my priority list.

1 An old Dell Dimension desktop with a PII-400 CPU and 256 MB of RAM.
2 Never fear, Fritz (my desktop PC) is next on my list of machines to upgrade.
3 More accurately, I found some instructions when upgrading my desktop from Dapper to Gusty that recommended doing that to ensure all apps got updated.

I use Rob Miller’s excellent Now-Reading plugin to track all the books I’ve read and am reading here at CoffeeBear. After my recent site upgrade I decided to tweak the single book template for my library. I noticed that the latest version of Now-Reading allows you to note who read a given book on multiuser sites. As my wife occassionally posts here I wanted my reads to be marked as mine, but the default output of the function Rob implemented only displays the user’s login name. Seriously Rob, what were you thinking? If you did not want to give end users the option to select how they want their name to print out why wouldn’t you go with display_name?

I looked at the code Rob used and with a little help from the Practical PHP I hacked together my own function based on Rob’s. By default print_reader2 works the exactly the same as print_reader1 but by feeding it an additional parameter, you get your choice of what to use to display as reader’s name:

  • 0: Prints out the user_login aka the username you use to log into WordPress.
  • 1: Prints user_nicename, appears to simply be an all lower case version of the user’s nickname2.
  • 2: Prints display_name, from the “Display name publicly as” field in your WordPress profile.
  • 3: Prints first_name, from the “First name” field in your WordPress profile.
  • 4: Prints nickname, from the “Nickname” field in your WordPress profile.
function print_reader2( $echo=true, $reader_id = 0, $display = 0 ) {
	global $userdata;

	$username='';

	switch($display) {
		case "1": if (!$reader_id) { get_currentuserinfo(); $username = $userdata->user_nicename; } else { $user_info = get_userdata($reader_id); $username = $user_info->user_nicename; }; break;
		case "2": if (!$reader_id) { get_currentuserinfo(); $username = $userdata->display_name; } else { $user_info = get_userdata($reader_id); $username = $user_info->display_name; }; break;
		case "3": if (!$reader_id) { get_currentuserinfo(); $username = $userdata->first_name; } else { $user_info = get_userdata($reader_id); $username = $user_info->first_name; }; break;
		case "4": if (!$reader_id) { get_currentuserinfo(); $username = $userdata->nickname; } else { $user_info = get_userdata($reader_id); $username = $user_info->nickname; }; break;
		default: if (!$reader_id) { get_currentuserinfo(); $username = $userdata->user_login; } else { $user_info = get_userdata($reader_id); $username = $user_info->user_login;};
   }
	if ($echo)
		echo $username;
	return $username;
}

Side note: WordPress 2.5.1 got released today and it includes a security fix, be sure to update your blogs!

1 At least, I think it does. I’m not a programmer and I only know enough PHP to be dangerous to myself.
2 The WordPress Codex does not appear to define what this field is used for or why it exists, so that’s just my guess.

I’ve finally upgraded CoffeeBear.net to WordPress 2.5. I’m in the process of getting everything settled in properly and at the moment my library is working quite so nicely. At the moment the link for the library at the top of the page does not work (you’ll get a blank page) however if you go to any of the books in my sidebar you’ll find a working link to the actual library page on the individual book page. Also the nicely rewritten links for the library aren’t working correctly either. *shrug* Not sure what’s going on there, but I’ll post again and/or update this post once I’ve sorted it out. If you happen to notice any other problems with this site, please leave a comment under this post so I know to look into it.

Thanks!