The Old New Thing

Why does Windows setup lay down a new boot sector?

Why does Windows setup lay down a new boot sector? Because the alternative is worse. You would expect that after installing an operating system, the operating system should boot. If your boot sector is damaged, say because this is a brand new hard drive with no boot sector, or because it was infected with a boot sector virus, you expect the ...

Beware the Image File Execution Options key

Beware the Image File Execution Options key (more). Its power can be used for evil as well as for good. Its intended use is to force a program to run under a debugger regardless of how it is launched (and secondarily to alter how the system treats the program). It's handy if you need to debug a program "in the wild" rather than under the ...

When hyperthreading is enabled, all the processors are virtual

A common problem when answering technical questions is that people sometimes ask a question that can't or shouldn't be answered because it is based upon a misunderstanding. What's particularly frustrating is when they insist that you answer their question as posed, even when you try to explain to them that their question is itself flawed. It...

A note to headhunters: Check your links

If you're going to try to recruit me, you might want to check that the links in your email actually work. Just sayin'. I'm going to mock you regardless, but you should at least make me have to work for it...

You probably don’t want to run programs directly off your USB memory drive

You probably wouldn't want to run Windows or applications directly off your USB memory drive, even if you could. The reason is that the solid-state memory used by these drives support only a limited number of write cycles per block. (Originally measured in the thousands, though I'm led to believe that it's gone up since then.) Most software ...

We Microsoft bloggers do talk to each other occasionally, y’know

Every so often, somebody will spam all the Microsoft blogs with a survey or a plea for a job or some other boilerplate message. Don't think you're fooling anyone. It's not like each blogger lives in a separate world and never talks to anyone else. In reality, we exchange information quite freely and even occasionally get together—usually...

Psychic debugging: Why your CPU usage is hovering at 50%

Sometimes psychic debugging consists merely of seeing the bigger picture. On one of our internal bug-reporting mailing lists, someone asked, "How come when I do XYZ, my CPU usage goes to 50%?" My psychic answer: "Because you have two processors." The response was genuine surprise and amazement. How did I know they had two processors? ...

What one Windows XP feature am I most proud of?

Of all the things I did for Windows XP, if I had to choose the one feature that I'm most proud of, it's fixing Pinball so it doesn't consume 100% CPU. The program was originally written for Windows 95 and had a render loop that simply painted frames as fast as possible. In the checked build, you could tell the program to display ...

Sometimes the fault is not in our stars but in ourselves

An earlier name for Windows Server 2003 was Microsoft Windows .NET Server, and in the final weeks leading up the the product's release, we received the following bug from a beta tester: When I call the GetVersionEx function on build 3773, the OS name is still reported as "Microsoft Windows .NET Enterprise Server". I have attached a ...