The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Some holiday fun: Puzzle #1
Today is a holiday in the United States, so I thought I'd go entirely non-technical. But that doesn't mean you get to rest your brain. One of my friends was ...
I hope you weren’t using those undocumented critical section fields
I hope you weren't using those undocumented critical section fields, because in Windows Server 2003 Service Pack 1, they've changed. Mike Dodd tells an ...
What’s the difference between My Documents and Application Data?
The most important difference between My Documents and Application Data is that My Documents is where users store their files, whereas Application Data is where...
Beware of roaming user profiles
One of the less-known features of Windows is the roaming user profile. I know that this is not well-known because I often see suggestions that fail to take the...
Why isn't Windows Setup just a disk reimage plus a registry dump?
Why can't all the registry key needed by Windows Setup be precomputed and splorted at one go? One reason is that Windows Setup can be customized via a so-...
A simple story in pictures
Professionals at work is the title of this series of unattributed pictures. (Via memepool Nov 26, 2004.) I think they speak for themselves. (I apologize in ...
Drink at work: The blog of a cartoonist
Francesco ("Ces") Marciuliano is the author of the comic strip Sally Forth. In his blog, Drink at Work he expounds on whatever tickles his fancy. (Warning: ...
Why do Microsoft code samples tend to use ZeroMemory instead of { 0 }?
If you go browsing around MSDN, you'll find that code samples tend to call explicitly rather than using "" notation. Why is that? To make it clearer for ...
Why are there broadcast-based mechanisms in Windows?
Many Windows information mechanisms are based on message broadcasts, among them DDE, WM_FONTCHANGE, and changes in system settings. Why do these mechanisms ...