The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Jun 3, 2026
Post comments count 0
Post likes count 0

Rotation revisited: A shocking discovery about gcc’s unidirectional rotation algorithm

Raymond Chen

We've seen this before.

Jun 2, 2026
Post comments count 1
Post likes count 3

Rotation revisited: Another unidirectional algorithm

Raymond Chen

Moving in a straight line, in a different way.

Jun 1, 2026
Post comments count 18
Post likes count 5

The placeholder name for the Windows 8 experience was “modern”

Raymond Chen

Modern this and that.

May 29, 2026
Post comments count 0
Post likes count 1

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 3

Raymond Chen

A variation where we try only once.

May 28, 2026
Post comments count 1
Post likes count 2

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 2

Raymond Chen

Just let each person take turns trying.

May 27, 2026
Post comments count 0
Post likes count 2

Sharing the result of a single Windows Runtime IAsyncOperation among multiple coroutines, part 1

Raymond Chen

Caching the result and knowing when the cache is valid.

May 26, 2026
Post comments count 4
Post likes count 6

If C# and JavaScript lets me await a Windows Runtime asynchronous operation more than once, why not C++/WinRT?

Raymond Chen

A difference in philosophy.

May 25, 2026
Post comments count 10
Post likes count 5

A hypothetical redesign of System.Diagnostics.Process to avoid confusion over properties that are valid only when you are the one who called Start

Raymond Chen

Putting them in a place that can access only if you call <CODE>Start</CODE>.

May 22, 2026
Post comments count 3
Post likes count 1

Why do you say that a COM STA thread must pump messages if I see sample code creating STA threads and not pumping messages?

Raymond Chen

You need to pump messages when idle, but maybe you are never idle.