Events

ACCU 2022 Call for Papers -- ACCU

The ACCU is now putting together its program, and they want you to speak on C++. The ACCU conference has strong C++ tracks, though it is not a C++-only conference. If you have something to share, check out their

Call for Papers

by the ACCU

About the conference:

The ACCU 2022 conference will be from 2022-04-06 to 2022-04-09, with a pre-conference workshops on 2022-04-05.

The ACCU 2022 will be a hybrit event.

Historically, ACCU has a lot of C++ and C content, and is proud of that: ACCU is the foremost annual conference for people interested in C++ and C, at least in and around the UK. But it is not just a C++ and C conference, ACCU is about programming in whatever language people are using, with whatever tools and processes people are using: D, Chapel, Java, Kotlin, C#, F#, Groovy, Rust, Go, Python, Ruby, Lisp, to name just a few programming languages about which there have been sessions at ACCU conferences. Git, Mercurial, CMake, Meson, TDD, BDD, allthese tools and techniques have been the focus of sessions at ACCU. The ACCU Conference is looking for sessions that will be interesting to people who create software.
The ACCU Conference is put on by ACCU (https://accu.org), but is open to anyone who wishes to be there either as a presenter or an attender.

The Call for Papers lasts for about 3 weeks and will close on Friday 5th November 2021 at 23:59:59 GMT.

Cppcon 2021 C++20’s <chrono> Calendars and Time Zones in MSVC--Miya Natsuhara

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

C++20’s <chrono> Calendars and Time Zones in MSVC

Thursday, October 28 • 10:30am - 11:30am

by Miya Natsuhara

Summary of the talk:

The <chrono> header has existed since C++11, but C++20 dramatically increased its capabilities. MSVC has completed this C++20 feature and this session will focus on the development of our implementation and Windows-specific considerations that we encountered. For instance, how do we know if a given point in time is during a leap second insertion? Where do we get the data for time zones? If you are excited by these new chrono features and want to support a Windows platform, come and learn about its developments and caveats for a Windows implementation!

We will also touch on how STL maintainers and our valued external contributors developed the new features collaboratively. If you’re interested in participating in our open-source repo by reporting issues, contributing to discussions, or submitting pull requests, we hope that hearing about an example of collaboration will encourage you to visit our repo in the future.

Cppcon 2021 From Problem to Coroutine: Reducing I/O Latency--Cheinan Marks

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

From Problem to Coroutine: Reducing I/O Latency

Wednesday, October 27 • 10:30am - 11:30am

by Cheinan Marks

Summary of the talk:

Coroutines are now officially part of the C++20 standard and one of their advertised uses is reducing I/O latency. Almost all of the literature on coroutines that I found illustrated either synchronous generators or described the nitty gritty details of coroutines using very simple usages. The best talk I found was Gor Nishanov's excellent talk from CppCon 2018, "Nanocoroutines to the Rescue!" (go watch it!) which solves a different problem than mine, but mostly illustrates the power of coroutines.

In this talk I want to approach coroutines from another direction. I will start with the problem, which almost all engineers face in some form, that of reducing I/O latency while searching and gathering data from a sequential file. Instead of going into the details of how the coroutines work, I will start with the naive synchronous solution and build up coroutines step by step to try and reduce latency, illustrating the pieces as they are added.

Finally I will compare this solution to an old-fashioned solution using threads and we'll see how the coroutines performance measures up and whether all the additional boilerplate needed is worth the additional trouble. I hope discussing the value of coroutines and future proposals for RAII and executors will spark a good discussion with the audience.

CppCon 2021 Keynote: Small Inspiration -- Michael Caisse

michael_lab_glasses_2-200x300.jpgAnother keynote to look forward to on-stage in Aurora, CO, USA, and livestreamed to online attendees:

CppCon 2021 Keynote: Small Inspiration -- Michael Caisse

From the announcement:

We’ve previously announced keynotes by Bjarne Stroustrup, Herb Sutter, and Lisa Lippincott. This is the fourth of our six conference keynotes to be announced.

We’re happy to announce: Michael will be in Aurora live, in person to deliver a brand-new talk about inspiring and being inspired by the embedded world around us.

Michael Caisse started using C++ with embedded systems over 30 years ago. He continues to be passionate about combining his degree in Electrical Engineering with elegant software solutions and is always excited to share his discoveries with others.

Here is his talk description:

Less than 1% of microprocessors sold each year find their way into general purpose computers. Desktops, laptops, and servers of all sizes represent a very small fraction of the compute that surrounds us. We interact with a few of these systems but most go unnoticed. These invisible, unsung embedded devices offer lessons in engineering at all scales and can provide inspiration to seasoned practitioners and future technologists.

Join me as we learn from the embedded world and become inspired to inspire.

This talk is the Keynote talk for the Embedded Track.

Cppcon 2021 Embracing PODs Safely Until They Die--Alisdair Meredith and Nina Ranns

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

Embracing PODs Safely Until They Die

Thursday, October 28 • 10:30am - 11:30am

by Alisdair Meredith and Nina Ranns

Summary of the talk:

How do you change the active member of a union? Can you copy an object without
a publicly callable copy constructor? Can you pass classes having private data to
a function implemented in C? What is the use case for the library type trait
`std::is_trivially_move_assignable`? All these questions and more will be answered
in this session.

PODs --- Plain Old Data --- are neither plain nor old in C++11, and continued to
evolve in every published standard since, until they were finally banished in C++20.
In researching the deconstruction of PODs for the upcoming book, "Embracing
Modern C++ Safely" Alisdair Meredith (and the other authors including John
Lakos, Vittorio Romeo, and Rostislav Khlebnikov) discovered that many of the
intuitive properties and capabilities of trivial and standard layout types did not
behave quite as expected, and there are many subtleties waiting to catch the
unwary. Nina Ranns, as an active member of the Core working group, stepped in
to explain and resolve many concerns, while pointing out further bad assumptions.
Together they will present the use cases, pitfalls, and annoyances of these features
as now properly understood, giving a flavor of the presentation style of each of the
57 C++11/14 features presented in the book.

