The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Sep 22, 2026
Post comments count 19
Post likes count 3

A brief history of Windows scroll bar shortcuts

Raymond Chen

Right-clicking and shift-clicking.

Sep 21, 2026
Post comments count 9
Post likes count 4

What’s the highest legal FILETIME? Is it safe to use?

Raymond Chen

Being wary of how people use it and how it interacts with other types.

Sep 18, 2026
Post comments count 7
Post likes count 2

Comparing exception behavior of magic statics, std::call_once, and std::async

Raymond Chen

Do you try again or give up?

Sep 17, 2026
Post comments count 2
Post likes count 3

std::call_once vs. std::async

Raymond Chen

Simple vs complex machinery.

Sep 16, 2026
Post comments count 1
Post likes count 4

Magic statics vs. std::call_once

Raymond Chen

They sort of do the same thing, but differently.

Sep 15, 2026
Post comments count 10
Post likes count 3

Why do Microsoft job levels start in the high 50’s instead of starting at a sane number like 1?

Raymond Chen

It used to start at 1, but that was the old system.

Sep 14, 2026
Post comments count 8
Post likes count 3

Why didn’t Read­Directory­ChangesW provide a way to correlate the two sides of a rename operation?

Raymond Chen

Perhaps it wasn't necessary, or perhaps it didn't occur to them that this a problem.

Sep 11, 2026
Post comments count 6
Post likes count 0

How can I remove the Close button from my window caption?

Raymond Chen

Not through normal means.

Sep 10, 2026
Post comments count 14
Post likes count 7

Why is the x86 undefined instruction called ud2? Why 2?

Raymond Chen

It came after <CODE>ud0</CODE> and <CODE>ud1</CODE>.