The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Sep 9, 2025
Post comments count
3
Post likes count
1
A suggestion to people who assign nicknames to meeting rooms

Lean into the pattern. Don't try to cross it up.

Sep 8, 2025
Post comments count
14
Post likes count
1
Why didn’t Windows 95 simply special-case the laptops that locked up when it executed the HLT
instruction?

The catastrophic risk of bricking a computer.

Sep 5, 2025
Post comments count
1
Post likes count
1
The case of the crash on a null pointer even though we checked it for null

Understanding what you're checking.

Sep 4, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T>
where T
is not a Windows Runtime type?, part 2

Safer smuggling.

Sep 3, 2025
Post comments count
1
Post likes count
3
How can I write a C++/WinRT IAsyncOperation<T>
where T
is not a Windows Runtime type?, part 1

It's not representable in the Windows Runtime, but you can smuggle it.

Sep 2, 2025
Post comments count
7
Post likes count
1
Dubious security vulnerability: Remembering passwords for recently-opened ZIP files

If it didn't remember them, you wouldn't like it.

Sep 1, 2025
Post comments count
4
Post likes count
1
Thoughts on creating a tracking pointer class, part 16: Second attempt to use a list

We can splice nodes to move them between lists.

Aug 29, 2025
Post comments count
2
Post likes count
1
Thoughts on creating a tracking pointer class, part 15: A custom shared pointer

Simplifying it for out limited use case.

Aug 28, 2025
Post comments count
2
Post likes count
0
Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer

Moving the exception somewhere else.