Welcome to SwedenCpp
Latest blogs, videos, podcasts and releases in one stream
Sunday, May 10, 2026
If this page is useful, please consider your support
Saturday, May 9, 2026
Lecture 25. Coroutines, part I: Co-operators and Promises (MIPT, 2025-2026).๐ฅKonstantin Vladimirov
Lightning Talk: Promote Modern C++ Usage With Coding Questions Part 2 - Zhenchao Lin - CppCon 2025๐ฅCppConFriday, May 8, 2026
C++ for High Performance Web Application Backends - Uzochukwu Ochogu - C++Online 2026๐ฅCppOnline
Developing more confidence when tracking renames via ReadยญDirectoryยญChangesWYou can track the file ID. The post Developing more confidence when tracking renames via ReadยญDirectoryยญChangesW appeared first on The Old New Thing .๐The Old New Thing
Converting Source Separation Models to ONNX for Real Time Usage in DJ Software - Anmol Mishra - ADC๐ฅaudiodevcon
Two-Minute _Iolanthe_The other day I came across Connie Kleinjansโ page of โtwo-minute versionsโ of G&S shows. Sheโs got two versions of Gondoliers and one each of Iolanthe and Ruddigore. The technique is the same as in blackout poetry: take the whole work and black out all but the most important and/or funniest bits.๐Arthur OโDwyerThursday, May 7, 2026
Partner with Kitware to Accelerate Medical Software Product DevelopmentDeveloping medical software is complex. From early-stage concepts to production-ready systems, organizations must navigate technical challenges, clinical requirements, and regulatory considerations, all while moving quickly and managing risk. Kitware partners with medical device companies, digital health innovators, and research organizations to accelerate the development of advanced medical software products. By combining deep domain expertise with open source platforms and advanced visualization technologies, we help teams move efficiently from concept to deployable solutions.๐Kitware Inc
Project-Specific Build Optimizations with GitHub CopilotWe are excited to announce that GitHub Copilot build performance for Windows now supports project-specific builds! Available in the latest Visual Studio Insiders, you can target a single MSBuild project or CMake target instead of analyzing your entire solution. For game developers and teams working with large codebases, this eliminates the need to wait for [โฆ] The post Project-Specific Build Optimizations with GitHub Copilot appeared first on C++ Team Blog .๐C++ Team Blog
Whatโs New in vcpkg (Apr 2026)These updates include improved locking for parallel builds, cross-platform PE dependency analysis, manifest support for the depend-info command, and other improvements and bug fixes. The post Whatโs New in vcpkg (Apr 2026) appeared first on C++ Team Blog .๐C++ Team Blog
When you upgrade your resource strings to Unicode, donโt forget to specify the L prefixOtherwise, it'll get mapped back down to the 8-bit code page. The post When you upgrade your resource strings to Unicode, donโt forget to specify the L prefix appeared first on The Old New Thing .๐The Old New Thing
Singleton Controllers in Times of Declarative QMLTo make it easier to provide controller objects to QML, Andrรฉ Somers contributed some changes to QQmlEngine and the declarative registration code, so that you can now provide object instances to the QML engine to use as singletons.๐KDABWednesday, May 6, 2026
Checking multiplication overflowSuppose that x is a variable of an unsigned type. In C/C++, it could be of type size_t for example. You have an expression like 6 * x and you want to know whether 6 * x overflows. That is, you want to know if 6 * x exceeds the range of values that can โฆ Continue reading Checking multiplication overflow๐Daniel Lemire's blog
Why not have changes in API behavior depend on the SDK you link against?Static libraries don't stand a chance. The post Why not have changes in API behavior depend on the SDK you link against? appeared first on The Old New Thing .๐The Old New Thing
Lightning Talk: Learning C++ Through Writing Coding Questions - Christopher DeGuzman - CppCon 2025๐ฅCppCon
Top C++ Skills from Candidates and the Meeting C++ Survey๐ฅMeetingCpp
Using Kotlin/Compose Multiplatform to Revive a Historic Multiplayer Online Drum Machine - Phil Burk๐ฅaudiodevcon
Qt Design Studio 4.8.2 ReleasedQt Design Studio 4.8.2 Is Here! Following our 4.8.1 release , which introduced the Qt Design Studio AI Assistant in beta, we are back with a significant evolution of that feature, along with a few other updates. The 4.8.1 release laid the groundwork, a prompt-based tool that could generate QML from a natural language description or an image. That was a strong foundation, and the feedback we received helped shape where we took it next. In 4.8.2, the assistant has been rebuilt around a fundamentally more powerful architecture, and the difference in what you can accomplish with it is substantial. Qt Design Studio Goes Agentic With 4.8.2, Qt Design Studio takes a major step forward by introducing a fully agentic AI Assistant powered by the Model Context Protocol (MCP), an open standard for connecting AI models to external tools and data sources. This shift transforms the assistant from a passive helper into an active collaborator. Instead of working on a single file, it now understands your entire project structure and can operate across it using a rich set of MCP tools: reading files, creating components, modifying existing ones, and more. When you describe a goal, the assistant enters an agentic loop. It plans the task, selects the appropriate tools, executes them, evaluates the results, and continues iterating until the objective is complete. Every step is logged in the chat, so you can follow the process. Built on MCP, the assistant is designed to be extensible and future-proof, enabling integrations with external MCP server. The assistant supports leading models from Anthropic, Google, and OpenAI, and you can switch between providers within the same conversation. The agentic AI assistant is available to all Qt Design Studio users, we encourage you to try it out and share your feedback. Agentic AI at Work: Medical UI demo Created from a Single Prompt Qt Kit Updated to 6.8.7 This release also bumps the bundled Qt Kit from 6.8.5 to 6.8.7, picking up the latest stability and maintenance improvements from the Qt 6.8 series. Further Information Our change log contains the full list of fixes and improvements included in this release. If you run into any bugs or usability issues, please report them in the issue tracker โ your feedback helps us improve every release. New to Qt Design Studio? Explore the online documentation or head to the learning portal to get up to speed. We look forward to hearing what you build with the new agentic assistant!๐Qt Blog
Enabling cybersecurity research using D - Brian Callahan - D Language Symposium 2026 - Talk 7 of 8๐ฅMike Shah
Improving Python Dependency Handling for 3D Slicer Extension Development3D Slicer is a multi-platform medical image informatics and visualization application, and a sizable fraction of its functionality lives in extensions. Many of those extensions are written in Python, and many of them depend on third-party Python packages: PyTorch for deep learning models, scikit-image for filtering, nnUNet for segmentation, and so on. How those dependencies [โฆ]๐Kitware Inc
C++ Alignment Chart๐Arthur OโDwyerTuesday, May 5, 2026
Sovereignty by DisruptionA full length novel๐My Very Best AI Slop
Mapping Strings to Float Arrays in Go: How Fast Can We Go?A common pattern in modern software is to map a string key to a small array of floating-point numbers. Word embeddings, feature vectors, lookup tables for physical constants: all variations on the same theme. In Go, the obvious way to write this is a map[string][]float32. But how fast is it, really, and can we do โฆ Continue reading Mapping Strings to Float Arrays in Go: How Fast Can We Go?๐Daniel Lemire's blog
Announcing Girder 5A Modern and Scalable Data Management Platform We are delighted to announce the release of Girder 5, a major rewrite that brings modern development practices, improved scalability, and a more maintainable codebase to our popular data management platform. Girder has been the core infrastructure behind HistomicsTK and the Digital Slide Archive and is used with [โฆ]๐Kitware Inc
A dispute over the TAB key highlights a mismatch between Microsoft and IBM organizational structuresI want to speak to your manager. The post A dispute over the TAB key highlights a mismatch between Microsoft and IBM organizational structures appeared first on The Old New Thing .๐The Old New Thing
Lightning Talk: Back When ChatGpt Was Young And Stupid - Andrei Zissu - CppCon 2025๐ฅCppCon
Construct with Collaborators, Call with Work@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 Shahar Roth Classes require various objects and parameters to function. The "Construct with Collaborators, Call with Work" guideline can help you construct effective inputs: Use the constructor for collaboratorsโthe dependencies that establish the objectโs identity. Collaborators stay with the object for its lifetime to enable it to fulfill its ongoing duties. Pass workโthe parameters that change with each interactionโto methods. Unique to each call, these inputs provide the specific data needed for an operation such as a file path or database query. Consider a ReportGenerator that needs a database, a formatter, and a date range to generate a report. The database and formatter , as collaborators, are injected via the constructor, while dateRange , which varies per report generation, is passed as a method parameter to the generate method: class ReportGenerator { private final Database database ; private final Formatter formatter ; // database and formatter are passed as collaborators. ReportGenerator(Database database , Formatter formatter ) { this. database = database ; this. formatter = formatter ; } // dateRange is passed as a parameter. Report generate(Range dateRange ) { return formatter .format( database .getRecords( dateRange )); } } A single ReportGenerator object can generate multiple reports with different date ranges: ReportGenerator generator = new ReportGenerator( database , formatter ); Report report1 = generator.generate( dateRange1 ); Report report2 = generator.generate( dateRange2 ); Following the "Construct with Collaborators, Call with Work" guideline promotes : Reusability: Enables instances to be used for multiple, distinct operations. Testability: Separates dependency setup from business logic. Cleaner code: Hides implementation dependencies from the objectโs users. Predictable behavior: Locks in dependencies at creation time. Note that the definition of "collaborator" versus "work" depends on the object's identity. For example, a RequestMessage could be a collaborator for a RequestHandler if the handler operates on a single request, or work if the handler processes different requests with each method call.๐Google Testing Blog
Introducing the QML Profiler Skill for Agentic DevelopmentInstead of a painstaking row-by-row or slow flame graph reviews, the QML profiler skill for agentic development allows developers to delegate code performance profiling to AI agents. The skill guides the developer through the workflow, triggers the QML profiler, crunches through the resulting raw data, presents the performance bottlenecks in a concise report, and suggests improvements. The skill targets 2D Qt Quick applications and supports four profiling modes โ rendering, logic, memory, and full. It can also analyze an existing trace file directly, without re-running the application, for example, if the performance trace has been run on the target hardware. Video: QML profiling of shopping list app in Claude Code CLI (Some sequences are shortened or accelerated)๐Qt Blog
ELFโs ways to combine potentially non-unique objectsPreviously [I wrote](/blog/2026/04/24/define-static-array/): > [Template parameter objects of array type] are permitted to overlap or be > coalesced, just like `initializer_list`s and string literals. Clang trunk > isn't smart enough to coalesce potentially non-unique objects [but] > GCC, once it implements `define_static_array`, will presumably make them the same. Well, GCC 16 has an experimental implementation of `define_static_array` (compile with `g++ -std=c++26 -freflection`), and it does _not_ coalesce template parameter objects of array type in the way I expected. Digging deeper into why not, I learned that there are at least three ways compilers and linkers (on ELF โ that is, non-Windows โ platforms) conspire to "merge" potentially non-unique objects: * Merging at the compiler level (for `initializer_list` backing arrays) * Sections with `SHF_MERGE` (for string literals and backing arrays) * Sections with `SHF_GROUP`, a.k.a. COMDAT sections (for inline variables)๐Arthur OโDwyer
From Undefined to Defined: Using std::launder in C++In today's post, I will continue with the overall topics of the last two months. Today you'll learn when and where you need to apply C++17's std::launder and where the difference to this utility is to reinterpret_cast or std::start_lifetime_as . The fields where you can apply today's learning โฆ๐AndreasFertig.com
What makes a game tick? Special Issue - Buffy the Performance SlayerLet's talk about game simulations. In this special issue we talk about how to handle buffs, modifiers and other stat bonuses.๐Mathieu RopertMonday, May 4, 2026
Kitware Awarded $4M DARPA SABER Contract to Evaluate AI-Enabled Battlefield SystemsClifton Park, NY โ May 4, 2026 โ Kitware has been awarded a two-year, $4 million contract from the Defense Advanced Research Projects Agency (DARPA), through its Information Innovation Office (I2O), as part of the Securing Artificial Intelligence for Battlefield Effective Robustness (SABER) program. The effort will focus on developing software and participating in field tests to evaluate the resilience of AI-enabled battlefield systems against external threats.๐Kitware Inc
Giving Copilot more C++ context using custom instructions in VS CodeIn February, we announced how GitHub Copilot can now use C++ symbol context and CMake build configuration awareness to deliver smarter suggestions in Visual Studio Code. Today, weโre excited to share new ways to further enhance your C++ development experience with Copilot and get the most out of the language-driven suggestions, by leveraging custom instructions [โฆ] The post Giving Copilot more C++ context using custom instructions in VS Code appeared first on C++ Team Blog .๐C++ Team Blog
Introducing the Qt Code Review Skills for Agentic Code ReviewReviewing, auditing, or sanity-checking code usually means running separate linters, reading through checklists, and manually verifying Qt-specific patterns across dozens of files. The Qt code review skills help developers to automate part of this code review phase. Developers avoid a laborious manual walkthrough of every file, with the AI agent running a deterministic linter followed by six parallel deep-analysis agents and surfacing real issues with mitigations in a few minutes. AI-Powered Code Reviews with Reliable Results๐Qt Blog
MayaFlux: Real-Time Audio-Graphics Coordination in C++20 (Coroutines, Lock-Free) - Ranjith Hegde๐ฅCppOnline
How do I inform Windows that Iโm writing a binary file?You don't. All files are binary at the file system level. The post How do I inform Windows that Iโm writing a binary file? appeared first on The Old New Thing .๐The Old New Thing
C++ Weekly - Ep 531 - You Are Using AI Wrong๐ฅJason Turner
Lightning Talk: The Type Safe Builder Pattern for C++ - John Stracke - CppCon 2025๐ฅCppCon
Are you hiring for C++? What Meeting C++ has to offer!๐ฅMeetingCpp
Continuous QA Testing for Plugins Using AI and Python - Ryan Wardell - ADC 2025๐ฅaudiodevcon
I Wasted a Day Building Thisโฆ Then Fixed It in 10 Minutes๐ฅKea Sigma Delta
I Wasted a Day Building Thisโฆ Then Fixed It in 10 Minutes๐ฅKea Sigma Delta
Nobody Asked #1 - Thoughts about AI๐ฅjavidx9