del.icio.us/dossy links since June 2, 2008 at 09:00 AM

del.icio.us/dossy (RSS) links since June 2, 2008 at 09:00 AM:

My iTunes party shuffle knows I’m weird

I’ve always known that I’m not like most other people, but it’s funny when even my iTunes party shuffle knows how strange I am, even in my musical tastes. Here’s the last 5 songs, the currently playing song, and the next 5 songs right now:

  • Pour Some Sugar On Me (Def Leppard)
  • Man Of Mystery (Baronics)
  • Summer Time (David Jacobsen)
  • Something to Believe In (Poison)
  • My Three Moons (Michael Manring)
  • 1821 Rossini – The Barber Of Seville – Overture
  • Snake Got Legs (Michael Manring)
  • Burn Up (Siouxsie & the Banshees)
  • 1854 Liszt: Les Preludes
  • Overture (Trans-Siberian Orchestra)
  • Peter and the Wolf Remix (Greg Patillo)

Perhaps this isn’t as bizarre a variety as I might think, but I haven’t met anyone else yet who’d see this shuffle and think, “Wow, great listening!”

Tags:

Announcing Blackbird, a Twitter client for BlackBerry phones!

Blackbird logo

About a week ago, I mentioned on Twitter that I was working on a Twitter client for BlackBerry smartphones called Blackbird.

After an initial limited release to a few people, I think it’s ready for general use. I’ve already stopped using TwitterBerry and TinyTwitter, now exclusively using Blackbird and I don’t miss a thing.

If you have a BlackBerry and are a Twitter user, I’d love it if you’d go and install Blackbird and let me know what you think! It’s still fairly new and it’s my first BlackBerry application, so I’m sure there’s lots of ways I can improve it.

Tags: , ,

J.K. Rowling throws down “gay wizard” and “epic fail” at Harvard 2008

One of my fetishes is to read commencement speeches. They’re usually full of the lulz and J.K. Rowling’s commencement address at Harvard 2008 is no exception.

Early on she breaks the ice with some humor about gay wizards. You might think if you were giving a speech at Harvard you’d stick to the straight and narrow, but some people play to win, not just to avoid losing. This sets the tone for her speech right away: as long as it may be, it’s going to be worth it.

The faux apologetic tone for the content of the speech in the beginning is cute. Who would possibly believe that someone who can turn out seven Harry Potter books would have any difficulty choosing how to address an audience of Harvard graduates?

To be totally honest, I’m probably one of the few hold-outs who still hasn’t read the Harry Potter series. The notion of a Messianic child wizard engaged in battles of good and evil are a yawner: if I wanted to read that story, I’d go read the Bible–it’s got more whores, violence and all that begetting and it’s been on the best-seller list for a lot longer. However, after Rowling drops the “epic fail” in her speech–“I had failed on an epic scale”–I might just have to skim the books to see if they’re as good as her speech was. It’s clear she’s made of win today.

The second half of her speech talks of the value and power of imagination. Just reading her message brought actual tears to my eyes that kept running down my cheeks for minutes after I’d finished reading. I’m going to quote the money shot paragraph, because to elide any of it would be criminal:

“If you choose to use your status and influence to raise your voice on behalf of those who have no voice; if you choose to identify not only with the powerful, but with the powerless; if you retain the ability to imagine yourself into the lives of those who do not have your advantages, then it will not only be your proud families who celebrate your existence, but thousands and millions of people whose reality you have helped transform for the better. We do not need magic to change the world, we carry all the power we need inside ourselves already: we have the power to imagine better.”

Amen.

Tags: , , ,

Treading the thin line between punishment and abuse

[info]seankreynolds discusses the shift in attitudes regarding corporal punishment of children in his LJ today. I left this comment in response:

Often I think people mistake abusive violence and discipline. Given that we’re all just meat puppets and operant conditioning is well understood, punishment as a form of discipline is necessary; neutering a parent’s ability to physically punish is a grave mistake of our society. However, as you describe, anecdotes of unprovoked violence is abuse. Violence with the intent to cause pain rather than serve as punishment is abuse.

There’s no room in this world for abuse. However, a society that does not apply physical punishment when appropriate is equally doomed.

