The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Dec 18, 2024
Post comments count 2
Post likes count 1

Is there a way to split the git history of a file or combine the histories of two files without a merge commit?

Raymond Chen

Studying how git recovers history.

Dec 17, 2024
Post comments count 6
Post likes count 3

Microspeak terms that didn’t take hold: airspace, synthetics, and AOI

Raymond Chen

Sometimes they don't stick.

Dec 16, 2024
Post comments count 0
Post likes count 2

Why do we have header files <pshpackN.h> and <poppack.h> instead of just issuing the pragma directly?

Raymond Chen

Because the pragma may not work everywhere.

Dec 13, 2024
Post comments count 0
Post likes count 3

Converting to a derived class from the future: How to cast from a base class to an incomplete derived class?

Raymond Chen

Deferring the definition until the class is complete.

Dec 12, 2024
Post comments count 0
Post likes count 3

API naming principles for conditional operations: On, When, and If

Raymond Chen

Describing when a condition is tested.

Dec 11, 2024
Post comments count 8
Post likes count 3

What is the CONTINUE_IF_FAILED equivalent of RETURN_IF_FAILED?

Raymond Chen

Be careful how you write it, or better: Don't write it at all.

Dec 10, 2024
Post comments count 3
Post likes count 1

It rather involved being on the other side of this airtight hatchway: Disabling anti-malware scanning

Raymond Chen

If you have already infiltrated the process, then you can disable things from the inside.

Dec 9, 2024
Post comments count 0
Post likes count 2

Learning to read C++ compiler errors: Failing to create a shared_ptr

Raymond Chen

Understanding what you asked the compiler to do, and why it couldn't comply.

Dec 6, 2024
Post comments count 4
Post likes count 1

Learning to read C++ compiler errors: Nonsensical errors from a function declaration

Raymond Chen

Look closely at what the error message is complaining about.