Erik Rainey live in person at CppCon 2022

Erik Rainey will be in Aurora, live in person to deliver a keynote address on C++ in embedded firmware.

Erik is a Senior Software Engineer at Amazon working in the Prime Air on low-level/embedded firmware written in C++ for drones. He’s also been a contributor to Khronos’s OpenVX 1.0 specification.

In his talk he’ll show some video of delivery drones in flight and discuss what it takes to make drones fly with C++. (See the video below.)

Here is his talk description:

Using C++14 in an Embedded “SuperLoop” Firmware

Erik RaineyThis presentation covers what the execution environment of an embedded “superloop” firmware is in order to describe later why certain C++14 language and library features are used and others are not. This environment lacks many basic features and capabilities that traditional C++ programmers may think are common place but is able to be programmed in C++14 (and later) with a specific design paradigms and guidelines. Programmers with deeply embedded C experience will be familiar with some of the limitations of the environment but may find the C++ solutions quite refreshing! The talk will conclude with some comments on C++17 / C++20 features which will be quite valuable to embedded environments of all types.

Registration is now open so don’t miss out on CppCon 2022 this September 11-16. Register today! Tickets are now available for both online attendees and in-person attendees.

Daniela Engert live in person at CppCon 2022

Daniela Engert will be in Aurora, live in person to deliver a keynote that takes us on a journey through modern C++.

Daniela has been building computers and creating software for over forty years, with thirty years in the field of applied digital signal processing. Her recent focus has been on modules and helping developers best understand them and their application in C++20. Here is her talk description:

Contemporary C++ in Action

This talk is different from typical conference presentations. Instead of focussing on one particular topic I want to take you with me on a journey where I put various pieces from the C++ landscape together into a small application and show how they fit together beautifully. My goal is to debunk the myth that the committee is looking to please experts and library developers instead of making life easier for the many developers in the trenches. This is not slideware, at the end of our tour the code will compile and run with some entertaining result.

On this journey, I will be visiting modules (using modularized popular libraries and others that constitute the app), do some network programming with coroutines (based on ASIO executors, as there are no C++ standard executors yet), slip in one or two of the flagship C++23 features, like explicit object parameters or some of the new library stuff, and season the stew with items from recent C++ standards. It’s a tiny application using techniques that an average programmer in the embedded or industrial world (like me) might find useful. The code I’ll show also contains very tiny fragments of condensed or simplified sources in active development taken from our in-house codebase – old and trusted, but thrust into the modern age.

Registration is now open so don’t miss out on CppCon 2022 this September 11-16. Register today! Tickets are now available for both online attendees and in-person attendees.

Opening 2022 Keynote: Bjarne Stroustrup, live in person

Meeting in personCppCon 2022 will kick off on Monday, September 12 with Bjarne Stroustrup delivering the traditional opening keynote live in person in Aurora.

Bjarne’s annual opening keynote for CppCon is one of the most anticipated and most watch talks in C++. His talks are always among the most viewed presentations on the CppCon YouTube Channel.

From his talk description:

C++ in Constrained Environments

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.

Every year, Bjarne Stroustrup gives an important C++ talk in his CppCon opening keynote. Be at CppCon again this year, on-site or on-line, as Bjarne Stroustrup flies us above this complex landscape of issues and shines a spotlight on the most important things to know, and to think about, in C++ in 2022. This year we aim to leave extra extended time for real-time questions and answers with the live audience. Come to the talk, bring your questions, and don’t miss out!

Registration DeskRegistration is now open for both online and in-person attendees so don’t miss out on CppCon 2022 this September 11-16. Register today!

 

 

 

 

Herb Sutter live in person at CppCon 2022

[Updated 9/2 to refresh talk abstract]

We’re making our first 2022 plenary talk announcement: Herb Sutter will be in Aurora, live in person to deliver a brand-new talk about post-C++20 C++ language evolution. Here is his talk description:

Herb Sutter

