I'm in the bay area for a CSS working group meeting. My flight over
was mostly eventless, but the stop-over at Seattle...
I didn't know David's street address (which is where I'm staying
— thankss David!) so I couldn't fill in the "Street Address"
part of the immiration paperwork. I figured that wouldn't be a
problem. After all, I'm available by e-mail much, much more
reliably than I would be at a street address.
After taking both my fingerprints and a digital photo, and asking
me if my trip was for business or pleasure (
I'm here for a CSS
working group meeting... Internet Web Standards work. I work for Opera
Software. We make Web browsers?) he sent me to the Special part of
Same questions, in more detail. Is my trip for business or
pleasure? Internet, you say? How can you not know where you are
staying? I gave him David's phone number (I have no idea what I would
have done if I didn't have that on me — I happened to copy it to
my laptop about a year ago, and it was still there, luckily). That was
an amusing call.
Hi, this is customs and immigration from
Sea-Tac... Are you expecting a visitor? Is it for business or
Eventually he let me go through to customs. The guy at the head of
that line took one look at my paperwork and sent me straight to the
Special Line for a thorough examination of my bags.
Is this all you have? One backpack? Yup, it's all I have. Lots of
t-shirts, lots of underwear, one laptop. He carefully took the entire
thing apart, examining each sock. Wow, you really do have a week's
worth of stuff here. Yes, that's what I said. Is this for business or
pleasure? By this point I was on the verge of giggles, but I tried to
remain serious. Where will you be meeting? At Microsoft's campus in
Mountain View. Do you have an invitation letter? We do everything by
e-mail. Do you have a print-out of the e-mail?
A what now?
Ok, you can go.
I hand in my now quite well-used customs form (it's been cross-out,
filled in, cross-out again, and had notes and signatures put all over
it by this point) to the person on the way out of customs and walk
straight into the Connecting Flights Security Checkpoint.
Shoes off. Coat and shoes in box. Books in box. Open backpack, take
laptop out, but laptop in third box. Put backpack on conveyor. Go
through metal detector. Twiddle thumbs while security peer at the
X-ray picture of the bag which just a few minutes ago had been taken
apart and put back together again. Laptop back in backpack. Shoes back
on. Coat back on.
Check-in to my connecting flight went reasonably smoothly, although
with only the information that I had a ticket for "AS324" and had been
automatically rebooked to a later flight, and without really knowing
what airline "AS" was (Alaska Airlines), it took me quite a while to
work out how to do it. In European airports you don't get this
problem, because typically when you enter the check-in area there is a
huge display with every departing flight listed (including those that
left in the last few hours) and the location of the appropriate
Next, another security checkpoint, this time to enter the domestic
lounge. I get to the head of the line and am redirected down a long
lane to the Extra Special Security team, because, without my noticing,
my boarding pass had been quad-Sed.
"SSSS" is what you see on your boarding pass in the US if you have
been granted the special privilege of skipping the queue and getting a
more detailed screening instead. It's usually a good thing (you get to
skip the queue) but you have to notice it to take advantage of it.
Shoes off. Coat and shoes in box. Books in box. Open backpack, take
laptop out, but laptop in third box. Put backpack on conveyor. Go
through metal detector. Wait... Sit down on chair. Raise left leg
while security person checks for metallic objects. Raise right leg for
same reason. Stand and face my bags, arms out while the metal detector
wand checks the rest of my body. Do you have anything in your pockets?
Oops. Empty pockets. Pat down. Watch while my bags are swabbed for
By that point I'm pretty sure I was certified as the least
dangerous person in the entire state.
Back in June, I went to see David Bowie in concert in Bergen. It was cool. I could go on
for some time about the various technical details I noticed, like the amusing one 500ms delay
on the (rather distracting) "live" video feed in the background (especially amusing when they
cut from one camera to another, and the second has the display in frame, so you see the cut
again 500ms after the first cut, in the background of the shot), but it would be pretty lame,
so instead I'll just say that I enjoyed the concert, and that the music was great.
I also enjoyed the lower profile concert we went to later that evening, although the
band's name escapes me.
Between those two concerts we briefly stopped by the weekly Bergen Linux User Group pub meet, where I got to meet
some of the people involved in the famous
implementation of RFC1149. They told me
there is talk of making a second implementation, in the hopes of proving interoperability and
therefore securing Standards Track approval for the RFC. I didn't know whether to encourage
them or run away.
In Oslo, we went sailing aboard the 404 Not Found, Håkon's boat, on the Oslo fjord. The first
time, the water was so cold that when I dived in, I screamed all the way to the surface...
the second time was a lot warmer, thankfully.
On the other hand, on the second sailing trip the wind speed was quite low, and our 21st
century impatience resulted in us drifting slowly from gas station to gas station, looking
for one who would fill us up on a Sunday evening. Under the captainship of Håkon and
the navigation of MarkS, the fuel situation was soon resolved, and nobody had to be sacrified
for the greater good.
Late last year I set up a
system called ART at Opera: the Automated Regression Testing system. Over the past few
months this has caught a number of regressions that we may otherwise not have noticed, and
thus hopefully increased the quality of our more recent releases.
ART is quite limited, however; it only works for Windows, it only does screen-capture
testing, it's only one machine at a time, etc. So after designing and implementing ART, I
started designing SPARTAN, the Systematic Performance Analysis and Regression Testing
Automated Network. This would be a distributed ART system with all the trimmings,
cross-platform, testing all the various branches and products we have on the go, even doing
performance analysis and drawing charts. Unfortunately around the same time a lot of my other
projects starting taking more time — editing specs for the W3C and the specs that later
became WHATWG's, writing test suites, as well as some
Opera-internal stuff I can't write about — and so actually SPARTAN was shelved.
Meanwhile, however, ART was finding regressions, and showing that it could do so
significantly faster than the manual testing Opera had been using so far. So eventually I
started looking for someone that Opera could hire to implement SPARTAN for us. This is how Kam came to work for Opera: he's here
on a three month project to implement SPARTAN.
Kam's presence of course means that his Gamecube is once again in the same country as me.
I vehemently deny the accusations that the story above about hiring Kam because I was looking
for someone to implement SPARTAN is just a cover for me getting to play on his Gamecube
again. And the recent release of Mario Party 5
around the same time he and his Gamecube arrived in Oslo is a complete coincidence. Having
said that, Mario Party (and later WarioWare, which is
even more insane) has been the source of many fun evenings. He also "forced" me to play
Pikmin 2, a game that involves much maiming and killing of little cute coloured
There is strong evidence that the water supply in the Nintendo offices is laced with
Scott Collins is in town too, working in the same building as
Opera even, although (somehow) we managed to not run into each other except for the one time
we specifically planned to. Bloo is also around, and Junyor will be moving over here too in a
few weeks after his wedding. Bloo is currently spending some of his work hours writing tests
for the Web Forms spec, and has
been finding all kinds of edge cases in the process, as people subscribed to the WHATWG
mailing list have undoubtedly noticed.
I made several purchases this summer. I purchased the Norwegian edition of a board game
known as Monopoly. I purchased a cheap badmington set. I purchased a couple of trains. Update: It has been pointed out to me that actually it was Eira who bought the badmington set and not me. In hindsight, that does indeed make much more sense. When have I ever bought sports-related equipment before?
I love Monopoly. The first few games we played were reasonably limited in terms of house
rule modifications, but then we played a game where the deals were not limited to
instantaneous tangible trades, as the official rules require. I love games where anything
goes simply because of the sheer insanity that ensues.
In this particular game I negotiated a deal whereby I owned both of the big blue
properties, was responsible for all house purchases and sales on the set, and would give half
of my income from those properties to another player (who originally owned one of
the blues). Note that the deal was structured around the actual income, not, as
would be fair, around the theoretical amount which I would be owed when someone lands on the
property according to the normal rules. Note also the curious absense of a "free rent" clause
for the other player. (Actually, the player in question volunteered to pay for rent when he
landed on the property, it wasn't my laughable negotiation skills that got me this deal.)
The significance of all this didn't become evident until later on in the game, where my
partner in this deal needed cash, but had no properties of his own. In fact, his only income
was the big blues. And he only got half of what I got. So when someone landed on the
property... I suddenly had a heart and charged the poor soul only $4. Twice. Sure, it meant I
didn't get any money from that monopoly either, but then I had others, with much fairer
deals. The big blues thus sent my partner out of business. Good times!
Talking of games, last Sunday I played Ursuppe ("the primordial
soup"), wherein you play some amoebas that have to eat each other's excrement, while
purchasing genes with which to improve your survival rate. A fun, if rather odd, game. I am
trying to think of a way that one could introduce the concept of Evolution into such a game
without removing the skill aspect (which is somewhat of an oxymoron, but still).
The badmington set was used once. Thankfully nobody saw us.
This leaves just the trains. Quick autobiography: ever since I was... well, as far back as
I can remember, in fact, I have wanted to own a train set. When I first wanted this, my
parents bought me Brio wooden
trains. Those were great. I had kilometers of track and lots of engines (well maybe not
actual kilometers, but certainly enough to cover the entire floor of my bedroom with track).
Then later they let me buy a Märklin starter pack,
which I quickly expanded. Electric trains, electric points. My dad helped me with the
landscaping. I remember having a huge board on ropes that I could lower from my ceiling to
But what I really wanted was Märklin Digital. The holy grail: digital control
over trains and points so that you can individually control each train, without having to
have different parts of the track with different transformers. And the cherry to top the
whole thing off: The Märklin Digital Interface 6050 unit, so that a computer can run the
Unfortunately Märklin Digital costs a fortune. So I spent my childhood absorbing the
catalogue, wishing for the day where I could afford and own my own digital set.
Fortunately, I now have a job! And thus I am now the quite proud owner of a small digital
layout with two gorgeous Swiss trains (29858), a Control Unit 6021, and the cherry itself,
the Märklin Digital Interface 6051 unit. (Yes, in 20 years, they've only revised the
protocol once. That's some backwards compatibility for you.)
To connect the Digital unit to a computer, you use RS232. Problem: My work-provided IBM
Thinkpad X31 has no serial port. My old Inspiron 8100 does, but it suffered catastrophic disk
failure on its internal disk about 2 years ago, and catastrophic disk failure on its media
bay removable disk last summer.
I had had the internal disk replaced several times, but each time it died on the spot
(almost literally, the new disk would die during OS install), so, since I the media bay disk
worked fine at the time, I had pretty much given up on Dell fixing the disk. Then when the
media bay disk died I had the X31, so I just packed the Dell away and forgot about it.
Needing an RS232 port changed all this. You see, the 8100 has ports for pretty much
everything. So, two months from the end of my international, next business day, on-site
warranty, I started the Dell Dance.
First, since I had moved country, I had to get Dell to transfer my warranty. That was
surprisingly easy actually. They claim it takes one or two business days, it actually took
all of 15 minutes.
Second, I had to reverse-engineer the Dell Support Broken Disk Script. I had a head start
on that since I'd gotten all the way to "we agree your disk is broken we'll send you a new
one" a couple of years ago, so I copied and pasted the text from those e-mails and added the
bits about my media bay disk also being dead, and the CD drive having issues at the same time
as the disk. The idea here was to convince them that not only had the disk died, but that the
integrated IDE controller (and thus the entire motherboard) needed replacing.
I got an e-mail back. Not convinced. Turns out you also have to mention something about
running the disk diagnostics and something about trying the disk in other machines. I added a
paragraph or two quoting all the diagnostics programs I could run (I have now seen the same
disk receive errors 17, 27, 37, 65, 67, 75, "no SMART support", "no disk", and "00 PASS" from
the same BIOS disk diagnostics program all on the same day — beat that!), added a
paragraph explaining that given the destructive nature of the problem I had no intention of
testing the disk in other machines or other disks in this machine, then sent the e-mail
Dell Norway do not respond to e-mail very quickly.
But eventually, I got a reply back, saying they were convinced, and would repair the
computer. I sent them my details and waited.
And waited. Dell Norway really do not respond to e-mail very quickly. After about
two weeks I wondered if maybe I had deleted an e-mail from them by mistake, thinking it was
spam, and so sent them a second copy of my e-mail.
A few days later, I got a reply. Yes, we'll come tomorrow. Horrah!
A courier came. I handed over my laptop, expecting him to take it to Dell HQ and have them
fix it. It turns out he wasn't a courier. He was a technician. He fixed my laptop on the
spot, in Opera's reception area. Took him no more than 20 minutes to replace the motherboard
and both disks.
I am pretty impressed. I had for some reason assumed that "on site" meant "you don't have
to drive to use, we'll send someone to pick it up", but apparently it really does mean "on
site". So while I am disappointed that every Inspiron I have ever heard of has eventually
suffered from serious diskache, and while I think it should be a little easier to convince
them that something is wrong, I am moderately pleased with Dell's technical support.
(They are even quite happy to support machines after you've installed Linux on them, so long
as you agree to try installing Windows to see if that solves the problem before you ask
them to replace any hardware.) I'm considering extending my warranty.
The machine has been working smoothly since the repairs, and so I've been writing some perl scripts to control my
trains. There is something very cool about typing in some Perl code and having switches
switch, engines move, and sensors report back. I'll probably go into more detail about all
this at a later date.
Over the last few months I've also been busy reading books. I read Peter F. Hamilton's
Pandora's Star, part one of the Commonwealth Saga; Peter F. Hamilton's
Fallen Dragon; Neal Stephenson's Zodiac, the
Cryptonomicon, and Snow Crash; The Tenth Planet, book
one of a series by Kristine Kathryn Rusch and Dean Wesley Smith; Robert Doherty's Area
51: Nosferatu, book eight in the series; Robert Pirsig's Zen and the art of
motorcycle maintenance; Scott McCloud's Understanding Comics and the
sequel, Reinventing Comics; Orson Scott Card's Ender's Game (for
the second time); and a few others whose names escape me right now.
They were all good. Now I'm reading some Wodehouse and another Neal Stephenson.
A few weeks ago Opera had an off-site wherein 40 or so of us from the Oslo office went to
a Go-Karting establishment to drive around a "Technical Track" (well that's what the manager
called it during our briefing). That was great fun. We had eight teams of five people each
and 90 minutes of driving time. I was quite pleased with my times given that it was my first
time. Eirik has photos.
I've been to the cinema a few times recently too, seeing, amongst other things, I,
Robot. If you haven't seen it and don't want to be spoilt, stop reading now.
As a kid, I read every Asimov book I could lay
my hand on. I knew the three laws by heart. I didn't realise it at the time, but the three
laws had in fact reached some kind of holy status for me. Seeing the three laws in a
mainstream movie theatre, as the title sequence of a Hollywood production, had a strange
effect on me, much as I imagine Catholics might feel if the Pope was to speak to them
As far as the story itself goes, I quite liked it. I've heard a lot of people take offense
at the movie, but I don't really understand why. For example, "They stole Asimov's title to
sell the movie" is a stupid statement, since the book's title wasn't Asimov's idea in the
first place (it was Eando Binder's; Asimov's editor thought it sounded better than Asimov's
title, as any self-respecting Asmiov fan knows). Saying that the story was different to the
book is a truism, but then the book was an anthology, not a single story, and the film never
claims to be anything more than "suggested" by Asimov works. (Indeed it was significantly
more true to Asimov than I had expected. Did I mention it prominently featured the three laws
More specifically, saying "no Asimov robot would ever act like the USR core (VIKI) did" is
stupid too: VIKI derived a zeroth law ("No robot, through action or inaction, may let
humanity come to harm"), which is exactly what Daneel did. Asimov even has a story where the
robotic protagonists interpret their law in such a way that the term "Human" includes
themselves (the robots). In fact the only thing I would say VIKI did that doesn't seem very
in-the-Asmiov-spirit, as it were, is the level of violence with which it "protected" the
humans near the end (even killing some of them — did that really protect humanity? I
can't see how, surely there would have been less fatal methods for doing that).
The moral of that story, however, IMHO, had nothing to do with robots or rules of robotics
or the pitfalls of your estate licensing the rights to your books to Hollywood post-mortem.
The key part of that movie is that VIKI can remotely update the firmware of the robots. A
central location — the USR headquarters — can, under the guise of fixing bugs in
their software, run arbitrary code on devices across the planet.
Now, in the movie, none of the humans were evil, per se; it was a sentient or
near-sentient computer that was the problem. But still, it basically meant that anyone with
root access at US Robotics could take over the world if they wanted. In the movie it was an
artificial intelligence, but it could easily have been the company CEO with delusions of
grandeur, a sysadmin gone crazy, a discontent employee, or (hey, it's in fashion these days)
So the conclusion I drew is that it would be very bad for a single entity to be able to
arbitrarily run code on devices world-wide.