The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Aug 28, 2026
Post comments count 3
Post likes count 1

On forcing all derived classes to implement a specific non-virtual method, part 2

Raymond Chen

Explicitly denying that you implement the method.

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

On forcing all derived classes to implement a specific non-virtual method, part 1

Raymond Chen

Don't implement a stub. Just don't implement it at all.

Aug 26, 2026
Post comments count 2
Post likes count 1

In the product end game, every change carries significant risk, episode 2

Raymond Chen

The smallest perturbation.

Aug 25, 2026
Post comments count 9
Post likes count 3

Why didn’t the Windows Entertainment Pack just run the MS-DOS version inside an emulator?

Raymond Chen

It wouldn't be a <I>Windows</I> Entertainment Pack then, would it?

Aug 24, 2026
Post comments count 4
Post likes count 3

Comparing the two holograms on the Windows 95 box

Raymond Chen

Filling in with your imagination.

Aug 21, 2026
Post comments count 0
Post likes count 3

Reducing C++ template bloat by factoring out the type-dependent portions of the function, practical exam

Raymond Chen

Applying our principles.

Aug 20, 2026
Post comments count 0
Post likes count 3

Reducing C++ template bloat by factoring out the type-dependent portions of the function

Raymond Chen

Looking for consolidation points.

Aug 19, 2026
Post comments count 11
Post likes count 4

On wrapping a callable in a lambda that just calls it with the same parameters

Raymond Chen

Just use the callable directly.

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

Why did the Microsoft Entertainment Pack for Windows have a special sticker announcing that it also had Tetris?

Raymond Chen

A contingency plan.