Video & On-Demand

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

CppCon 2022 How to Win at Coding Interviews -- David Stone

Stone-codinginterviews.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: How to Win at Coding Interviews

by David Stone

Summary of the talk:

5 minutes of preparation is plenty to beat any coding interview.

CppCon 2022 How C++23 Changes the Way We Write Code -- Timur Doumler

Cpp22-Doumler.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 C++23 Changes the Way We Write Code

by Timur Doumler

Summary of the talk:

C++20 was a huge release: coroutines, concepts, ranges, and modules profoundly changed the way we write code and think about C++. In comparison, C++23 is a lot smaller in scope: its primary mission is to complete C++20, to fill holes, and to fix issues. Nevertheless, some great new features made the cut this time around, both in the standard library and in the core language. This is even more remarkable considering that the entire feature design phase of C++23 took place during the COVID-19 pandemic, challenging the ISO C++ committee to completely reinvent how we work together.

This is not a firehose talk about C++23 that tries to cram as many additions and improvements as possible into one hour. Instead, we deliberately focus on just a handful of new features that are going to noticeably change and improve the experience of the everyday C++ programmer. We will talk about how `std::expected` improves error handling, the huge impact that `std::mdspan` will have on scientific computing, how deducing `this` greatly simplifies longstanding C++ idioms such as CRTP, and how `std::print` will forever change how we write "Hello, World".

CopperSpice: Docker for Developers

New video on the CopperSpice YouTube Channel:

Docker for Developers

by Barbara Geller and Ansel Sermersheim

About the video:

Docker is a container, but what does it actually store? Our new video explains how Docker is beneficial to the development process and not simply a deployment tool. We also discuss the differences between Docker and a VM.

Please take a look and remember to subscribe.

TCP/IP Networking with Boost.Asio -- Richard Thomson

Utah C++ Programmers has released a new video:

TCP/IP Networking with Boost.Asio

by Richard Thomson

From the video description:

Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.

This month, Richard Thomson will continue our look at Boost.Asio with a look at TCP/IP networking. We'll look at how to implement an NNTP (Network News Transport Protocol) client using Boost.Asio. NNTP is a line-oriented protocol for reading usenet news articles. This will give us insight into all the typical issues involved in a TCP/IP networking application:

- How do we resolve a host name into an IP address?
- How do we establish a long-lived connection to an NNTP server?
- How do we handle the arbitrarily large amounts of data from an NNTP server that arrives asynchronously?
- How do we coordinate user input with NNTP I/O?
- How do we handle unexpected network errors?

https://www.youtube.com/watch?v=tyDWXT8-Ykc

Hardening C++ with Bjarne Stroustrup

An interview in Software Engineering Daily with Bjarne on the recent announcements by the NSA and the forthcoming CRA from the EU against the use of C++ based on security concerns.

Hardening C++ with Bjarne
Bjarne Stroustrup

From the interview:

Bjarne wishes for more support rather than calls to drop the use and teaching of C++ altogether. Especially in light of how much progress the C++ 17, 20 and 23 mean to the language but also how using the core guidelines and modern static analysis can reduce vulnerabilities considerably. 

Getting Started with Boost.Asio: Timers and Serial Ports -- Richard Thomson

Utah C++ Programmers has released a new video.

Getting Started with Boost.Asio: Timers and Serial Ports

by Richard Thomson

From the video description:

I/O operations are inherently asynchronous -- we don't know when input will arrive and when output will be generated. Network I/O can be particularly bothersome because of the long delays between sending a request and obtaining the response.

Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. Boost.Asio covers timers, serial ports, files, pipes and TCP/IP networking.

This month, Richard Thomson will give us an introduction to Boost.Asio concepts and asynchronous programming with this library. We'll look at how to use timers to notify our application of time passing and how to talk to serial ports asynchronously.

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