CppCast-logo

CppCast

Technology Podcasts

The first podcast by C++ developers for C++ developers!

Location:

United States

Description:

The first podcast by C++ developers for C++ developers!

Twitter:

@cppcast

Language:

English


Episodes
Ask host to enable sharing for playback control

Realtime Sanitizer and the Performance Constraints attributes

11/3/2024
Christoper Apple joins Timur and Phil. Chris talks to us about his work on the new Realtime Sanitizer in the Clang20 release, as well as the associated Performance Constraints attributes, how they differ, and how they work together. Show Notes News The C++23 Standard has finally been released by ISO"Why Safety Profiles Failed" - draft of new paper from Sean Baxter "if constexpr requires requires { requires }" - Jonathan Müller Links RealtimeSanitizer docsPerformance Constraints docsRealtimeSanitizer helper repo (including how to run it "standalone" and find the team on discord) slides from Chris and David Trevelyan's CppCon 2024 talk

Duration:01:01:03

Ask host to enable sharing for playback control

Type Erasure, SIMD-Within-a-Register and more

10/21/2024
Eduardo Madrid joins Phil and Timur. Eduardo talks to us about the Zoo libraries, including his advanced type-erasure library, as well as the SWAR library which simulates ad-hoc SIMD within a register. We also discuss how he has taken inspiration and cues from the worlds of Biology and Physics to arrive at new thinking around software development, design and architecture. Show Notes News QT 6.8 is released "Named Loops" proposal adopted into C - will C++ follow?C++ Online Call for Speakers is open Links The Zoo libraries "C++ Software Design" (book) - Klaus Iglberger"A Design Analysis""The Implementation Details""Using Integers as Arrays of Bitfields a.k.a. SWAR Techniques - CppCon 2019""Rehashing Hash Tables And Associative Containers" - C++ Now 2022""Empowerment with the C++ Generic Programming Paradigm" - C++ Online 2024

Duration:01:04:08

Ask host to enable sharing for playback control

Parsing and Analysing C++

10/4/2024
Yuri Minaev joins Timur and Phil. Yuri talks to us about static analysis and how PVS Studio helps. Then we chat about his work on a custom C++ parser, and what challenges he's encountered. Show Notes News CppCon 2024 keynotes on YouTube (via CppCon site): Herb Sutter - "Peering Forward: C++'s Next Decade" Khalil Estell - "C++ Exceptions for Smaller Firmware" Amanda Rousseau - "Embracing an Adversarial Mindset for C++ Security"David Gross - "Ultrafast Trading Systems in C++" Daveed Vandevoorde - "Gazing Beyond Reflection for C++26"Coros - task-based parallelism library built on C++20 Coroutines "The case of the crash when destructing a std::map" - Raymond ChenACCU 2025 Call for Speakers and (super) Early Bird Tickets Links C++ Under the SeaPVS-Studio PVS-Studio Blog Yuri's Webinar: Parsing C++ This episode sponsored by...

Duration:01:01:30

Ask host to enable sharing for playback control

CppCon 2024 Live Special

9/21/2024
Phil and Timur are joined by a live audience at CppCon as we chat about Safety in C++, AI and the running of CppCast itself. Show Notes News Clang 19.1 releasedP3390R0: "Safe C++" - Sean's work written up as a proposal partnership announcement from C++ AllianceSummary article on The Register Links Core C++ (Israel) - Call for Speakers closes 22nd Sept!"Robots Are After Your Job: Exploring Generative AI for C++" - Andrei Alexandrescu's CppCon 2023 talk

Duration:00:54:42

Ask host to enable sharing for playback control

Benchmarking Language Keywords

