CMake 4.4.1 available for downloadCMake 4.4.1 available for download๐Kitware IncWelcome to SwedenCpp
Latest blogs, videos, podcasts and releases in one stream
Thursday, July 30, 2026
CMake 4.4.1 available for downloadCMake 4.4.1 available for download๐Kitware Inc
Fixing a super 8 projector from the 70sWarning! Do not try any of this at home! Messing with internals of electronic devices is dangerous and can lead to electrical fires, serious injury and even loss of life. My dad started using a super 8 film camera as early as 1967 (the system was launched in 1965). He stopped doing it in the 1980s as it became pretty much impossible to buy film. Ever since then the films have been stored in multiple cardboard boxes in his basement. Recently he moved to a smaller apartment so all the films and related hardware had to go somewhere else. Namely, to me. Here is a representative sample. The picture does really not make justice to the projector. It is perhaps the only household appliance I have ever owned that could survive a head-on collision with an IBM Thinkpad from the 2000s. The projector weighs 10 kilos and consumes 200 watts when running, half of which is taken by its halogen light bulb. For comparison a typical modern LED light bulb consumes less than 5 watts. The projector has not been used this millennium so unsurprisingly it did nothing when I plugged it in. The back cover could be opened (with a screwdriver) revealing two glass fuses, one of which was burnt. I replaced it and plugged the machine back in. It immediately let loose the magic smoke even though everything was turned off. Fortunately I had kept the back cover open so could see the smoke the second it appeared and managed to cut the power before flames appeared. Unfortunately the smoke originated deep inside the machine so I could not see which component was the source. To get deeper I would have to remove all the covers. That is no small feat, mind you, I had to buy a whole new ratchet set to get all the various screws out. This thing predates printed circuit boards that would tell you which holes belong to which components. Instead all components have been soldered to the board by hand with Japanese meticulousness. The board won't give us any help on deciphering how things should work. Visual inspection also does not reveal any immediately broken components. Neither did poking around with a multimeter. The only life line was that even though a component had started smoking the fuse had not blown. In theory I could plug the machine in for a second and see if smoke appears again. If it does I can see the exact component faulty component. At this point I'd like to remind you of the warning at the top of the post. If you have a known broken electrical device, you should never connect it to any sort of a power source. Seek advice from a qualified professional instead. Even if you manage not to burn your house down, electric shocks are nasty any resulting smoke is almost certainly noxious. Anyhow, after taking sufficient precautions I plugged it back in and immediately got smoke and could decipher what was wrong. One of the main electrolytic capacitors (the one that was in the most inconvenient location, obviously) had dried out and shorted. This caused one of the bridge rectifiers to have its positive and negative output leads short circuited. Here are the problematic components. The dark blue capacitor on the right is the broken one. For some weird reason the three decoupling capacitors have different voltage ratings (16V, 25V and 50V) even though there is only one transformer and input voltage (12 V). The black circles are the bridge rectifiers. The one on the right is the broken one. In this picture the cracks are fairly visible but trying to detect them in person is very difficult, even with a magnifying glass and a flashlight. According to multimeter measurements the other two capacitors and rectifier are working, but it's better to replace all of them. 50 year old eletrolytic capacitors have a short life expectancy and the additional work needed to fix all instead of only one is insignificant. Here is a comparison shot of the old components and their modern replacements. After soldering in the new components you enter a paranoid session of measuring every possible combination on the board to ensure you have not accidentally created a short or put any of the components in the wrong way. Any failure can give you a live Electroboom experience in your own home. Even though it sounds exciting, you really don't want to see it with your own eyes. I don't speak from experience here, and intend to keep it that way. Anyhow, eventually you have to plug the power and try if the machine works. Amazingly enough it did without a hitch. Once you have it running you can truly appreciate how well the mechanical parts of the projector have been designed. It runs silent, smooth and with zero visible jitter. There is only one plastic knob in the entire device. Unfortunately it is the lens focus adjustment wheel, and it has broken off (as you can see in the first image). You can still sort of twist it with your fingers but the experience is inconvenient to say the least. What next? An obvious question some of you might have is "Wouldn't it be more convenient to watch films on a computer than an ancient and potentially deadly projector?" The answer to that is "Yes, it would indeed be." But more on that in a future blog post.๐Nibble Stew
no one will tell you this about bool data type๐ฅCppNuts
C++/sys - A Standard Library Projection to Facilitate the Verification of Run-time Memory Safety๐ฅCppOnline
Modernizing Legacy Audio Plugin Codebases - Lessons from FL Studioโs Plugin Suite - Tomas Medek๐ฅaudiodevcon
When a Bug Becomes a Iconic Feature ๐ฎ๐ฅPVS-Studio
Meeting C++ Student Showcase presentations๐ฅMeetingCpp
member initializer list [C++ Shorts Lesson 28]๐ฅMike ShahIf this page is useful, please consider donating a coffee
Wednesday, July 29, 2026
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 8Exceptions hiding in lambda captures. The post Making an agile version of a Windows Runtime delegate in C++/WinRT, part 8 appeared first on The Old New Thing .๐The Old New Thing
PolyBLEP & PolyBLAMP Demystified - Nis Wegmann - ADCx Copenhagen 2026๐ฅaudiodevcon
Fine-Grained Authorization: The Missing Piece in Agentic AI Security - Shivay Lamba - NDC Sydney๐ฅNDC Conferences
glfw setup from source a simple triangle (glfw3) [Episode 1 of 2]๐ฅMike Shah
How old is Ann?From โTopics of the Times,โ New York Times of 1924-11-17:๐Arthur OโDwyerTuesday, July 28, 2026
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 7Further explorations into exception safety. The post Making an agile version of a Windows Runtime delegate in C++/WinRT, part 7 appeared first on The Old New Thing .๐The Old New Thing
Beautiful C++ Code - Told Through the Eyes of A Failed AI Prompt - Erich Lohrmann - C++Now 2026๐ฅCppNow
Practical Testing: 42 - Another code updateBack in 2004 I started a series of blog posts, called โPractical Testingโ, about testing real-world, multi-threaded code. In 2023 I did a brief precis of how we got here and, since the code is still in regular use and still evolving, itโs time to talk about some of the recent changes. This release of the code makes no functional changes to the code that weโre testing in this series of articles.๐Rambling Comments - Len Holgate's blog
Doors of (AI)pportunity: The Front and Backdoors of LLMs - Kasimir Schulz & Kenneth Yeung๐ฅNDC Conferences
Introducing the SQL MCP Server - Jerry Nixon - NDC Toronto 2026๐ฅNDC Conferences
Threat Modeling Developer Behaviour: The Psychology of Bad Code - Tanya Janca๐ฅNDC Conferences
How to Break AI Systems (Before Someone Else Does) - Gary Lopez - NDC Toronto 2026๐ฅNDC Conferences
Teaching C++ in the age of AI and large language models๐ฅMeetingCpp
constructors [C++ Shorts Lesson 27]๐ฅMike Shah
A crosswording miscellanyI just finished reading Natan Last's 2025 book _Across the Universe: The Past, Present, and Future of the Crossword Puzzle._ It was... fatiguing. Now, I myself am a "discursive" writer, so I'm throwing stones from a glass house here; but it seemed to me that Last's _every_ paragraph consisted of three or four anecdotes halfway told, capped off with some nonsensical simile. Open the book at random to page 31: > On December 11, 2022, Eric [Albert] suffered a hemorrhagic stroke of his cerebellum. > He's lucky to be alive: around 50 percent of patients die in a month, half of those within > the first two days. When we first spoke in April 2023, I immediately asked if his language > had been affected, then regretted it. But he was fine, he said. The neurologists don't know > why the stroke happened, or how he recovered his cognition so quickly. He says he repeated the > French he was learning to himself in the ICU. I imagined him, was almost ashamed to imagine him, > saying _cirรฉ cirรฉ cirรฉ, รฉpรฉe รฉpรฉe รฉpรฉe_ โ as if the accent marks were stray neurons in need of repair > โ or an item from James Joyce's _Finnegans Wake_ I'd just seen in _Word Ways_ because it's the > only "word" with five or more Q's: _Quoiquoiquoiquoiquoiquoiquoiq!_ In Joyce's _Wake_, it's > preceded by the line: "He lifts the lifewand and the dumb speak." I remembered analyses of > Broca's aphasia I'd read studying neuroscience in college [...]๐Arthur OโDwyerMonday, July 27, 2026
Dynamic Asynchronous Tasking with Dependencies in C++๐ฅCppOnline
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 6Exception-safety, the invisible bug. The post Making an agile version of a Windows Runtime delegate in C++/WinRT, part 6 appeared first on The Old New Thing .๐The Old New Thing
C++ Weekly - Ep 543 - The constexpr Evolution of std::array๐ฅJason Turner
Workshop: Programming Music and Synthesizers on-the-fly with Pharo - Domenico Cipriani - ADC 2025๐ฅaudiodevcon
Most Expensive Design Mistakes (Ever) and how to avoid them - Clarissa Rodrigues๐ฅNDC Conferences
How to Lie with AI: Understanding Bias, Ethics, and the Hidden Risks in ML - Clarissa Rodrigues๐ฅNDC Conferences
Optimizing your HttpClient usage - Nico Vermeir - NDC Copenhagen 2026๐ฅNDC ConferencesSunday, July 26, 2026
From Template Metaprogramming to User Convenience - API Design Stories - Ruslan Arutyunyan - C++Now๐ฅCppNow
Mind the Spike - Benchmarking for Worst-Case Execution Time in Realtime Code - Christian Luther๐ฅaudiodevcon
ls AI Code Actually BAD?๐ฅThe Cherno
BeCPP Symposium 2026 - Bryce Adelstein Lelbach - The CUDA C++ Developer's Toolbox๐ฅBeCPP Users Group
Professor Helmut Hlavacs: Teaching C++ at the University of Vienna๐ฅMeetingCpp
parallel map (lazy and eager) - Concurrency Part 8 of N [D Language - Dlang Episode 155]๐ฅMike Shah
struct allocated on the heap [C++ Shorts Lesson 26]๐ฅMike Shah
Interconverting `std::function` with `copyable_function`C++11 introduced std::function as a type-erased callable-object holder. function was badly designed in a few ways: Its rarely used โgo fishโ API bloats every user; it advertises operator() const even when the controlled objectโs operator() is mutating; it handles what should be a precondition violation by throwing an exception, which again bloats every user and means its operator() can never be noexcept. So C++26 fixed these problems by adding std::copyable_function. (Which preserves some of functionโs suboptimal design decisions: copyable_function remains implicitly convertible to copyable_function , contextually convertible to bool, and assignable from nullptr.)๐Arthur OโDwyerSaturday, July 25, 2026
Memory-level parallelism: AMD is the kingWhen your program asks for memory that is not in cache, the processor has to go to RAM. That trip costs on the order of 100 nanoseconds. On a 3 GHz core, that is about 300 cycles of doing nothing. Memory latency has not improved in ten years. The 2016 Broadwell answers a random access โฆ Continue reading Memory-level parallelism: AMD is the king๐Daniel Lemire's blogFriday, July 24, 2026
Does a PhD Pay Off?Every week, I discuss with people who want to get a PhD. For years, I have been advising people not to pursue a PhD. It may come as a surprise to some. You would expect people with a PhD to earn more money. Individuals who complete doctorates tend to have higher cognitive abilities and greater โฆ Continue reading Does a PhD Pay Off?๐Daniel Lemire's blog
Making an agile version of a Windows Runtime delegate in C++/WinRT, part 5Making sure to use the non-agile delegate non-agile-ly. The post Making an agile version of a Windows Runtime delegate in C++/WinRT, part 5 appeared first on The Old New Thing .๐The Old New Thing
Typed Linear Algebra - How to Not Crash on Mars - Franรงois Carouge - C++Now 2026๐ฅCppNow
When Code Writes Back: Making AI Coding Agents Actually Work - Tobias Baumbach - ADC 2025๐ฅaudiodevcon
Meeting C++ Student Showcase - full recording๐ฅMeetingCpp
struct [C++ Shorts Lesson 25]๐ฅMike Shah
Introducing Logarithmic Quantities and UnitsIntroducing Logarithmic Quantities and Units Decibels are everywhere in engineering. Signal levels in dBm , sound pressure in dB SPL , voltage gain in dB , filter slopes in dB/octave . The neper, pH, and stellar magnitude share the same structure. Yet, to the best of our knowledge, no general-purpose units library models logarithmic quantities correctly. Most do not model them at all. The few that do treat a decibel as a non-linear scale or an offset unit, and that choice gets the arithmetic wrong in ways that compile silently. This article is a request for feedback . We believe we have a correct design, derived from the same affine-space model we introduced for absolute quantities . It also aims to stay consistent with the ISO/IEC 80000 standards: especially IEC 80000-15:2026, Logarithmic quantities and their units , which consolidates the logarithmic-quantity rules once held in ISO 80000-1:2009 (Annex C); together with ISO 80000-2 (the logarithm functions lb , ln , lg ), ISO 80000-8 (acoustics), and IEC 80000-13 (information theory). We have read those against this design, cite them throughout, and call out the one place we knowingly diverge from them ( Open Question 5 ). This post describes the design in full, from the quantity spec to the named units, the arithmetic, the conversions, and every domain we surveyed (audio, RF, acoustics, chemistry, astronomy, music, information theory). Then it lays out the open questions , each with every alternative we considered and our current preference. Before we implement any of this in mp-units , we want the people who use these quantities daily to tell us where we are wrong.๐mp-units