Skip to main content

Posts

Showing posts from June, 2010

An interview with me about The Geek Atlas

This appeared on CNET this week:

Last week, Graham-Cumming took 45 minutes out of his schedule to sit down and talk over instant message with me about the book, his approach to traveling as a geek, and why his shyness didn't stop him from getting the British government to apologize for its terrible treatment of the famous scientist Alan Turing.

Q: Welcome to 45 Minutes on IM. How did you come up with the idea for the "Geek Atlas"?

John Graham-Cumming: I came up with the idea while working in Munich when I visited the Deutsches Museum. I had never heard of it, and I discovered it's a fantastic science museum that clearly rivals places like the Science Museum in London and the Air and Space Museum in Washington, D.C. I thought to myself: someone must have written a travel book for nerds. A Lonely Planet for Scientists. I really wanted it because I was embarrassed that I didn't know about the Deutsches Museum. That evening I made a list of places I'd been around t…

Duodecimal

My paternal grandfather enjoyed doing arithmetic using base-12. That's perhaps not surprising, he was an engineer, and he lived at a time when Britain used £sd. The British currency was pounds, which consisted of 20 shillings each containing 12 pence.

And the number 12 pops up all over the place: between noon and midnight there are 12 hours, 12 months in a year, 12 signs of the zodiac, a dozen is used as a common measure of eggs, there are 12 inches in a foot, ...

He referred to base-12 as duodecimal. At school I had to learn the times table up to 12 x 12. And the English language even has special words for 11 and 12.

Part of the reason that 12 is such as nice number is that it has a lot of factors: 2, 3, 4 and 6. Compare that to just 2 and 5 for 10 (as in base-10). With lots of factors numbers that are common expressed as multiples of 12 have easy to calculate 1/2s, 1/3s, 1/4s and 1/6s.

To use duodecimal you 'simply' add two symbols for 10 and 11: for example, you could …

The Elevator Button Problem

User interface design is hard. It's hard because people perceive apparently simple things very differently. For example, take a look at this interface to an elevator:


From flickr

Now imagine the following situation. You are on the third floor of this building and you wish to go to the tenth. The elevator is on the fifth floor and there's an indicator that tells you where it is. Which button do you press?

Most people probably say: "press up" since they want to go up. Not long ago I watched someone do the opposite and questioned them about their behavior. They said: "well the elevator is on the fifth floor and I am on the third, so I want it to come down to me".

Much can be learnt about the design of user interfaces by considering this, apparently, simple interface. If you think about the elevator button problem you'll find that something so simple has hidden depths. How do people learn about elevator calling? What's the right amount of informati…

A final reply about awarding a Knighthood to Alan Turing

Last October I posted the reply I received from Buckingham Palace in response to a letter I wrote to Her Majesty The Queen suggesting a Knighthood for Alan Turing.

The Palace had forwarded by letter to the Cabinet Office. Here's their reply:


I'm not sure what this has to do with sport (which the letter highlights), but I suspect there's some confusion because I didn't write to them on March 12 about a Knighthood (that was on the separate matter of honoring Turing at the 2012 Olympics).

Nevertheless, I'm not going to push any more for the Knighthood.

Facebook's DKIM RSA key should be crackable

If Facebook sends you a mail they will sign it using DKIM. Here are the headers from a mail I received the other day:

DKIM-Signature: v=1; a=rsa-sha1; d=facebookmail.com; s=q1-2009b;
c=relaxed/relaxed;
q=dns/txt; [email protected].com; t=1276438946;
h=From:Subject:Date:To:MIME-Version:Content-Type;
bh=Yn52UpOukFZwR3a9mIx7vzTOepw=;
b=RGMm2Lp2Jms1yLuanKsEhSfSLpXQ15Y9RaGb0KgzWfGqcnEFUeQlhazkJXuT0+Nh
3iNqMAfwE6TvLQmiv55YUA==;

