grack.com

2006

Would you buy a music player from a guy in a suit?

Hmm… when I see Jobs talking about the iPod, he’s standing on a stage in a turtleneck, confident.

When I see Ballmer talking about the Zune, I see a red-faced, sweaty, 60-year-old guy in a suit trying to sound like he is somehow in touch with what “the youth want”.

I think they need a new face for Zune PR…

OLPC has a "View Source" key

According to LinuxWorld, the OLPC is going to drop the caps-lock key in favour of a key named “view source”. The purpose of this key is to allow the children to figure out how the current webpage or application is written.

I’m not sure why this key appeals to me so much. Maybe it has something to do with typing in BASIC games on my old computers and being able to edit the source of GORILLA.BAS and other interesting programs to make them do what I wanted. I think it is a fantastic way for the children to get to know how things work. Think of it as a transparent case on an engine or an analog watch.

Microsoft's BitLocker - mostly insecure?

Out of curiousity, I started reading about Microsoft’s BitLocker technology. This is a way of encrypting a whole hard drive that stores keys in the machine’s trusted platform module (TPM).

My conclusion (though I may be wrong) is that a laptop that uses BitLocker without either an external crypto token or a secure boot ROM is likely susceptible to some relatively easy hardware attacks. BitLocker may defend against casual snooping on random stolen laptops, but a determined attacker with a deliberate target probably won’t be thwarted unless the extra precautions mentioned above are taken.

A Month with Roomba

We’ve spent an interesting month with our new Roomba Scheduler. The role it fills is a “between-vacuuming” cleanup.

It works really well on carpets. It gets pretty much every spot that it can reach, and its small, round shape lets it get a lot of spots.

How it works on tile is a different matter altogether. I don’t know if it’s because our kitchen tile is a dark color, but we’ve found that it missed pretty much all the dirt along the edges of the kitchen, and a fair bit in the middle too. I guess the Scooba is designed to excel at this part of the cleaning, but it would be nice if Roomba had better support for cleaning smooth surfaces.

Portable PuTTy 0.58

UPDATE: The author of portaPuTTy has updated his build with the font fix as well. Excellent! I recommend going with his version - it’s more likely to be supported.

I rebuilt a portable version of PuTTy using the latest 0.58 release.  It correctly saves font information (a shortcoming of the current portaPuTTy) and has all the updated security and bugfixes of 0.58.

I’ve also packaged up all the PuTTy executables (paegent, pscp, etc.) so that you can easily use them portably as well.  Note that all of the executables will load configuration files from $EXEPATH\.putty\configuration.

(download links no longer available)

Remember, remember

Saw V for Vendetta for the second time. Bought it this time.

It has the same mood that the original Matrix movie had. Recommended!

The intention of the plot is certainly obvious and the message of control by fear isn’t obfuscated.

This, of course, reminds me of the nagging question: why is there a “green” on the colour-coded terror alert if they are never going to use it?

Eclipse Remote System Explorer

Eclipse has a new Remote System Explorer plugin that sounds interesting.

It’s an interesting approach. One type of connection is just a wrapper over SSH and SFTP, allowing you to manage systems remotely and edit files without much work. You can also get a command prompt up for more advanced administration.

The other type of connection allows you to run a full-featured java application on the server that gives you access to more functionality. I haven’t tried this one out yet.

You can read more about this feature in the RSE presentation.

Test post from Writely

Testing Google’s Writely support for blog posts.

Writely Works!

Looks like posting works fine but the first post was doubled. It seems a little more friendly than using the markup editor in Typo. I might stick with this instead!

UPDATE: This post didn’t get doubled up. Strange! Maybe it has something to do with me testing the blog connection.

UPDATE #2: BTW, editing posts works fine.

Billboard Clouds

I can’t believe how cool this technique is.

It takes a 3D mesh and calculates the lowest-error set of billboards that, when rendered, look very much like the object they are representing.

Take a look at this sample movie of a billboard-cloud-tree flyover.

