ParaView 6.1.0 Release NotesParaView 6.1.0 has been released. For a comprehensive list of new features in ParaView 6.1.0, please see the ParaView 6.1.0 release notes hosted on ParaView’s GitLab project page. This release has some notable additions highlighted in this post. ANARI rendering integration in ParaView Rendering through ANARI is available in ParaView 6.1.0 built from source. The […]📝Kitware IncWelcome to SwedenCpp
Latest blogs, videos and releases in one stream
Tuesday, March 31, 2026
ParaView 6.1.0 Release NotesParaView 6.1.0 has been released. For a comprehensive list of new features in ParaView 6.1.0, please see the ParaView 6.1.0 release notes hosted on ParaView’s GitLab project page. This release has some notable additions highlighted in this post. ANARI rendering integration in ParaView Rendering through ANARI is available in ParaView 6.1.0 built from source. The […]📝Kitware Inc
Vector vs List: Memory layout and removing elements explained #programming #cplusplus🎥MeetingCpp
Beyond Sequential Consistency: Unlocking Hidden Performance Gains - Christopher Fretz - CppCon 2025🎥CppCon
Engineering Manager Span Of Control In The Age Of AIEngineering manager span of control is becoming one of the most important and least discussed constraints in software delivery. Gallup… The post Engineering Manager Span Of Control In The Age Of AI appeared first on John Farrier .📝John Farrier
Master C++ Performance at This Workshop with Jason Turner from @cppweekly #programming #tutorial🎥CppOnline
Code Reviewing My Own Game Engine Series (Hazel 2D)🎥The Cherno
std::optional (and monadic operations in C++23) | Modern Cpp Series Ep. 247🎥Mike Shah
Better codegen for Unity games on Monotl;dr: I am tinkering with improved codegen for Mono to get better performance in the Unity Editor and in Unity games that ship with Mono as their runtime. Not done yet, but please do get in touch if your studio is interested in this (mail@s-schoener.com). Unity has for a very...📝Sebastian SchönerMonday, March 30, 2026
How catch-block selection works in exception handlingIf a pill knows what to treat, could an exception also understand when to stop its journey through the stack? In application programming, a description like this is often enough, but sometimes one...📝from pvs-studio.com
GDB Tutorial That Actually Works #programming #tutorial🎥CppOnline
C++20 changes to std::chrono you might not be aware of: clocks and more📝Meeting C++ blog
A question about the maximimum number of values in a registry key raises questions about the questionWhy is this even a question? The post A question about the maximimum number of values in a registry key raises questions about the question appeared first on The Old New Thing .📝The Old New Thing
C++ Weekly - Ep 526 - Stop asserting on nullptr!🎥Jason Turner
How to Build Type Traits in C++ Without Compiler Intrinsics Using Static Reflection - Andrei Zissu🎥CppCon
Creating from Legacy Code - A Case Study of Porting Legacy Code from Exponential Audio - ADC 2025🎥audiodevcon
The C++ Deep Dive: Compilation, Memory, and Runtime Behavior - Advanced C++ Workshop🎥CppOnline
C++ Committee Q&A at using std::cpp 2026🎥using std::cpp
The CUDA C++ Developer's Toolbox - Bernhard Manfred Gruber🎥using std::cpp
What's New in the Qt Interface Framework in 6.11It has been a while since we last wrote about the Qt Interface Framework on this blog, so before jumping into the Qt 6.11 news, let's quickly recap what it does and why you should care.📝Qt Blog
Compiler as a Service: C++ Goes Live - Aaron Jomy, Vipul Cariappa🎥using std::cpp
Supercharge Your C++ Project: 10 Tips to Elevate from Repo to Professional Product - Mateusz Pusz🎥using std::cpp
C++20 and beyond: improving embedded systems performance - Alfredo Muela🎥using std::cpp
The road to 'import boost': a library developer's journey into C++20 modules - Rubén Pérez Hidalgo🎥using std::cpp
Having Fun With C++ Coroutines - Michael Hava🎥using std::cpp
Same C++, but quicker to the finish line - Daniela Engert🎥using std::cpp
Space Invaders: The Spaceship Operator is upon us - Lieven de Cock🎥using std::cpp
Building a C++23 tool-chain for embedded systems - José Gómez López🎥using std::cpp
Cross-Platform C++ AI Development with Conan, CMake, and CUDA - Luis Caro🎥using std::cpp
Procedural vs Smart Design Explained #cplusplus #codeprep #programming #coding🎥CppOnline
You’re absolutely right, no one can tell if C++ is AI generatedTwo C++ code snippets. A good interview question would be which one to pick, and why. And what they would change. Or you could just ask which one is AI.📝Mathieu RopertSunday, March 29, 2026
A Fast Immutable Map in GoConsider the following problem. You have a large set of strings, maybe millions. You need to map these strings to 8-byte integers (uint64). These integers are given to you. If you are working in Go, the standard solution is to create a map. The construction is trivial, something like the following loop. m := make(map[string]uint64, … Continue reading A Fast Immutable Map in Go📝Daniel Lemire's blog
C++26 is done! — Trip report: March 2026 ISO C++ standards meeting (London Croydon, UK)News flash: C++26 is done! 🎉 On Saturday, the ISO C++ committee completed technical work on C++26 in (partly) sunny London Croydon, UK. We resolved the remaining international comments on the C++26 draft, and are now producing the final document to be sent out for its international approval ballot (Draft International Standard, or DIS) and … Continue reading C++26 is done! — Trip report: March 2026 ISO C++ standards meeting (London Croydon, UK) →📝Sutter’s Mill
C++ Structured Concurrency & Senders/Receivers Workshop Preview | Mateusz Pusz🎥CppOnline
Building C++: It Doesn't Have to be Painful! - Nicole Mazzuca - Meeting C++ 2025🎥MeetingCpp
ADCx India 2026 Live Stream - Audio Dev Talks🎥audiodevconSaturday, March 28, 2026
Soft Skills to Make You A Senior Developer - Half Day Training Session with Sandor Dargo🎥CppOnline
Lecture 19. Concurrency I: Basic Synchronization (MIPT, 2025-2026).🎥Konstantin Vladimirov
C++ AI Workshops: Build an AI Coding Assistance & Matching Engine with Claude Code!🎥CppOnline
Panel: What We Learned About AI Tools For C++ Engineers - Hosted by Guy Davidson - CppCon 2025🎥CppCon
The Ultimate C++ Software Design Workshop! #cplusplus #programming🎥CppOnline
WG21 Croydon Trip ReportWG21 ISO C++ Standards Committee📝My Very Best AI Slop
Don’t be negative! - Fran Buontempo🎥using std::cpp
High frequency trading optimizations at Pinely - Mikhail Matrosov🎥using std::cpp
Powered by AI, for Better and WorseAI is powerful and I like it. But the current transition produces more rough edges than it should.📝Engineering the Craft
Report from the Croydon 2026 ISO C++ Committee meetingReport from the Croydon 2026 ISO C++ Committee meeting It has been 1.5 years since the last major update on the ISO C++ standardization progress here. It is not that I got lazy :wink:, but there was really not much to share. This time, things were different. We achieved a nearly unprecedented success — one probably not even expected by most, definitely not by me! 🎉 Keep reading to learn more...📝mp-unitsFriday, March 27, 2026
C++29 Library Preview : A Practitioners Guide - Jeff Garland🎥using std::cpp
C++ #debugging Made Stupidly Simple - Gdb & Linux Training Preview #programming #cpp🎥CppOnline
What if a dialog wants to intercept its own message loop?You can steal them from your owner. The post What if a dialog wants to intercept its own message loop? appeared first on The Old New Thing .📝The Old New Thing
Spring Cleaning: Inside the ParaView Issue-A-thonJust as spring invites us to clean and refresh our surroundings, the ParaView community recently came together for an “issue-a-thon” to do the same for its issue tracker. This focused effort brought contributors together to review, triage, and update longstanding issues, helping ensure the tracker reflects the current state of the project.📝Kitware Inc
Commercial LTS Qt 6.8.7 ReleasedWe have released Qt 6.8.7 LTS for commercial license holders today. As a patch release, Qt 6.8.7 does not add any new functionality but provides bug fixes and other improvements.📝Qt Blog
From Introductory to Advanced C++ - Learning Guidelines - Slobodan Dmitrovic - Meeting C++ 2025🎥MeetingCpp
The Practices of Programming and Their Application to Audio - Ilias Bergström - ADC 2025🎥audiodevcon
C++ Concurrency Deep Dive | Threads, Mutexes, Semaphores + More! Workshop Preview with Mateusz Putz🎥CppOnline
Ohio Data Centers Need Standards, Not a Place in the ConstitutionThere is now a proposed constitutional amendment for an Ohio data center ban to prohibit the construction of data centers.… The post Ohio Data Centers Need Standards, Not a Place in the Constitution appeared first on John Farrier .📝John Farrier
How Sound Becomes Code - JUCE Framework #programming #audio🎥CppOnline
Hazel's New Renderer IS DONE!🎥The Cherno
The Team Matters More Than the CompanyWhen you think about your career you probably focus on different company names.📝The Dev Ladder
Windows 10 End-of-Life Plans in QtWindows 10 has officially reached its end-of-life (EOL) on 14.10.2025.📝Qt Blog
I miss header filesI am currently on a side quest to write some Zig code, or more specifically: take some C++ code that is written in a I-can’t-believe-it’s-not-C style and turn it into Zig. This entire adventure started with a curiosity for using Zig’s build system. (Verdict so far: I like it!) I...📝Sebastian Schöner
Statement from the C++ Alliance on WG21 Committee Meeting SupportThe C++ Alliance is proud to support attendance at WG21 committee meetings. We believe that facilitating the attendance of domain experts produces better outcomes for C++ and for the broader ecosystem, and we are committed to making participation more accessible. We want to be unequivocally clear: the C++ Alliance does not, and will never, direct or compel attendees to vote in any particular way. Our support comes with no strings attached. Those who attend are free and encouraged to exercise their independent judgment on every proposal before the committee. The integrity of the WG21 standards process depends on the independence of its participants. We respect that process deeply, and any suggestion to the contrary does not reflect our values or our program. If you are interested in learning more about our attendance program, please reach out to us at info@cppalliance.org.📝The C++ AllianceThursday, March 26, 2026
JUCE Framework Crash Course #audioengineering #tutorial🎥CppOnline
Learning C++ as a newcomer - Berill Farkas🎥using std::cpp
using std::cpp 2026 Conference Opening🎥using std::cpp
Why Every C++ Game Developer Should Learn SDL 3 Now - Mike Shah - CppCon 2025🎥CppCon
Why doesn’t WM_ENTERIDLE work if the dialog box is a MessageBox?Because it opted out. The post Why doesn’t WM_ ENTERIDLE work if the dialog box is a MessageBox ? appeared first on The Old New Thing .📝The Old New Thing
CLion 2026.1 Is HereGitHub Copilot, Cursor, and Other Agents in the AI Chat, Support for Custom Project Formats, DAP Debugging via TCP, and More CLion 2026.1 focuses on stability and improving the existing functionality, but that didn’t stop us from shipping some exciting new features. Most notably, you can now use more agents directly in the AI chat, […]📝CLion : A Cross-Platform IDE for C and C++ | The JetBrains Blog
What's New in C++26? Static Reflection Deep Dive - Half Day Workshop Preview🎥CppOnline
New To C++? This C++ Full Course Is For You!🎥CppOnline
JSON and C++26 compile-time reflection: a talkThe next C++ standard (C++26) is getting exciting new features. One of these features is compile-time reflection. It is ideally suited to serialize and deserialize data at high speed. To test it out, we extended our fast JSON library (simdjson) and we gave a talk at CppCon 2025. The video is out on YouTube. Our … Continue reading JSON and C++26 compile-time reflection: a talk📝Daniel Lemire's blogWednesday, March 25, 2026
C++ container overview #cplusplus🎥MeetingCpp
C++ Skupština🎥cppserbia
The Wonderful World of Designing a USB Stack Using Modern C++ - Madeline Schneider - CppCon 2025🎥CppCon
How can I change a dialog box’s message loop to do a MsgWaitForMultipleObjects instead of GetMessage?The dialog box lets you change how it waits. The post How can I change a dialog box’s message loop to do a MsgWaitForMultipleObjects instead of GetMessage ? appeared first on The Old New Thing .📝The Old New Thing
Junior to Senior Engineer | Soft Skill Development Workshop with Sandor Dargo🎥CppOnline
Free-Range Users Make for More Profitable DAWs - Why DAWs Should Prioritise Interchange Formats🎥audiodevcon
Windows Store Deployment with windeployqtMicrosoft introduced the Windows Store with Windows 8 as central place to download and update software. To place software into the Microsoft Store, developers must sign it digitally. Microsoft checks the Software before it is published into the Microsoft Store. The AppxManifest.xml describes the packaging information for the Microsoft Store. The makeappx tool creates the appx installer, which is signed with the signtool from the Windows SDK. With Qt 6.11, windeployqt got extra command line arguments to create an AppxManifest.xml , namely those are the --appx and --appx-certificate arguments.📝Qt Blog
JUCE Framework Crash Course #audioengineering #tutorial🎥CppOnline
The scriptPubkey Confusion🎥Refactoring Bitcoin
Error Codes Exploration in C++ | Modern Cpp Series Ep. 246🎥Mike Shah
Fast Remote Desktop (RDP) from macOS to WindowsI regularly use Windows’ Remote Desktop Protocol (RDP) to connect from a non-Windows client to a Windows host machine (e.g., from my MacBook Pro to my CAD/Gaming Desktop Tower PC) to access software otherwise not available on Linux or macOS (mostly CAD/eCAD software like SolidWorks or Altium Designer). Unfortunately, by default the Remote Desktop client application from Micro$oft has terrible performance issues, especially when connecting from macOS to Windows. However, with a little bit of tweaking on the host and switching from the Remote Desktop Client (nowadays just called “Windows App”) to FreeRDP (or any alternative that is using FreeRDP under the hood) we can make the performance and visual fidelity bearable. Changes on the Host On the host machine, make sure to use an updated Windows. Open the “Group Policy Editor” and navigate to: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host Under “Remote Session Environment” configure the following policies: “Use hardware graphics adapter for all Remote Desktop Service sessions” Enabled “Prioritize H.264/AVC 444 graphic mode for Remote Desktop Connections” Disabled “Configure H.264/AVC hardware encoding for Remote Desktop Connections” Enabled Under Connections configure the following policies: “Select RDP transport protocols” Enabled with Use either UDP or TCP Reboot the host machine. Changes on the Client Meanwhile, download, and install Royal TSx for macOS . Install the Remote Desktop plugin, and create a new connection. Make sure to set the following options: Under Display Options Set Colors to High Color (15 Bit) Uncheck Use full retina resolution Set Scale Factor to 100% Set Desktop Size to Auto Expand Set Resize Mode to Smart Reconnect Under Performance Chose LAN as Connection Speed Uncheck all but Graphics Pipeline and Font Smoothing Configure the remaining settings as you prefer. Now, you can connect to a Remote Desktop session that has acceptable performance and doesn’t look like Godzilla vomited all over your screen.📝Arvids BlogTuesday, March 24, 2026
Fast AND Safe C++ Crash Course with Jason Turner from @cppweekly - C++ Workshop Preview🎥CppOnline
Back to Basics: Move Semantics - Ben Saks - CppCon 2025🎥CppCon
Windows 95 defenses against installers that overwrite a file with an older versionA very primitive version of recovery. The post Windows 95 defenses against installers that overwrite a file with an older version appeared first on The Old New Thing .📝The Old New Thing
Polymorphic memory resources (PMR) in C++ #cplusplus🎥MeetingCpp
Coco Code Coverage - Deeper Support for Qt for MCUsTeams building embedded applications with Qt for MCUs have always faced a practical barrier to continuous code coverage: the setup overhead was simply too high:📝Qt BlogMonday, March 23, 2026
From error-handling to structured concurrencyHow should we think about error-handling in concurrent programs? In single-threaded programs, we’ve mostly converged on a standard pattern, with a diverse zoo of implementations and concrete patterns. When an error occurs, it is propagated up the stack until we find a stack frame which is prepared to handle it. As we do so, we unwind the stack frames in-order, giving each frame the opportunity to clean up or destroy resources as appropriate.📝Posts on Made of Bugs
How C++ Finally Beats Rust at JSON Serialization - Daniel Lemire & Francisco Geiman Thiesen🎥CppCon
Build Your First Audio Plugin with C++ and JUCE - Full Day Workshop Preview🎥CppOnline
Compiling at Compile Time with Daniel Nikpayuk - CppCast Ep405 - C++ Weekly Ep 525🎥Jason Turner
Everything old is new again: memory optimizationAt this point in history, AI sociopaths have purchased all the world's RAM in order to run their copyright infringement factories at full blast. Thus the amount of memory in consumer computers and phones seems to be going down. After decades of not having to care about memory usage, reducing it has very much become a thing. Relevant questions to this state of things include a) is it really worth it and b) what sort of improvements are even possible. The answers to these depend on the task and data set at hand. Let's examine one such case. It might be a bit contrived, unrepresentative and unfair, but on the other hand it's the one I already had available. Suppose you have to write script that opens a text file, parses it as UTF-8, splits it into words according to white space, counts the number of time each word appears and prints the words and counts in decreasing order (most common first). The Python baseline This sounds like a job for Python. Indeed, an implementation takes fewer than 30 lines of code. Its memory consumption on a small text file [update: repo's readme, which is 1.3k] looks like this. Peak memory consumption is 1.3 MB. At this point you might want to stop reading and make a guess on how much memory a native code version of the same functionality would use. The native version A fully native C++ version using Pystd requires 60 lines of code to implement the same thing. If you ignore the boilerplate, the core functionality fits in 20 lines. The steps needed are straightforward: Mmap the input file to memory. Validate that it is utf-8 Convert raw data into a utf-8 view Split the view into words lazily Compute the result into a hash table whose keys are string views, not strings The main advantage of this is that there are no string objects. The only dynamic memory allocations are for the hash table and the final vector used for sorting and printing. All text operations use string views , which are basically just a pointer + size. In code this looks like the following: Its memory usage looks like this. Peak consumption is ~100 kB in this implementation. It uses only 7.7% of the amount of memory required by the Python version. Isn't this a bit unfair towards Python? In a way it is. The Python runtime has a hefty startup cost but in return you get a lot of functionality for free. But if you don't need said functionality, things start looking very different. But we can make this comparison even more unfair towards Python. If you look at the memory consumption graph you'll quite easily see that 70 kB is used by the C++ runtime. It reserves a bunch of memory up front so that it can do stack unwinding and exception handling even when the process is out of memory. It should be possible to build this code without exception support in which case the total memory usage would be a mere 21 kB. Such version would yield a 98.4% reduction in memory usage.📝Nibble Stew
How can I make sure the anti-malware software doesn’t terminate my custom service?You'll have to ask nicely. The post How can I make sure the anti-malware software doesn’t terminate my custom service? appeared first on The Old New Thing .📝The Old New Thing
Lock-free Queues in the Multiverse of Madness - Dave Rowland - ADC 2025🎥audiodevcon
Qt 6.11 Released!The 6.11 release for Qt Framework is now available, with improved performance, newly supported techniques and capabilities on graphics, connectivity and languages, not to mention a whole new approach to asynchronous C++ coding. Take a closer look.📝Qt Blog
Did I Break My “No Build in Public” Rule? What Actually Happened🎥Kea Sigma Delta
Understanding Safety Levels in Physical Units LibrariesUnderstanding Safety Levels in Physical Units Libraries Physical quantities and units libraries exist primarily to prevent errors at compile time. However, not all libraries provide the same level of safety. Some focus only on dimensional analysis and unit conversions, while others go further to prevent representation errors, semantic misuse of same-dimension quantities, and even errors in the mathematical structure of equations. This article explores six distinct safety levels that a comprehensive quantities and units library can provide. We'll examine each level in detail with practical examples, then compare how leading C++ libraries and units libraries from other languages perform across these safety dimensions. Finally, we'll analyze the performance and memory costs associated with different approaches, helping you understand the trade-offs between safety guarantees and runtime efficiency. We'll pay particular attention to the upper safety levels—especially quantity kind safety (distinguishing dimensionally equivalent concepts such as work vs. torque, or Hz vs. Bq) and quantity safety (enforcing correct quantity hierarchies and scalar/vector/tensor mathematical rules)—which are well-established concepts in metrology and physics, yet remain widely overlooked in the C++ ecosystem. Most units library authors and users simply do not realize these guarantees are achievable, or how much they matter in practice. These levels go well beyond dimensional analysis, preventing subtle semantic errors that unit conversions alone cannot catch, and are essential for realizing truly strongly-typed numerics in C++.📝mp-units
What's new in zcov - March 2026Graph improvements I wanted zcov to quickly and naturally show the coverage status of a piece of code. Most of the time we’re interested in missing coverage as that is where we need to do work, either adding a test, improving the spec, or figuring out if there is a mismatch between the code as-is and then goals we’re trying to achieve. zcov can now colour code the blocks to show this, using a common red/yellow/green system. This works quite well; the red blocks immediately stand out. In fact, differently coloured blocks stand out, so if a function is mostly covered, missing coverage stands out, and vice versa. It comes with two modes, block and edge. The block mode is the most basic one - is the block visited or not, a direct improvement of the traditional line coverage red/green highlight. Here’s an example from GNU coreutils: The edge mode is slightly more sophisticated and will colour blocks green when all outgoing edges are taken, yellow when some are taken, and red when none are taken. This is the same function as before, but in edge mode, which colours block 2 yellow. What’s missing is a way to neatly show which edges are covered and which are missing. I tried colouring the edges using the same colour schema, but they actually became a lot harder to read that way. Colouring for MC/DC is not yet implemented, but shouldn’t be too far off. The colours used for missing/covered/partial will be configurable, too, both to mesh well with colour schemes, and to improve accessibility (colour blindness) I have also added labels to edges of conditions so it’s easy to tell which edge (and outcome) is the true and false one. This makes it a lot easier to understand the graph as the distance between the code in blocks makes it a lot harder to recognize which successor is the then and else. Sequence numbers in prime paths zcov has been able to highlight a single path for a long time by making the block borders and edges thicker, but it was very difficult to actually see where paths began, especially in tight loops. A prime path is a sequence of blocks, not simply a collection of blocks. Recently zcov will paint the sequence number in the block header when the path is selected. This is a necessity when interrogating paths in loops, as it would otherwise be impossible to tell which of the rotated paths we’re looking at. Here are two examples of a rotated path in the or function in GNU coreutils; the first path goes from block 4 through 4, the other from block 5 through 5. The list itself has been simplified to show the path number and the first .. last block. The actual sequence is hard to read out of a list, and sequences can be very long, and long sequences are easy to understand in graph form. Control panel for the function/graph view There is a new info- and control panel for the function/graph view. This new panel makes it easy to get an overview of which function we’re looking at, presenting its name (both mangled and demangled), the source file it is located in, the coverage as nice progress bars, and a control for selecting paths for highlighting. By default the uncovered prime paths will be shown as they are the most likely to be interesting. When working towards coverage, this will be the shrinking set, and could even function as a todo list. Two more path filters are currently supported, covered and all, as seen in this picture. Function filtering The function list was one of the first features I added to zcov, and I have added a filter-and-search box to it. As shown here it uses a regular expression search/filter to only show functions matching a pattern. This is a requirement for large projects. As a data point, GNU coreutils has more than 2500 functions, and it’s not really all that large. Closing remarks These features were made possible by an overhaul and, for the most part, a simplification of the zcov internals. The core engine is a lot more capable now than just a few months ago, and improving still. I plan to quite a few more features and polish over the coming months. I have also updated the software page with the new screenshots.📝patch – BlogSunday, March 22, 2026
Debugging Workshop with Mike Shah | GDB & Linux Deep Dive🎥CppOnline
Back to the basics: Namespaces 101 - Sandor Dargo - Meeting C++ 2025🎥MeetingCpp