
CppCast
Every two weeks, or so, we sit down with guests from the C++ community to discuss the latest news and what they have been up to. Find us at cppcast.com
Latest episodes

Aug 1, 2019 • 52min
Approval Tests
Rob and Jason are joined by Clare Macrae to discuss Approval Tests and how they can be used to quickly test legacy C++ code.
Clare is an independent consultant, helping teams streamline their work with legacy and hard-to-test C++ and Qt code.
She has worked in software development for over 30 years, and in C++ for 20 years.
Since 2017, she has used her spare time to work remotely with Llewellyn Falco on ApprovalTests.cpp, to radically simplify testing of legacy code. She has enjoyed this so much that she recently went independent, to focus even more on helping others to work more easily with legacy code.
Clare was until recently a Principal Scientific Software Engineer at Cambridge Crystallographic Data Centre. She is the original author of their popular 3D crystal structure visualisation program Mercury.
News
Cmake 3.15 available
Clang/LLVM Support for MSBuild Projects
LEAF light-weight error-handling lib seeking Boost review manager
Clare Macrae
@ClareMacraeUK
Clare Macrae's Blog
Links
C++ Approval Tests
Approval Tests
#include
Happy one-of-our-birthdays #include!
Sponsoring Diverse CppCon 2019 Attendees
#include sponsorship for CppCon 2019
Sponsors
Errors that static code analysis does not find because it is not used
PVS-Studio in the Clouds - Running the Analysis on Travis CI
Hosts
@robwirving
@lefticus

Jul 25, 2019 • 1h 1min
Cologne Trip Report
Rob and Jason are joined by Botond Ballo and Tom Honermann to discuss what features were added and removed from the C++20 draft paper at the ISO meeting in Cologne.
Botond Ballo is a software engineer at Mozilla, where he has been working on the Firefox web browser's rendering engine for 6 years. He's been attending C++ standards meetings for about the same time, and blogging about them to keep the C++ user community informed about standardization progress. In the committee, his interests include general language evolution, reflection, and tooling. Botond likes to hack on IDEs and other developer tools in his spare time. Offline, you might spot him climbing rocks or reading fantasy novels.
Tom Honermann is a software engineer at Synopsys where he has been working on the Coverity static analyzer for the past 8 years. His first C++ standard committee meeting was Lenexa in 2015. He currently chairs the SG16 text and Unicode study group and participates in the SG2 modules, SG13 HMI/IO, and SG15 tooling study groups. His contributions to C++20 include the new char8_t builtin type. A C++ minion with 20 years professional experience. Husband and father of two awesome boys.
Botond Ballo
@BotondBallo
Botond Ballo's Blog
Tom Honermann
@tahonermann
Tom Honermann's Blog
Links
2019-07 Cologne ISO C++ Committee Trip Report
p1607 - Minimizing Contracts
Sponsors
Backtrace
Announcing Visual Studio Extension - Integrated Crash Reporting in 5 Minutes
Hosts
@robwirving
@lefticus

Jul 11, 2019 • 57min
GitKraken
Rob and Jason are joined by Tyler Ang-Wanek to discuss leveraging C++ in an ElectronJS app like GitKraken.
Tyler Ang-Wanek has been developing software professionally for the past 3.5 years. He works as a senior developer at Axosoft, on the GitKraken team. His work primarily shifts among developing native node modules for use in GitKraken, architectural work for code and APIs around GitKraken, and developing new features for GitKraken. He is the creator of the node module Node Sentinel File Watcher (NSFW), a native file watcher written for GitKraken that has made its way into Atom and VSCode. One of his major accomplishments includes taking leadership of the open source native node module NodeGit. After much hard work on the NodeGit repo and within the community, Tyler joined the leadership group for LibGit2.
News
Expressive C++ Template Metaprogramming
Bring your C++ Code to the Web
Voting results for Meeting C++ 2019
Tyler Ang-Wanek
@twwanek
Links
GitKraken
Axosoft
GitKraken v6.0: The Fastest GitKraken Ever!
Sponsors
Backtrace
Announcing Visual Studio Extension - Integrated Crash Reporting in 5 Minutes
Hosts
@robwirving
@lefticus

Jul 4, 2019 • 58min
CMake and VTK
Robert Maynard, a principal engineer at Kitware, joins the hosts to discuss CMake and VTK. They talk about the upcoming features in CMake 3.16, the funding and areas for improvement in CMake, and the importance of creating informative posters. They also discuss their pets' fear of fireworks and thunderstorms and support campaigns for uninitialized variable detection.

