Intersting post on Perl 6 type subsets and multiple dispatch

I recently read a blog post by Alex Miller about Clojure multi-methods.

It described and answered a question his friend had asked him, as well as discussing some related problems. I'm going to showcase the different options Perl 6 provides for solving these same problems. Here's the initial question:

Is it possible to write a multimethod that has defmethods which handle ranges of values? For example, say that a person has an age. Can I write a multimethod that accepts a person as a parameter and returns "child" if age < 16, "adult" if 16 <= age < 66 and "senior" if age >= 66?

As in Clojure, the answer is "Sure." In keeping with TIMTOWDI, Perl 6 provides several ways to do this.

This post does a rather good job of covering some of the new features in Perl 6 in a very readable way.

I'm not XML's #1 fan, but...

XML is like violence - if it doesn’t solve your problems, you are not using enough of it.

This tagline amuses the heck out of me. And sounds true in a great many ways. (Haven't used Nokogiri, but apparently it is the best thing since sliced bread for parsing XML in Ruby...)

Gnome Shell followup

I have failed to report on my gnome-shell experiences. Well, I can sum it up pretty quickly: it was neat and promising and all that, but I ran into a rather annoying bug with alt-tab window switching where it would get confused as to what was the last window I selected. It is quite possible that this problem doesn't exist if one builds from the latest source, but I haven't had time to do that yet, so I'm back to running old fashioned Gnome again. Maybe when I upgrade to Ubuntu 10.04, I'll try it again, since the package is undoubtably newer there.

Sony removes Linux feature from old PS3s

This is how the newest firmware update is described on the official PlayStation blog: "The next system software update for the PlayStation 3 (PS3) system will be released on April 1, 2010 (JST), and will disable the 'Install Other OS' feature that was available on the PS3 systems prior to the current slimmer models, launched in September 2009," a Sony rep wrote. "This feature enabled users to install an operating system, but due to security concerns, Sony Computer Entertainment will remove the functionality through the 3.21 system software update.

"In addition, disabling the 'Other OS' feature will help ensure that PS3 owners will continue to have access to the broad range of gaming and entertainment content from SCE and its content partners on a more secure system."

It's pointed out that this update is strictly voluntary, although if you don't download the new firmware you won't be able to connect to the PlayStation Network, play any games online, play any games or Blu-ray movies that "require" the new firmware, play any files kept on a media server, or download any future updates. To put it simply, if you don't grab the update, the system will become useless to you as a gaming or media machine.

Now, I never used the feature. But I don't like them removing it. Next thing I know, they'll be removing support for the backwards compatibility that's built into my system because it's not there in the newer units and perhaps there's some "security" reason.

Update: When first reading this, I didn't realize that the release date was April 1st. It is possible that this is a rather early april fool's joke. We'll see. It is possible that Sony has a sense of humor.

Gnome Shell rocks my little world!

I just discovered that I can do 'aptitude install gnome-shell' and then just run 'gnome-shell -r', and I can run the Gnome Shell now. We'll see if it turns out to be stable, but so far, it has completely fixed most of the UI things that bother me about Gnome. (I have been really hating the panel lately, too.)

Oh, and did I mention that running 'lg' from the run dialog brings up a JavaScript interpreter? (thanks, cheat sheet.)

So, liking the candy so far, we'll see if it actually is as stable as they claim. ("Stable enough for everyday use...")

Brilliant Rube Goldberg Machine

This is pretty awesome. I don't want to know how many takes it took to do that, even if it wasn't actually continuous.

HP Android Netbook

It's too bad that working for HP doesn't give me the opportunity to play with neat toys like this. Yes, I know it has some issues with the form factor (the display doesn't swivel around to make the thing a convertable tablet?), but it would be lots of fun to play with. And of course, they're not releasing it in the US, which tends to be the way that HP goes with non-Microsoft powered devices. This HP-MS buddy buddy thing is kind of annoying at times.

Moblin + Maemo = MeeGo

I'm sure you've heard the news: Moblin and maemo are merging! We are taking the best pieces from these two open source projects and are creating the MeeGo software platform. Both teams have worked for a long time to support the needs of the mobile user experience - and MeeGo will make this even better. We want it to be fun, focused, flexible, technically challenging and ultimately, something that can change the world.

Now this is an interesting development. With both Nokia and Intel behind it, this might actually be able to compete with Android.

Linus at Japannese Windows 7 booth: priceless

I am very much amused.

Ubuntu 9.10 Beta First Impressions

I'd been running 9.04 with backported nVidia drivers for a month or so, since those drivers actually support adjusting the brightness of my laptop panel. After the latest mysterious "maybe-video-related" lockup, I decided that if I'm going to have my machine crash, I might as well have a good reason, so I upgraded to 9.10 Beta over the weekend. To add to the impetus, I think the driver for my wireless card in 9.04 doesn't properly support WPA, so it randomly would drop my connection, something it did a couple of times while trying to download the upgrade. To Ubuntu's credit, restarting networking didn't break the upgrade, it actually managed to recover.

So far, I'm impressed. The upgrade went smoothly. However, after I upgraded, I noticed that an 'aptitude upgrade' showed more packages that needed to be upgraded. I didn't keep a list (yea, dumb), but notably, some pulse audio packages were included in this list. This might just be related to be doing things like installing extra packages to make pulse work better.

Overall, it seems faster and much more polished than 9.04. They've obviously taken a page from Apple's play book with the use of well placed animated transitions. The new X based boot splash is a great improvement over the old splash, mostly in terms of giving the boot and shutdown experience a more unified feel.

One big thing that seems to finally fixed is the time it takes to re-associate with a wireless access point upon returning from sleep: it's now at least as fast as my Mac. We'll see how things go as time goes on, but so far so good. If I don't have to file any bugs in the next few weeks, that'll be extra awesome.