Holy cow, I wrote a book!
Even ten minutes after my conference talk was scheduled to begin,
people were still wandering into the hall.
My host explained that in Portugal,
nothing starts on time.
(This Web site goes so far as to say that arriving a half hour
to 45 minutes late is customary.)
I asked whether the Portuguese form orderly lines
when waiting for things.
The answer: No.
They just form a crowd.
One would expect that punctuality and waiting in orderly lines would
be correlated traits in a culture, since they both reflect a degree
of attention to detail and order,
but there are exceptions.
In Taiwan, people form very orderly lines.
For example, lanes are painted on subway platforms for people to
stand in, and everybody waits their turn in line to get on.
On the other hand, punctuality is not a Taiwanese trademark.
In the United States,
waiting in line is taken for granted,
but that doesn't always align with punctuality.
It is important to be on time for business meetings,
but the rules for social gatherings are more complex.
Is there a correlation between punctuality
and waiting in line in your country?
When the Internet Explorer folks
that they were going to call
their next version of Internet Explorer
Internet Explorer 7 for Windows XP and
Internet Explorer 7 in Windows Vista,
many people responded to the awkward name by suggesting that it
be shortened to
Internet Explorer 7 XP
Internet Explorer 7 Vista.
Why the longer names?
Microsoft's own trademark guidelines† specify that
the product names are Windows XP and
Windows Vista and not just
XP and Vista.
The trademark is on the entire phrase, not just the last word.
Furthermore, the trademark guidelines specify that
products may not append just XP or Vista to
their names; they have to say X for Windows XP or
X for Windows Vista.
In an earlier era, you had to be careful to say
Windows NT and not just NT for the same reason.
You see, the name NT is a registered trademark of
Northern Telecom, and part of the agreement with "the other NT"
is that the Windows product
would always be used with the word Windows in front.
If you took a close look at the Windows 2000 box,
you may have seen the phrase "Built on NT Technology."
I don't know how hard it was to do, but I suspect a good amount
of negotiations with Northern Telecom took place to allow
Microsoft to use that alternate formulation
without the word Windows in front.
Indeed, if you looked really closely at the box,
you'd have found a trademark acknowledgement for Northern Telecom
deep in the fine print.
Lawyers by training are very cautious people.
After all, a new lawsuit against Microsoft gets filed approximately
once every thirty seconds.¶
They're probably also responsible for all your Office# shortcuts
on the Start menu being named
Microsoft Office This 2007 and
Microsoft Office That 2007
This 2007 and
That 2007, or even (shocking!) just
It's a daring move, and lawyers don't like to be daring.
Nobody ever got sued for playing it safe.††
Nitpicker's corner (guest appearance)
*Just burning off a footnote marker because I don't like asterisks.
†I myself violate some of these guidelines because
I try to write like a human being and not
Only robots say Windows-based programs.‡
‡That statement is not literally true.
Here's a reformulation of that statement for the benefit of robots:§
"People who say Windows-based programs sound like robots."
§That statement is also not literally true.
Here's a reformulation of that statement for the benefit of people
who take a robotic approach to reading:
"Here's a reformulation of that statement for the benefit of people
who take a robotic approach to reading:"
||Burning off another footnote marker because I don't like parallel
¶An exaggeration, not a statement of fact.
#s/Office/Microsoft® Office™ System/**
**I have not researched whether that's the correct way of writing it.
††Okay, maybe somebody somewhere has gotten
sued for playing it safe.
It was just a catchy sentence, not a statement of fact.
I was in a meeting last year where I learned an interesting tidbit
One of the people at the meeting was looking at the
error reports submitted against Explorer,
and the breakdown went something like this.
For the purpose of discussion, the number of reports have
been normalized into "units", the precise meaning of which is
left unspecified, but is meaningful for comparison purposes.†
The XYZ virus (not its real name) and its variants together are
responsible for the top six categories of Explorer crashes,
and by an enormous margin.
Seventh place, an actual bug, comes in at only 1/80th the rate
of number six; if you group all the XYZ virus failures together,
then the combined virus failures outnumber the most popular Explorer
bug by a factor of nearly 600.
I remember reading a report that half of Explorer crashes can be
directly attributable to malware.
Seeing the top Explorer crash swamped by a single virus
really drives that point home.‡
†I don't know what these units mean either.
‡The anti-malware team is very interested in this data,
because when a new category of Windows crashes suddenly spikes
in popularity, there's a decent chance that a new virus is on
If you wander through MSDN, you may stumble across the function
The correct spelling is mnemonic.
Why is the function name misspelled?
"It was like that when I got here."
The function was originally written for internal use only,
and the person who wrote the function spelled the word incorrectly.
Still, since it was an internal function, there was no real
urgency to fix it.
After all, there is no technical consequence of the spelling
of a function's name,
as early entrants of the IOCCC discovered.
If you really wanted to, you could just call all your functions
F1 through F578173.
There the function remained, misspelled but inconsequentially so,
for some time.
Since it was an internal function, it didn't go through the normal
scrutiny that a public interface receives.
That's part of what makes it internal.
The effort required to fix the spelling was a bit more than usual,
since the function was used by multiple teams, so there would have
to be some coordination among the teams so everybody fixed their
spelling at the same time.
The issue sat on the back burner as a very low priority item
since it wasn't hurting anybody,
and the effort required to fix it really didn't justify the benefit
(which was zero).
In 2001, the order came down to document all functions
which met specific criteria (the details of which I will not go into,
and I would appreciate it if others didn't try),
and the SHStripMneumonic function
was suddenly thrust onto the public stage before it had a chance
to so much as comb its hair and make sure it didn't have food stuck
in its teeth.
The function had to be documented, warts and all,
and the bad spelling was one of the warts.
Of course, now that the function has been published,
its name is locked and can't be changed,
because that would break all the programs that used the original
Some commenters are suggesting ways that the function could have
combed its hair and removed food from its teeth,
completely ignoring the point that the function
had to be documented, warts and all.
I assure you, nobody wanted to comb that function's hair
more than me.
When last we left my dead desktop computer,
it had returned to the world of the living with the assistance
of the onboard video adapter.
The screen was fuzzy because I was running my LCD monitor through
the analog VGA cable.
Performing an auto-adjust helped a little
but it was still blurry.
Still, it was within the realm of acceptability for casual low-volume use.
Well, the computer once again died, and before it finally kicked
the bucket, the onboard video card started pumping out corrupted pixels.
My suspicion that my motherboard ate video cards was correct.
In fact, its appetite for video cards was so voracious,
it ate itself.
Okay, so here are the options I've been able to come up with so far.
The first option is out because the rate of consumption appears to
be one video card per month, which is a rather expensive diet.
The second option is a possibility, but the computer was purchased
pre-assembled from a name-brand manufacturer, so the odds of finding
a motherboard that exactly fits into the original case are pretty
I'll probably have to move everything to a new case.
The third option is the lazy way out,
and is in fact the solution employed by most non-technical users.
For now I'm going to investigate option two.
I'll have to take the computer apart to get at the motherboard anyway,
and then I can investigate what type of replacement I need to get.
(In terms of socketry and stuff.)
Though who knows how long it will be before I actually get around
to fixing the computer.
which was manufactured back in 2000
continues to chug along happily.
In Lisbon, walk/don't walk signs are mostly decorative.
The real rule for crossing the street is
look both ways and cross when safe.
There's no requirement that you use a designated crosswalk.
As long as the coast is clear, you can cross the street anywhere.
When my host for
accompanied me to the conference center,
we crossed the street and my host pointed out,
"You know, we're actually using the official crosswalk this time."
I was talking with one of the faculty members of the
computer science department at IST
and mentioned that in Seattle,
the police issue tickets for crossing the street incorrectly.
The faculty member responded,
there is no such thing as crossing the street incorrectly."
(For what it's worth, people in Madrid restrict themselves to crossing
at crosswalks and generally observe the walk/don't walk signs, although
if the light says don't walk and there are no cars anywhere nearby,
they will cross anyway.
This evaluation of Madrid crosswalk behavior is probably
skewed by the higher concentration of tourists.)
Here are a few citations. On a list of activities:
On-board a new team member.
Presumably they mean bring on board.
What makes this particularly interesting is that they didn't
convert a noun to a verb;
they converted a prepositional phrase to a verb,
demonstrating once again the
malleability of the English language.
Here's a snippet from a blog post which seems to use the same meaning,
but dispensing with the hyphen:
Over the past 4 weeks, we have been
On the other hand, there are usages whose intended meaning I can't
quite figure out.
Some titles from documents I don't have access to:
How to On-Board Tools on the Extranet
And a subsection from an old document:
Attend a client planning meeting
Frooble analysisMeeting daily with ABC team
to map out migration
On-Board to client devFeb. 2006
On-Board to client testTBD
Client test completeTBD
On-Board to DEFTBD
DEF sign-off by GHITBD
ABC, DEF, and GHI were TLAs I did not understand.
Frooble is a made-up word substituting for the actual word
in the schedule.
(And yes, "Go-Live" is a noun.)
As a final example, there is somebody at Microsoft whose official
job title is Senior Onboarding Manager.
If you can figure out what on-board means,
you're smarter than me.
Pre-emptive clever comment:
Internet Explorer 3 came with
the IRC client
a product from the research division.
And it's not surprising that a program as goofy as Comic Chat
would put something goofy in the default profile.
If you didn't set a profile when you created your character,
it defaulted to
"This person is too lazy to create a profile entry."
Of course, it wasn't long before people complained that
the text was snotty.
So much for trying to be funny.
this article on compatibility between the .NET Framework versions 1.1
there is a passing mention of a setting nicknamed the "Big Red Switch".
The power switch on the original IBM PC really was big and red.
Here's a picture of the power switch on an IBM PC-AT.
Decide for yourself what color it is.
In college, the hallway that led to
the basement lab where most of the computer science
students did their work had a big red switch, a pushbutton,
labeled "Emergency power shutoff".
Nobody was sure whether it actually was hooked up to anything
or was simply a joke,
but nobody wanted to take the chance of finding out, either.
I remember one evening some people were goofing off with a basketball,
and somebody missed a pass, and the ball
hit the wall dangerously close to the big red switch.
They (and everybody in the lab)
immediately realized what had almost happened, and the group
sheepishly took their ball outside.
Some time later,
the legend of the big red switch was ultimately resolved.
The morning after a particularly bad rainstorm,
one of my colleagues came into the computing center and explained
that he had gone down to the computer lab
the previous evening and found it flooded,
with water still coming in.
Realizing that electricity plus water equals danger,
he went over to the big red switch and pushed it.
And true to its label, it shut off the power to the lab and
the central file server.
We were all in awe that he got to push the big red button
for a legitimate reason.
An opportunity like that comes only once in a lifetime.
I know most of you know this, but I'm going to say it for the record.
When you have a dialog box with an OK and/or Cancel button,
do not give the keys accelerators.
In other words, simply write
DEFPUSHBUTTON "OK", IDOK, ...
PUSHBUTTON "Cancel", IDCANCEL, ...
The dialog manager already has those buttons covered.
The hotkey for the OK button is Enter
(since it is the default pushbutton),
and the hotkey for the Cancel button is ESC
(since its ID is IDCANCEL).
Note of course that during the lifetime of a dialog box,
the default pushbutton may change,
but the principle still stands:
Do not give the OK button a keyboard accelerator.
Oh, and while you're there, don't forget that the recommended
minimum size for pushbuttons is 50dlu by 14dlu.