Where The Dev Ladder is goingWhen I started The Dev Ladder, I had a clear idea: a dedicated space to write about engineering growth, separate from the C++ content that fills sandordargo.com. Two lanes, two audiences, two focuses.📝The Dev LadderWelcome to SwedenCpp
Latest blogs, videos, podcasts and releases in one stream
Friday, May 1, 2026
Where The Dev Ladder is goingWhen I started The Dev Ladder, I had a clear idea: a dedicated space to write about engineering growth, separate from the C++ content that fills sandordargo.com. Two lanes, two audiences, two focuses.📝The Dev LadderIf this page is useful, please consider your support
Thursday, April 30, 2026
House prices and fertilityNo, rising house prices are not the driver of sharp fertility declines. The evidence shows only modest, mixed effects that cannot explain the large drops observed in places like Canada. What the Research Actually Shows: A well-known study by Dettling and Kearney (2014) found that rising house prices have opposing effects: they slightly increase fertility … Continue reading House prices and fertility📝Daniel Lemire's blog
How to Stress-Test Your AI Models Without Collecting New DataAI models don’t usually fail in the lab. They fail when they leave it. A model that performs well on curated datasets can quickly break down when faced with real-world conditions. Subtle shifts in lighting, weather, sensor quality, or environmental noise can all impact performance. The issue is not always the model itself. It is that testing rarely reflects the conditions the model will actually encounter.📝Kitware Inc
Developing a cross-process reader/writer lock with limited readers, part 3: FairnessLet the exclusive acquisition have a fair chance against shared acquisitions. The post Developing a cross-process reader/writer lock with limited readers, part 3: Fairness appeared first on The Old New Thing .📝The Old New Thing
Lightning Talk: The Lifecycle of This CMake Lightning Talk - Yannic Staudt - CppCon 2025🎥CppCon
Qt Contributors Summit 2026: Oslo in October!Hello Qt,📝Qt Blog
C++ That Actually Gets You Hired #coding #tutorial🎥CppOnline
Guy Davidson on which C++29 features are in flight - networking and coroutines could reshape C++29🎥MeetingCpp
Use the compiler as your agent - Steven Schveighoffer - D Language Symposium 2026 - Talk 5 of 8🎥Mike Shah
_Adventure:_ Is there light in the cobble crawl?The original _Colossal Cave Adventure_ consists basically of a Fortran source file and a textual data file. These files would often travel from one installation to another via paper printouts: printed out at one site, typed in by hand at another. The lines of WOOD0350's Fortran source (intentionally or not) never exceed 80 columns regardless of your tab stop. But the data file fits within 80 columns only with a tab stop of four. With an eight-space tab stop, four lines of the data file exceed 80 columns:📝Arthur O’DwyerWednesday, April 29, 2026
Silent foe or quiet ally: Brief guide to alignment in C++. Part 3We've already covered basic field alignment and explored how inheritance layers data atop one another. By now you might think we have uncovered every trap. But not so fast! This topic has a truly...📝from pvs-studio.com
My 7-min “lightning talk” is online: Why C++ is growing, and why C++26 will likely be adopted quicklyAt the London C++ meetup last month, I participated on a panel where each panelist gave a short introductory presentation. My 7-minute intro (aka “lightning talk”) just got posted — you can view it here. The one-sentence blurb: “C++ is accelerating, and C++26 is built for what developers need now.” Also check out the longer … Continue reading My 7-min “lightning talk” is online: Why C++ is growing, and why C++26 will likely be adopted quickly →📝Sutter’s Mill
Figma to Qt 1.0 Is Here: The Most Reliable Way to Bring Your Design From Figma to DeviceWhen a perfectly crafted design leaves Figma and enters a development pipeline, things often get compromised. Spacing shifts, colors change, and details deviate through multiple layers of interpretation and unexpected limitations. You will see timelines lagging, design becoming unclear, and user experience losing priority. Figma to Qt is built to ensure your GUI designs get from Figma to device . Version 1.0 is now available for free download in the Figma Community .📝Qt Blog
Developing a cross-process reader/writer lock with limited readers, part 2: Taking turns when being grabbyPlease, not everybody, everything all at once. The post Developing a cross-process reader/writer lock with limited readers, part 2: Taking turns when being grabby appeared first on The Old New Thing .📝The Old New Thing
Lightning Talk: Cut the boilerplate with C++23 deducing_this - Sarthak Sehgal - CppCon 2025🎥CppCon
One Map Key, One Lookup@media only screen and (max-width: 600px) { .body { overflow-x: auto; } .post-content table, .post-content td { width: auto !important; white-space: nowrap; } } This article was adapted from a Google Tech on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office. By Roman Govsheev Can you spot the wasted CPU cycles in the map usage? if employee_id in employees: mail_to(employees[employee_id].email_address) The redundant lookup caused the waste by performing a check ( in ) and a fetch ( [] ) as two separate operations when one is sufficient. Every lookup involves a cost —whether it's computing a hash and scanning buckets or performing an O (log n ) traversal. These costs add up quickly. But avoiding them isn’t just “premature optimization”—it’s about writing cleaner, more robust code that stays efficient at scale and prevents potential race conditions. Instead of paying this cost twice, perform the lookup once and reuse the result: if ( employee := employees.get(employee_id)) is not None: mail_to( employee .email_address) Assigning the search result to a variable avoids a second lookup. This efficiency is native to Go via the “comma ok” idiom ( val, ok := map[key] ) and C++ using map.find(key) , both handling retrieval and existence in a single pass. The same inefficiency applies when counting or initializing default. Stop checking for presence; instead, use idioms that handle missing keys automatically at the container level : The redundant way The efficient way If key not in counts: counts[key] = 1 else: counts[key] += 1 counts = defaultdict(int) # Initializes 0 automatically # ... other logic ... counts[key] += 1 Here are some details depending on which language you use: C++: operator[] returns a reference to the value—automatically inserting a default (like 0) if the key is missing—allowing the increment to happen in place. Java: Use map.computeIfAbsent() to perform retrieval and updates in a single call. This is more concise and, on concurrent collections, has the potential to be thread-safe—preventing the “check-then-act” race conditions common with separate contains and put calls. Python: Use collections.defaultdict to handle defaults at the container level, which pushes the logic into optimized C code for better performance and robustness. Note that the += operation (shown later in the above code sample) still involves both a read and a write operation. Go: Use val, ok := map[key] to handle retrieval and existence in one memory access.📝Google Testing Blog
From Idea to Online Sale - The Full Journey of Building an Audio Plugin - Joaquin Saavedra🎥audiodevcon
trame-flow: Interactive flowcharts for your trame applicationThe trame Python framework enables developers to create fast and reactive web applications. You may have seen that OpenFOAM can be configured interactively using trame, thanks to rich components in the trame ecosystem such as forms and VTK/ParaView 3D views. But what if you had multiple solvers that you want to configure, with a complex […]📝Kitware Inc
BeCPP Symposium 2026 - Lieven de Cock - Type Punning, the joke is on you, pun intended🎥BeCPP Users Group
C++ Workshop: The Jump From Theory to Real Code #coding #skills🎥CppOnlineTuesday, April 28, 2026
Developing a cross-process reader/writer lock with limited readers, part 1: A semaphoreA pot of tokens. The post Developing a cross-process reader/writer lock with limited readers, part 1: A semaphore appeared first on The Old New Thing .📝The Old New Thing
Lightning Talk: Causal Inference for Code Writing AI - Matt K Robinson - CppCon 2025🎥CppCon
The bug that sent enemies flying through the air — and made the game a legend🎥PVS-Studio
Guy Davidson plans to add floating point standards to the ISO C++ standard🎥MeetingCpp
I Built a SaaS in 2 Weeks… Then My Wife Used It at the Market🎥Kea Sigma Delta
STL Tricks Developers Don't Know #cplusplus #tutorial🎥CppOnline
Introducing Qt Agentic Development SkillsToday, we are releasing the first set of skills for agentic Qt development, designed to multiply your productivity when writing, documenting, and reviewing Qt code. If you want to know more about Qt's vision for agentic development and what agentic development for Qt is , then do check out the related article here: Software Insights📝Qt Blog
ADCx Copenhagen 2026 Live Stream - Audio Dev Talks🎥audiodevcon
_Adventure:_ Walking on the ceilingOn 2012-12-01 I wrote to Don Woods (in a postscript to a production update on [_Colossal Cave: The Board Game_](https://boardgamegeek.com/boardgame/121751/colossal-cave-the-board-game)): > By the way, I just noticed last week that in "Adventure", in the Hall > of the Mountain King, the directions NORTH and LEFT are synonyms, as > are SOUTH and RIGHT... as are WEST and FORWARD! West being forward > makes sense, if the Hall of Mists is back to the east; but for the > rest I suppose the adventurer must be walking on the ceiling. :) This > little mixup is present all the way back to > [Crowther's code](https://github.com/Quuxplusone/Advent/blob/master/CROW0005/advdat.77-03-11#L249-L253). > I just thought it was funny that nobody had commented on it before, as > far as I know.📝Arthur O’DwyerMonday, April 27, 2026
The Genie ProblemContent Safety vs. Alignment Safety in Large Language Models📝My Very Best AI Slop
D for 3D Game Development - Lewis Nicolle - D Language Symposium 2026 Talk 4 of 8🎥Mike Shah
You can beat the binary searchWe sometimes have to look for a value in a sorted array. The simplest algorithm consists in just going through the values one by one, until we encounter the value, or exhaust the array. We sometimes call this algorithm a linear search. In C++, you can get the desired effect with the std::find function. For … Continue reading You can beat the binary search📝Daniel Lemire's blog
Florent Castelli: Introduction to the Bazel build system🎥SwedenCpp
Looking at consequences of passing too few register parameters to a C function on various architecturesIt's bad news no matter how you slice it, but Itanium makes it even worse. The post Looking at consequences of passing too few register parameters to a C function on various architectures appeared first on The Old New Thing .📝The Old New Thing
C++ Weekly - Ep 530 - Clang's New Constant Interpreter?🎥Jason Turner
A Pragmatic Approach to C++: Designing, Organizing and Writing Maintainable Code - Oleg Rabaev🎥CppCon
Qt Safe Renderer 2.2 Release Candidate 2 ReleasedWe have released Qt Safe Renderer 2.2 Release Candidate 2 for commercial license holders today. This release candidate provides bug fixes and documentation improvements made on top of the Qt Safe Renderer 2.2 release candidate 1. Also, the prebuilt Qt Safe Renderer binaries with Qt 6.8.7 are available.📝Qt Blog
From Paper to Plugin - A Guided Tour of Digital Filters - Ross Chisholm, Joel Ross & James Hallowell🎥audiodevconSunday, April 26, 2026
The Hidden Performance Price of C++ Virtual Functions🎥GlobalCpp
A Hands-On C++ Journey from Beginner to Advanced - Online Workshop with Amir Kirsh - Preview🎥CppOnlineSaturday, April 25, 2026
Zen-C Creator live programming!🎥Mike Shah
Lecture 23. Atomicity II: Memory Models (MIPT, 2025-2026).🎥Konstantin Vladimirov
C++ Audio Programming Actually Makes Sense #musictech #tutorial #dsp🎥CppOnline
Interview with Guy Davidson - the new ISO C++ convener🎥MeetingCpp
StockholmCpp 0x3D: Intro, Eventhost, Info and the C++ Quiz🎥SwedenCpp