October, 2006

  • The Old New Thing

    So that's what daddy does at work


    As many people have pointed out, 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 children, the result of extrapolation from too few data points. I remember a colleague of mine who brought his young daughter to work for Hallowe'en. A conversation with "Cathy" some days later went like this:

    "Hi, Cathy."


    "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."

  • The Old New Thing

    Separated at birth: The Windows XP SP2 launch team


    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?"

    Todd Wanke
    Robert Redford
    Rebecca Norlander
    Lisa Kudrow
    Mark Harris
    Ryan Stiles
    Laurie Litwack
    Paula Poundstone
    Jim Allchin
    Andy Warhol
  • The Old New Thing

    Руками не трогать!


    Former Microsoft "big-time important guy" Charles Simonyi wants to be the first nerd in space. In 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 "Руками не трогать!"

  • The Old New Thing

    Why can't I get my program to use more than 50% of the CPU?


    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 hyperthreading enabled. (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 Old New Thing

    Now it looks like I speak far more languages than I actually do


    The folks over at TechNet Magazine have done something really cool: They've started translating all their articles into Spanish, French, German, Russian, Brazilian Portuguese, and Simplified Chinese. (But no Swedish.) You can change your language on the fly with the combo box in the corner. (MSDN Magazine 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 translating Windows...

    (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?)

  • The Old New Thing

    The great Polish Sea -or- We forgot Poland!


    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, but Windows 2000 did. And whether your copy of Windows XP has this problem depends 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.

    When the 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:

    • Windows 95: (GMT+01:00) Warsaw
    • Windows 95: (GMT+01:00) Lisbon, Warsaw
    • Windows 98: (GMT+01:00) Bratislava, Budapest, Ljubljana, Prague, Warsaw
    • Windows 98: (GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb

    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 remembered Poland.

  • The Old New Thing

    Let the dead computer scavenging commence!


    Now that 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.

  • The Old New Thing

    For a brief shining moment, DirectX was more popular than another word that ends in x


    In the month after DirectX 3 was released, "directx" became the number one most-searched-for term on microsoft.com. 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?

  • The Old New Thing

    Non-resolution of the dead home desktop problem


    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 Edition. 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 C:\CARDS\CF.

    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.

    Some improvements:

    • USB 2.0 ports. (My old computer had only 1.0.)
    • The fans shut off in standby mode. (My old computer left the fans running, which negated much of the benefit of standby mode.)
    • "Shut down and restart" actually works. (For some reason, my old computer was incapable of restarting.)
    • The new computer is a lot quieter.
  • The Old New Thing

    Offline mode silently prevents you from streaming media content


    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...

Page 1 of 4 (36 items) 1234