August, 2005

  • The Old New Thing

    When people ask for security holes as features: Silent install of uncertified drivers


    Probably the single greatest source of bluescreen crashes in Windows XP is buggy device drivers. Since drivers run in kernel mode, there is no higher authority checking what they're doing. If some user-mode code runs amok and corrupts memory, it's just corrupting its own memory. The process eventually crashes, but the system stays up. On the other hand, if a driver runs amok and corrupts memory, it's corrupting your system and eventually your machine dies.

    In acknowledgement of the importance of having high-quality drivers, Windows XP warns you when an uncertified driver is being installed. Which leads to today's topic, a question from a device driver author.

    When I try to install any driver, I get a User Consent Dialog box which tells the user that this is an unsigned driver. Is it possible to author a driver installation package that by-passes this user consent dialog box?

    The whole purpose of that dialog is to prevent the situation you desire from happening! [typo fixed 5pm] If you don't want the warning dialog, submit your driver for certification. (For testing purposes, you can sign your drivers with the test root certificate and install the test root certificate before running your setup program. Of course, installing the test root certificate also causes the desktop to read "For test purposes only" as a reminder that your machine is now allowing test-signed drivers to be installed.)

    Driver writers, of course, find the certification process cumbersome and will do whatever they can to avoid it. Because, of course, if you submit your driver for certification, it might fail! This has led to varying degrees of shenanigans to trick the WHQL team into certifying a driver different from the one you intend to use. My favorite stunt was related to my by a colleague who was installing a video card driver whose setup program displayed a dialog that read, roughly, "After clicking OK, do not touch your keyboard or mouse while we prepare your system." After you click OK, the setup program proceeds to move the mouse programmatically all over the screen, opening the Display control panel, clicking on the Advanced button, clicking through various other configuration dialogs, a flurry of activity for what seems like a half a minute. When faced with a setup program that does this, your natural reaction is to scream, "Aaaiiiiigh!"

  • The Old New Thing

    How do you convince developers to pay their "taxes"?


    The Tablet PC team have a tough task ahead of them at this year's PDC: They have to get people to care about power management.

    The reason why this is tough is that power management is rarely a deal-maker. If a user is evaluating, say, personal finance software, how much weight are they going to place on which program consumes less battery power? That's probably a third- or fourth-level tiebreaker. No amount of power management is going to overcome the fact that your program's interface is harder to use than your competitor's. Nobody ever said, "Oh, yeah, I switched my word processor from X to Y because X was chewing too much battery power." When a battery doesn't last very long, users tend to blame the battery, not the software that is draining it.

    Power management falls into a category some development teams call "taxes". It's something you do, not because it actually benefits you specifically, but because it benefits the software landscape as a whole. Other taxes include making sure your program plays friendly with roaming user profiles, Fast User Switching, Hierarchical Storage Management, multiple monitors, Remote Desktop, and 64-bit Windows.

    Of course, not all development teams in the world are so diligent as to pay all their "taxes". I suspect most cheat on their taxes, and some of them just don't pay any at all.

    So here's my question to you: How do you convince developers to pay their "taxes"? (Should developers have to pay taxes at all?)

  • The Old New Thing

    Windows 95 crashes a cash register


    Not everything related to the Windows 95 launch went well. The St. Louis Post-Dispatch reported that a local CompUSA store found that their cash registers crashed at midnight, forcing eager customers to wait ninety minutes before the problem could be resolved. The cause: A bug in the cash register software which had lain undiscovered because the store had never stayed open past midnight before!

    And there was the the launch of Mindows 95 in Hong Kong.

    Not one to sit by and miss out on all the attention, Apple responded with its absolutely brilliant counter-advertisement.

  • The Old New Thing

    How can a company get access to Windows Error Reporting data?


    What happens to all the crashes in programs not written by Microsoft that are submitted via Windows Error Reporting? Microsoft still collects and indexes them, and vendors can sign up to gain access to the error reporting database to see the crashes in their programs. The service is free, although it does require a Verisign ID so that the Winqual system can confirm that you are who you claim you are. (It would be bad if somebody could pretend to be, say, Adobe, and get all their crash data.)

    There will be a session at the PDC which will go into how you the software developer can take advantage of all this data in order to improve your product from pre-release through general availability and even into sustained engineering.

    Windows Vista: Improving your Products Code Quality through Windows Feedback Services

    Your customers are sharing their pain and product experiences with you. Are you listening? Learn how to use the updated automated feedback mechanisms in Windows to gather, view and act upon customer Feedback data. Windows Feedback data will enable you to improve quality early in your product cycle, prioritize work and fix problems your users are encountering on a daily basis; even lower your support costs while increasing customer satisfaction and reliability of your applications.

    Yes, it's a kind of boring title. The original title was "Turning dissatisfied customers into gold". I would've used something like "Your program is crashing. Are you listening?" Oh well, the title isn't important. What's important is that you can use this information to make your products better.

  • The Old New Thing

    That's about the size of it


    News reporters seem to have some difficulty reporting the size of things. In order to make things more accessible to their readers, they try to compare it to the size of an everyday object, but to me it seems they try a bit too hard. For example, this story about the recent rescue of the crew of a sunken submarine noted,

    [T]he layers of stretched nylon appeared to be as thick as a 1 1/2-inch cable.

    "As thick as a 1 1/2-inch cable". As opposed to "as thick as a 1 1/2-inch stick" or "as thick as a 1 1/2-inch thing that is about 1 1/2 inches thick". May I humbly suggest, "The layers of stretched nylon appeared to be 1 1/2 inches thick", or if you want to emphasize the shape, "The layers of stretched nylon appeared to form a cable 1 1/2 inches thick".

    On a similar note, back in 1997, All Things Considered talked to Major Mike Morgan, deputy director of the Space Control Center, the people who track space objects 10cm or larger. Major Morgan translated this from metric to American units as follows:

    That's about the size of a three-inch bolt.

    Actually, 10cm is 3.9 inches; if he wanted to remain fixated on bolts, he should've said "That's about the size of a four-inch bolt." (And don't forget that a kilogram weighs about the same as two pounds of pebbles.)

    On the other hand, you can sometimes miss the mark by providing too little information about an everyday object. Describing an inflatable satellite being deployed by the Space Shuttle back in 1996, the NPR space reporter said that it "grew to the size of a giant silver pie pan".

    How big is a giant silver pie pan? I figure about 40cm (18in), that's a pretty big pie. (In reality, NASA says it was about 50 feet [15m] in diameter.)

  • The Old New Thing

    This might be for real, even though it comes out at 7am


    One of our researchers IM'd me yesterday to let me know that someone she interviewed mentioned that some people suspected that I wasn't real because most of my posts are published at the same time every day.

    I dunno. The evening news comes on at the same time every day, but I'm pretty sure they're real. Maybe I should be more suspicious.

    If I were real.

  • The Old New Thing

    How many floppy disks did Windows 95 come on?



    In case you were wondering.

    And those were thirteen of those special Distribution Media Format floppies, which are specially formatted to hold more data than a normal 1.44MB floppy disc. The high-capacity floppies reduced the floppy count by two, which resulted in a tremendous savings in cost of manufacturing and shipping.

    (I'm sure there are the conspiracy-minded folks who think that DMF was invented as an anti-piracy measure. It wasn't; it was a way to reduce the number of floppy disks. That the disks were difficult to copy was a side-effect, not a design goal.)

    (For comparison, Windows 3.1 came on six floppies. Windows NT 3.1 came on twenty-two. And yesterday, one of my colleagues reminded me that Windows NT setup asked for the floppy disks out of order! I guess it never occurred to them that they could renumber the disks.)

  • The Old New Thing

    Let's just make up some dollar values and print them as fact


    Everybody is going nuts over a patent decision regarding the iPod interface, but that's not what I'm writing about (so don't ask me for my opinion). Rather, I'm reacting to the claims being made by many people that Apple will have to pay Microsoft $10 for every iPod.

    What I want to know is where this amount "$10" came from.

    Multiple people are confidently reporting a sawbuck as the amount in question. GeekCoffee attributes it to, but a search of AppleInsider turns up no article where they assigned a monetary value to the issue. A site called TrustedReviews repeats the $10 price tag with no source. ("You don't need a source. Just trust us!") MacNewsWorld even puts the amount in its headline, although the article gives no justification for how they arrived at it. Sky News helpfully converts the amount to £6 but again provides no source for this value.

    Are people just making up stuff and publishing it as fact? Or is there some root source for this $10 amount that I'm missing and which nobody is bothering to cite? (My suspicion is that one person took a wild guess and everybody else decided to run with it.)

  • The Old New Thing

    Have you made any assignments in this space?


    Riffing on Larry's profound distaste for the use of the word 'ask' as a noun (a distaste I share)...

    It's been three years since I heard the question "Have you made any assignments in this space?" during a meeting and I still don't know what the person was trying to say.

  • The Old New Thing

    Why is Windows Error Reporting nicknamed "Dr. Watson"?


    The nickname for the feature known as Windows Error Reporting is "Dr. Watson". Where did that name come from?

    As you have probably guessed, The name Dr. Watson was inspired by the character of Dr. Watson, the assistant to Sherlock Holmes in the stories by Arthur Conan Doyle.

    It is my understanding that the doctor was originally developed as part of Windows 3.0 beta testing. His job was to record data about application crashes to a file, so that the file could be uploaded and included with bug reports. The icon was (and continues to be) a friendly doctor using his stethoscope to investigate a problem.

    The Doctor has remained true to the "capture information about an error" aspect of his job. In the meantime, the word "Watson" has expanded its meaning to encompass anonymous end-user feedback mechanisms in general, such as "Content Watson". (But if you hear "Watson" by itself, the speaker is almost certainly talking about error reporting.)

Page 1 of 5 (42 items) 12345