9/6/2024
Benjamin Summerton joins Timur and Phil. Ben talks to us about what led him to benchmark the impact of the and keywords, how to interpret his results, and the project that inspired him to do so in the first place. Show Notes News Boost 1.86 releasedRealtimeSanitizer - new real-time safety testing tool for C and C++ projects that comes with Clang 20"Honey, I shrunk {fmt}: bringing binary size to 14k and ditching the C++ runtime" Links Previous episodes covering std lib implementations: Stephan T. Lavavej (MSVC)Stephan T. Lavavej and Sy Brand (MSVC)Billy O'Neil (MSVC)Marshall Clow (libc++)Eric Fiselier (libc++) "noexcept affects libstdc++’s unordered_set" - Arthur O'Dwyer Episode with Martin Hořeňovský, discussing non-portal random distributionEpisode with Frances Buontempo, also mentioning random numbers and the portable distribution issue"Free Your Functions" (video) - Klaus Iglberger (timed link to the bit that talks about performance)Ben's PSRayTracing repo

Duration:01:05:49

Ask host to enable sharing for playback control

Reducing Binary Sizes

8/9/2024
Sándor Dargó joins Phil and Anastasia Kazakova. Sándor talks to us about why and how to reduce the final binary sizes your code produces, as well as the importance of clean code. Show Notes News "cppfront: Midsummer update" Reddit Threadcpp2 episode from last year AutoConfig: C++ Code Analysis Redefined (Sonar) “ Can (Sometimes) Help (or Hurt) Performance” - Ben Summerton Links Binary Sizes posts on Sándor's blogSándor's books "Parameterized testing with GTest" - Sándor Dargó"How to keep your binaries small?" - Sándor's C++ on Sea talk(s)

Duration:01:04:29

Ask host to enable sharing for playback control

Swift for C++ Developers

