Video & On-Demand

CppCon 2022 Finding the Average of 2 Integers -- Tomer Vromen

cppcon-2022-finding-the-average-of-2-integers-tomer-vromen.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

Lightning Talk: Finding the Average of 2 Integers

by Tomer Vromen

Summary of the talk:

I'm going to discuss the (a+b)/2 problem - not the midpoint problem (for which Marshal is an expert) but rather the one with a possibly fractional result. It will be a quick taste of the limits of using floating points to represent integers.

CppCon 2022 How Microsoft Uses C++ to Deliver Office - Huge Size, Small Components -- Zachary Henkel

cppcon-2022-how-microsoft-uses-cpp-to-deliver-office-huge-size-small-compon.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

How Microsoft Uses C++ to Deliver Office - Huge Size, Small Components

by Zachary Henkel

Summary of the talk:

Office is one of the largest and longest-lived C++ codebases in the world. Over 40 years Office has evolved from a single application written in C for DOS to a product containing over 100M lines of C++ code targeting more than a dozen platforms. What are the implications of growing to this size and what sort of engineering is required? In this talk I’ll give a glimpse behind the curtain on the C++ engineering and architecture in Office. In addition to sharing some details on the scale of Office, I’ll describe the design and coding standards used to create well-factored components that we have termed liblets.

CppCon 2022 Back to Basics: C++ API Design -- Jason Turner

cppcon-2022-back-to-basics-cpp-api-design-jason-turner.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

Back to Basics: C++ API Design

by Jason Turner

Summary of the talk:

Let’s face it: writing a C++ API can be a daunting task. You recognize that APIs are a critical aspect of your code, and you’d like to provide your users with a great experience, but how?

This talk will focus on one key aspect: "Making APIs Hard to Use Wrong." How do we design APIs that help, instead of hurt, our users?

CppCon 2022 10 Tips for Cleaner C++ 20 Code -- David Sackstein

cppcon-2022-10-tips-for-cleaner-cpp-20-code-david-sackstein.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

10 Tips for Cleaner C++ 20 Code

by David Sackstein

Summary of the talk:

The objective of this session is to provide guidelines and tips that will help the audience write readable, testable and extensible code with modern C++.
One of the greatest challenges we face, as programmers, is to make sure that our code can be understood and used by our colleagues - and not only by the compiler.
As the complexity of C++ increases, the compiler is able to deduce and optimize more of our code, but often at the cost of making it more obscure for our colleagues. Code that is difficult to read is difficult to test, to maintain and to extend.
In the session, I propose to help the audience understand the core problems that we introduce as our programming becomes more advanced, and how we can avoid them. The main part of the session will discuss some fairly complex and advanced C++ code which is difficult to understand. I will then demonstrate 10 easily applicable tips to make it easier to understand and to test. The benefits will be clearly evident.
There will also be a short discussion with the audience to increase the confidence that the guidelines and the tips are readily applicable in their own diverse projects.

More than a rehash – Joaquín M. López in Madrid at Using std::cpp

In this talk, Joaquín will invite you to look under boost::unordered_flat_map's hood with him and learn about this container's data structure, its key design elements and how it compares with other top-performance C++ hashmaps both in theory and in practice.

More than a rehash – Joaquín M. López in Madrid at Using std::cpp
by Joaquín M. López

From the talk:

Boost 1.81 (Dec 2022) released boost::unordered_flat_map, a hashmap (unordered associative container in C++ parlance) that relies on open addressing and SIMD techniques to provide extremely high performance. In this talk, Joaquín will invite you to look under boost::unordered_flat_map's hood with him and learn about this container's data structure, its key design elements and how it compares with other top-performance C++ hashmaps both in theory and in practice. The talk finishes with a teaser on concurrent hashmaps arriving as part of your Boost update later this year. Deck and note can be found here

CppCon 2022 Can C++ be 10x Simpler > Safer? -- Herb Sutter

Cpp22-Sutter.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

Can C++ be 10x Simpler & Safer? (Simplifying C++ #9 of N)

by Herb Sutter

Summary of the talk:

Since CppCon 2015, all of Herb’s talks have been about ways to evolve C++ to make it simpler, safer, and more toolable. Every release of ISO C++ has already been making regular incremental “10%” improvements in these areas. But what are the fundamental factors that limit our rate of improvement, and what would it take to make greater progress? Like every year, Herb’s talk will explore selected current pain points and describe experimental ideas to address them that might someday contribute toward C++’s long-term evolution.

CppCon 2022 Best Practices Every C++ Programmer Needs to Follow -- Oz Syed

Cpp22-Syed.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

Lightning Talk: Best Practices Every C++ Programmer Needs to Follow

by Oz Syed

Summary of the talk:

In this session, learn some of the best practices that every C++ programmer needs to ensure successful completion of a project. Learn tips and tricks to speed up your workflow, prevent errors and improve performance.

CppCon 2022 C++ in Constrained Environments -- Bjarne Stroustrup

Cpp22-Stroustrup.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

C++ in Constrained Environments

by Bjarne Stroustrup

Summary of the talk:

C++ is widely used in constrained and/or critical applications and infrastructure components. How do we manage to use a large multi-purpose language in such environments? How can we better use facilities and techniques from modern C++ (C++11, C++14, C++17, C++20, and beyond)? The best answer is not “use only facilities available in C and C++ in 1985.”

This talk focuses on a top-down approach to achieve simplicity, maintainability, performance, and various forms of safety. It touches upon the C++ Core Guidelines, compile-time computation, type-and-resource safety, type deduction, the span and chrono standard libraries, and error handling.

CppCon 2022 Dependency Injection for Modern C++ -- Tyler Weaver

Cpp22-Weaver.pngRegistration is now open for CppCon 2023! The conference starts on October 1 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2023!

Lightning Talk: Dependency Injection for Modern C++

by Tyler Weaver

Summary of the talk:

DI is a fancy OO term with an even more complex set of tooling to solve a problem that higher order functions solve in a nicer way. In this talk I'll demonstrate using std::function for dependency injection and talk about how taking functions as a parameter is nicer and more first class in C++ than inheritance or complex mocking libraries.

Basic HTTP and WebSocket Programming with Boost.Beast -- Richard Thomson

Utah C++ Programmers has released a new video:

Basic HTTP and WebSocket Programming with Boost.Beast

by Richard Thomson

From the video description:

Boost.Beast is a C++ header-only library serving as a foundation for writing interoperable networking libraries by providing low-level HTTP/1, WebSocket, and networking protocol vocabulary types and algorithms using the consistent asynchronous model of Boost.Asio.

This month, Richard Thomson will give us an introduction to Beast and the facilities it provides for HTTP and WebSocket applications. We will look at an example of implementing a REST API for a simple CRUD (Create, Read, Update, Delete) style database. We will revisit the comic book database example we have used in previous REST API presentations.

https://www.youtube.com/watch?v=gVmwrnhkybk