The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts
Oct 26, 2026
Post comments count
0
Post likes count
1
Puzzling out why a program doesn’t work when run from a batch file, but works when double-clicked from Explorer
Mimicking the operation more accurately.
Oct 23, 2026
Post comments count
3
Post likes count
3
Why didn’t we use the COM static store to clean up the unmarshalable delegate?
It cleans up at the wrong time.
Oct 22, 2026
Post comments count
0
Post likes count
3
Why didn’t we use CoRegisterInitializeSpy to clean up the unmarshalable delegate?
Looking more closely at the function's behavior and requirements.
Oct 21, 2026
Post comments count
0
Post likes count
3
Why didn’t we use RoRegisterForApartmentShutdown to clean up the unmarshalable delegate?
Too many requirements, some of which bring us full circle.
Oct 20, 2026
Post comments count
1
Post likes count
2
Microspeak: Drain the slide, back-up slides
PowerPoint presentation jargon.
Oct 19, 2026
Post comments count
9
Post likes count
3
Why do we need ud2 when int 6 is right there?
An interrupt is not a fault.
Oct 16, 2026
Post comments count
2
Post likes count
4
C++ futures part 5: std::future and std::shared_future
Getting the results back out.
Oct 15, 2026
Post comments count
1
Post likes count
2
C++ futures part 4: What if I want an immediate on-thread std::async?
Providing the case that the C++ language won't do.
Oct 14, 2026
Post comments count
1
Post likes count
3
C++ futures part 3: The mental model for std::async
Doing things later in different ways.