- Dev Blogs
- The Old New Thing
The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

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.

How many floppy disks did Windows 95 come on?

Thirteen. 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&nbs...

Justifiable assault with folding chair

Everybody's lunchtime conversation a few days ago was the riot at a used laptop sale in Richmond, VA. [Local coverage.] What got me was this fellow Jesse Sandler: "I took my chair here and I threw it over my shoulder and I went, 'Bam,'" the 20-year-old said nonchalantly, his eyes glued to the screen of his new iBook, as he tapped away on the keyboard at a testing station. "They were getting in front of me and I was there a lot earlier than them, so I thought that it was just," he said. Because if somebody cuts in front of you in line, you are perfectly justified in assaulting them with a folding chair. Th...

What are the access rights and privileges that control changing ownership of an object?

Changing the ownership of an object (typically a file) is not difficult in principle: You call the function with the new security descriptor. The hard part is getting to that point. (Thanks to John, a colleague in security, for correcting an earlier draft of this entry.) If you have access on an object, then you can change the owner of the object to yourself (or to any SID in your token that has the SE_GROUP_OWNER attribute): you can take ownership. However, you cannot change the owner to somebody else: you cannot give ownership to another person. Doing that would allow you to violate quota restrictions....

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 AppleInsider.com, 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...

What I’ll be doing at this year’s PDC

I will be heading down to Los Angeles the Friday before the PDC in order to visit friends and relatives and to check out the King Tut exhibit at the Los Angeles County Museum of Art. The last time Tutankhamun came to the United States was back in the late 1970's. I was an elementary school student and a few of my classmates were lucky enough to have obtained tickets to the exhibition; they gave it rave reviews. I will show up at the Convention Center when the PDC proper begins on Tuesday. I am officially scheduled to be in the Fundamentals Lounge from 11:30am to 2:30pm on Tuesday, then again on Thursday all d...

Why is processor affinity inherited by child processes?

Consider why a typical program launches child processes. (Shell programs like Explorer aren't typical.) It's because the task at hand is being broken down into sub-tasks which for whatever reason has been placed into a child process. An Example of this would be, say, a multi-pass compiler/linker, where each pass is implemented as a separate process in a pipeline. Now consider why you might want to set a process's affinity mask to restrict it to a single processor. One reason is that the program may have bugs that cause it to crash or behave erratically on multi-processor machines. This was common for older pro...

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

On being attacked by a sidewalk

Yesterday, I was attacked by a sidewalk. I was cycling from work to a friend's house for dinner and was northbound in the shoulder on 172nd Ave NE in Redmond. As I reached the intersection with NE 138th St., I was momentarily distracted, perhaps by my water bottle, I forget. This lapse of attention resulted in my failing to notice that north of NE 138th St., what used to be the shoulder becomes completely consumed by a sidewalk which leaps into the road out of nowhere. A sidewalk with a sharp curb. Fortunately, the curb curves into position, so instead of running headfirst into a curb, my wheel...