Is .NET Open-Source Dead?

Looks like NDoc is one of many .NET open-source projects to “bite the big one”, but certainly not the last. I stopped development on NProf a while back because I couldn’t build up any momentum around it. I suppose that it was slightly annoying that I found some of my GPL’d code in Jetbrains’ new profiler. Perhaps they could have contributed something back to NProf at least.

NAnt releases are getting further apart and the mailing list traffic is dwindling. Log4Net seems to be moving so slow I don’t know how they manage to get releases out!

More blogging + quick baby update

I’ve been a little slack lately on the blog posting, most likely baby-related.

In case you weren’t keeping track, Everett is five months old now. He’s doing well, but seems only to be able to roll to the left. I suppose that’s pretty amazing considering that the two halves of his brain have only had a few months to become acquainted with each other.

Argument Fallacies

Here is a comprehensive list of argument fallacies.

I haven’t studied this stuff since I accidentally took an argumentative logic class instead of a boolean logic class back in university and I don’t think people will ever learn what begging the question really means.

On a somewhat related note, I serendipitously came across an interesting new word while browsing some of the other pages on infidels.org: solipsism. After a bit of Googling, I came across this gem of a joke attached to a random slashdot post:

Quick Monitor Size Calculator

For my own information, here’s a quick Javascript monitor size calculator. Enter the diagonal size in inches and the program will tell you what the 4:3 and 16:9 dimensions will be:

Diagonal Size:
4:3 Size:
16:9 Size:

Sex, Drugs, and Cults

An interesting read, found via a recent Scientology article on kuro5hin:

Sex, Drugs, and Cults. An evolutionary psychology perspective on why and how cult memes get a drug-like hold on people, and what might be done to mitigate the effects

Perhaps there might be an opportunity to “vaccinate” against those with more vulnerable dopamine systems with modern technology. It’s interesting to read about the human ability to absorb and transmit memes. It makes sense from an evolutionary perspective: as our genes encode less genetic behaviour, we need to make up for it in some way. Memes end up being a second set of genetic coding – though one that isn’t permanent .

Here’s a bit from the abstract:

HDCP Conspiracy Attack

After reading up on Prof. Felton’s description of the major HDCP weakness and reading the paper he referenced, I cooked up a small proof-of-concept conspiracy attack for HDCP in Java.

It turns out that you can trivially solve for a private system key by solving for the simple case of public keys that look like this (for a four-length array system):

[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]

This yields a symmetric matrix that can be used to generate any private key given any public key in milliseconds. The code implements this in HdcpKeyGenerator.

Not Dead Yet

No, I’m not dead. Having a baby just sucks the energy out of you to do anything besides looking after the baby.

In other news, Everett was born on March 1 and he’s getting pretty big now!

Treo 650 Memory Management

Just a quick overview of what memory looks like on the Treo 650. Note that there is 32MB of non-volatile storage (the disk-on-chip flash) and 32MB of volatile SDRAM (lost on reset/power down).

Disk-on-chip (“non-volatile” storage):

32MB 1
ROM Partition 2
(anywhere from 7-10MB)
NVFS Partition
(remainder of space)

RAM (volatile storage):

Treo Linux GPE

Luke has posted instructions on getting GPE working with the Treo 650:

This is about as simple as it gets right now to build and load a gpe image. The assumption is that you know enough about Linux to compile a custom kernel for your dist and that you can complete tasks like making a filesystem on an SD card.

Screenshots:

The lowdown on DBCache and ROM size

There’s been a lot of speculation on how ROM sizes affect free space and available DB cache since Shadowmite opened up the world of ROM hacking. Many theories have been proposed, but I’d like to set the record straight by listing what we’ve learned via disassembly, trial-and-error and various tests.

The key questions are how the size of ROM affects:

  • the available amount of DBCache
  • the “free space” measure
  • the amount of “dynamic memory”

To properly answer these questions, it’s best to give a quick overview of what happens when a Treo boots after a reset.