Holy cow, I wrote a book!
I'm pretty confident I'm going to regret this.
I have been goaded into
The Double-E Half Hour of Pain,
The Fat Cyclist.
Indeed, Mr. Cyclist has
already started the trash talk.
My strategy will be to start slow and taper off.
(Especially since it will have taken me about an hour and a half
just to get to the starting point.)
I'll be the one in the black shorts and yellow shirt,
with a heavy bicycle
a withered hand.
(I just like saying "withered hand".)
Sara Ford's PDC trip report:
Some of my own stories and observations from the PDC.
If you're designing a hotel, don't put big noisy fountains
right next to the check-in desk.
Turns out that if you do that, conversation between a guest
and the desk staff becomes rather difficult.
Eventually, guests get tired of asking the staff to repeat
everything they say and just nod politely.
Go ahead, walk from the hotel to the convention center in the morning.
It's good exercise, and goodness knows you need some exercise after
all that food you've been eating.
And who knows, you might run into a Dane named
[fix misspelling, 10am]
and end up comparing the Swedish, Danish, and German languages
for fifteen minutes, and be reassured by said Dane
that Danish pronunciation isn't as difficult it sounds.
Hey, it could happen.
At the hip revolving cocktail lounge at the top of the hotel,
there are two types of people.
There are the cool people.
And there are the nerds who are in town for a technology conference.
You, my friend, are one of the nerds.
(And you also would have computed that
the lounge performs one turn in approximately 75 minutes.)
When you're waiting for the elevator to arrive,
don't peek through the crack in the doors
if the elevator is external.
You will see the sky and get all creeped out.
If there is a police officer on a motorcycle waiting at a stoplight,
don't jaywalk right in front of him.
It turns out he'll notice and write you a ticket.
(Actually, he might just let you off with a warning, but why chance it?
Drivers in Los Angeles are crazy.
He's stopping you for your own safety.
Fortunately, I did not have to learn this lesson first-hand.)
I'm sorry, I don't care how yummy it is.
A fountain of chocolate is just plain wrong.
They say the camera adds ten pounds.
What they didn't say is that
it also makes your left hand look all withered and deformed.
In speaker training, they teach you to keep your hands up,
closer to your face.
That's why in all the pictures of Bill Gates giving a speech,
his hands are at
I tried to keep my hands up, but my left hand tends to droop
and turn into one of those claw things.
Talking with customers for over eleven hours straight really
wipes you out.
It also gives you a sore throat (and I'm afraid I may have caught something
but I'm doing a pretty good job of fighting it off so far).
At Ask the Experts, one of the sections was titled "Communcation".
If you're going to go from the PDC straight to the airport,
stuff an extra shirt in your day pack so you can change out
of your PDC staff shirt and not wear it all the way back to Redmond.
Because it turns out that if you wear a staff shirt outside the
convention hall, you just look like a nerd.
(See item 3.)
I met up with Sara at closing time Friday since we coincidentally
had the same flight out.
Since the flight wasn't for a few hours,
it was nice to have someone to chat with to pass the time.
(And yet nobody took her up on her
lunch date offer.
What, were you scared of her?
Really, she's a very nice person.)
Boarding for our flight was announced and we waited our
turn on the
After a few minutes, an agent wormed her way through the line
and headed for the plane.
It was then that we realized,
"Hey, this line hasn't moved for a long time.
I wonder what's going on."
Another few minutes later, a police officer walked down the hall and
onto the plane.
Everybody moved to the walls, clearing a path down the center.
Because when a police officer gets on the plane,
you know he's coming back off one way or another,
and it's not going to be pretty.
(It's not like the flight crew ask for a police officer because
they would like him to sing a song.)
Some time later, a second police officer got on the plane.
And then two more airport employees.
Everybody waiting in line was trying to guess what was going on.
Eventually, a middle-aged gentleman walked calmly off the plane,
followed by the two police officers and the airport employees.
As the last of the airport employees went past, someone in the
line asked, "What happened?"
The airport employee didn't break stride and just said, "Idiot."
As we got on board, everybody was trying to figure out what happened.
I was seated next to two gentlemen who didn't know either;
the disruption was at the back of the plane.
Sara did a pretty good job of fact-finding and the story (fourth-hand
by now) was that the gentleman had a ticket for a later flight but
tried to muscle his way into a seat
and became rather unpleasant when the flight crew asked him to leave.
When the police showed up, he immediately backed down, realizing that
the jig was up, and went quietly.
There were, of course, no seats available on any earlier flights.
Los Angeles to Seattle the afternoon after the Microsoft PDC,
tickets are going to be scarce.
Probably half the people on the flight were Microsoft staff
This gentleman's effort to get home two hours earlier made an
entire planeful of people late by ten minutes.
And I suspect he's going to have a hard time buying a ticket
from that airline for a while...
I was looking through the feedback from
my 2005 PDC talk,
and I noticed an interesting contradiction.
The written feedback indicated that the first half
of my talk (wherein I talked about memory management and
"paying your taxes") was more favorably-received than the second
half (on user interface issues).
On the other hand, nearly all of the questions people asked
afterwards were about the user interface issues.
"Wow, that thing about parent and owner windows,
I think that's why my program is crashing,"
"Gosh, synchronized input explains this
problem we've been having."
I've been told that "the quality of the questions you get after
a talk is the best indicator of a talk's success",
so I'm inclined to go with the people who were more interested
in the second half than the first half.
(Of course, the increased interest in the second half might
just mean that I did a worse job in that part and people needed
to come up to me to clarify the things I did poorly!)
Maybe my next title should be "Story Time with Raymond".
It could be the only 100-level talk at the PDC.
When I discussed
why there is no all-encompassing superset version of Windows,
as an explanation of
why there are so many versions of Windows Vista.
I guess these people never even made it past the title of the article,
which argues for fewer Windows versions, not more!
Besides, the article talked about the server side of Windows,
not the workstation side.
The target audiences for servers are very different from the target
audiences for workstations.
some people were able to follow my point.)
The list of Windows Vista versions
was news to me as much as it was news to you.
It's not like everybody tells me what's going on at this company,
or that I'd have the time to keep up on it if they did!
(There's so much going on here,
I can't even keep track of what my colleagues on the shell team are doing,
and they work on my hallway!
When I want Windows news, I turn to Paul Thurrott just like
At least it appears that the people who want the all-encompassing
superset version of Windows Vista Workstation will have their wish
with the "Ultimate" plan.
Trying to make light (get it? light?) of the situation,
there were quite a few jokes about the power outage at the PDC.
The Hands-On Lab was being set up at the time the building went dark.
A bunch of us speculated what the technicians
must have been thinking when the power went out just as they
plugged in a rack of computers...
Perhaps in reaction to this, the "Frequently-Used Tasks" section
of the Hands-On Labs software included a new task:
Cause Power Outage.
I of course couldn't resist and clicked on it.
"Shame on you!" it roared back at me.
That colleague who gave me
the AOL CD that came with a big-iron server
later received a prototype Itanium computer for testing purposes.
The early Itaniums were behemoths.
They weighed a ton, sounded like a weed whacker,
and put out enough heat to keep you comfortably warm through
(If you opened them up, you would likely see several carefully-shaped
Styrofoam blocks with the label
"Do not remove! Engineering styrofoam!"
I never thought I would ever see the phrase "engineering styrofoam"
Note: Styrofoam® is
a registered trademark of the Dow Chemical Company;
consequently, it should be capitalized.
The generic term is "foamed polystyrene".
Mind you, the Dow Chemical Company
also claims to have trademarked the color Blue [see **].)
Never one to read all the safety labels before playing with a new toy,
my colleague took the heavy-duty double-capacity power cables
and ran them to the normal wall socket.
Then he threw the power switch.
And the power went out in the entire building wing.
The power surge from the Itanium overloaded the poor wall socket
and tripped the wing's circuit breaker.
Everybody went through the standard power outage drill,
while speculating amongst themselves what the cause for this one
It didn't take long for word to get out.
"Fred plugged in his Itanium."
(Not his real name.)
After the electricians came by to check that everything was okay,
they reset the circuit breaker and everybody got back to work.
My colleague re-cabled the machine to be more friendly to the building's
Then he sent out email to the entire team.
"I'm turning it on!"
And then hit Ctrl+S just in case.
Last Saturday night, a group of us
a performance of the Seattle Symphony consisting of
the world premiere of the orchestral arrangement of
Shafer Mahoney's Sparkle,
Richard Strauss' Don Quixote (with guest soloist Lynn Harrell)
and concluding with
Brahms' Fourth Symphony.
I was pleasantly surprised by the Mahoney.
World premieres are a hit or miss affair (mostly miss),
but Sparkle had wit and direction.
It had the feel of an overture, because when it was over,
I was expecting Act One to start.
And even today, I can remember bits and pieces of it.
If only all world premieres had such stickiness.
I didn't have high hopes for Don Quixote either,
but for the opposite reason from Sparkle:
Instead of being apprehensive for the unknown,
I was dreading the known.
In my opinion, the piece merely rambles on and on,
and last night's performance... rambled on and on.
About a quarter of the way through,
the muffled electronic tones of a cell phone could be heard.
Imagine our surprise when the guest soloist himself
his jacket pocket, pulled out his mobile telephone, and disengaged
My seats were in the center of the third row, so I had an excellent
view of this surreal scene.
(The first-desk second violins, who were counting rests at the time,
found this rather amusing.)
The final piece was reassuringly Brahms.
I wallowed in the melancholy of the falling thirds and
the lyricism of the Andante,
and smiled to myself whenever I caught the opening theme returning
in a different guise.
The performance seemed to rush in places,
during which the orchestra had some difficulty keeping together,
but I was satisfied overall.
(Of the four symphonies, this one has the weakest ending, in
my opinion. It feels like he went, "Oh, right this is the last
variation, I should put a big chord here.")
It so happens that my seat was positioned such that I was
in the line of sight of the second first violin as well as the
second second violin.
When they were looking at their music, they were looking pretty
much directly at me;
it was kind of creepy.
I could see their eyes dart from the music to their stand partner
to the conductor.
Both of them are long-time symphony members so I recognized them
quickly enough, but my previous seats were much further away,
so I only knew them from afar.
Up close, I could read the expressions on their faces.
The second first is really their acting concertmaster who sits second
the Seattle Symphony is auditioning for a permanent
concertmaster after a messy break-up with the previous concertmaster.
She was all business, hardly cracking a smile the entire time;
this is something that is completely lost on me when I'm in the upper
orchestra much less the third balcony.
(I had to scour the program to figure out who the
guest concertmaster was this evening.
Elisabeth Adkins' name was dropped into the program
incidentally in a paragraph attributed
to Gerard Schwarz.
She wasn't listed as a guest artist or in the orchestra roster.
It appears that
Ms. Adkins is a finalist in the concertmaster search.
She did a fine job on stage, but the real work of the
concertmaster is behind the scenes,
so I don't know how well she fared there.)
Here's what Wendy had to say about the concert.
When the power goes out,
the first thing you notice is how
quiet everything becomes.
The hum of the computers in the building stops.
You hear... nothing.
Bask in its peaceful silence.
The next thing you do is
turn off all the machines in your office,
because you don't want to stress the power grid and network
when the power eventually returns
by having a hundred thousand computers all firing themselves up and
joining the network at the same time.
Of course, another thing you need to do is find your way around.
This can be quite a challenge if you're in a lab with no windows
and no emergency lighting:
It suddenly becomes pitch black!
Laptop computers prove useful at this point.
Fire up notepad and maximize it,
resulting in an all-white screen.
Use that screen as a flashlight to navigate through the lab
turning off computers and eventually leading yourself out of the
lab to daylight.
Next time, a story of an employee-induced power outage.
I guess one advantage of having a web site is that I can publish
I haven't watched
the Channel9 video
(and probably never will; it's hard to watch yourself),
but I do remember some of the questions at the end
that I wasn't able to answer off the top of my head,
but after a few days' research I think I can do it now.
The person who asked "When I call MessageBox
from my MFC application and shut down the system, why does my
application crash?" stopped by the Fundamentals Lounge later
and we went into more detail about his problem.
It turns out that he was a victim of one of the bullet
points I called out in the section on parents and owners:
He was passing NULL as the owner window to MessageBox,
which created two top-level unowned windows on the same thread,
something I also explained earlier this year
when discussing the importance of setting the correct owner for
As a result, the handling of the shutdown message resulted in the
support for the message box being torn down while it was still live
on the stack.
(I didn't cover this in my talk because I didn't want to bore
people with information they could already have gotten by reading
my earlier articles.
After all, the talk wasn't titled "Raymond's Greatest Hits".)
I made a mistake in my answer to
the question about transferring input due to a mistaken input
queue assignment due to a hole in a regional window.
In fact, the message does not move between input queues;
the window manager does a full hit-test against the region
before deciding which input queue gets the message.
The point of queue transfer is not to transfer the message,
as I mistakenly described, but rather is to transfer the
If there are two input messages in an input queue, one for
thread A and the second for thread B,
then it is thread A that is woken first to process the
When thread A processes the first message and then goes
back to ask for the second message,
the queue manager sees that the next message in the input
queue is for thread B.
At this point, it wakes up thread B and tells it that
it is being woken due to an input transfer:
"It's your turn now."
It so happens that as you all came to my talk to check me out,
I had spies in the crowd checking you out.
Sara Ford, a Microsoft celebrity in her own right,
told me that the buzz in the crowd was that I'm so short.
Well, in my defense, I would like to point out that
being on a raised platform makes me look shorter since the
front of the table takes about six inches off my height
due to the angle.
But yeah, I'm short.
And I'll take it as a compliment that
you don't consider me to be
For those who were wondering:
What was I doing when I was fiddling with the second computer on the
That computer was running a giant clock program so I could see how
I was doing on time.
For some strange reason, the standard PDC equipment for a talk doesn't
include a clock!
I was fiddling with it because I forgot to disable the screen saver,
so I had to wake up the computer periodically in order to keep the
Note that I never said
that I never wanted to be on video.
What I said was that
I don't do interviews.
Assuming the PDC organizers ask me back for the next PDC
what do you think the title of my next talk should be?
One reaction to my story about
the oldest computer at Microsoft still doing useful work
was shock (shock!) that Microsoft suffers from power outages.
In the Pacific Northwest, winter windstorms are quite common,
and it is not unexpected that a windstorm blow down tall trees
(which are also quite common) which in turn take out power lines.
And if those power lines supply Microsoft main campus, then main
campus loses power.
All the critical computers have UPSs so that they can make a soft
landing when the power goes out, but it's hardly the case that
every single computer in every office and lab gets a UPS.
That would be prohibitively expensive and wouldn't accomplish much
Sure, each of the five computers in your office might stay alive for
another fifteen minutes,
but this assumes that you're actually in your office to shut them
down cleanly when the power goes out.
If your machine is frozen into the debugger,
no amount of software-automated shutdown will help.
(A frozen machine cannot shut itself down.)
In other words, the cost-benefit of giving every employee a UPS for
each machine in their office simply doesn't pan out.
In the last few days of 1999,
the main Windows development building was prepared for
a wholesale catastrophe.
Generator trucks were brought in
so that the entire building could be kept up and running
should the power fail as part of a worldwide Year 2000 meltdown.
Those trucks were huge and no doubt extremely
And thankfully were never needed.
Those who were in Los Angeles last week for the
might be amused to learn that the PDC technical staff,
fearing a repeat of Monday's blackout,
rented a generator truck to provide emergency backup
power for all the machines on stage
for Bill Gates' and Jim Allchin's keynote addresses.
The power may go out in Los Angeles, but the PDC keynote must go on!
More musings about power outages next time.