The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Sep 14, 2023
Post comments count 7
Post likes count 3

I accidentally performed an operation on INVALID_HANDLE_VALUE, and it worked: What just happened?

Raymond Chen

Coincidentally valid, but not what you think.

Sep 13, 2023
Post comments count 1
Post likes count 2

How do I perform a case-insensitive comparison of two strings in the Deseret script?

Raymond Chen

It sort of depends on why you're comparing them.

Sep 12, 2023
Post comments count 4
Post likes count 3

The odd cadence of narrative engineering design documents

Raymond Chen

Following the rubric off a cliff.

Sep 11, 2023
Post comments count 27
Post likes count 9

Any sufficiently advanced uninstaller is indistinguishable from malware

Raymond Chen

The common pattern of trying to delete yourself.

Sep 8, 2023
Post comments count 3
Post likes count 4

On transferring or copying ABI pointers between smart pointers

Raymond Chen

Keep track of who owns the reference.

Sep 7, 2023
Post comments count 1
Post likes count 1

A freestanding JavaScript function that uses this is easily mistaken for a constructor

Raymond Chen

Because that's what constructors look like.

Sep 6, 2023
Post comments count 2
Post likes count 2

Detecting whether a tree-like data structure contains a cycle

Raymond Chen

Combining two things we already know.

Sep 5, 2023
Post comments count 2
Post likes count 1

When documentation cautions that something may not happen, that suggests that it normally does happen

Raymond Chen

Reading between the lines.

Sep 4, 2023
Post comments count 9
Post likes count 3

Just for fun: What happens when you shift a register by more than the register size?

Raymond Chen

A comparative study of processor architectures.