Older blog entries for MichaelCrawford (starting at number 59)

30 Jan 2003 (updated 30 Jan 2003 at 02:09 UTC) »
Talking to Americans

If you thought my diary entry from yesterday was a little odd, then you have never seen This Hour Has 22 Minutes' feature Talking to Americans.

This Hour Has 22 Minutes appears on the Canadian Broadcasting Corporation. I get to watch it when I visit Canada. It is one of the funniest TV shows I have ever seen.

In Talking to Americans, host Rick Mercer visits some place in the U.S.A. to demonstrate the ignorance that Americans have about world affairs in general and Canada in particular.

This is particularly poignant for Canadians to watch because they are subjected to so much American culture from films and television that they all know far more about American affairs than they could ever care to, while it is obvious that the vast majority of Americans know nothing about Canada.

Yesterday's quote came from an episode where Mercer visited Iowa and explained to the people there that Canada used to use a 20 hour clock. He said that a Canadian hour had 65 American minutes. Then he would ask the American public whether they thought Canada ought to use a 24 hour clock. He would get them to say "Congratulations Canada, on getting a 24-hour clock".

Being from an important national network like the CBC, he is able to get appointments with State governors. And so he caught the Governor of Iowa on camera congratulating Canada for getting a 24-hour clock.

He got the Governor of Arkansas to congratulate Canada for saving its National Igloo (now covered with a dome to protect it from global warming) and both the Governor of Michigan and George W. Bush (while campaigning for President) to express their pleasure that Prime Minister Jean Poutine had given his support to Bush' candidacy. (Poutine is a tasty but fattening snack of french fries, cheese curd and gravy.)

(Before Mercer meets the Governor, we are told that the State of Michigan enjoys $156 million in trade with Canada every day.)

Among other things that Americans have congratulated Canada for are:

  • legalizing staplers
  • legalizing insulin
  • legalizing daily newspapers
  • getting 800 miles of paved roads
  • getting electric lights in parliament