The fact that we no longer condone appropriate physical punishment, I feel, comes from us collectively “erring on the side of caution” as it is too easy for people to cross the line from punishment to abuse. Unfortunately, it’s the risk aversion to letting parents make such a mistake that has ultimately created worse problems.

I know this is a subject that many feel strongly about, and people’s opinions cover the whole spectrum. Is there something about my comment you disagree with? Am I missing something? Tell me what you think in the comments below.

Tags: , ,

My mind is full of strange today

Kill it with fire. I don’t know why, but I’ve been saying this a lot lately. Epic lulz.

Kung Fu Panda. I might actually cave in and see this in IMAX. This movie is so obviously made of win.

Not only do I dislike Java, this past weekend I spent time decompiling it with Jad in order to make changes to an application whose source code has been lost. Strangely, decompiled Java is usually less obfuscated than human-authored Java. That says a lot about how bad most Java programmers are. Think about it.

Penrose triangle

After years of pondering, I’ve finally decided what I want as my first tattoo: a Penrose triangle. I love the idea of impossible objects as tattoo art.

I think I want to put it on my left forearm, just above the wrist. I still haven’t decided if I want it on the inner or outer arm, yet. I also have no idea where to go or who to ask to do it, either.

I received my BlackBerry code signing key today, so I can start using the “controlled APIs” in the application I’m developing. I’ll talk more about it when I have something that’s actually usable, but if you’ve been following my Twitter stream, you already have an idea of what it is.

del.icio.us/dossy links since May 12, 2008 at 09:00 AM

del.icio.us/dossy (RSS) links since May 12, 2008 at 09:00 AM:

Migrating from VirtualBox to VMware

As part of the Gnash buildbot farm, I run several virtual machines as build slaves. I started with VirtualBox because it is free software and I prefer to support free software, but it’s still a bit too fragile and it still lacks x86_64 guest support.

When I discovered that VMware Server is now available for free–well, free as in beer, anyway–I happily installed it and set up some new VMs on it. Best of all, it supports x86_64 guests! Of course, now I have the problem of migrating those VirtualBox guest VMs over to VMware.

VMware uses its own VMDK format for storing virtual disk images, while VirtualBox uses its own VDI format. The first step is getting a copy of vditool, VirtualBox’s command line program for manipulating VDI files.

The host OS I used to run VirtualBox is Ubuntu‘s 8.04 Hardy Heron on AMD64. The VirtualBox 1.6.0 .deb package didn’t include vditool, for some reason. Fortunately, the VirtualBox package in Debian’s “lenny” release includes it, so lets just grab it from there.

$ wget http://http.us.debian.org/debian/pool/main/v/virtualbox-ose/virtualbox-ose_1.5.6-dfsg-6_amd64.deb
$ dpkg -x virtualbox-ose_1.5.6-dfsg-6_amd64.deb vbox-1.5.6
$ sudo cp vbox-1.5.6/usr/lib/virtualbox/vditool /usr/lib/virtualbox/vditool
$ sudo ln -sf /usr/lib/virtualbox/vditool /usr/bin/vditool

There, now we have vditool installed. Next, we use it to export our old VirtualBox VDI back to raw disk data. However, if you used VirtualBox’s “Snapshots” with differencing VDI’s, you need to discard all snapshots before the one you want to write out as the raw disk: only the “base” data gets written out, not the “Current State”.

$ cd ~/.VirtualBox/VDI
$ vditool copydd win2000-i386-32gb.vdi win2000-i386-32gb.dd
vditool    Copyright (c) 2004-2008 innotek GmbH.

Copying VDI image file="win2000-i386-32gb.vdi" to DD file="win2000-i386-32gb.dd"...
The operation completed successfully!

Be careful, this could consume a lot of disk space, if you were using compacted VDI’s instead of fixed size as the raw image will be the full size of the disk image, which in my case was 32 GB even though the VDI only took ~6.5 GB on disk.

Once we have the raw data, we can create the VMDK metadata for our DD image. We compute the size of the raw data in sectors by dividing its size in bytes by 512:

$ stat --printf="%s 512/p" win2000-i386-32gb.dd | dc
67108864

We also need to compute the CHS geometry of the virtual disk. I used the assumption of 255 heads and 63 sectors:

