
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

Nov 9, 2016 • 60min
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

Nov 2, 2016 • 39min
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

Oct 27, 2016 • 46min
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

Oct 19, 2016 • 1h 1min
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

Oct 12, 2016 • 43min
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

Oct 7, 2016 • 52min
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

Sep 29, 2016 • 45min
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

Sep 25, 2016 • 48min
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

Sep 15, 2016 • 43min
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

Sep 7, 2016 • 56min
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