In addition, Americans have congratulated Prime Minister Tim Horton for getting his first double-double (ostensibly support of both houses of Parliament, but really extra cream and sugar in one's coffee from the popular donut shop that was founded by a famous hockey player).

Mercer visited Mount Rushmore to explain to Americans that the mining rights to the monument were now owned by a Canadian company. His question was whether it would be better to explore via precision blasting through the nose or drilling from the back of the head.

He got such answers as that they should pursue the mining method that would cause the least environmental damage. No one seemed to actually object to having a Canadian company mine this prized American landmark.

The majority of Americans surveyed supported the bombing of Saskatchewan.

I thought to post this because a while back Bonita taped a one-hour special that was nothing but Talking to Americans. I watched it a couple nights ago and while I found it hysterically funny I found it quite painful to find my countrymen making such ignorant asses of themselves.

No American seems to be immune. Not just politicians but also students and professors from such universities as Harvard, Stanford and NYU.

While visiting Florida, Mercer discussed the merits of Canada's proposal to create a Navy. This was controversial because Canada (as he put it) has no access to the oceans. The plan was to have the Canadian naval vessels use U.S. ports. Generally Americans thought this was a good idea.

There's lots more but I think you get the idea.

I want you to think about Talking to Americans when you read news reports that most Americans support the planned war in Iraq. If the American public had their way, we'd be bombing Saskatchewan too.

Congratulations Canada, on getting a twenty-four hour clock.

My name is Michael, and I'm a caffeine addict

Bonita got the idea that it would be soothing to her jangled nerves if she started drinking decaf instead of regular coffee. Things were in fact more pleasant for her the very first day off caffeine.

In part to be supportive and in part out of convenience I started drinking decaf too. I cut out the caffeine cold turkey.

It happens that I have always had a powerful thirst. I always have a beverage at hand and I'm always drinking something. So if a pot of coffee is on I will drink it until it's gone. (Unquenchable thirst is a symptom of diabetes - I've been tested several times and don't have it. It just seems to be the way I am).

So it turns out that when we brew a pot, Bonita will have one cup of coffee and I will drink the whole rest of the pot. So I have been drinking about three pots of coffee a day for quite some time.

So yesterday around 5 pm I lay down for "a little nap". I just wanted to take a little break before setting into some difficult work.

Bonita tried to wake me but I was so exhausted I could not get up. I slept until 9 am this morning. So my little nap lasted 16 hours.

When I lay down for another little nap this afternoon Bonita got really concerned. After some discussion we decided that the decaf must be my problem.

We went out to the local bookstore cafe and I had a large coffee and then another with a shot of espresso added. Caffeinated.

When I got home I had the energy to work and in fact fixed a difficult problem I've been working on for a few days.

Bonita feels that she doesn't need to cut out all caffeine, just most of it, so she had me brew a pot of regular coffee to drink while I worked.

I find it disturbing though that skipping caffeine for a couple days could have had such a dramatic effect. I think I want to continue trying to cut down on my caffeine.

I just don't think I should try to do it cold turkey.

Ice Nine

Greetings from Sunny Nova Scotia.

Really, it was bright and clear driving up today - and about 25 below zero celsius with blowing wind. Bitter, bitter cold.

Someone told Bonita yesterday that this is the coldest winter in Maine in ten years. We believe it.

It snowed a couple weeks ago but hasn't warmed up enough for it to melt in the slightest, so the snow is still powdery. It was drifting across the road today like fine sand. Even though it was sunny the snowplows were out clearing the edges of the road.

I only got about two hours sleep last night because I was preparing for the trip. So I won't work tonight. But tomorrow I'm going to huddle in the motel room and work on my laptops.

I have to keep this brief because I'm dialed into my Maine ISP long distance.

I'm very close to having the passphrase application for FireWire Encrypt working on Mac OS 9. There is documentation and sample code for doing FireWire on OS 9, but the doc is very terse and the sample code is very complex, and doesn't quite apply to what I'm trying to do.

I have all the code written that I think should be necessary, but it is not working quite right.

I got the Windows driver development kit so I could learn to do FireWire on Windows. After I do Windows (which I expect to be my most difficult platform) I will do it on Linux. I run Slackware on a Pentium III box and Debian Woody on my Power Macintosh 8500, so I can support Linux for both x86 and PowerPC.

This will be WiebeTech's first product with explicit Linux support. It's happening mainly because I'm into Linux, and I reasoned with my client that Linux people are more security conscious and so disproportionately likely to be interested in the product.

While you can get free hard disk encryption with the GNU/Linux Crypto API, installation and configuration are somewhat daunting. I figure we'll make some Linux sales because our product is easier to use.

Bonita and I are going up to Nova Scotia for a few days. I hadn't expected to go, but Bonita was worried about driving by herself because our winter has been fierce at times and it's very, very cold right now.

So once I'm done with this diary entry I'm going to get both my laptops prepped to work on the road (I have a 450 MHz Pentium III Compaq Presario 1800T and a 700 Mhz OS X/OS 9 iBook.

The Compaq used to be my main development machine. I bought it just before I moved to Newfoundland, and found it very handy when I was traveling around so much. But Bonita needed a machine so I took all my whacky stuff off of it and configured it the way she likes it. I only get to use it when I travel nowadays.

mobius said:

I'd also forgotten how ugly the Advogato layout is. Yick.

That's funny, because I regularly point out Advogato to my friends as an example of particularly tasteful web design.

Someone emailed me just now to tell me that a google search for how to get ranked on internet turns up my article How to Promote Your Business on the Internet as the number one search hit, ahead of 551,000 other pages.

Me: Did you know that X-rays and gammar rays are just light? They're just higher frequency light.

Bonita: You say the sexiest things.

Happy News!

It seems that the firewire encryptor I wrote for WiebeTech is being enthusiastically received at the MacWorld Expo. There is every sign that my hard work and my client's investment will result in a commercial success.

Bonita and I are very excited about the news, as I imagine my client must be.

I issued my first press release ever, and have been faxing it to newspapers around Maine:

There is news coverage about FireWire Encrypt at MacObserver and MacCentral.

I think MacObserver was confused when James called the passphrase interface an "applet". In their article they call it a "Java applet". It's actually written in C++ and is a vanilla carbon application; we call it an applet because it so simple. I used ZooLib so I can make the UI for Windows and Linux from the same sourcebase.

7 Jan 2003 (updated 7 Jan 2003 at 01:44 UTC) »
Embedded Systems Development

So Nate Myers emailed me today to ask why I didn't just post a web page with the text of WiebeTech's press release about the product I developed for them instead of all these cryptic hints in my diary.

And I responded to Nate that his email was the first that I'd heard of WiebeTech announcing the product, and I didn't want to announce it before WiebeTech did.

(WiebeTech's press release is a Word document. Sorry. I'll ask them if it's OK that I post an HTML version.)

WiebeTech's FireWire Encrypt(TM) is an implementation of the Advanced Encryption Standard embedded in an Oxford 911 FireWire/IDE bridge. It encrypts each sector of the user's hard drive using the Rijndael block cipher.

It is designed to be portable and easy to use. Easy to use because the only software the user needs to install is a small applet to enter the passphrase. There is no complicated operating-system level software to install or configure. Portable because FireWire is a hot-pluggable technology for external devices.

A good use for the product would be to safely take confidential source code or business plans home from work on a hard drive, without fear that your secrets would be revealed if the hard drive were stolen.

WiebeTech will be demonstrating it on Mac OS X, but I plan to support it from Linux and Windows by the time the product is released to the public.

And yes, we're applying for a patent. But we're not applying for an algorithm patent. I disagree as much as anyone here with the abusive patents that the USPTO has been issuing the last few years, but I think this sort of thing is appropriate to patent.

Getting it to actually work was definitely novel and unobvious, and I believe that users will find it useful.


Someone emailed to ask me about what encryption mode FireWire Encrypt uses, and I thought I should post that here too.

It uses Cipher Block Chaining and Initialization Vectors.

Cipher block chaining is applied to each 16-byte block of a 512-byte disk sector. What you do is XOR the previous block's ciphertext over the next block's cleartext before encrypting subsequent blocks. This has the effect of making identical blocks of cleartext encrypt differently.

CBC can't be carried between disk sectors because the host can read or write each sector independently. To make identical sectors encrypt differently, I use an initialization vector.

What you do is XOR some value over the first block of cleartext in each sector before you encrypt it. The IV doesn't have the be kept secret. It doesn't even really matter what value you use, as long as each sector gets a unique IV. The simplest thing to do is to use the sector number as the IV.

I felt that was the best thing to do after reading about block cipher modes in Bruce Schneier's Applied Cryptography.

Initialization vectors work better than you might think because one of the characteristics of a strong encryption algorithm is that flipping a single bit in the plaintext will flip, on the average, half the bits in the ciphertext, with the bits that get flipped being apparently randomly distributed. So having only one bit of the IV being different from sector to sector will dramatically change the ciphertext.

I was also asked if the product checks that the user has entered the correct password. The version that will be demoed at MacWorld doesn't do that yet, but I think that verifying the password is very important for making the product accessible to regular users. I know a simple way I can do that, and plan to check passwords in the final released product.

50 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!