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
Similar Podcasts
Running in Production
Hear about how folks are running their web apps in production. We'll cover tech choices, why they chose them, lessons learned and more.
The Cynical Developer
A UK based Technology and Software Developer Podcast that helps you to improve your development knowledge and career,
through explaining the latest and greatest in development technology and providing you with what you need to succeed as a developer.
No Diagnostic Required
Every month we bring you news from the world of C++, in the form of a podcast and a YouTube show. Our hosts are Anastasia Kazakova (PMM for CLion and ReSharper C++ at JetBrains) and Phil Nash (Developer Advocated for C++ at SonarSource)
Kvasir
Rob and Jason are joined by Odin Holmes to talk about developing for Embedded Microcontrollers with C++ and the Kvasir library. Odin Holmes has been programming bare metal embedded systems for 15+ years and as any honest nerd admits most of that time was spent debugging his stupid mistakes. With the advent of the 100x speed up of template metaprogramming provided by C++11 his current mission began: teach the compiler to find his stupid mistakes at compile time so he has more free time for even more template metaprogramming. Odin Holmes is the author of the Kvasir.io library, a DSL which wraps bare metal special function register interactions allowing full static checking and a considerable efficiency gain over common practice. He is also active in building and refining the tools need for this task such as the brigand MPL library, a replacement candidate for boost.parameter and a better public API for boost.MSM-lite. News Compiler Explorer's embedded view A peek into the WebAssembly Browser preview WebAssembly Browser Preview Cling on Ubuntu on Windows Odin Holmes @odinthenerd Odin Holmes on GitHub Odin Holmes' Blog Links Kvasir Meeting C++ Lightning Talks - Odin Holmes - Modern special function register abstraction Brigand Embedded C++ Conference in Bochum Sponsor JetBrains
Blaze
Rob and Jason are joined by Klaus Iglberger to discuss the Blaze high performance math library. Klaus Iglberger has finished his PhD in computer science in 2010. Back then, he contributed to several massively parallel simulation frameworks and was an active researcher in the high performance computing community. From 2011 to 2012, he was the managing director of the central institute for scientific computing in Erlangen. Currently he is on the payroll at CD-adapco in Nuremberg, Germany, as a senior software engineer. He is the co-organizer of the Munich C++ user group (MUC++)and he is the initiator and lead designer of the Blaze C++ math library. News Recommendations to speed C++ builds in Visual Studio void foo(T& out) How to fix output parameters Routing paths in IncludeOs Klaus Iglberger Klaus Iglberger Links Blaze Munich C++ User Group CppCon 2016: Klaus Iglberger "The Blaze High Performance Math Library" Sponsor JetBrains
Embedded Development
Rob and Jason are joined by Dan Saks from Saks & Associates to discuss state of C++ in the embedded development industry. Dan Saks is the president of Saks & Associates, which offers training and consulting in C and C++ and their use in developing embedded systems. He has been a columnist for The C/C++ Users Journal, The C++ Report, Embedded Systems Design, embedded.com and several other publications. Dan served as the first secretary of the C++ Standards Committee and contributed to the CERT Secure Coding Standards for C and C++. News Jumping into C++ CppRestSDK 2.9.0 available on GitHub A note about the volatile keyword in C++ Woboq Code Browser: under the hood On the recent lambdas vs iterators paper Dan Saks Saks & Associates Links CppCon 2016: Dan Saks "extern c: Talking to C Programmers about C++" embedded.com Sponsor Backtrace
Robotics Development
Rob and Jason are joined by Jackie Kay from Marble to discuss the use of C++ in the Robotics industry and some of the unique challenges in Robotics development. After spending her childhood wanting to become a novelist, Jackie switched over from writing stories to writing code during college. She graduated from Swarthmore College in 2014 with a Bachelor's in Computer Science and went on to work at the Open Source Robotics Foundation for two years, supporting Gazebo, a physics simulator for robotics R&D, and ROS, an open source application framework for robotics development. She recently started as an early employee at Marble in San Francisco, a startup working on autonomous delivery. Jackie was a speaker at CppCon 2015 and 2016 and a volunteer at C++ Now 2016 and frequently attends the Bay Area ACCU meetups. Her hobbies include rock climbing, travelling, and reading (books, not just blog posts). News What does "Modern C++" really mean The "unsigned" Conundrum C++ Variadic templates from the ground up Jackie Kay @jackayline Jackie Kay's GitHub Jackie Kay's website Links ROS (Robot Operating System) ROS 2 Gazebo (Robot simulation) Gazebo's Bitbucket Repository Caffe - Deep Learning Framework TensorFlow - Machine Intelligence Library Marble CppCon 2016: Jackie Kay "Lessons Learned From An Embedded RTPS in Modern C++" Code examples from "Lessons Learned From An Embedded RTPS in Modern C++" Work-in-progress implementation on DDS/RTPS Sponsor Backtrace
C++/WinRT
Rob and Jason are joined by Kenny Kerr from Microsoft to discuss the C++/WinRT library, previously known as ModernCpp, a standard C++ projection for the Windows Runtime. Kenny Kerr is an engineer on the Windows team at Microsoft, an MSDN Magazine contributing editor, Pluralsight author, and creator of moderncpp.com (C++/WinRT). He writes at kennykerr.ca and you can find him on Twitter at @kennykerr. News VOTE! Support debugging of C++ code with IntelliTrace All CppCon 2016 Videos Are Up! Visual Studio "15" Preview 5 Now Available Compiler Tools Layout in Visual Studio "15" C++ 14/17 Features and STL Fixes in VS "15" Preview 5 Bring your C++ codebase to Visual Studio with "Open Folder" C++ compiler diagnostics improvements in VS "15" Preview 5 C++ IntelliSense Improvements - Predictive IntelliSense & Filtering CMake support in Visual Studio Visual C++ Compiler Version Faster C++ solution load with VS "15" C++ Core Check code analysis is included with VS "15" Kenny Kerr @kennykerr Kenny Kerr's Blog Links C++/WinRT Available on GitHub cppwinrt repository on GitHub CppCon 2016: Kenny Kerr & James McNellis "Embracing Standard C++ for the Windows Runtime" CppCon 2016: Kenny Kerr & James McNellis "Putting Coroutines to Work with the Windows Runtime" Sponsor Backtrace
SG14 Update
Rob and Jason are joined by Guy Davidson from Creative Assembly to discuss the work of the SG 14 game dev/low latency group including his ring buffer proposal and more. Guy Davidson is the Coding Manager of Creative Assembly, makers of the Total War franchise, Alien:Isolation and the upcoming Halo Wars sequel, Guy has been writing games since the early 1980s. He is now also a contributor to SG14, the study group devoted to low latency, real time requirements, and performance/efficiency especially for Games, Financial/Banking, and Simulations. He speaks at schools, colleges and universities about programming and likes to help good programmers become better programmers. News CppCon 2016: What We've Learned From the C++ Community Compiler Explorer Update Free O'Reilly Book: Practical C++ Metaprogramming Boost 1.6.2. Release Rgat: an instruction trace visualisation tool for dynamic program analysis C++ Slack Group Guy Davidson @hatcat01 Links CppCon 2016: WG21-SG14 - Making C++ better for games, embedded and financial developers Creative Assembly Sponsor Backtrace
Boost::Process
Rob and Jason are joined by Klemens Morgenstern to discuss his experimental changes in boost::dll and his proposed boost::process library. Born in 1988 in Dresden, I have a Bachelors in Electrical Engineering and Master's Degree in Microsystems & Microelectronics. Fell in Love with C++ while working with embedded systems. Klemens was working full time as a C++-Developer from 2013 until early 2016, and is now starting his own consulting company, trying to bring C++ to C-Programmers. News Optimization Subtleties Using C++ in Low-Latency Trading Herb Sutter: To store a destructor CppCon 2016 Playlist How to avoid bugs using modern C++ Vcpkg: a tool to acquire and build C++ open source libraries on Windows Why a C++ package manager can't be written in C++ Klemens Morgenstern Klemens Morgenstern's GitHub Morgenstern & Walther Links boost::dll Mangled Import boost::process Sponsor Backtrace
CppCon 2016
Rob and Jason are joined by Chandler Carruth from Google, in this live interview from CppCon 2016 Chandler discusses the topics of his two CppCon talks and using Modules at Google. Chandler Carruth leads the Clang team at Google, building better diagnostics, tools, and more. Previously, he worked on several pieces of Google’s distributed build system. He makes guest appearances helping to maintain a few core C++ libraries across Google’s codebase, and is active in the LLVM and Clang open source communities. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. He is regularly found drinking Cherry Coke Zero in the daytime and pontificating over a single malt scotch in the evening. CppCon Lightning Talks Atila Neves Mock C functions using the preprocessor Jens Weller Ken Sykes Jon Kalb Gabor Horvath CodeCompass Chandler Carruth @chandlerc1024 Chandler Carruth's GitHub Links CppCon 2016 Playlist CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures" CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!" Sponsor Backtrace
Maintaining Large Codebases
Rob and Jason are joined by Titus Winters from Google, about Google's strategies to maintain a 100M line monolithic codebase. Titus Winters has spent the past 4 years working on Google's core C++ libraries. He's particularly interested in issues of large scale software engineer and codebase maintenance: how do we keep a codebase of over 100M lines of code consistent and flexible for the next decade? Along the way he has helped Google teams pioneer techniques to perform automated code transformations on a massive scale, and helps maintain the Google C++ Style Guide. News Visual C++ for Linux Update What's New in ReSharper C++ 2016.2 Exploring std::string C++, Short and Sweet, Part 1 Titus Winters Titus Winters Links CppCon 2015: Titus Winters "Lessons in Sustainability" CppCon 2015: All Your Tests are Terrible Sponsor Backtrace
MAME Emulation Project
Rob and Jason are joined by Miodrag Milanovic to discuss his work on the MAME emulation project, its history and moving the MAME codebase from C to C++. Born in 1978, living in Novi Sad, Serbia. Proud husband and father of two. Started professional programming career in year 2000 working in Java, C# and of course C and C++ for various international customers. From 2012 coordinator of MAME emulation project, pushing hard in modernization of two decade old code. News NativeJIT a C++ to x64 JIT used in Bing Coati Release 0.8 LearnCpp "The design of C++" lecture by Bjarne Stroustrup Miodrag Milanovic @micko_mame Links MAME - Multiple Arcade Machine Emulator MAME on GitHub Sponsor Incredibuild
News Roundup
Episode 68 of CppCast recorded September 1st 2016 News Triangle C++ Developers Group C++ Slack Group How C++14 and C++17 help to write faster (and better) code Range-v3 on MSVC is Available on GitHub Modern CMake Slides How many x86 instructions are there? Practical Guide to Bare Metal C++ PVS-Studio confesses its love for Linux Succeeding with ClangFormat August Update for the Visual Studio Code C++ extension C++ 14/17 Features and STL Fixes in VS 15 Preview 4 Links @robwirving @lefticus
CMake Server
Rob and Jason are joined by Stephen Kelley to discuss his work on the CMake Server project which will enable advanced tooling for CMake. Stephen Kelly first encountered CMake through working on KDE and like many C++ developers, did his best to ignore the buildsystem completely. That worked well for 4 years until 2011 when the modularization of KDE libraries led to a desire to simplify and upstream as much as possible to Qt and CMake. Since then, Stephen has been responsible for many core features and designs of 'Modern CMake' and now tries to lead designs for its future. News Conan virtual environments: Manager your C and C++ tools Macromancy Opt-in header only libraries Opt-in header-only libraries with CMake Stephen Kelly @steveire Steveire's Blog Stephen Kelly on GitHub Links CMake Daemon for user tools CMake Sponsor Incredibuild
Salvus
Rob and Jason are joined by Michael Afanasiev to discuss his work on the Salvus library used for performing full-waveform inversions. Michael Afanasiev is currently working on his PhD in Geophysics. He became interested in programming and high performance computing during his BSc in Computational Physics, playing around with simulations of star formation. After a brief attempt to lead a roguish and exciting lifestyle as a field Geophysicist, he was brought back to the keyboard during a MSc, where he began working on full waveform inversion (FWI). In 2013 he moved to Switzerland to continue working on FWI as a PhD student at ETH Zurich, where he’s currently wrapping things into a thesis. He spends most of his time writing scientific software, wandering through the alps, and atoning for the times he repeated the mantra “Fortran is the best language for scientific computing.” News CppMem: An overview Why is .h more widely used then .hpp July update for Visual Studio Code C++ extension Michael Afanasiev Michael Afanasiev's Blog Michael Afanasiev on GitHub Links Salvus Combining Static and Dynamic Polymorphism with C++ Mixin classes Salvus: retaining runtime polymorphism with templates Salvus: dynamically inserting functionality into a mixin class hierarchy Sponsor Incredibuild
PLF Library
Rob and Jason are joined by Matt Bentley to discuss plf::colony<> and plf::stack<> and some of their advantages over std::vector<> and std::stack<>. Matt Bentley was born in 1978 and never recovered from the experience. He started programming in 1986, completing a BSc Computer Science 1999, before spending three years working for a legal publishing firm, getting chronic fatigue syndrone, quitting, building a music studio, recovering, getting interested in programming again, building a game engine, and stumbling across some generalized solutions to some old problems. News CppCon 2016 Program CLion 2016.2 released Free Seattle C++/Graphics workshop Aug 3rd Using ImGui with modern C++ and STL for creating awesome game dev tools Part 2 LLVM Weekly #134 Matt Bentley @xolvenz Matt Bentley on GitHub Links PLF C++ Library Sponsor Incredibuild
Modules
Rob and Jason are joined by Gabriel Dos Reis, Principal Software Engineer at Microsoft to discuss C++ Modules. Gabriel Dos Reis is a Principal Software Development Engineer at Microsoft. He is also a researcher and a longtime member of the C++ community. His research interests include programming tools for dependable software. Prior to joining Microsoft, he was Assistant Professor at Texas A&M University. Dr. Dos Reis was a recipient of the 2012 National Science Foundation CAREER award for his research in compilers for dependable computational mathematics and educational activities. News Dan Saks Keynote and more program previews Debugging Tips and Tricks for C++ in Visual Studio C++ Edit and Continue in VS 2015 Update 3 Developer Assistant now supports C++ Red Hat at the ISO C++ Standards Meeting: Parallelism and Concurrency Gabriel Dos Reis Gabriel Dos Reis Links Module TS Draft Modules in VC++ Consuming headers as module interfaces Compiler-neutral Internal Program Representation for C++ Sponsor Incredibuild