Video & On-Demand

CppCon 2022 keynote video: Using C++14 in an Embedded 'SuperLoop' Firmware -- Erik Rainey

Another CppCon 2022 keynote video is posted:

2022 Keynote on Embedded Firmware in C++: Erik Rainey, prerelease

From the article:

Erik Rainey on embedded firmware in C++ at his CppCon 2022 keynote in Aurora, Colorado!

This video is in “prerelease” and cannot be found directly on our YouTube channel, instead we are providing a direct link here only! Feel free to share this with colleagues and friends and impress them with your insider access ��

CppCon 2022 keynote video: Contemporary C++ in action -- Daniela Engert

DanielaEngert2022.pngAnother CppCon 2022 keynote video is posted:

Contemporary C++ in action: Daniela Engert

From the post:

Daniela Engert on contemporary C++ at her CppCon 2022 keynote in Aurora, Colorado!

This video is in “prerelease” and cannot be found directly on our YouTube channel, instead we are providing a direct link here only! Feel free to share this with colleagues and friends and impress them with your insider access ��

Cerealization and RPC with Cap'n Proto -- Richard Thomson

Utah C++ Programmers has released a new video.

Cerealization and RPC with Cap'n Proto

by Richard Thomson

From the video description:

Cap'n Proto is a serialization and RPC (remote procedure call) framework built by the primary author of Google's Protobuf. "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster." (Cap'n Proto's web site refers to serialization as "cerealization" in a tongue-in-cheek fashion.)

Cap'n Proto is designed for the use case of efficiently transmitting complex message structures across the network as part of a distributed system. So while it is a serialization method like converting your data structures to JSON, it is more explicitly designed for network oriented messages and remote procedure call scenarios. It is also designed with efficiency in mind.

This month, Richard Thomson will give us an introduction to Cap'n Proto using a fictional comic book database as an example. We'll use Cap'n Proto to model some simple CRUD (create, read, update and delete) operations over RPC. We'll look at how application data structures are represented using Cap'n Proto.

https://www.youtube.com/watch?v=6V_lVZzV6AE

CppCon 2022 endnote video posted: "Can C++ be 10x simpler and safer ... ?" -- Herb Sutter

The second video from CppCon 2022 has now been posted:

CppCon 2022 talk is online: “Can C++ be 10x simpler & safer ... ?”

by Herb Sutter

From the post:

It was great to see many of you at CppCon, in person and online! It was a really fun conference this year, and the exhibitor hall felt crowded again which was a good feeling as we all start traveling more again.

The talk I gave on Friday is now on YouTube. In it I describe my experimental work on a potential alternate syntax for C++ (aka ‘syntax 2’ or Cpp2 for short) and my cppfront compiler that I’ve begun writing to implement it...

Serialization with Boost.Serialization -- Richard Thomson

Utah C++ Programmers has released a new video:

Serialization with Boost.Serialization

by Richard Thomson

From the video description:

Many times you need a stable, versioned, archivable representation of your internal data structures. Serialization is one means of achieving this goal. Serialization is often used with REST APIs as a means of conveying data structures into and out of your application. XML and JSON formats are commonly used to encode your data structure. But serialization often is not just a data format.

How do you represent different versions of your data structures as they evolve over time? How do you ensure that old versions of your data structures interoperate with new versions of your data structures and vice-versa? While interoperability and backwards compatibility are an application responsibility, versioning itself is something you want from your serialization layer.

This month, Richard Thomson will give us an introduction to serialization via the Boost.Serialization library, one of the older and more mature boost libraries having first been contributed to Boost in 2002.

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

CopperSpice: Is Virtual Of Value?

New video on the CopperSpice YouTube Channel:

Is Virtual Of Value

by Barbara Geller and Ansel Sermersheim

About the video:

Virtual methods have a specific meaning in C++. Are virtual destructors the same? Where does virtual have no meaning? Can using virtual cause UB? Watch our new video and find out if you really know the difference between delete and destroy.

Please take a look and remember to subscribe!

Adding a REST API with Pistache -- Richard Thomson

Utah C++ Programmers has released a new video:

Adding a REST API with Pistache

by Richard Thomson

From the video description:

Many times you need to integrate your C++ infrastructure with services written in other languages on other machines from other teams. In the past, this might have been accomplished with custom RPC (remote procedure call) networking services that exposed resource data in your application to authorized clients.

HTTP REST (representational state transfer) APIs have become a common architectural pattern for exposing resource data across the network. With SSL/TLS (secure socket layer/transport layer security) connections and the HTTPS protocol, the client/server exchange can be secured. Authentication can be implemented with a session mechanism or the built-in authentication mechanisms in HTTP itself.

This month, Richard Thomson will give us an introduction to pistache, a high-performance REST toolkit written in C++. After an overview of the library, we'll look at what it takes to implement an HTTP server that responds to resource requests.

https://www.youtube.com/watch?v=9BCO5W_Kw3Q

Lessons Learned from Packaging 10,000+ C++ Projects - Bret Brown & Daniel Ruoso - CppCon 2021

Registration is now open for CppCon 2022, which starts on September 11 and will again be held both in person and online. 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 2022 to attend in person, online, or both!

Lessons Learned from Packaging 10,000+ C++ Projects

by Bret Brown & Daniel Ruoso

Summary of the video:

At Bloomberg, we maintain a system that coherently builds and integrates more than 10,000 C++ packages that are maintained independently by thousands of software engineers on hundreds of teams across our Engineering department. In this talk, we will go over the lessons we have learned about maintaining these packages, as well as how package management should interact with third-party libraries, third-party tools, build systems, IDEs, static analysis tools, and refactoring automation. We hope this will start a conversation around the potential requirements for a more complete package management solution in the C++ ecosystem.

Exceptional C++ - Victor Ciura - CppCon 2021

Registration is now open for CppCon 2022, which starts on September 11 and will again be held both in person and online. 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 2022 to attend in person, online, or both!

Exceptional C++

by Victor Ciura

Summary of the video:

When writing code we usually focus our attention on the happy paths - that’s where the interesting stuff happens. But there are also plenty of exciting things happening on the error handling flow, too. Although not universally loved/used, exceptions are a powerful mechanism of maneuvering execution on the unhappy path.

Even if std::exception and related machinery are not your cup of tea, you might care about hardware faults or OS signals like access violations, page errors, ALU overflows.

Let’s take a deep dive and explore what happens when an exception occurs, both at the application level and the OS level. We’ll explore the unwind process, the compiler generated code, the CRT hooks available and other exception internals. As we’re taking the scenic Windows route, we’re also going to encounter async exceptions (structured exceptions) on our quest for a better crash. We’ll poke into these mechanisms and see how we can leverage them in our application error handling. Did I mention threads? Routing exceptions between threads… oh my!