

CppCast
Phil Nash & Timur Doumler
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
Episodes
Mentioned books

Mar 7, 2017 • 52min
Visual Studio 2017 for C++ Developers
Rob and Jason are joined by Daniel Moth to talk about the new C++ features of Visual Studio 2017.
Daniel Moth joined Microsoft in the UK in 2006, before transitioning to Redmond in 2008 to work as a Program Manager on Visual Studio, which is where he is still working today. Before Microsoft he worked as a software developer in the industry for almost a decade, most of that time building mobile apps.
News
The C++17 Lands
Learn C++ Concepts with Visual Studio and the WSL
Partial Ordering: An enigma wrapped inside of a riddle, wherein all compilers agree to be wrong
Daniel Moth
@danielmoth
Links
Visual Studio 2017 for C++ Developers - you will love it
Top 7 things to be excited about as a C++ developer in Visual Studio 2017
CppCon 2016: Carroll & Moth "Latest and Greatest from the visual Studio Family for C++ Developers"
Visual C++ Team Blog
Sponsor
Incredibuild
JetBrains

Mar 2, 2017 • 1h 2min
emBO++
Rob and Jason are joined by Odin Holmes to talk about the recent Embedded C++ development conference emBO++.
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
Elle, our C++ core library is now open source
Yet Another description of C++17 features; this time present mostly in Table form
Atomic Smart Pointers
COMMS Library
Odin Holmes
@odinthenerd
Odin Holmes on GitHub
Odin Holmes' Blog
Links
emBO++ - Embedded C++ Conference in Bochum
Kvasir
Meeting C++ Lightning Talks - Odin Holmes - Modern special function register abstraction
Brigand
Sponsor
Backtrace
JetBrains

Feb 22, 2017 • 36min
Trompeloeil Mocking Framework
Rob and Jason are joined by Björn Fahller to talk about the trompeloeil Mocking Framework for Modern C++ Unit Testing.
Björn Fahller is a senior developer at Net Insight, and has been developing software for a living since 1994, mostly embedded programming for communications devices. Björn learned C++ from usenet and the ARM (Annotated Reference Manual) which was the standard before there was a standard. On a hobby basis, Björn likes to find silly solutions to non-problems and to explore effects of programming constructs.
Outside of programming, Björn is a member of a small group thet brews beer together, and is also a member of a volunteer organization of aviators who help with things like search and rescue operations, forest fire monitoring, and storm damage assessment.
News
Multithreading with C++17 and C++20
Distinguishing between maybe-null vs never-null is the important thing
Going Native 56: Cmake in Visual Studio
Björn Fahller
@bjorn_fahller
Playful Programming
Links
Trompeloeil Mocking Framework
Björn Fahller - Mocking Modern C++ with Trompeloeil
Sponsor
Backtrace
JetBrains

Feb 15, 2017 • 47min
Jumping into C++
Rob and Jason are joined by Alex Allain from Dropbox to talk about Dropbox's Djinni code generator and Alex's book Jumping into C++.
Alex Allain is a Director of Engineering at Dropbox. He was one of the first engineers on the Dropbox Business product before leading Dropbox's Product Platform group, whose initiatives includes the Dropbox Sync Engine, shared mobile C++ and developer tools. Alex has run Cprogramming.com since 1998 and is the author of Jumping into C++, a book for new programmers.
News
CppChat: The Great Functor Debate (Ben, Jackie, and Jonathan)
Monads in C++
COMMS Library
Undefined behavior in C and C++ programs
Alex Allain
@alexallain
Links
Djinni
CppCon 2014: Alex Allain & Andrew Twyman "Practical Cross-Platform Mobile C++ Development"
CppCon 2015: Jacob Potter & Andrew Twyman “Bridging Languages Cross-Platform..."
Djinni in a bottle - Easily share code between iOS and Android using C++ by Stephan Jaetzold
nn: Non-nullable pointers for C++
mypy: Optional static typing for Python 2 and 3 (PEP484)
cprogramming.com
Jumping into C++ (Amazon)
Sponsor
Backtrace
JetBrains

Feb 7, 2017 • 1h 4min
Microsoft's STL
Rob and Jason are joined by Stephan T Lavavej to talk about Microsoft's STL and some of the changes to the Library coming in the VS 2017 release.
Stephan T. Lavavej is a Principal Software Engineer at Microsoft, maintaining Visual C++'s implementation of the C++ Standard Library since 2007. He also designed a couple of C++14 features: make_unique and the transparent operator functors. He likes his initials (which people can actually spell) and cats (although he doesn't own any).
News
CppChat "The Great Functor Debate" is Saturday
Implementing State Machines with std::variant
STL learning resource
Stephan T. Lavavej
@StephanTLavavej
Links
STL Fixes in VS 2017 RTM
C++ 14/17 Features and STL Fixes in VS "15" Preview 5
C++ 14/17 Features and STL Fixes in VS “15” Preview 4
Sponsor
Backtrace
JetBrains

