Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

Post by this author

Links about COM threading models

There have been a few good articles about threading models, one from Eric Lippert and another from Larry Osterman. Go off and read them if you haven't already...
Comments are closed.0 0

How do the FILE_SHARE_* bits interact with the desired access bits?

It's really not that complicated. If you permit, say, , then you're saying, "I'm okay with other people reading this file while I have it open." And if you leave off the flag, then you're saying, "I do not want other people reading this file while I have it open." Now all that's left to do is work out what that means. So suppose you ...
Comments are closed.0 0

There are two types of scrollbars

Remember that there are two types of scrollbars. One is the standalone scrollbar control. This one has its own window handle, and consequently can be given focus and all those other fun things you can do with window handles. To manipulate them, pass the handle to the scrollbar control to the appropriate scrollbar function (...
Comments are closed.0 0

A guide to British pub etiquette

Social researchers dissect the interactions and unveil the unwritten rules that govern British pub etiquette...

Image File Execution Options

Hereby incorporating by reference Junfeng Zhang's discussion of the Image File Execution Options registry key...

When should your destructor be virtual?

When should your C++ object's destructor be virtual? First of all, what does it mean to have a virtual destructor? Well, what does it mean to have a virtual method? If a method is virtual, then calling the method on an object always invokes the method as implemented by the most heavily derived class. If the method is not virtual, then the ...
Comments are closed.0 0

Batman and Robin patrolling Whitley

Batman and Robin have been spotted in Whitley, providing valuable services like rescuing damsels in distress (pushing her car to the nearest petrol station), scaring away potential muggers, and even chasing streakers off a football pitch...

Chris Pratley's history lesson

If you haven't read it yet, check out Chris Pratley's voluminous discourse on various aspects of the history of Word. It packs more history into one entry than I do all year. And that was a sequel! You can read the first half, too. In fact, the good stuff keeps on coming. just read it all...

Scripting is a two-edged sword

A three line VB script will disable your firewall. The advantage of scripting is that you can control so many things with just a few lines of code. The disadvantage of scripting is that bad people can control so many things with just a few lines of code. I wonder how long it will be before there's a virus that disables the firewall...

Why did InterlockedIncrement/Decrement only return the sign of the result?

It's a limitation of the 80386 instruction set.