Simple vs complex machinery.
The post <CODE>std::call_once</CODE> vs. <CODE>std::async</CODE> appeared first on The Old New Thing.
Practical development throughout the evolution of Windows.
The Old New Thing
• Raymond Chen
Simple vs complex machinery.
The post <CODE>std::call_once</CODE> vs. <CODE>std::async</CODE> appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
They sort of do the same thing, but differently.
The post Magic statics vs. <CODE>std::call_once</CODE> appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
It used to start at 1, but that was the old system.
The post Why do Microsoft job levels start in the high 50’s instead of starting at a sane number like 1? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Perhaps it wasn't necessary, or perhaps it didn't occur to them that this a problem.
The post Why didn’t <CODE>ReadDirectoryChangesW</CODE> provide a way to correlate the two sides of a rename operation? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
It came after ud0 and ud1.
The post Why is the x86 undefined instruction called <CODE>ud2</CODE>? Why 2? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Not through normal means.
The post How can I remove the Close button from my window caption? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
It's random, really.
The post What algorithm did Windows XP use to choose your initial user picture? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
For a driver that needs high resolution mode only in Windows.
The post A sample use of the <CODE>winstart.bat</CODE> file in Windows 95 appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Imagining how to report a memory allocation failure for a sparse page.
The post Why don’t we allow stacks to be sparse, instead of forcing them to be contiguous? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
You're changing the value for future windows.
The post What happens if you change a window class’s <CODE>GCL_<WBR>CBWNDEXTRA</CODE>? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Are you talking to the right guy?
The post The case of the progress callback that never got called when progress happened appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Loss of identity.
The post The perils of binding to value types in XAML appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
People are our most valuable asset.
The post Microspeak: Funded / unfunded appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
All dressed up with nowhere to go.
The post AWE does not require PAE, though PAE makes it much more useful appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Explicitly denying that you implement the method.
The post On forcing all derived classes to implement a specific non-virtual method, part 2 appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Don't implement a stub. Just don't implement it at all.
The post On forcing all derived classes to implement a specific non-virtual method, part 1 appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
The smallest perturbation.
The post In the product end game, every change carries significant risk, episode 2 appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
It wouldn't be a Windows Entertainment Pack then, would it?
The post Why didn’t the Windows Entertainment Pack just run the MS-DOS version inside an emulator? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Filling in with your imagination.
The post Comparing the two holograms on the Windows 95 box appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Applying our principles.
The post Reducing C++ template bloat by factoring out the type-dependent portions of the function, practical exam appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Looking for consolidation points.
The post Reducing C++ template bloat by factoring out the type-dependent portions of the function appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Just use the callable directly.
The post On wrapping a callable in a lambda that just calls it with the same parameters appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
A contingency plan.
The post Why did the Microsoft Entertainment Pack for Windows have a special sticker announcing that it also had Tetris? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
The usual probing.
The post How do functions like <CODE>alloca</CODE> allocate memory from the stack? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
You can request the target machine architecture.
The post Forcing an ARM64X executable to run as a specific architecture appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Another RAII-style wrapper.
The post A little helper class for managing <CODE>LPPROC_<WBR>THREAD_<WBR>ATTRIBUTE_<WBR>LIST</CODE>s appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Understanding the temporal relevance.
The post The comments that go into code versus those that go into the pull request description appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
It had been there long before Windows 95, but nobody remembered.
The post The little-known <TT>winstart.bat</TT> batch file appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Try one of the fancier alternatives to CopyFile.
The post How can I perform a <CODE>CopyFile­</CODE> in unbuffered mode? appeared first on The Old New Thing.
The Old New Thing
• Raymond Chen
Cheating with std::unique_ptr.
The post Creating a fake agile wrapper that is technically agile but is not useful outside its home apartment, part 5 appeared first on The Old New Thing.