C & C++
!cpp
#
C++Cast: Open Frameworks and Creative Coding

Rob and Jason are joined by Zach Lieberman, professor at MIT’s Media Lab and co-founder of the School for Poetic Computation. They first talk about Herb Sutter’s 2020 wrap up blog post and the ISO mailing from December 2020. Then Zach discusses Open Frameworks, a C++ toolkit he co-created 10 years a…


C++Cast: Goodbye 2020

Rob and Jason are discuss various news articles, libraries and announcements on the last episode of 2020 before the new year. …


C++Cast: TurtleBrowser

Rob and Jason are joined by Patricia Aas from TurtleSec. They first talk about updates to a Web Assembly compiler Cheerp and an announcement for a new systems programming language conference. Then they talk to Patricia about her current project building a new web browser using modern C++, Qt 5 and …


C++Cast: SerenityOS

Rob and Jason are joined by Andreas Kling. They first talk about the Qt 6.0 Release as well as another new C++ podcast that has been announced. They then talk to Andreas Kling about SerenityOS, the C++ Operating System he is building along with others in the Open Source community. …


It’s winter outside, the year is coming to an end, which means it’s time to review the most notable errors the PVS-Studio analyzer detected in 2020…


C++Cast: Virtual Teaching and Plenary

Rob and Jason are joined by Patrice Roy. They first talk discuss JeanHeyd Meneide’s blog post regarding ABI breakage in C and C++. Then they talk to Patrice Roy about his experience teaching C++ during the COVID pandemic, the first ISO Virtual Plenary and more. …


C++Cast: Networking TS

Rob and Jason are joined by Robert Leahy. They first talk about an open source flappy bird clone and the C++ framework it was built with. Then they talk to Robert Leahy about the Networking TS that will hopefully be a major feature of C++23. …


Combining many actions in a single C++ expression is a bad practice, as such code is hard to understand, maintain, and it is easy to make mistakes in it. For example, one can instill a bug by reconciling different actions when evaluating function arguments. We agree with the classic recommendation t…


C++Cast: Fuzz Testing on the GPU

Rob and Jason are joined by Artem Dinaburg and Ryan Eberhardt. They first talk about a new version of CMake that was just released, an interview with Bjarne Stroustrup and another month of new ISO papers. Then they talk to Artem and Ryan who talk about fuzz testing, including a new fuzz testing proj…



C++Cast: Concepts and Algorithm Intuition

Rob and Jason are joined by Joël Lamotte. They first talk about C++20 Modules support in GCC and MSVC and a micro benchmarking library. Then they talk to Joël about how he got involved in C++, and his experiences working on indie video games, robotics and his recent transition to the audio industry …


C++Cast: Video Games, Robotics and Audio

Rob and Jason are joined by Joël Lamotte. They first talk about C++20 Modules support in GCC and MSVC and a micro benchmarking library. Then they talk to Joël about how he got involved in C++, and his experiences working on indie video games, robotics and his recent transition to the audio industry…


C++Cast: Unicode Progress and C++/C Study Group

Rob and JeanHeyd are joined by Aaron Ballman and Peter Brett, both members of the ISO C++ committee. They first talk about an extension for Visual Studio and Visual Code for visualizing struct layout and a blog post proposing a safer boolean type. Then they talk about Aaron and Peter about progress…


C++Cast: ThinLTO

Rob and Jason are joined by Teresa Johnson from Google. They first discuss the Qt6 beta release and a blog post proposing range_ref, a lightweight view for ranges. Then they talk to Teresa about ThinLTO, the scalable and incremental Link Time Optimization built into LLVM. …


C++Cast: Programming History, JIT Compilations and Generic Algorithms

Rob and Jason are joined by Ben Deane from Quantlab. They first discuss the 11.0 update of Clang and an a blog post highlighting some of the smaller features that were added in C++17. They then talk to Ben about some of his recent CppCon talks including one on what we can learn from the history of p…


Somehow, we’ve happened to check most of the libraries making up a collection called “Awesome hpp”. These are small header-only projects in C++. Hopefully, the information about the bugs we’ve found will help make the libraries better. We’ll also be happy to see the developers use PVS-Studio on a re…


DeepSpeech is an open-source speech recognition engine developed by Mozilla. It’s pretty fast and ranks high, which makes its source code an interesting target for static analysis. In this article, I’ll show you some of the bugs found in DeepSpeech’s C++ code. …


C++Cast: Bazel

Rob and Jason are joined by Lukacs Berki and Julio Merino from Google’s Bazel team. They discuss CppCon trip reports, the cpp subreddit and a video on C++ 20 Concepts. Then Lukacs and Julio talk all about the advantages of Bazel and some of the key features of Google’s open source build tool…


By writing the article “Upsetting Opinions about Static Analyzers” we were supposed to get it off our chest and peacefully let it all go. However, the article unexpectedly triggered robust feedback. Unfortunately, the discussion went in the wrong direction, and now we will make a second attempt to e…


Static analysis tools have advanced far over the time they’ve been around. They no longer resemble the “linters” that were in active use 20 years ago. But some programmers still view them as extremely primitive tools. And that’s very sad. It hurts to see the static analysis methodology in general an…