The Old New Thing

I'm going to keep trying on size fours until I find one that fits

Everybody has noticed by now the phenomenon of vanity sizing, wherein the size numbers printed on the tag shrink over time even though the clothes have stayed the same size. It's a phenomenon of our own doing. People want to remember themselves as the size they were when they were younger, and fashion designers are eager to please. I remember...

Is DEP on or off on Windows XP Service Pack 2?

Last time, we traced an failure to a shell extension that used an older version of ATL which was not DEP-friendly. But that led to a follow-up question: Why aren't we seeing this same crash in the main program as in the shell extension? That program uses the same version of ATL, but it doesn't crash. The reason is given in this chart. ...

Psychic debugging: IP on heap

Somebody asked the shell team to look at this crash in a context menu shell extension. You should be able to determine the cause instantly. I replied, This shell extension is using a non-DEP-aware version of ATL. They need to upgrade to ATL 8 or disable DEP. This was totally obvious to me, but the person who asked the question ...

Amusing bug reports: On poetry and prose

Back in Windows 95, there was one bug that was originally filed against the window manager team. Upon closer investigation, the window manager team determined that the bug was really in the video driver and added their analysis to the bug as they reassigned it. I don't know what overcame them, but the analysis was written in iambic ...

I don't know what the Lotus internal clipboard formats are either

Apparently some people think my psychic powers extend to being able to steal trade secrets by sheer force of concentration. I've been trying to write an application which allows to drag and drop documents from lotus notes. If I just drag and drop a document from lotus notes to Windows explorer, it creates a .shb file (regular windows ...

You just have to accept that the file system can change

A customer who is writing some sort of code library wants to know how they should implement a function that determines whether a file exists. The usual way of doing this is by calling , but what they've found is that sometimes will report that a file exists, but when they get around to accessing the file, they get the error . The lesser ...

Proto-Microspeak: Pre-envisioning

I have only one citation, so it may not become proper Microspeak. Too early to tell. Further discussion will definitely generate a lot of good ideas and help drive them for pre-envisioning. Established Microspeak or not, I still don't know what it means...

VirtualLock only locks your memory into the working set

When you lock memory with it locks the memory into your process's working set. It doesn't mean that the memory will never be paged out. It just means that the memory won't be paged out as long as there is a thread executing in your process, because a process's working set need be present in memory only when the process is actually executing...

Why do we even have the DefWindowProc function?

Some time ago, I looked at two ways of reimplementing the dialog procedure (method 1, method 2). Commenter "8" wondered why we have a function at all. Couldn't window procedures have followed the dialog box model, where they simply return to indicate that they want default processing to occur? Then there would be no need to ...