The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Oct 27, 2008
Post comments count 0
Post likes count 1

If you don’t want to try to repair the data, then don’t, but you should at least know that you have corrupted data

Raymond Chen

When I wrote about understanding the consequences of , I mentioned that one of the possible responses was to try to repair the damage, but some people are suspicious of this approach. Mind you, I'm suspicious of it, too. Repairing corruption is hard. You have to anticipate the possibility, create enough of a trail to be able to reconstruct the original data once the corruption is recognized, and then be able to restore the data to some semblance of consistency. I didn't say that this was mandatory; I didn't even say that it was recommended. I just listed it as one of the options, an option for the over-achiev...

Oct 24, 2008
Post comments count 0
Post likes count 0

Man, this housing downturn is hitting everyone

Raymond Chen

Consider this house on Mercer Island, which happens to be for sale. Asking price: A shade under $35 million. Five bedrooms, nine bathrooms, over 22 thousand square feet, two swimming pools, space to park a 140-foot yacht, and an interior so opulent you'd be afraid to touch anything. If you were even allowed anywhere near it. But the sagging economy has taken its toll on this house. They were originally asking $40 million. Best line from the article: "But we decided we might want to simplify a little, and move to Medina." For those who aren't familiar with Seattle-area geography, Medina is the quiet li...

Oct 24, 2008
Post comments count 0
Post likes count 1

Sucking the trap frame out of a kernel mode stack trace

Raymond Chen

If you are placed in the unfortunate position of having to debug a user-mode crash from kernel mode, one of the first things you have to do is get back to the exception on the user-mode side so you can see what happened. We saw earlier how you can get symbols for operating system binaries to help you suck the exception pointers out of a user-mode stack trace; here's a corresponding tip for the kernel-mode side. Your stack trace will look something like this: ChildEBP RetAddr Args to Child 8fc86660 818844e3 83811e00 83811d78 83811e30 nt!KiSwapContext+0x26 8fc8669c 8184abd2 83811d78 00000000 83811d78 nt!KiSw...

Oct 23, 2008
Post comments count 0
Post likes count 1

Strange things happen when you let people choose their own name, part 3

Raymond Chen

Although Microsoft employees are internally assigned a cryptic email address by the IT department, the email address used for mail to and from the outside world is open to customization, to some degree. For example, consider an imaginary employee named Christopher Columbus. Christopher might be assigned an email address like or or or possibly the Slavic-sounding . But Christopher has the option of choosing the external email address: When he sends a message to somebody outside Microsoft, the "From" line will show the external address, and if somebody from outside Microsoft sends mail to the external addres...

Oct 22, 2008
Post comments count 0
Post likes count 1

Strange things happen when you let people choose their own name, part 2

Raymond Chen

I described last time how most parts of your entry in the company address book are closely regulated, but the differentiator is left to the honor system. Here are two and a half more examples of people who decided to do something funny with their bonus text. A message was sent to a mailing list I happen to be a member of, and the sender's name was listed as "John Doe (O|||||O)". I told John that I though the (O|||||O) was hilarious, and he wrote back, "Also, call my phone and listen to how the autobot says my name." I did, of course. The text to speech synthesizer pronounced his name as John Doe overtical b...

Oct 21, 2008
Post comments count 0
Post likes count 1

Strange things happen when you let people choose their own name, part 1

Raymond Chen

One of the things that happens when you arrive at Microsoft is you are assigned an email account, and the name of that account becomes your identity. The IT department has a set of rules which they follow to arrive at your account name, but you can petition for reconsideration if the result of their algorithm produces something you don't like. You have more flexibility with your display name. For example, you may commonly go by a less formal version of your legal name, or you may go by your middle name or your initials or you may choose to adopt an English name as your professional name. But even though y...

Oct 20, 2008
Post comments count 0
Post likes count 0

Off-Roading The Old New Thing

Raymond Chen

My friend ::Wendy:: decided that going off topic in the comments to this Web site was so much fun, she didn't want to let the Ground Rules stop her. So she created the Off-Roading The Old New Thing group, where people who get a thrill out of going off topic can do so without running afoul of this Web site's Ground Rules. Have fun, everybody!

Oct 20, 2008
Post comments count 0
Post likes count 1

Why can’t you thunk between 32-bit and 64-bit Windows?

Raymond Chen

It was possible to use generic thunks in 16-bit code to allow it to call into 32-bit code. Why can't we do the same thing to allow 32-bit code to call 64-bit code? It's the address space. Both 16-bit and 32-bit Windows lived in a 32-bit linear address space. The terms 16 and 32 refer to the size of the offset relative to the selector. Okay, I suspect most people haven't had to deal with selectors (and that's probably a good thing). In 16-bit Windows, addresses were specified in the form of a selector (often mistakenly called a "segment") and an offset. For example, a typical address might be . This mean...

Oct 17, 2008
Post comments count 0
Post likes count 1

The cult of PowerPoint, episode 2

Raymond Chen

PowerPoint is a fine presentation tool, but some people have elevated it to the level of a cult. The most recent member of the PowerPoint cult was a customer who decided to use PowerPoint in an email message. No, I don't mean that the customer attached a bad PowerPoint presentation to the email. I mean that the customer's email was itself a three-slide PowerPoint presentation. Well, not quite. What they actually did was create a three-slide presentation, then take screenshots of each slide and embed them in the email. Well, not quite. The screenshots were shrunk to save size. Each page from the Po...