Welcome to SwedenCpp
Latest blogs, videos and releases in one stream
Tuesday, March 17, 2026
Monday, March 16, 2026
C++ Weekly - Ep 524 - Line Coverage vs Branch Coverage vs Path Coverageπ₯Jason Turner
Web UIs for Music Apps - Dynamic Cast - ADC 2025π₯audiodevcon
Windows stack limit checking retrospective: PowerPCDoing the math backwards. The post Windows stack limit checking retrospective: PowerPC appeared first on The Old New Thing .πThe Old New Thing
Why Every C++ Developer Should Attend CppCon 2026 - 12th-18th Septemberπ₯CppConSunday, March 15, 2026
Daniel MarjamΓ€ki: Seamless Static Analysis with Cppcheckπ₯SwedenCpp
"But my tests passed!" - Exploring C++ Test Suite Weaknesses with Mutation Testing - Nico Eichhornπ₯MeetingCppSaturday, March 14, 2026
VTK Pipelines in PythonIn my last blog, I used this syntax in one example: This is one of the many shortcuts we have been introducing to make writing Python code and scripts easier. It is equivalent to: If you would like to know more about VTK pipelines, I refer you to the VTK book. Here, I will focus [β¦]πKitware Inc
Lecture 17. Smart Pointers: Resource Management (MIPT, 2025-2026).π₯Konstantin Vladimirov
SQLite Works in Productionβ¦ But Drogon Makes It Hardπ₯Kea Sigma DeltaFriday, March 13, 2026
Splice & Dice - A Field Guide to C++26 Static Reflection - Koen Samyn - C++Online Workshop Previewπ₯CppOnline
Stop Thinking Like a Junior - The Soft Skills That Make You Senior - Sandor DARGO - Workshop Previewπ₯CppOnline
Build an AI Coding Assistant in C++ | AI++ 101 & AI++ 201 - Jody Hagins - Workshop Previewπ₯CppOnline
Modern C++ for Embedded Systems: From Fundamentals to Real-Time Solutions - Rutvij Girish Karkhanisπ₯CppCon
Windows stack limit checking retrospective: MIPSOptimizing out the unnecessary probes comes with its own complexity. The post Windows stack limit checking retrospective: MIPS appeared first on The Old New Thing .πThe Old New Thing
Jumpstart to C++ in Audio - Jan Wilczek - C++Online 2026 Workshop Previewπ₯CppOnline
Building Bridges: C++ Interop, Foreign Function Interfaces & ABI - Gareth Williamson - Meeting C++25π₯MeetingCpp
Making a 3D DAW in Unity: Chaos, Logic, and Physics - Noah Feasey-Kemp - ADC 2025π₯audiodevcon
Face and Voice Recognition on MCUs: The Edge AI Coffee Machine ChallengeImagine a scenario - itβs Monday and you just arrived at the office at 7:55 AM since you have a meeting at 8 AM. What kind of person schedules a meeting at 8 AM? Everything is a pain and a hardship. You can barely see, but your smart coffee machine is your friend. It knows who you are and what your favorite drink is, it understands you, but doesnβt judge. It canβt give you a hug, but it can quickly brew you a cup of warm and fresh cup of your preferred beverage, helping you survive that meeting and come back to the land of the living.πQt Blog
Can We Still Find Joy In Programming?Over the last year or maybe just over the last few months our industry went through a significant transformation.πThe Dev Ladder
Hotspot v1.6.0 releasedHotspot is a standalone GUI designed to provide a user-friendly interface for analyzing performance data. It takes a perf.data file, parses and evaluates its contents, and presents the results in a visually appealing and easily understandable manner. Our goal with Hotspot is to offer a modern alternative to perf report, making performance analysis on Linux [β¦]πKDAB
Creating our own std::exception - C++ Safety part 11 of n | Modern Cpp Series Ep. 244π₯Mike ShahThursday, March 12, 2026
Is OpenBSD... exotic? Community member's perspectiveThe internet is buzzing about GNU/Linux. People talk about the BSD family of operating systems less often than about this one. Are they more complex? Are they more boring? We'll get to the bottom of...πfrom pvs-studio.com
Advancing BreastΒ SurgicalΒ Planning with 3D SlicerPrecise breast tumor removal depends on a thorough understanding of patient anatomy and tumor location before the first incision is made. As part of the PSI/SURPASS project, funded by ARPA-H and led by Johns Hopkins University, Kitware is developing an intuitive workflow for robotic breast surgery planning. This workflow is built using 3D Slicer, an open-source platform for medical image visualization and analysis. This workflow illustrates how open science and collaborative software development [β¦]πKitware Inc
Knockin' on Header's Door: An Overview of C++ Modules - Alexsandro Thomas - CppCon 2025π₯CppCon
Workshop Preview: How C++ Actually Works - Assaf Tzur-El - C++Online Workshop Previewπ₯CppOnline
CMake 4.3.0-rc3 is ready for testingThe third CMake 4.3 release candidate!πKitware Inc
Mastering std::execution (Senders/Receivers) - Mateusz Pusz - C++Online 2026 Workshop Previewπ₯CppOnline
Windows stack limit checking retrospective: x86-32, also known as i386One of the weirdest calling conventions you'll see. The post Windows stack limit checking retrospective: x86-32, also known as i386 appeared first on The Old New Thing .πThe Old New Thing
Workshop Preview: Concurrency Tools in the C++ Standard Library - Mateusz Pusz - C++Online 2026π₯CppOnline
Branch prediction case study [Lightning Talk]π₯CoreCpp
Qt Creator 19 releasedWe are happy to announce the release of Qt Creator 19! Release 19 for the Qt Creator IDE adds a minimap for text editors, easier configuration of remote devices, a basic MCP server, lightweight support for various project types for various languages, and many more improvements.πQt Blog
Agentic Debugging Using Time Travel - UNDO - Dr. Greg Lawπ₯SDCPPMU
MSVCβs `/experimental:constevalVfuncNoVtable` is non-conformingP1064 βAllowing Virtual Function Calls in Constant Expressions,β adopted for C++20, permits you to mark virtual functions as constexpr and then call them at compile-time. In fact, you can even mark them consteval (also a C++20 feature), which means you can call them only at compile-time. Thus (Godbolt):πArthur OβDwyer
rsync is the better SCPHow are you transferring files to remote servers, only accessible via SSH? Are you still using SCP? Are you tired of watching the file upload with 23 KiB/s? Fear no more! rsync to the rescue!πArvids BlogWednesday, March 11, 2026
Performance and Safety in C++ Crash Course - Jason Turner - C++Online 2026 Workshop Previewπ₯CppOnline
Workshop Preview: Essential GDB and Linux System Tools - Mike Shah - C++Online 2026π₯CppOnline
Seamless Static Analysis with Cppcheck: From IDE to CI and Code Review - Daniel MarjamΓ€kiπ₯CppCon
Python Templates for Neural Image Classification and Spectral Audio Processing - Part 1π₯audiodevcon
How do compilers ensure that large stack allocations do not skip over the guard page?Don't take steps that are too large. The post How do compilers ensure that large stack allocations do not skip over the guard page? appeared first on The Old New Thing .πThe Old New Thing
Workshop Preview: C++ Software Design - Klaus Iglberger - C++Online 2026π₯CppOnline
From Hello World to Real World - A Hands-On C++ Journey from Beginner to Advanced - Workshop Previewπ₯CppOnline
Introduction to Malware Development using C++ [Lightning Talk]π₯CoreCpp
Qt Widgets to Qt Quick, An Application Journey Part 4Completing the Software Architecture TransitionπQt Blog
Qt World Summit 2026: Going VirtualQt World Summit 2026 is moving to a virtual format. After careful evaluation with key stakeholders, we've decided to transition the event from an in-person gathering in Germany to an online experience.πQt Blog
Corosio Beta: Coroutine-Native Networking for C++20Corosio Beta: Coroutine-Native Networking for C++20 The C++ Alliance is releasing the Corosio beta, a networking library designed from the ground up for C++20 coroutines. We are inviting serious C++ developers to use it, break it, and tell us what needs to change before it goes to Boost formal review. The Gap C++20 Left Open C++20 gave us coroutines. It did not give us networking to go with them. Boost.Asio has added coroutine support over the years, but its foundations were laid for a world of callbacks and completion handlers. Retrofitting coroutines onto that model produces code that works, but never quite feels like the language you are writing in. We decided to find out what networking looks like when you start over. What Corosio Is Corosio is a coroutine-only networking library for C++20. It provides TCP sockets, acceptors, TLS streams, timers, and DNS resolution. Every operation is an awaitable. You write co_await and the library handles executor affinity, cancellation, and frame allocation. No callbacks. No futures. No sender/receiver. auto [socket] = co_await acceptor.async_accept(); auto n = co_await socket.async_read_some(buffer); co_await socket.async_write(response); Corosio runs on Windows (IOCP), Linux (epoll), and macOS (kqueue). It targets GCC 12+, Clang 17+, and MSVC 14.34+, with no dependencies outside the standard library. Capy, its I/O foundation, is fetched automatically by CMake. Built on Capy Corosio is built on Capy, a coroutine I/O foundation library that ships alongside it. The core insight driving Capyβs design comes from Peter Dimov: an API designed from the ground up to use C++20 coroutines can achieve performance and ergonomics which cannot otherwise be obtained. Capyβs IoAwaitable protocol ensures coroutines resume on the correct executor after I/O completes, without thread-local globals, implicit context, or manual dispatch. Cancellation follows the same forward-propagation model: stop tokens flow from the top of a coroutine chain to the platform API boundary, giving you uniform cancellation across all operations. Frame allocation uses thread-local recycling pools to achieve zero steady-state heap allocations after warmup. What We Are Asking For We are looking for feedback on correctness, ergonomics, platform behavior, documentation, and performance under real workloads. Specifically: Does the executor affinity model hold up under production conditions? Does cancellation behave correctly across complex coroutine chains? Are there platform-specific edge cases in the IOCP, epoll, or kqueue backends? Does the zero-allocation model hold in your deployment scenarios? We are inviting serious C++ developers, especially if you have shipped networking code, to use it, break it, and tell us what your experience was. The Boost review process rewards libraries that arrive having already faced serious scrutiny. Get It git clone https://github.com/cppalliance/corosio.git cd corosio cmake -S . -B build -G Ninja cmake --build build Or with CMake FetchContent: include(FetchContent) FetchContent_Declare(corosio GIT_REPOSITORY https://github.com/cppalliance/corosio.git GIT_TAG develop GIT_SHALLOW TRUE) FetchContent_MakeAvailable(corosio) target_link_libraries(my_app Boost::corosio) Requires: CMake 3.25+, GCC 12+ / Clang 17+ / MSVC 14.34+ Resources Corosio on GitHub β https://github.com/cppalliance/corosio Corosio Docs β https://develop.corosio.cpp.al/ Capy on GitHub β https://github.com/cppalliance/capy Capy Docs β https://develop.capy.cpp.al/ File an Issue β https://github.com/cppalliance/corosio/issuesπThe C++ AllianceTuesday, March 10, 2026
Itβs Dangerous to Go Alone: A Game Developer Tutorial - Michael Price - CppCon 2025π₯CppCon
A snappy answer when asked about dressing casually at IBMOh, this old thing? The post A snappy answer when asked about dressing casually at IBM appeared first on The Old New Thing .πThe Old New Thing
Typing++ for C++ - Making the Compiler Do the Thinking :: Chris Gearingπ₯CoreCpp
The Way of TDD@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 Bartosz Papis Test-Driven Development (TDD) is the practice of working in a structured cycle where writing tests comes before writing production code . The process involves three steps, sometimes called the red-green-refactor cycle : Write a failing test Make the test pass by writing just enough production code Refactor the production code to meet your quality standards Research shows TDD has several benefits : it improves test coverage, reduces the number of bugs, increases confidence, and facilitates code reuse. This practice also helps reduce distractions and keep you in the flow. TDD also has its limitations and is not a silver bullet! See the Wikipedia article about TDD for a detailed explanation and references. Here is a short practical example. Assume you need to modify the following voting algorithm to support the option for voters to abstain: def outcome(ballots): if ballots.count(Vote.FOR) > len(ballots) / 2: return "Approved" return "Rejected" 1. We start by writing a failing test - as expected, the test doesn't even compile: def test_abstain_doesnt_count(self): self.assertEqual(outcome([Vote.FOR, Vote.FOR, Vote.AGAINST, Vote.ABSTAIN]), "Approved") 2. We fix the compilation error by including the missing enum option: class Vote(Enum): FOR = 1 AGAINST = 2 ABSTAIN = 3 Now that the test compiles, we fix the production code to get all tests passing: def outcome(ballots): if ballots.count(Vote.FOR) > (len(ballots) - ballots.count(Vote.ABSTAIN)) / 2: return "Approved" return "Rejected" 3. We now refactor the code to improve clarity, and complete an iteration of the TDD cycle: def outcome(ballots): counts = collections.Counter(ballots) return "Approved" if counts[Vote.FOR] > counts[Vote.AGAINST] else "Rejected" Learn more about TDD in the book Test Driven Development: By Example , by Kent Beck.πGoogle Testing Blog
REST Better with the Support of OpenAPI in Qt 6Some of you are following our works to improve connectivity of Qt-based apps. For example, in this blogpost we explained enhacements in the Qt's network stack for more efficient use of RESTful APIs starting with Qt 6.7. So, it might sound we are done with REST. Why bother about OpenAPI then? Well, while around 70% of all web services run on REST, around 20-30% of them use code generated from OpenAPI specification. How could Qt leave that out without helping our users to code less and create more? The new Qt 6 OpenAPI module will become available with Qt 6.11 as a Technical Preview. The module introduces the Qt 6 OpenAPI generator, which generates Qt HTTP clients using Qt Network RESTful APIs. It is important to note here that an OpenAPI generator for Qt 5 has been originally developed by the OpenAPI community. We took it into Qt 6, refactored it, and extended it. In this blog post, you will learn about the new OpenAPI generator in Qt 6 and see how the new module can be used to implement a simple, Qt-based ChatGPT client application using specification of its API provided in the OpenAPI format.πQt Blog
Upgrades to Frontier LLMs β Qt AI Assistant 0.9.9 for Qt Creator Released!To make it easier to access the latest AI capabilities, we have updated pre-configured LLMs to newer variants.πQt Blog
ADC Japan 2026 Tickets Available Nowπ₯audiodevconMonday, March 9, 2026
Cache Me Maybe: The Performance Secret Every C++ Developer Needs - Michelle D'Souza - CppCon 2025π₯CppCon
C++ Weekly - Ep 523 - Why I'm Still Using std::cout (on this channel)π₯Jason Turner
The fine print giveth and the bold print taketh away: The countdown timerThink fast, no pressure. The post The fine print giveth and the bold print taketh away: The countdown timer appeared first on The Old New Thing .πThe Old New Thing
Learning to read C++ compiler errors: Ambiguous overloaded operatorLook for the conflicting definitions to see where they are coming from. The post Learning to read C++ compiler errors: Ambiguous overloaded operator appeared first on The Old New Thing .πThe Old New Thing
C++23 Tools you will actually use :: Alex Dathskovskyπ₯CoreCpp
Engineering Practices Break Music Interaction - (but Can Also Fix It) - Franco Caspe - ADC 2025π₯audiodevcon
TCP Connections With DAP Debuggers, Different Formats for Numeric Values, and More in CLion 2026.1 EAPThe Early Access Program (EAP) for CLion 2026.1 is nearing its end, bringing a range of improvements to debugging capabilities, build tools, project formats, and more. This post is a brief overview of what is already available in the latest EAP build. As always, EAP builds are free to use, so you can explore all [β¦]πCLion : A Cross-Platform IDE for C and C++ | The JetBrains Blog
StockholmCpp 0x3C: Intro, event host presentation, C++ news and the quizπ₯SwedenCpp
Measure Twice, Optimize Onceπ₯Matt GodboltSunday, March 8, 2026
Prefix sums at tens of gigabytes per second with ARM NEONSuppose that you have a record of your sales per day. You might want to get a running record where, for each day, you are told how many sales you have made since the start of the year. day sales per day running sales 1 10$ 10 $ 2 15$ 25 $ 3 5$ 30 β¦ Continue reading Prefix sums at tens of gigabytes per second with ARM NEONπDaniel Lemire's blog
Abstraction Addiction: When Good C++ Design Goes Bad :: Adi Ben Davidπ₯CoreCpp
Binary compatibility 100 - Marc Mutz - Meeting C++ 2025π₯MeetingCpp