C++ Simplicity, Safety, and Toolability (“Simplifying C++” #9 of N)

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.

Registration DeskRegistration is now open for what will certainly be one of the most memorable CppCons ever this September 11-16. Register today!

Tickets are now available for both online attendees and in-person attendees.

Announcing CppCon Academy 2022 Classes

class attendeesRegistration is open for almost twenty CppCon Academy classes that will be held in the days before or after CppCon 2022 in September.

Four classes are open to online attendees and the rest will be offered to onsite attendees at the Gaylord Rockies in Aurora.

Read about all the offered classes on the CppCon Academy 2022 page. This year we are offering classes that range from those that are focused on updating you to the latest versions of C++, to those focusing on better code, testing, or design skills. This year we are offering a class on computing in mixed CPU/GPU/FPGA environments, one on embedded programming, and one on performance and efficiency (well, okay, they are all about performance and efficiency ultimately).

class instructor with studentsOnline classes will be held either on the last three business days of the week before the conference, the two weekend days following the conference, or the first three business days of the week after the conference.

Onsite classes are held on the weekend days immediately before and after the conference.

class instructorMost of the classes feature two days (onsite) or three days (online) of class instruction. All classes feature hands-on opportunities to improve your programming skills. There is one four-day onsite class (pre- and post-conference) and one two-day online class (on the weekend after the conference).

CppCon instructors are selected from the best C++ instructors in the world. They feature rare combinations of deep technical knowledge, extensive development experience, and the ability to explain things in an approachable manner.

Reminder: Early Bird Registration ends in mid-July, so register now!

CppCon 2022 Registration is Open

Registration DeskRegistration is now open for CppCon 2022, including CppCon Academy Classes.

The US has recently rescinded testing requirements for entering the US and the conference has updated its Covid Safety Policy for CppCon 2022 to be less restrictive. Please review the Covid Safety Policy before registering for onsite attendance.

For CppCon 2022, we are continuing with our very successful hybrid format providing for top quality engagement for attendees in Aurora, Colorado and also providing the CppCon experience for those that attend remotely.

We are offering two new registration options for online access. For organizations with many C++ developers, we are offering discount packages for online attendance, starting as low as $2000. Please review the options on the Registration Page and contact Greg Marr, CppCon Registrar for details.

We are also offering a new On-Demand Session Access which provides access to both online and onsite (rough-cut) recordings of sessions from shortly after the session concludes, until its edited version is posted on the CppCon YouTube channel. This is included with many conference registrations (as last year), but this year we are offering it stand-alone, without a conference registration.

Registration details are available on our registration page, but the high points are:

  • Substantial savings are available for Early Bird registrations before the end of July 15th.
  • For those unable to attend in person, Online registration gives access to both online and onsite sessions as well as our Gather.town virtual venue for fun, games, puzzles, and engagement with other attendees including presenters and exhibitors.
  • Onsite attendees have the option of registering for both onsite and online access or for onsite-only. Why would an onsite attendee want to include online registration? Only online attendees have access to online sessions and the virtual venue.
  • We are offering four online classes and over a dozen onsite classes.
  • We are also offering an Economy registration that for onsite, doesn’t include the On-Demand access, “Meet the Presenters” Banquet, annual tee shirt, or souvenir that are included in Full registration and for online doesn’t include the On-Demand access included in the Online registration.
  • We have three options available for full-time students, Full, Economy, and Online, all of these include online and On-Demand access.

Visa application support for non-US attendees is available.

As always, we offer support for academics and employees of non-profits and, thanks to the support of the C++ Alliance, child care.

Diversity and Inclusion at CppCon 2022

One of the fundamental missions of the Standard C++ Foundation is to “support the C++ software developer community.” Support starts with ensuring that everyone feels welcome in our community, and as the leadership of the largest community gathering of the year, we take the opportunity to build a more diverse and inclusive community very seriously and try to expand it every year. Here are the new, expanded, and continuing initiatives currently planned, aimed at making everyone feel welcome at CppCon 2022.

  • (NEW) Double-blind review process: Creating a program that is as diverse as possible has always been a priority at CppCon. Each year, the Program Committee aims to create the best conference we can, and a big part of that process is obtaining the most comprehensive and accurate set of reviews for each talk submitted. Our goal is to reduce unconscious bias in the review process, and increase the diversity of submissions. Studies have shown that double-blind review processes have these effects, so this year the Program Committee will be reviewing the abstracts and outlines of submissions without the knowledge of the submitter’s names. To enable this, we will be asking presenters to take steps to anonymize their abstracts.
  • (EXPANDED) New tracks, new track chairs: Having more focused tracks, centered around more specific areas of expertise, is an important part of creating a diverse and inclusive conference. This may be counterintuitive, but focused tracks actually enable speaking opportunities for junior developers: They may not have enough experience with topics of broad appeal, but may still have the domain-specific expertise to submit talks that may be interesting to a significant subset of attendees. This year, in addition to the existing Embedded, Back to Basics, and Software Design tracks, we are adding Tooling and Scientific Computing tracks. If your talk is submitted to a track, your track chair will be happy to provide additional consultation on both your abstract and your talk. Reach out to them!
  • Supporting new speakers: CppCon offers mentoring for newer speakers. As part of the talk submissions process, we provide the option for one-on-one mentoring by experienced speakers. As mentioned above, part of the responsibility of track chairs is to provide subject-matter-specific mentoring to new speakers submitting to their tracks. If you are interested in this program, just mark it in your talk submission form.
  • (EXPANDED) Diversity dinner, now also a workshop: This year, CppCon’s diversity dinner will be expanded to include a workshop to discuss processes, experiences, and paths forward for improving diversity and inclusion in the C++ community. Attendees are encouraged to submit 10-20 minute talks on these topics through a separate submission process.
  • Women in C++ brunch: Building on the success of last year’s Women in C++ dinner, we’re hosting a women’s brunch for this year’s CppCon. Though we’ve always included women in general diversity initiatives at CppCon in the past, as more women have been attending CppCon we want to provide women with specific opportunities to network with others who face similar challenges. The brunch is intended to be an open, welcoming, casual environment for attendees to discuss diversity issues specific to women in C++.
  • Hybrid on-line and in-person conference: We recognize that not everyone’s life circumstances allow them to take a week out of their life to attend a conference in person. This year, CppCon will again facilitate on-line participation for speakers and attendees, with the goal of including those who can’t attend or speak in person. We’re employing a number of emerging technologies to engage with online participants, aimed at making them feel welcome as part of the community as much as possible.
  • Subsidized diversity tickets: CppCon sponsors a number of subsidized on-line and in-person attendance tickets for people from underrepresented groups in C++. More details about this year’s program, including how to apply, will be announced soon.
  • Code of Conduct: CppCon’s Code of Conduct (CoC) includes a dedicated CoC report handling team and CoC training for all conference volunteers before each event. CppCon publishes annual CoC transparency reports after each conference, starting with the CppCon 2021 CoC transparency report.
  • Professional live captioning for keynotes and large sessions: Professional-quality live captioning is expensive, but is important to us because it helps many attendees better follow the live program—not only attendees who are deaf or hard of hearing, but also the many non-native English speakers in the audience.
  • Gender neutral restrooms: Every year, at least one restroom at the venue gets designated as gender neutral to accommodate attendees who may not feel comfortable in either the men’s or the women’s restrooms.
  • Pronouns on name tags: While registering, attendees will be offered the option to add their preferred pronouns to their conference badge.
  • Accessible venue and stages: All talks are held at the conference hotel, which offers wheelchair accessible guest rooms, and wheelchair accessible seating and stage access in meeting rooms. See our accessibility section for more details.
  • Quiet room: We know that conferences and large gatherings can be stressful for some attendees, especially since the isolation caused by the pandemic. Being inclusive means making sure attendees have ways to manage that stress. We provide quiet room space for attendees to relax and recharge; see our quiet room section for more details.
  • Child care: Parenting responsibilities and attending a technical conference are a challenge to mix. CppCon wants to help attendees with children to be able to focus on the conference experience, secure in the knowledge that their children are in a safe and secure environment. See our child care section for more details.
  • (NEW) Feedback: We’ve set up a new email address, diversity@cppcon.org, to work on better understanding people’s reasons for being unable to attend CppCon in the past. We’re working on a survey process to learn more about how we can  make CppCon as diverse and inclusive as possible.

Diversity and inclusion are a priority at CppCon, and we are dedicated to deepening and expanding our support for a diverse and inclusive environment. We look forward to your feedback, and are excited to see many of you—either online or in person—in September at CppCon 2022!


Daisy Hollman, Program Chair
On behalf of the CppCon 2022 organizing committee

CppCon 2021 Wrap-Up

Hybrid Success

Our first adventure with a hybrid conference was a success! Although a our onsite attendee numbers were down (way down, see the photo of many of us), our online-only attendee count was up from last year (even with many of last year’s attendees attending onsite this year) and our total attendance grew (a bit) from our record in 2019.

Trip Reports

But don’t take my word for it, read what some of our attendees are saying. I’ll update this post as more trip reports are published.

Videos

JetBrains, a CppCon YouTube Channel sponsor, is providing early access to some of our conference videos. In addition to the Fireside Chat with the C++ Standards Committee, JetBrains has posted all of our onsite plenary sessions (from Bjarne Stroustrup, Herb Sutter, Lisa Lippincott, Michael Caisse, and Sean Parent).

In the next few weeks, we’ll be posting session videos to the CppCon YouTube Channel and slides to our repository.

CppCon 2022

CppCon 2022 will be held September 11 – 16 at the Gaylord Rockies, in Aurora, Colorado. Watch this page for more details.

Thanks

We all knew pretty early last year that 2020 was going to be a horrible year.

But many of us, certainly I, had great hopes for 2021. This year would be so good, due to “pent up demand,” that we’d forget all about 2020. Except that it didn’t turn out that way. 2021 turned out to be the year of disappointment following disappointment.

In addition to having to cut many familiar conference features due to lack of attendees, money, and planning time, the process of organizing a hybrid conference proved much more difficult that I’d imagined that it would be. We scrapped our program schedule twice before we came up with something that made us happy.

I confess to having low expectations for this year’s event. It wasn’t because we didn’t have a great team preparing for it.

The organizers, including our department heads, volunteers, and vendors did an amazing job of preparing for the event under terrible circumstances. Our Program Committee reviewed a near record number of submissions. The online volunteers had to master several different software platforms in order to answer questions and provide technical support for online presenters and other attendees. The onsite volunteers were very, very short-handed. They worked longer shifts than we’ve asked of them in years past and were also required to master new platforms for delivering hybrid session.

Our vendors, including, Bash Films, Digital Medium, Gaylord Rockies, Jonathan Phillips, Krueger Event Management, and LSAV Powerhouse, all went above and beyond to create a hybrid CppCon for the first time.

I was, of course, delighted by the way about team came together to see our challenges as an opportunity to succeed in a new way rather than as an excuse to fail at delivering the best possible CppCon experience.

I was happy for the support of our sponsors and both online and onsite exhibitors.

Still, I was very worried.

But there was part of the CppCon team that I’d not counted on. Our attendees! At every closing I thank the attendees because, I tell them, without attendees, we don’t have a conference.

This year I learned the deepest truth of that. CppCon 2021 was a success in the only way that really matters. Those attending were delighted that they were attending.

The attendees came through for us. In a year when we could have heard a lot of complaining (about no posters, no bookstore or author signings, no live-captioning, no Tool Time, reduced social events), instead we heard about how delighted everyone was to be able to see old friends, meet new friends, and engage with the some of the best minds in C++. We had great engagement during sessions, at lightning talks, and in the all-important “hallway track.”

2021 Onsite Group Photo

You are all my heroes.

I look forward to seeing you all next year.

Jon Kalb
Conference Chair

CppCon 2021 Online Keynote: Six Impossible Things by Kevlin Henney

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

Kevlin Henney

Kevlin will be online for an important discussion on the limits of what is possible in software.

Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice, and process. He has been a columnist for various magazines and websites, including Better Software, The Register, Java Report, and the C/C++ Users Journal. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also an editor of 97 Things Every Programmer Should Know.

Here is his talk description:

“Why, sometimes I’ve believed as many as six impossible things before breakfast,” the Queen told Alice on her adventures through the looking glass. Only six? In software development we believe impossible things all the time, no matter the time of day!

In this talk, however, we are going to take a look at six specific impossible things that shape the limits of what we can develop, all the way from the smallest detail of integer representation to the minefield of task estimation and prioritisation, via the uncertainty of distributed systems and the limits of computability. Once we know our limits, we can work within them to create solutions rather than problems.

CppCon 2021 Keynote: Warning: std::find() is Broken! by Sean Parent Live, In Person

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

Sean Parent

We’re happy to announce: Sean will be in Aurora live, in person for an important discussion on requirements, guarantees, and domains and how these effect the Standard Library and what we can expect from it.

Sean Parent is a senior principal scientist and software architect for Adobe’s Software Technology Lab (v2). Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.

Here is his talk description:

We often take it for granted that calling one of the Standard algorithms will do something meaningful. For example, when invoking `position = find(first, last, value)` we expect that if an element equal to value is contained in the range `[first, last)` then `position` will point to the first such element; otherwise, position will equal `last`. But how do we know `find `will perform this operation? This talk explores requirements, guarantees, and domains, and we’ll discover that maybe `find` doesn’t.