Video & On-Demand

CppCast Episode 107: and move semantics with Howard Hinnant

Episode 107 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Howard Hinnant from Ripple to talk about <chrono>, his date & time library (and proposal) and his work on move semantics.

CppCast Episode 107: <chrono> and move semantics with Howard Hinnant

by Rob Irving and Jason Turner

About the interviewee:

Howard Hinnant is a Senior Software Engineer at Ripple and the lead author of several C++11/14 features including: move semantics, unique_ptr, chrono, condition_variable_any, shared_mutex and std::lock. He is also the lead author of two LLVM projects libc++ and libc++abi.

CppCon 2016: AAAARGH!? Adopting Almost Always Auto Reinforces Good Habits!?--Andy Bond

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

AAAARGH!? Adopting Almost Always Auto Reinforces Good Habits!?

by Andy Bond

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Prominent members of the C++ community are advocating the "almost-always-auto" idiom, but there are understandable concerns from many about its implications. This case study will demonstrate how it may be applied in different situations, suggest ways to avoid performance penalties, introduce algorithms to minimize the "almost" part, and discuss the overall impact.

Why typename?-- Everything Cpp

Why and how do we use typename?

Why typename?

by Everything Cpp

From the video:

Whether you've been using C++ for days or years, misunderstanding the usage of 'typename' can observably lead you through the 5 stages of grief. Unfortunately, all too often, 'acceptance' means just throwing the keyword around until the compiler stops correcting you. Good luck should you need to use the 'template' keyword in a similar fashion.

In this video, we explore just what 'typename' is used for, how you can avoid these errors, and the obnoxious exception to the rule that causes people to doubt their understanding.

CppCon 2016: Building Software Capital: How to write the highest quality code and why--David Sankel

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Building Software Capital: How to write the highest quality code and why

by David Sankel

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This talk discusses the ins and outs of how to write software that is at such a high standard that it gets reused everywhere. It covers organization, design, infrastructure, testing, documentation, reviews, and general suggestions based on my experience in the industry.

CppCast Episode 106: system_error and Boost Outcome Review with Charley Bay

Episode 106 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Charley Bay from F5 Networks to talk about his recent CppNow talk on system_error and the Boost Outcome review.

CppCast Episode 106: system_error and Boost Outcome Review with Charley Bay

by Rob Irving and Jason Turner

About the interviewee:

Charley Bay is a Software developer at F5 Networks with 25+ years experience in large-scale and distributed systems for low-latency C and C++.

std::optional Video -- Robert Douglas

Video detailing the new C++17 feature, std::optional

<img alt="" data-cke-saved-src="http://shoeelfsoftware.com/everythingcpp/optional_intro.png" src="http://shoeelfsoftware.com/everythingcpp/optional_intro.png" 300px;="" height:="" 169px;"="" style="float: right;">

std::optional

by Robert Douglas

About the video:

Having made a stop in the Library Fundamentals TS, std::optional makes it's standardized debut in C++17. This video goes through the ins and outs of the new utility.

 

 

CppCon 2016: The strange details of std::string at Facebook--Nicholas Ormrod

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

The strange details of std::string at Facebook

by Nicholas Ormrod

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Standard strings are slowing you down. Strings are everywhere. Changing the performance of std::string has a measurable impact on the speed of real-world C++ programs. But how can you make strings better? In this talk, we'll explore how Facebook optimizes strings, especially with our open-source std::string replacement, fbstring. We'll dive into implementation tradeoffs, especially the storage of data in the struct; examine which standard rules can and cannot be flouted, such as copy-on-write semantics; and share some of the things we've learned along the way, like how hard it is to abolish the null-terminator. War stories will be provided.

CppCon 2016: Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler--Lebar

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler

by Justin Lebar

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

GPU computing has gone mainstream. It is a dominant part of the performance landscape, providing the initial 10x performance lift to a wide variety of applications. However, programing for GPUs can be extremely challenging. C++ is rarely available in an unmodified form, and there are few portable and open source approaches available. One of the most popular platforms, CUDA, has no production quality open source implementation. As a consequence, its C++ support has lagged behind and it has been a less appealing area for researchers and others that weren’t comfortable relying on NVIDIA’s tooling.

However, today things are different. Clang is now a fully functional open-source GPU compiler. It provides a CUDA-compatible programming model and can compile most of the awesome CUDA libraries out there ranging from Thrust (the CUDA-enabled parallel algorithms library that gave rise to the new parallelism technical specification) to Eigen and TensorFlow.

In this talk we will give an overview of how LLVM and Clang support targeting C++ to GPUs, how they work to be compatible with existing CUDA code, and how you can build your code today to run on GPUs with this open source compiler.