The Old New Thing


When do Core­Dispatcher.Run­Async and Thread­Pool.Run­Async actions complete?

When the delegate returns, not when it completes.

What does the N in nmake stand for?

It’s old now, but at the time, it was new.

Vintage Computer Festival Pacific Northwest 2019

For all your retro-computing gawking.

Turning anything into a fire-and-forget coroutine

Turning on the metaprogramming.

Expressing fire-and-forget coroutines more explicitly, -or- How to turn any coroutine into fire-and-forget

Putting it at the call site instead of in the function itself.

winrt::fire_and_forget was too forgetful

Usually, you don’t care when it finishes, as long as it does.

Why does my app’s uninstaller disappear from the Start menu?

Keeping things tidy.

How do I design a class so that methods must be called in a certain order?

Consider it a chain of operation objects.

How can we use IsBadWritePtr to fix a buffer overflow, if IsBadWritePtr is itself bad?

Don’t catch the overflow as it happens. Stop the overflow before it happens.

Resolving security issues sometimes involves its own degree of managing people’s egos

It’s not purely technical. There’s sociology here, too.