Jun 27, 2019 • 45min
Functional Programming in C++
Rob and Jason are joined by Ivan Čukić to discuss his book on Functional Programming with C++.
Ivan Čukić is the author of "Functional Programming in C++" published by Manning.
He is one of the core developers of KDE, the largest free/libre open source C++ project.
He is also teaching modern C++ techniques and functional programming at the Faculty of Mathematics in Belgrade and has been using C++ for more than 20 years. He has been researching functional programming in C++ before and during his PhD studies, and uses the techniques in real-world projects.
News
Rust and C++ Cardiff
State of Developer Ecosystem 2019
Voting on the talks for Meeting C++ 2019
Pre-Cologne Mailing
Ivan Čukić
@ivan_cukic
Links
Functional Programming in C++
p0798R3 Monadic operations for std::optional
p0323R8 std::expected
Immer library
Ranges for distributed and asynchronous systems - Ivan Čukić - ACCU 2019
Functional reactive programming in C++ - Ivan Čukić - Meeting C++ 2016
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus

Jun 20, 2019 • 49min
Movable Iterators
Rob and Jason are joined by Corentin Jabot to discuss some of his proposals for C++20.
Corentin Jabot is a freelancer developer and member of the French National Body and the C++ committee where he participates in the tooling, Unicode and library evolution working groups.
He has been doing C++ for about 10 years and currently works with Mobsya, a swiss non-profit making educational robots for kids.
News
Catch v2.9.0 released
Core C++ 2019 Videos
Space Game: A std::variant Based State Machine
Corentin Jabot
@Cor3ntin
cor3ntin
Links
p1207: Movability of Single-pass iterators
p1206: ranges::to: A function to convert any range to a container
p1634: Naming guidelines for modules
p1628: Unicode character properties
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus

Jun 14, 2019 • 1h 2min
Factorio
Rob and Jason are joined by Michal Kovařík to discuss his work creating the Factorio video game with C++.
Michal is 34 years old and started programming when he was 11. C (and C++ soon after) became his favorite language soon afterwards.
After quitting University after 2 years he was a regular programmer in a company for 4 years. He then started his own computer game project, which he's been working on for 7 years already. The game is much more successful than anticipated (with more than 1.7 million sales) while still in early access. We are close to finishing the game and deciding what to do next.
News
C++Now 2019 Videos being uploaded
Clear, Functional C++ Docs with Sphinx + Breathe + Doxygen + Cmake
Fuzzing Unit Tests with DeepState and Eclipser
Michal Kovařík
Michal Kovařík's GitHub
Links
Factorio
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus

Jun 5, 2019 • 52min
Pattern Matching
Rob and Jason are joined by Michael Park to discuss his Pattern Matching library and standards proposal.
Michael Park is a software engineer at Facebook, working on the C++ libraries and standards team. His focus for C++ is to introduce pattern matching to facilitate better code.
News
Initialization in C++ the Matrix
CMake 3.14 and Performance Improvements
Compiler Explorer Execution Support
Michael Park
@mcypark
Michael Park's GitHub
Michael Park's Blog
Links
C++Now Pattern Matching: Match Me If You Can
P1371R0
CppCon 2017: Michael Park "MPark.Patterns: Pattern Matching in C++"
MPark.Patterns
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus

May 28, 2019 • 1h 8min
Simplifying C++
Rob and Jason are joined by Herb Sutter to discuss C++20 and some of his proposals that aim to Simplify C++.
Herb Sutter is an author, chair of the ISO C++ committee, and a systems languages architect at Microsoft.
News
No one knows the type of char + char
C++ Now 2019 Trip Report, Extension Points and Summer Opportunities
JSON Link
Herb Sutter
@herbsutter
Herb Sutter's GitHub
Sutter's Mill
Links
P1000 - C++ IS Schedule
P1185 - <=> != ==
P1186 - When do you actually use <=>
Keynote: De-fragmenting C++: Making exceptions more affordable and usable - Herb Sutter
CppCon 2018: Herb Sutter "Thoughts on a more powerful and simpler C++ (5 of N)
C++ Coding Standars: 101 Rules, Guidelines, and Best Practices
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus

May 23, 2019 • 54min
Constexpr Evaluation
Rob and Jason are joined by Daveed Vandevoorde to discuss his contributions to the C++ standard and his recent work on constexpr evaluation.
David ("Daveed") Vandevoorde is a Belgian computer scientist who lives near Princeton, NJ, USA. He is vice-president of engineering at the Edison Design Group (EDG), where he contributes primarily to the implementation of their C++ compiler front end. He is an active member of the C++ standardization committee where he is primarily active in the core language evolution work. His recent work in that context has primarily been about extending the capabilities of “constexpr evaluation”. Daveed is also one of the five members of the committee’s “direction group”. He is the primary author of the well-regarded “C++ Templates: A Complete Guide” (now available in its second edition).
News
Report from using std::cpp 2019
Exploring undefined behavior using constexpr
Linux Development with C++ in Visual Studio 2019: WSL, ASAN for Linux, Seperation of Build and Debug
EnTT v3 is release
Announcing C++Now 2020
Daveed Vandevoorde
Daveed Vandevoorde
Links
C++ Russia 2018: Daveed Vandevoorde, Reflective Metaprogramming in C++
C++ Templates: The Complete Guide
Direction for ISO C++
Scalable Reflection in C++
Sponsors
PVS-Studio Facebook
PVS-Studio Telegram
PVS-Studio Twitter
JetBrains
Hosts
@robwirving
@lefticus