Feb 1, 2017 • 34min
News Roundup
Rob and Jason discuss two weeks worth of C++ news, updates and blog posts.
News
What's in C++17?
CodeChecker
Const, Move and RVO
Add a const here delete a const there
How C++ lambda expressions can improve your Qt code
'yield' keyword to become 'co_yield' in VS 2017
Compiler Explorer now on Patreon
JSON for Modern C++ Version 2.1.0
Catch 1.7
Stop calling "Function Objects" "Functors"
Meeting C++ 2016 Playlist
How to choose good names
Links
@robwirving
@lefticus
Sponsor
Backtrace
JetBrains

Jan 17, 2017 • 43min
Beast
Rob and Jason are joined by Vinnie Falco to talk about the Beast HTTP and Web Sockets library.
Vinnie Falco started programming on an Apple II+ in 1982. He did significant work on Canvas, an early 1990s desktop publishing program that starting on the Macintosh. A while later he wrote BearShare - a Gnutella compatible file sharing program.
After that Vinnie joined up with Ripple, a company that is developing a global financial settlement network built on top of a decentralized cryptocurrency and its associated ledger. Ripple has graciously given him the opportunity to develop and publish Beast, the HTTP and WebSocket library written in C++ and used in Ripple.
News
Winners of the 2016 Software Developer Podcast Awards
The Salami Method
g++7 is C++17 complete
.NET Rocks: C++ for a New Generation with Kate Gregory
Catch 1.6 release
Order Your Members
Vinnie Falco
@falcovinnie
Vinnie Falco's GitHub
Links
Beast Library
CppCon 2016: Vinnie Falco "Introducing Beast: HTTP and WebSockets C++ library"
Ripple
Sponsor
Backtrace

Jan 11, 2017 • 58min
Library Working Group and libc++
Rob and Jason are joined by Marshall Clow to talk about his role on the C++ Standards Committee's Library Working Group.
Marshall is a long-time LLVM and Boost participant. He is a principal engineer at Qualcomm, Inc. in San Diego, and the code owner for libc++, the LLVM standard library implementation. He is also the chairman of the Library Working Group of the C++ standards committee. He is the author of the Boost.Algorithm library and maintains several other Boost libraries.
News
C++Now 2017 Call for Submissions
2017 European LLVM Developers Meeting
Passing functions to functions
A Tourist's Guide to the LLVM Source Code
Marshall Clow
@mclow
Marshall's C++ Musings
Links
"libc++" C++ Standard Library
Qualcomm
The Committee: WG21
CppCon 2016: Marshall Clow "STL Algorithms - why you should use them, and how to write your own"
CppCon 2015: Marshall Clow "string_view"
Sponsor
JetBrains

Jan 5, 2017 • 1h 3min
Memory Algorithm Proposal
Rob and Jason are joined by Brittany Friedman to talk about her accepted C++17 proposal which adds new algorithms and utilities for memory management and the process she went through getting the proposal accepted.
Brittany Friedman is a dense collection of matter formed from molecules originating from inside the sun. She currently works as a programmer at Gearbox Software, where she weaves ones and zeroes into intricate little patterns. Her proposal for new memory management algorithms was accepted for C++17 and a bug that she filed against the C++ standard was fixed the way that she recommended. So basically you do not want to trifle with her.
News
2016 Software Developer Podcast Awards
Keep Disabling Exceptions
C++17 Why it's better than you might think
A new way of blogging about C++
Brittany Friedman
@listenserver
Brittany Friedman's GitHub
Links
Extending memory management tools
drpdb: Convert from Microsoft PDB format into a MySQL database
Symbol Sort: A Utility for Measuring C++ Code Bloat
Gearbox Software
CppCon 2016: Nicholas Ormrod "The strange details of std::string at Facebook"
Sponsor
JetBrains

Dec 21, 2016 • 56min
Regular Void
Rob and Jason are joined by Matt Calabrese to talk about his Regular Void Proposal, template<auto>, the state of Concepts and more.
Matt Calabrese is a software engineer working primarily in C++. He started his programming career in the game industry and is now working on libraries at Google. Matt has been active in the Boost community for over a decade, is currently a member of the Boost Steering Committee, and is a member of the Program Committee for C++Now. Starting in the fall of 2015, he has been attending C++ Standards Committee meetings, authoring several proposals targeting the standard after C++17, notably including a proposal to turn the void type into an instantiable type and a proposal for the standard library to introduce a generic algorithm for invoking standard Callables with argument types and argument amounts that may be partially calculated at compile-time or at runtime. He is also the author of the controversial paper "Why I want Concepts, but why they should come later rather than sooner", which may have contributed to the decision to not include the concepts language feature in C++17.
News
2016 Software Developer Podcast Awards
My take at times
A C++ program to get CPU usage from command line in Linux
Pointer comparison an invalid optimization in GCC
Matt Calabrese
@cppsage
Links
Boost
C++Now
P0146: Regular Void (Revision 1)
P0376: A Single Generalization of std::invoke, std::apply, and std::visit
P0240: Why I want Concepts, but why they should come later rather than sooner
Sponsor
Backtrace


