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

Email tip: If you want people to look at a screen shot, you have to tell them what they’re looking at

Some time ago, Ry Jones decided to take something that I wrote and condense it to make it funnier: Don't embed pictures. ... This isn't Highlights magazine. Those ellipses are deceptive, because they hide a change of topic! As a result, the two unrelated sentences appeared to be connected to each other. The comment about Highlights magazine was not a response to "Don't embed pictures." It was a response to a different part of that message. Here's the complete message, or an approximation thereof: Don't embed pictures. Send a link to your pictures. And when you ask us to look at the pictures which de...

A file can go by multiple names, but two files can’t have the same name

Thanks to short file names and hard links, a single file can go by multiple names. (And for the purpose of today's discussion, I'm treating the full path as the name instead of just the part after the last backslash. Don't make me bring back the nitpicker's corner.) For example, C:\PROGRA~1 and C:\Program Files are two possible names for the same directory thanks to short names. [Typo fixed 7:15am.] If you've created hard links, then you can give a single file two entirely unrelated names, and those names need not even be in the same directory. On the other hand, you can't have two files with the same name. Wha...

Thrift stores drowning in Christmas impulse gifts from yesteryear

Last year, the Washington Post covered the fates of The Thing, that Christmas impulse gift that stores place in enticing locations in the store to convince you that you simply gotta have it. The twirling apple peeler, the liquor carousel, the portable chocolate fountain (for your fancy party, no doubt). After a few years, some of them show up by the garbage-bagful at the Opportunity Shop thrift store. "We get three or four fondue sets a month... Sometimes we get stuff and I don't even know what the stuff is."

Why are the generic version numbers called NTDDI?

In my earlier discussion on the variety of symbols that describe the target Windows version, I pointed out that the symbols attempt to cut through the mess and consolidate everything into a single symbol. But why the name ? One of my colleagues contacted me privately with the story. When setting out to change the operating system version number, my colleague was shocked to find so many different version number mechanisms were scattered throughout the various Windows header files. It so happened that the DDK people were already in the process of cleaning up the version number mess and were using as their vers...

Neuroscience can be used for good or for evil; this one might fall in the evil bucket

Marketplace radio interviews Martin Lindstrom, author of Buyology: Truth and Lies About Why We Buy (another book in the series Short catchy title: Long boring subtitle) about how stores get people to buy more stuff by taking advantage of how our brains are wired. (Unfortunately, at the time I checked, the Smell and Beer bonus tracks were broken. You can try to console yourself with Paddy Hirsch's explanation of margin calls in terms of Girl Scout Cookies.) Update: The Smell and Beer links work now.

When you start getting in-page errors on your hard drive, it’s time to go shopping for a new hard drive

The describes itself as "The instruction at XXX referenced memory at YYY. The required data was not placed into memory because of an I/O error status of ZZZ." What does this mean? It means that the memory manager needed to read some memory from the disk, but the disk returned an error. (Namely, error ZZZ.) Since it has no way to return an error code to your program—I mean, after all, all your program did was read a variable from memory; there's no way to return an error code from int x = y if y cannot be read off the disk—it is reduced to raising an exception. When you see this message, and the ...

The struggle against those annoying plastic packages gains a few allies

Some companies are switching to easy-to-open packaging. Not a moment too soon, in my opinion.

High Contrast Mode is not the same as High Contrast Scheme

"High Contrast Mode" is an accessibility state controlled by the flag in the member of the structure. You can retrieve this structure programmatically by calling the function with the parameter; conversely, you update the setting programmatically with parameter. Programs are on their honor to query the "High Contrast Mode" flag and, if set, simplify their display so as to be more usable to people with low visual acuity. For example, gradients and background bitmaps should be turned off and system colors should be used for screen elements. End users can enter and exit "High Contrast Mode" by going to the A...

That guy in the neighborhood who has way too many Christmas lights

Weekend America profiles Dominic Luberto, that guy with his house so covered in Christmas lights that you're sure it's a fire hazard or something. I like how he pulls out the classic argument stopper when challenged that his display is too much. "Whoever comes against me - listen - goes against the kids." There you go. In the United States, all you have to do is accuse your opponent of hating children and you have instantly won the argument.