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

Why is there a bulge on my bicycle tire when I inflate it?

Get the order of operations right.

Why doesn’t the Windows blue screen of death prominently identify the company that created the driver that crashed?

Because the driver that crashed may not be the one at fault.

Reminder: When a C++ object fails to construct, the destructor does not run

If you need to run after a failed construction, you have to put it in a base class or member variable.

The case of the crash when trying to erase an element from a std::set

Another kind of fiasco.

In a C++ class template specialization, how can I call the unspecialized version of a method?

You can't talk about things that might exist, so instead talk about things that do.

How does GetUserDefaultGeoName
choose between ISO 3166-1 and UN M.49 codes?

Clarifying the behavior.

Microspeak: The walk-on topic

Just walk on in with your topic.

A simplified overview of ways to add or update elements in a std::map

And using it to find missing opportunities.

Why does inadvertently passing a std::string
instead of a char const*
to a variadic function crash on x86-32 but not x86-64?

Looking at the calling convention and the small string optimization.