We made it to the end. It seems to get harder every year.
- An Abundance of Katherines: The Game Theory of Baby Naming (html version) develops a simple model for baby naming that helps explain why baby names follow trends. And since it is a SIGBOVIK paper, it containing a bunch of jokes. Appropriately, the paper is authored by Katy Blumer, Kate Donahue, Katie Fritz, Kate Ivanovich, Katherine Lee, Katie Luo, Cathy Meng, and Katie Van Koevering.
- It’s not a coincidence that π² ≈ g. It’s due to Christiaan Huygens, though he didn’t realize it.
- Every UUID. A list of all the v4 UUIDs. The real magic is the search function (Ctrl+F). Once you have reveled in the page, read the secret to the magic.
- Another entry in the long list of “bugs that are very difficult to reproduce” is the game that crashed but only in Japan and only at 4am.
- Arthur O’Dwyer explains why you shouldn’t blindly prefer
emplace_back
overpush_back
. Basically, this is “Remember what ’emplace’ means (or learn it now if you were never taught what it means).” - Matt Keeter learns about the CPU return address predictor.
- C++ Seasoning, a 2013 talk by Sean Parent which opens with a principle that has stuck with me: No raw loops.
- If you’ve been wondering where the old MSDN blogs went, most of them have been archived on learn.microsoft.com/archive/blogs.
- My colleague Joe Bialek gave a fascinating and eye-opening talk on pointer validation errors in the kernel, and how the C and C++ languages give the compiler leeway to perform optimizations which invalidate all your hard work.
- I mentioned some time ago that the Dazzle hardware was the original target for Windows NT, and while it was able to run Reversi, the pieces were square because GDI didn’t know how to draw circles yet. Well, here’s some visual evidence.
👀 The Windows NT 3.1 April 1991 build is the earliest known build of Windows NT – the 32-bit line of Windows on which modern versions are based. Its aim was to demo Reversi – a 16-bit app – running via NT’s new Windows On Windows compatibility layer. “CAN YOU BELIEVE IT?”
— Windows On Windows (@wowstartsnow) July 7, 2024
We made it to the end. It seems to get harder every year.
I’m the creator of Every UUID. Just wanted to say that I’ve been reading this blog since I learned to program (decades ago!) and so I was absolutely delighted to see it mentioned here. I’m really thrilled that you enjoyed it.
-Nolen
And for posterity, and fairness to Michael Kaplan, here’s the archive of his blog:
– https://archives.miloush.net/michkap/archive/
A blog on par with Old New Thing in terms of providing background, and explanations, that make the documentation and behaviour make sense.
RIP.
There doesn't seem to be a way to comment on that blog about push_back vs emplace_back. I wanted to say I find it really disheartening that the only valid reason presented to use push_back is to reduce compile time. Slightly misleading blog post title, useful advice for optimizing compile time I guess but it just goes to show that otherwise push_back has no reason to be used since emplace_back can do everything it can do...
Man, that C++ seasoning talk. The lead programmer of the team I was part of at the time showed it to us and it has stuck to me too. We implemented some basic functional programming constructs in Lua on our own, then proceeded to learn LINQ when we were assigned to a C# project. And even in my subsequent programming jobs I've strived for functional style when convenient, all thanks to Sean's advice.
Thank you, Sean....
Am sharing in this sentiment and experience. Had my first taste in a python-based mentorship while in college with code golf one liners, and that experience has stuck with me too. My day job is C89, with our internal tooling being a healthy mix of C and C++ (where perhaps one's preconceived notions about what that C++ usage's level of cognizance of modern practices could absolutely be affirmed).
That talk, in addition to auxiliary reading,...