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

Why are dialog boxes initially created hidden?

You may not have noticed it until you looked closely, but dialog boxes are actually created hidden initially, even if you specify WS_VISIBLE in the template. The reason for this is historical. Rewind back to the old days (we're talking Windows 1.0), graphics cards are slow and CPUs are slow and memory is slow. You can pick a menu ...

The Department of Homeland Security, the television series?

I am not making this up. There's a new television show based on The Department of Homeland Security, titled D.H.S.. I guess they realized that The O.C. was a hip edgy name so they'd try it too. The audio clips I heard on the radio seemed to make the DHS sound like a non-stop adrenaline-rush guns-drawn kind of department, when my personal ...

Why do operations on "byte" result in "int"?

(The following discussion applies equally to C/C++/C#, so I'll use C#, since I talk about it so rarely.) People complain that the following code elicits a warning: "The result of an operation on 'byte' should be another 'byte', not an 'int'," they claim. Be careful what you ask for. You might not like it. Suppose we lived in a fantasy ...

Char.IsDigit() matches more than just "0" through "9"

Warning: .NET content ahead! Yesterday, Brad Abrams noted that Char.IsLetter() matches more than just "A" through "Z". What people might not realize is that Char.IsDigit() matches more than just "0" through "9". Valid digits are members of the following category in UnicodeCategory: DecimalDigitNumber. But what exactly is a ...

Returning to Sweden, this time with some actual knowledge of Swedish

I will be in Stockholm from March 24th to April 7th, with an excursion to Göteborg thrown in at some point yet to be determined, probably the 29th to the 1st. So the blog will be on autopilot for a few weeks. (Assuming I can even generate that much advance material. If not, then it will just plain go quiet...

Can you pass "Coaching Principles and Strategies of Basketball"?

From ESPN: If you were enrolled in Jim Harrick Jr.'s Coaching Principles and Strategies of Basketball course at the University of Georgia in the fall of 2001, you were drilled on such subjects as basketball, basketball and even basketball. How many points for a field goal? What league does Georgia compete in? What color are ...

C++ scoped static initialization is not thread-safe, on purpose!

How the design of the C++ language subverts thread safety.

Defrauding the WHQL driver certification process

In a comment to one of my earlier entries, someone mentioned a driver that bluescreened under normal conditions, but once you enabled the Driver Verifier (to try to catch the driver doing whatever bad thing it was doing), the problem went away. Another commenter bemoaned that WHQL certification didn't seem to improve the quality of ...

Money can burn a hole in your pocket

The new $20 bills explode when you try to microwave them because of the tracking device embedded behind Andrew Jackson's right eye...

Sorry, my kitchen is on fire

The other night my phone rang just as I discovered that I overheated my pan and the oil was starting to burn. I rushed to the phone, thinking it's the people I had invited to dinner, but no, it was some telemarketer. "Hello, is this Mr. Chen?" "Sorry, can't talk now, my kitchen is on fire." "Oh my God, sorry!" <click> I'll ...