The signature itself is the b field (RGMm2Lp2Jms1yLuanKsEhSfSLpXQ15Y9RaGb0KgzWfGqcnEFUeQlhazkJXuT0+Nh
3iNqMAfwE6TvLQmiv55YUA==). The a field tells you the algorithm used (in this case, it's RSA/SHA1). The d field tells you the domain of the entity that signed the mail, and the s field tells you which key you need to retrieve (q1-2009b).

So, let's go get that key (the q field tells you that this can be retrieved by a DNS TXT query):

$ dig -ttxt q1-2009b._domainkey.facebookmail.com

; <<>> DiG 9.4.3-P3 <<>> -ttxt q1-2009b._domainkey.faceboo…

Your last name contains invalid characters

My last name is "Graham-Cumming". But here's a typical form response when I enter it:


Does the web site have any idea how rude it is to claim that my last name contains invalid characters? Clearly not. What they actually meant is: our web site will not accept that hyphen in your last name. But do they say that? No, of course not. They decide to shove in my face the claim that there's something wrong with my name.

There's nothing wrong with my name, just as there's nothing wrong with someone whose first name is Jean-Marie, or someone whose last name is O'Reilly.

What is wrong is that way this is being handled. If the system can't cope with non-letters and spaces it needs to say that. How about the following error message:

Our system is unable to process last names that contain non-letters, please replace them with spaces.

Don't blame me for having a last name that your system doesn't like, whose fault is that? Saying "Your last name …

10:10 Code FAQ

Yesterday's post about my 10:10 code idea resulted in quite a lot of comments. Here are answers to common questions.

1. What about using both lower- and upper-case?

I could but that makes it a lot more fiddly to enter on a device since you are having to change between upper and lowercase. Using just uppercase is consistent and easy to enter (think most GPS device keyboards).

2. Take into account that at higher latitudes, longitude need not be encoded as accurately.

I agree that it would be possible to project onto a map projection to change this, and it would provide some improvement. The advantage of the system as proposed is simplicity. It gives gives 11.1m of accuracy at the equator and 7.1m of accuracy at 50 degrees of latitude (either north of south).

3. Don't combine latitude and longitude. Keep them separate, with a space in between.

The 10:10 code isn't meant to be interpreted by a human, it has a specific purpose for entry into mapping devices. There are plenty of…

The 10:10 Code

Four years ago I wrote about a way to encode the latitude and longitude of any point on the Earth's surface to 10m of accuracy with a 10 character code. Apart from a modification to the way the check digit is calculated, the code remains unchanged.

The idea is this: instead of giving people addresses, or coordinates, you can give them something like a post code for any point on the Earth's surface. This can then be entered into a GPS device and decoded. Thus a business can provide its 10:10 code and know that people will be able to find it.

I was reminded of this, this weekend when I took the Eurotunnel to France. On their web site they say:


Now those latitude and longitude values are very hard to enter, and, although in the UK post codes are pretty accurate, they are not universal (e.g. in France and the US there's no equivalent). In contrast the 10:10 code is global.

Here's some JavaScript code that calculates the 10:10 code:



The 10:10 code of the Eurotunnel terminal…

How to write a successful blog post

First, a quick clarification of 'successful'. In this instance, I mean a blog post that receives a large number of page views. For my, little blog the most successful post ever got almost 57,000 page views. Not a lot by some other standards, but I was pretty happy about it.

Looking at the top 10 blog posts (by page views) on my site, I've tried to distill some wisdom about what made them successful. Your blog posting mileage may vary.

1. Avoid using the passive voice

The Microsoft Word grammar checker has probably been telling you this for years, but the passive voice excludes the people involved in your blog post. And that includes you, the author, and the reader. By using personal pronouns like I, you and we, you will include the reader in your blog post. When I first started this blog I avoid using "I" because I thought I was being narcissistic. But we all like to read about other people, people help anchor a story in reality. Without people your blog pos…

How to sleep on a long haul flight

To the annoyance of people around me I have no trouble sleeping on long haul flights. And I don't take any fancy medication to do so. Having traveled a lot I've come to the conclusion that sleeping on a plane is a matter of attitude and a little preparation. This post is not for people who travel business or first class. It's for the average stiff who, like me, travels hundreds of thousands of miles in economy class.

First the gear. I put this here because everyone thinks that buying stuff is the vital element. This isn't actually true, the important bit is mental, but buying stuff might be a salve that'll make you work on the mental stuff later.

To create the conditions suitable for sleep you need: quiet, darkness, comfort and warmth. These are all hard things to come by on a jet, but much can be done do get close to good conditions.

Quiet

This is cheap and expensive: I use ear plugs plus noise canceling headphones. Even with good quality ear plugs the noise …