Holy cow, I wrote a book!
Hallowe'en at Microsoft is a very family-oriented affair.
The parents love it because the kids are in a safe environment;
the kids love it because instead of having to go from house to house,
you just have to walk to the next office,
and then there's a big party in the cafeteria afterwards.
Though it does lead to some misconceptions on the part of the younger
the result of extrapolation from too few data points.
I remember a colleague of mine who brought his young daughter to work
A conversation with "Cathy" some days later went like this:
"Do you know where your daddy works?"
"He works at Microsoft."
"Do you know what your daddy does at work?"
"He walks around and gets candy."
When Paul Thurott
interviewed the Windows XP SP2 launch team,
he also included publicity photos of many of the team members.
Which, of course, prompted me to play a game similar to my
stunt casting of Harry Potter,
namely, "Separated at birth?"
Former Microsoft "big-time important guy"
Charles Simonyi wants to be
the first nerd in space.
this BBC article,
he says that he is even learning Russian so he can better understand
the systems aboard the Soyuz spacecraft that will take him up and back.
(Note to the humor-impaired: Joke begins here.)
When his Russian hosts learned this, they quickly took down all the
labels from the knobs and dials aboard the spacecraft and replaced
them with tags that read
This is sort of the reverse of
Why is my CPU usage hovering at 50%?,
but the answer is the same.
When I run a CPU-intensive task, the CPU percentage used by that
process never goes above 50%, and the rest is reported as idle.
Is there some setting that I set inadvertently which is
preventing the program from using more than half of the CPU?
My psychic powers tell me that you have a single processor with
(Because if you had a dual processor machine, you probably
would have mentioned it in your question.)
And my psychic powers tell me furthermore that the program in
question is single-threaded, or at least has only one thread
that is doing CPU-intensive work.
Therefore, that thread is being run by one of the hyperthreading units
of the CPU, and the other one isn't doing anything.
That's why you can't get more than 50% CPU usage.
The folks over at
have done something really cool:
They've started translating all their articles into
(But no Swedish.)
You can change your language on the fly
with the combo box in the corner.
is doing the same thing.
It's an epidemic!)
They did such a thorough job,
they even translated my screenshot!
(Though they forgot to adjust the picture size.
Hey, they're still new at this. Give them time.)
And by a stroke of synchronicity, they first article of mine to get this
treatment is one that even mentions the hard work that goes into
(Note: I didn't get to see the translations ahead of time,
so something may
have been lost along the way. For example, in the German version,
I don't think
"dass unser Programm schlecht aussieht" quite captures what
I was trying to say.
Something more like "ein schlechtes Licht auf unser Programm zu werfen."
I don't blame the translators, though.
How were they to know that I was talking more figuratively than literally?)
Open up the Date and Time control panel and go to the Time Zones tab.
Notice anything wrong with the world map?
Take a close look at northern Europe.
Depending on what version of Windows you have, you might
see a body of water where Poland should be.
Windows 95 didn't have this problem,
Windows 2000 did.
whether your copy of Windows XP has this problem
on precisely what version you have.
Where did the great Polish Sea come from?
This weekend marks the end of Summer Time in Europe,
and the answer has to do with time zones.
Recall that the Windows 95 control panel highlighted your current
time zone on the map.
To accomplish this,
each time zone was assigned a different label in the time zone bitmap.
To draw the map, the portions of the world whose label was the same as
the selected time zone were drawn in bright green, and the parts that
were different were drawn in dark green.
So far so good.
highlighting on the time zone map had to be disabled,
all that happened was that the "color for the selected time zone"
was set to dark green.
The code still went through the motions of drawing the time zone
in a "different" color, but since the colors were the same at the end of
the day, the visual effect was that the highlighting was removed.
To determine which parts of the world are land and which parts
are sea, the time zone map enumerated all the time zones as well
as the labels associated with each time zone.
(You can see them in the registry under "MapID".)
In this way, the land masses of the
world gradually emerged from the ocean as
the time zones claimed each spot of land one by one.
The shell team did make one fatal mistake, however,
obvious in retrospect:
It assumed that the world's time zones would never change.
But what happens when a country changes its time zone,
as Poland did?
At the time Windows 95 was released, Poland was on its own
custom time zone, which Windows 95 called
"Warsaw Standard Time/Warsaw Daylight Time",
but it didn't stay that way for long.
Just within Windows 95 and Windows 98,
Poland's time zone went by the following names:
And that's not counting the changes that were made in
Windows NT, Windows 2000 or
Windows XP or their service packs.
It's not that Poland's time zone actually changed that many times.
Rather, the way it was grouped with its neighbors changed.
I don't know why all these changes were made,
but I suspect political issues played a major role.
As a result of all this realignment,
the "Warsaw Standard Time" time zone
disappeared, and with it, its associated land mass.
Consequently, the land corresponding to Poland remained underwater.
And for some reason, nobody brought this problem to the attention
of the shell team until a couple years ago.
In order to fix this, a new world bitmap needed to be made
with new labels (labeling the pixels corresponding to Poland as
"Central European Time") so that Poland would once again emerge
from the sea.
Even though the highlighting is gone, the map code still needs to
know where every time zone is so it can raise them from the ocean floor.
Fortunately, all this will soon fall into the mists of history,
because Windows Vista has a completely rewritten time zone
control panel, so the mistakes of the past can finally be shed.
Let's hope the people who wrote the new time zone control panel
my old computer is up on bricks in the virtual front yard,
the scavenging has begun.
I got a piece of email from one of my colleagues saying,
"Say, you aren't using that PC-2100 memory any more are you?"
Why no, in fact, I wasn't. Christmas comes early.
(He offered to buy the memory off of me, but since I had already written
the old computer off as a loss, I just gave him the memory.
But even he didn't want the 256MB memory stick.)
I've still got a perfectly good Socket A 1GHz AMD Thunderbird,
a full-size ATX (not ATX1) case with power supply,
a modem (wow, remember those?), a network card, an AGP video card,
a small farm of CD and DVD drives...
I doubt anybody's going to want to scavenge those unless they're
just stocking up in anticipation of their own old computer going bad.
In the month after
DirectX 3 was released,
"directx" became the number one
most-searched-for term on
That in itself wasn't too surprising.
What was more surprising was the word in sixth place: "sex".
That puzzles me to this day.
What kind of people search for "sex" on microsoft.com?
And what were they expecting to find?
Last time, I told of attempting to upgrade my home computer and failing.
I ultimately gave up and returned the parts to the store,
telling them that I thought the IDE controller on the motherboard was dead.
They refunded my money after a false step where they refunded me more
than I paid for the components in the first place!
(I bought the motherboard and CPU as a bundle, but the person who rang
up the return treated them as two separate items and ended up refunding
me the full price instead of the bundled price.
It's one thing to return a defective product and get your money back.
But to turn a profit doing so is downright wrong.)
Thus bereft of computer equipment, I drove down to the local Fry's
and bought a bottom-of-the-line computer which would merely serve
as a shell for all my working equipment.
I would be using the motherboard, CPU, memory, and case from the computer,
but I didn't care for the other stuff since I would be performing
an "instant upgrade" with the old computer's DVD drive and hard drives.
It cost about $60 more than the parts I bought from the failed upgrade
attempt, but the saved grief was well worth it.
Skipping ahead in the story: After I got the machine up and running,
I plugged one of my old hard drives into the machine and...
the BIOS recognized it, and the volume mounted just fine.
On the other hand, I can't access the files on the drive yet.
I don't have a domain at home (I'm not that big of a geek),
so my SID on the new computer is different from my SID on the old
computer. My new account can't access files created by the old account.
I would have to do some SID history magic to get access to the files
protected by my old SID,
but I'm just going to take the lazy way out and do a recursive
"replace ACLs" on all the files on the old hard drives.
(This requires multiple passes, though.
First I have to take ownership, then I can change the ACLs
after I become the owner.)
Now about that new computer.
It comes with Windows XP Media Center Edition,
even though the video card doesn't have a DVI connector.
I was kind of baffled by this.
If you're going to run Media Center Edition,
doesn't that mean you're highly likely to hook it up to
some awesome flat-panel display for watching your videos?
I don't quite understand why this bottom-of-the-line computer
with an analog-only video card bothered to install Media Center
Who are they fooling?
Okay, so I'm going to have to upgrade the video card, too.
That increases the cost delta over the parts to around $160.
Still worth it though.
One of the odd features of the new computer is that it has
a 9-in-1 multi card reader built into the front panel.
This is a cute feature, but it is also frustrating since it
gobbles up four drive letters.
But that's okay.
I already described how you can fix this when I talked about
the infinitely recursive directory tree.
I created a directory called C:\CARDS and inside
it created directories C:\CARDS\CF,
C:\CARDS\SD, and so on.
I then used the Disk Management snap-in to de-assign drive
letters from each of those card readers and instead mounted
each card reader into the corresponding folder I had created.
Now I can access the contents of the CF reader by going to
One thing that really frustrates me about off-the-shelf computers
is all the shovelware that comes with them.
I fire up the computer and my notification area is filled with
useless icons I don't want to see again,
with more stupid programs jammed themselves into the Run key.
No, I don't need an AOL monitor running.
No, I don't need QuickTime pre-loaded.
No, I don't need a program to monitor my card readers and
do some evil icon chicanery.
The evil icon chicanery is particularly gruesome because every
time I log on, I get a dialog box that looks like this:
Good job there, stupid evil icon program.
I bet you assume the user is an administrator.
The computer also came with
a recovery partition.
I hate those too.
Today's status is that I'm not out of the woods yet.
I have a working computer,
I can mount my old hard drives (though it'll take work to get access
to the files),
I still have to upgrade the optical drive to the rewritable DVD drive
that I had in the old computer.
I still have to get rid of all the shovelware that came with the system.
I still have to reinstall the drivers for my rewritable DVD drive and printer.
(I'm sure I have that CD around here somewhere.)
And I still have to get a new video card that supports digital output
so I can use an LCD panel.
Into Windows Media Player (version 9 if you're keeping score at home),
I type the URL of an MP3 file (poor man's podcast) and get the error message
"The download of the specified resource has failed."
On this dialog there two buttons:
Close and Web Help.
Close closes the error dialog, of course.
Web Help does nothing.
Turns out the real problem was that I was in offline mode.
Go to the File menu and uncheck "Work Offline".
So if you get the
"The download of the specified resource has failed." error,
check that you aren't accidentally running in offline mode.
Working backwards, I'm guessing that the Web Help button didn't
work because I was offline.
Which is kind of ironic, because the only way to get help is to
have already fixed your problem...