7/27/2024
Doug Gregor joins Phil and Kevin Carpenter. Doug talks to us about his work on Swift at Apple, what the language is like and how it can interoperate with C++. Show Notes News "Memory Safety in C++ vs Rust vs Zig" - B Shyam SundarC++ under the Sea workshops announced mp-units 2.2.0 released Links "Swift for C++ Practioners" - first in blog series from Doug GregorEpisode 341, with Dave Abraham talking about Swift/ C++ interop"Start with a Protocol" - blog post from Rob Napier (but link to Dave Abraham's "Crusty" talk no longer works)"Option(al) is not a Failure" - Phil's talk about Swift Error Handling"Option(al) is not a Failure" (yes, same name) - Phil's talk about past, present and possible future C++ error handling"Swift Concurrency"

Duration:01:02:58

Ask host to enable sharing for playback control

QuantLib

7/12/2024
Luigi Ballabio joins Phil and Matt Godbolt. Luigi talks to us about QuantLib, an open-source library for financial models that he co-founded and now maintains. Show Notes News "Official" report, collated by Inbal Levy Herb Sutter's trip report Links QuantLib home pageEpisode about borrow-checked C++ with Sean Baxter"QuantLib Python Cookbook" - book by Luigi"Implementing QuantLib" - book by Luigi

Duration:01:01:01

Ask host to enable sharing for playback control

libunifex and std::execution

6/28/2024
Jessica Wong and Ian Peterson join Timur and Phil. Ian and Jessica talk to us about libunifex and other async code projects at Meta, how it has evolved in the proposed std::execution and what structured concurrency is. Show Notes News XCode 16 betaThe std library that ships with XCode 16 supports "hardening"libc++ hardening modes"What’s the deal with std::type_identity?" - Raymond Chen "C++ programmer's guide to undefined behavior: part 1 of 11" - PVS Studio"C++ Brain Teasers: Exercise Your Mind" - Anders Schau Knatten Links "std::execution" - P2300R9 "async_scope – Creating scopes for non-sequential concurrency" - P3149R3 "Notes on structured concurrency, or: Go statement considered harmful" Folly Coro

Duration:01:01:56

Ask host to enable sharing for playback control

Boost, The Beman Project and Beyond

6/14/2024
Zach Laine joins Phil and Timur. Zach talks to us about the Boost collection of libraries, his contributions to it, a little of its history and where it's going, and a new project that aims to get back to Boost's original roots. Show Notes News Timing vulnerability in Kyber due to compiler optimization passJUCE 8 releasedC++ Under the Sea - new conference in The Netherlands Links Boost

Duration:01:04:06

Ask host to enable sharing for playback control

Safe, Borrow-Checked, C++

5/31/2024
Sean Baxter joins Timur and Phil. Sean explains how he has managed to implement a borrow checker for C++ in his Circle compiler. In fact his implementation addresses all the same safety issues that Rust addresses. Show Notes News "Noisy: The Class You Wrote a Hundred Times" Reddit discussion"Addressing That Post About " Pure Virtual C++ 2024 videosC++ on Sea 2024 - full scheduled published Links Jet Propulsion LabCircle homepage"Safe C++" - Sean's video covering the implementation discussed on the episodeP2687R0 - "Design Alternatives for Type-and-Resource Safe C++" - Stroustrup & Dos Reis P2771R0 - "Towards memory safety in C++" Clang's "Lifetime Extensions for C++" RFC

Duration:01:09:11

Ask host to enable sharing for playback control

Rust C++

5/18/2024
Mara Bos joins Phil and Timur. Mara talks to us about her work on the Rust evolution team and how she uses embedded Rust for drone flight controllers. We chat about some of the differences and similarities between C++ and Rust, and what the two languages can, and should, learn from each other. Show Notes News GCC 14 releasedChanges Reddit discussion"An informal comparison of the three major implementations of std::string" (updated) - Raymond ChenBugInsight – New memory leak and deadlock finder for C and C++ on Windows Reddit discussion Links "Rust Atomics and Locks" - Mara's book"driveway moment" (Wiktionary)

Duration:01:00:22

Ask host to enable sharing for playback control

JSON for Modern C++

5/3/2024
Niels Lohmann joins Timur and Phil. Niels talks to us about his popular JSON library, JSON for Modern C++ (often just known as nlohmann/json, after its github repo). We chat about the history and purpose of the library, with an interesting aside into starting and maintaining a popular OSS library, as well as what Niels is up to today. Show Notes News "The Performance Impact of C++'s Keyword" - Benjamin SummertonReddit discussionKris Jusiak: Meta-meta programming! (Reddit) Links "Tips on Surveying the C++ Community" - Anastasia Kazakova's talkJSON for Modern C++

Duration:01:07:59

Ask host to enable sharing for playback control

Pure Virtual C++

4/23/2024
Sy Brand joins Phil and Timur. Sy talks about the imminent Pure Virtual C++ conference that they have been running with Microsoft's backing for a few years. Sy also discuss what they have been up to as Developer Advocate at Microsoft, as well as some fascinating outside interests. Show Notes News C++ Foundation's C++ 2024 Developer survey results P3236R0: "Please reject P2786 and adopt P1144"P2786R5: "Trivial Relocatability For C++26" P1144R10: "std::is_trivially_relocatable" P1029R3: "move = bitcopies" (earlier alt paper)"C++20 modules and Boost: an analysis""Boston C++ April 2024 online meetup" Links Sy's short films Pure Virtual C++ 2024 conference'BF' written in DWARF debug info

Duration:01:00:29

Ask host to enable sharing for playback control

Heterogeneous Computing and C++ Language Evolution

4/5/2024
Erich Keane joins Timur and Phil. Erich chats about the recent WG21 meeting in Tokyo, his roles as chair and co-chair of the Language Evolution and Language Evolution Incubator working groups, respectively, as well as heterogeneous computing and his work at NVidia. Show Notes News CppCon - Call for SpeakersACCU 2024 Online Bjarne Stroustrup responds to White House warning against C++David Sankel's post on Boost split Links In-depth status report Herb Sutter's report Think-Cell's trip report (Jonathan Müller)P2900R6 - "Contracts for C++" P2996R2 - "Reflection for C++26" P2688R1 - "Pattern Matching: match Expression" P2830R1 - "Standardized Type Ordering"

Duration:01:00:52

Ask host to enable sharing for playback control

Psychology and Starting Out as a Developer

3/12/2024
Gail Ollis joins Phil and Matt Godbolt. Gail talks to us about why, after two decades of software development, she took a degree in psychology followed by a PhD that researched the psychology of software development - and how she now uses this to help others get started and, hopefully, avoid many of the human issues that can plague our software projects. Show Notes News "Contracts MVP is Feature Complete" - Reddit"Contracts for C++" Timur's C++ London talkHacker News threadTwitch streamer's reaction (ThePrimeTime) “White House urges developers to dump C and C++” - InfoWorld C++ on Sea Early Bird tickets and option, CfP closes soon (3rd-5th July)using std::cpp, Madrid (24th-26th April)C++ Now (29th April - 3rd May) ACCU full schedule and volunteers programme (17th-20th April) Links "Early Careers Day: A mini-conference for junior developers" - Gail's ACCU 2024 workshop"The kids are alright" - Gail's ACCU 2024 session showcasing her studentsPutting the Sec in DevSecOps: Using Social Practice Theory to Improve Secure Software DevelopmentDancing, not Wrestling: Moving from Compliance to Concordance for Secure Software Development"Helping developers to help each other: a technique to facilitate understanding among professional software developers" - Gail's PhD thesis

Duration:01:07:42

Ask host to enable sharing for playback control

Compiler Explorer Revisited

2/23/2024
Patrick Quist joins Phil and Timur. Patrick chats with us about their work on the Compiler Explorer team and how they got into it. We explore some useful features that may not be as widely known, and take a peek under the hood at how it all runs. News "C++ Package Managers: The Ultimate Roundup" - blog post by Christopher McArthur"Demystifying Lakos Rule via Visualization and How It Could Relate to Constexpr" blog post by Miro Palmu "A Year of C++ Improvements in Visual Studio, VS Code, and vcpkg" - blog post by Sy Brand NVidia interview question - Reddit thread Links History of DelphiCompiler ExplorerAlso Compiler ExplorerCompiler Explorer live stats

Duration:01:00:33

Ask host to enable sharing for playback control

Teaching and Training Modern C++

2/9/2024
Rainer Grimm joins Timur and Phil. Rainer talks to us about what he has learnt from many years of teaching C++ as a professional trainer, how training has become more accessible now more people are taking it online, and his thoughts on modern C++. Show Notes News The C++ Iceberg"C++20 Concepts applied - Safe bitmasks using scoped enums" - blog post by Andreas Fertig ACCU conference: Early-bird tickets and workshops Links Reddit thread on Episode 375 with Daveed VandervoordeRainer's website and blogRainer at Meeting C++ online, Feb 21stRainer's "Concurreny in Modern C++" workshop at C++ Online, March 14th

Duration:00:52:48

Ask host to enable sharing for playback control

Reflection for C++26

1/26/2024
Daveed Vandevoorde joins Phil and Timur. Daveed talks a bit about his work at EDG, but mostly his efforts to get Reflection into C++26, along with his co-authors, and how that fits into the big picture. Show Notes News Meeting C++ 2023 videos (including all keynotes)"A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++" Blog post Reddit discussionC++ Online Workshops Links P2996R1 - "Reflection for C++26" P1240R2 - "Scalable Reflection in C++""C++ Templates - The Complete Guide" - book (Vandevoorde, Josuttis)

Duration:01:12:33

Ask host to enable sharing for playback control

Modern C++ with Qt

1/11/2024
Ville Voutilainen joins Timur and guest co-host, Guy Davidson. Ville talks about Qt, his work a The Qt Company and his work on the C++ standards committee - including how all those things come together. Show Notes News Matt Godbolt on ComputerphilePVS-Studio C++ quizBoston C++ meetupC++ Now Links P2300R7 - std::execution (a.k.a. Senders/ Receivers)

Duration:01:08:05