Cppcon 2021 What You Can Learn from Being Too Cute: Why You Should Write Code That...--Daisy Hollman

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

What You Can Learn from Being Too Cute: Why You Should Write Code That You Should Never Write

Friday, October 29 • 1:30pm - 2:30pm

by Daisy Hollman

Summary of the talk:

During the COVID-19 global pandemic, as we all searched for ways to stay connected to the C++ community, I innocently started posting short, 25-line or less C++ snippets of counterintuitive C++ code that I called my "Cute C++ trick of the day." I was floored by the amount of attention these tweets received, with some being viewed more than 30,000 times and liked or retweeted hundreds of times. I received repeated requests to collect these tricks into a library or talk, and this is that talk.

In this presentation, I will dissect a few of my most popular "Cute C++ tricks" to a level of detail not possible on social media platforms like Twitter. I'll talk about how and why these tricks work the way they do, talk about the dark corners of C++ they touch upon, and talk about what you should actually do if you need to produce the same effect in production code. While not targeted at beginners, these tricks span the gauntlet from features that most intermediate programmers are aware of (but never thought to use in a particular way) to dark corners of the language that many of my C++ committee colleagues were surprised to learn about. Throughout it all runs a common thread: learning how to exploit your own curiosity to expand your toolbox, gain a better grasp of the fundamentals of C++, and ultimately, become a better programmer.

CppCon 2021 Keynote: Value in a Procedural World -- Lisa Lippincott

LisaLippincott-300x209.jpegLive in Aurora, CO, USA:

CppCon 2021 Keynote: Value in a Procedural World -- Lisa Lippincott

From the announcement:

We’ve previously announced keynotes by Bjarne Stroustrup and Herb Sutter... We’re happy to announce: Lisa Lippincott will be in Aurora live, in person to deliver a brand-new talk about a fundamental basis of understanding computer programs.

Lisa Lippincott designed the software architectures of Tanium and BigFix, two systems for managing large fleets of computers. She is chair of the numerics study group of the C++ standardization committee...

Cppcon 2021 A (Short) Tour of C++ Modules--Danila Kutenin

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

A (Short) Tour of C++ Modules

Tuesday, October 26 • 3:15pm - 4:15pm

by Danila Kutenin

Summary of the talk:

Once you decide to start a big project or a company, it eventually comes down to unifying the build infrastructure. However, hundreds and thousands of compilation units are extremely difficult to maintain to achieve the highest possible performance. Contrary to the belief that you should always trust your compiler, recent micro-architectural breakthroughs from merging two arrays with special instructions to JSON parsing through SIMD showed that compilers are far from understanding every single piece of code you write. In this session we will talk about our experience on how to achieve the highest possible performance without much rewriting of your code, which trade-offs C++ compilers have, how to make the most of your micro-architecture, why unrelated changes may decrease the performance and how to debug them. In the end we will show which compiler options gave us the opportunity to gain 5-15% of performance, stabilized the benchmarks and decreased the build size for search engines, databases and high performance computing.