$ stat --printf="%s 512/255/63/p" win2000-i386-32gb.dd | dc
4177

Once we have that information, we go ahead and create the VMDK metadata. Change the elements highlighted in blue as appropriate for your system:

$ cat >win2000-i386-32gb-flat.vmdk <<-__EOF__
# Disk DescriptorFile
version=1
CID=4dd210c6
parentCID=ffffffff
createType="monolithicFlat"

# Extent description
RW 67108864 FLAT "win2000-i386-32gb.dd" 0

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "4177"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "buslogic"
__EOF__

There, we now have a VMDK suitable for use in VMware! But, it takes up all 32 GB of space on the disk while only ~6.5 GB is actually in use. Lets use vmware-vdiskmanager to create another VMDK that is growable, instead:

$ vmware-vdiskmanager -r win2000-i386-32gb-flat.vmdk -t 0 win2000-i386-32gb.vmdk
Using log file /tmp/vmware-dossy/vdiskmanager.log
Creating a monolithic growable disk 'win2000-i386-32gb.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.

And there you have it: a growable converted VMDK from VDI:

$ ls -lh win2000-i386-32gb*
-rw------- 1 dossy dossy  32G 2008-05-23 11:26 win2000-i386-32gb.dd
-rw------- 1 dossy dossy  327 2008-05-23 13:40 win2000-i386-32gb-flat.vmdk
-rw------- 1 dossy dossy 6.5G 2008-05-23 14:25 win2000-i386-32gb.vdi
-rw------- 1 dossy dossy 6.3G 2008-05-23 14:20 win2000-i386-32gb.vmdk

From here, I created a new virtual machine under VMware Server, specifying “Custom” and using an existing virtual disk–the one I just created.

Of course, I couldn’t just boot this VM up because the virtualized hardware from VirtualBox differs from the virtualized hardware in VMware, and the particular VM in question is a Microsoft Windows 2000 guest. To fix the Windows install, I performed a “repair installation” of Windows 2000. I guess this is necessary when you change all the hardware out from underneath a Windows machine. After completing the repair installation, the VM booted up! I went ahead and installed VMware Tools, rebooted, and now everything works as expected.

I don’t know how many folks out there want to migrate away from VirtualBox to VMware, but I couldn’t find very much useful information on doing it so hopefully this will help people out who want to do it.

Tags: , ,

TypeRacer, massively multiplayer online typing!

(Okay, perhaps it’s not yet “massively multiplayer” but, it could be!)

My latest distraction is a fun web based “game” called TypeRacer, where you “race” against other typists in realtime who are all typing the same text which is often a quote from a book or song lyrics.

I love typing speed measurement games and TypeRacer’s social software aspect and multi-player nature really sets this apart. I’m also a huge fan of educational online gaming. It would be nice to select passages from educational texts to type against your friends–learn something while having fun typing.

I’ve wondered whether there’s truly a better keyboard layout than QWERTY before and have yet to find any solid scientific proof. If Dvorak was measurably better than QWERTY, I would have expected to see two “bands” of scoring on TypeRacer: one of the varied QWERTY-layout typists, and a “break-away” group with speeds far above the rest who are master Dvorak-layout typists.

Either way, I guess I’m going to take a moment to fluff my ego:

TypeRacer screenshot, 143 WPM!
(Click for full screenshot.)

Yes, that’s for real: 143 WPM. As you can see from the larger screenshot, my average speed over the past 5 races is 127 WPM. I know that over time, the average will regress to between 110-120 WPM, but for now, I’m going to enjoy this while it lasts. :-)

Think you can beat me? Lets set up a type-off and see who’s got the fingers of fury! Bring it on!

Tags: , ,

Why do you read this blog?

I’ve always wanted to blog about more personal things but always wondered who would bother to read it or even care. I’ve tried to stick to more technical subjects that might be useful and looking at my web traffic, this has definitely worked out. But, looking at the 160-odd subscribers to my blog makes it clear that there aren’t many people who care to read it regularly enough to subscribe to it.

But, there still are 160 or so out there, who have subscribed. I’d like to ask you: why? Do we know each other? Are you generally curious about me? Are you hoping I’ll post something useful for you and you don’t want to miss it?

I really want to know. Either leave a comment on this entry, or email me or catch me on IM and lets talk.