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 Call for Volunteers and Volunteer Grant Program

Be a part of making CppCon 2022 an exciting event.  Please join us as a volunteer.

Building on the success of last year’s hybrid conference, we’ll need both onsite and online-only volunteers.

Delivering some of our content online this year will require more training of online volunteers to understand the content delivery technologies that we’ll be using.

If you want more information about volunteering, contact us at volunteers@cppcon.org.

For more information about volunteering and the Volunteer Grant Program, please see our Volunteer page.

Join a great team and be a part of history making in the C++ community, please complete the CppCon 2022 Volunteer Application Form.  There will be other steps after completion, we will contact you to assist you with setup for the conference.

Thank you

Brett Searles

Please note that registration to be an onsite volunteer will be ending August 21st. The grant application deadline is July 31.

CppCon 2021 Code of Conduct Transparency Report

The following summary is intended to help the community understand what kind of Code of Conduct (CoC) incidents we received reports about in the year since previous conference, and how the CppCon organizers responded.

Note: This year we also handled an issue concerning a past serious crime that happened outside CppCon. See the transparency report published separately regarding this incident, which also announced that the board developed and published a set of priorities we will follow for such situations in the future, Ensuring a Safe and Welcoming Learning Environment at CppCon.”

Overview

Again at CppCon 2021, staff and volunteers participated in CoC training prior to the conference.

At CppCon 2021, we received four reports of potential CoC violations, which were resolved during the conference. Another report was received after the conference ended, and was addressed within a few days of receipt.

Before CppCon 2021, CppCon organizers were notified of past misconduct outside CppCon by a CppCon organizer. This matter was addressed by restrictions imposed before the conference, and additional restrictions imposed for future conferences; see above.

Summary of reported incidents at CppCon

At CppCon 2021:

  • In two online sessions’ chats, an attendee anonymously posted provocative and unfriendly commentary. They were warned to use their full name, and to keep comments professional. Attendees were reminded before the start of the following day to show their full name on Zoom and Discord, otherwise access will be removed for the rest of the event. — For CppCon 2022, attendees will be reminded at registration time that they are expected to use their real names.
  • In an online session’s chat, an attendee typed a comment that appeared to be criticizing the session’s speaker. After reviewing the context, the team decided the comment was responding to a prior humorous chat comment, not the speaker. The team reassured the reporter with an explanation of the message. The reporter was reassured.
  • A speaker made a joke referring to Nazis. The speaker was notified that it made an audience member uncomfortable and was asked to take this into account in the future. — Upon post-conference review, the reference did not appear to be offensive/disrespectful. For CppCon 2022 the CoC will clarify that the CoC is not intended to try to control how people of diverse backgrounds express themselves unless clearly offensive/disrespectful. (Done on 2022-01-04)
  • A conference staff member introduced another staff member to speakers in a belittling manner. The team used this as an educational opportunity to talk to the staff member, who responded positively.
  • An attendee made a comment on another attendee’s appearance, and appeared to comment on different expectations for speakers who are women. They were informed that this is not appropriate. They acknowledged the error and apologized. The team agreed to relay the apology to the impacted person if the impacted person wished to receive it.

Answering Your Questions About Our Case Transparency Report and Safety Policy

As we state in our CppCon safety policy, we take all reports of an attendee’s misconduct seriously, even if it does not occur at CppCon but could affect other CppCon attendees. Our goal is to prioritize attendee safety in a way that recognizes the importance of your physical and psychological safety. We are committed to providing a safe and productive learning environment at CppCon.

In this follow-up post, we want to answer the questions we have seen regarding our case transparency report and safety policy, and to provide additional details about our rationale and approach. We address representative questions in the latter half of this post.

We regret and apologize that it took so long to finish a safety policy and post a transparency report. We worked as fast as we could, and although legal and consulting reviews always take surprisingly long, because this was the first time we had encountered such a situation they took even longer.

We have taken the situation described in the transparency report very seriously and have put a lot of time and effort into understanding various aspects of this problem. After imposing the initial restrictions for CppCon 2021, the board has focused on forming a policy well before CppCon 2022 registration opens that prioritizes the safety of our attendees above all else. We are also mindful of our responsibility to ensure no unlawful discrimination takes place in excluding someone from participating at CppCon. Exclusion from participation should absolutely occur when the attendee’s inclusion could threaten other attendees’ physical and psychological safety, but needs to follow appropriate guidelines (for example, per Washington Human Rights Commission regulations; see ACLU summary document pages 3 and 8).

Now that we have formed a policy for historical incidents and incidents outside of the conference scope, we have placed the implementation of that policy in the hands of the Code of Conduct (CoC) team. We appreciate this team’s good work because this is not an easy issue.

As always, we welcome suggestions and are looking into all those we have received so far. We are continuing our work on ways of making the Foundation’s work more transparent. For example, we recently started posting board meeting minutes.

We invite your comments as we continue our work to be both transparent and respectful. We know some may disagree with the decisions we have made and we want to hear from you, whether you agree or disagree. We assume good faith intentions from everyone and we ask that you avoid charged language and labeling. We promise to do the same. It is our fervent hope that we can come through this difficult circumstance in a way that teaches us better ways to communicate. We are learning a lot.

Please send any concerns or suggestions to the CoC team via conduct@cppcon.org. The CoC team will forward them to the directors, if you explicitly ask that.

Our door and our minds are open.

———

Q: How does your decision to remove the individual from attending the conference fit with your inclusion principles? 

A: We followed our policy in judging whether this individual’s participation could threaten other attendees’ physical or psychological safety. While we do not believe a physical threat exists, we do believe the seriousness of the past felony could compromise some attendees’ psychological safety. As a result, we are not allowing this attendee to join the conference now. We do believe there are ways for this individual to safely contribute to the community, but more conversation needs to happen before such contribution should be attempted. The attendee is restricted from attending and/or giving talks until a time when the community is able to have those conversations.

Q: Why didn’t you post your restrictions until the day after the original social media post that publicized and heavily criticized this case?

A: The timing of that post understandably raises the question of why. In reality, we had been working on the transparency report and the safety policy it is based on for a number of weeks and we were in the final stages of approving those materials when the social media post appeared. They had already been reviewed on February 8 with the CppCon conference chair, CppCon program chair, and the Code of Conduct handling team, and what we posted has input from all of them.

Q: Why did the CoC team not handle this situation originally?

A: Because it required a new policy.

This case didn’t fall within the scope of the existing CoC policy, which covers the handling of all reports of misconduct at and around the conference. This case was an unprecedented situation that involved serious misconduct that occurred before the Foundation or CppCon existed.

Now that the safety policy exists, we have delegated full responsibility to the CoC team to enforce and apply it as they see fit for the future handling of this case, and any new cases like it if they should arise.

Q: Was the individual allowed to lead an informal gathering at CppCon 2021? 

A: Yes, this was one of a number of “open content” gatherings that ordinary attendees are allowed to self-organize during the week.

In hindsight, this was not consistent with our intention to remove them from leadership roles. We did not have a clear definition of what “open content” is, and the intention was to remove them from conference organizational roles and speaking roles. Going forward, a leader of a gathering that appears on the conference schedule will be treated as equivalent to a speaker no matter how ad-hoc and informal it is intended to be, and someone who is restricted from being a speaker or panelist will also be restricted from leading anything else too. That’s a lesson we learned.

Q: Did you handle this offender with favoritism because you knew who they were?

A: No, we were very careful to avoid favoritism. During the period when the individual’s 2021 restrictions were being discussed, we were careful to avoid using the offender’s name because the board members who did not already know the offender’s identity asked not to be told. When forming the policy to apply to 2022, we were careful to create a general policy, not one with any individual case in mind, and we applied the policy as is to the situation.

Q: Is the individual removed from organizational roles? We heard otherwise.

A: Yes, they are. The individual was removed from all organizational roles in September 2021, and as far as we know this removal has been implemented and followed. Both the conference chair and program chair were informed immediately. The individual’s role has not been reinstated. We were informed that certain administrative things had not happened (e.g., that the individual’s name erroneously still appeared in one list on the website, and that their access to some internal files was not removed). The conference organizers have corrected these oversights; if you see anything else, please let us know.

Q: Is there truth in statements saying you removed restrictions from the individual?

A: No, we did not remove any restrictions. In September 2021, we applied initial restrictions to remove the person from all organizational roles indefinitely, and to cancel their talks for CppCon 2021. At that point, we had not made any other official decisions for future conferences due to the lack of policy. After finalizing the safety policy and evaluating the situation accordingly, we restricted participation for CppCon 2022. These are the only two official decisions pertaining to this individual, and the only two decisions that have been officially communicated to the organizers and CoC team. No private discussions in between those two decision points should be interpreted as changing restrictions; they were unofficial and likely to suffer from miscommunication, misunderstanding, and missing context.

Q: Is the Standard C++ Foundation the same as the CppCon conference?

A: The Foundation is a non-profit organization whose mission is to support the C++ software developer community and promote the understanding and use of modern Standard C++ on all compilers and platforms. The CppCon conference is one of the projects of the Foundation to accomplish its mission. The day-to-day operation of the conference is done by a team of conference leaders. For additional details, please see isocpp.org/about.

— Board of directors, Standard C++ Foundation

Announcing CppCon Safety Policy

The point of CppCon is to learn and connect with colleagues. The Standard C++ Foundation Board is committed to ensuring that you can participate in an environment that is welcoming and safe. The CppCon Code of Conduct covers the handling of all reports of misconduct at or around a CppCon event. We have additionally developed the safety policy posted here for cases where we learn of serious misconduct by CppCon participants even in the past and/or outside CppCon. We want to be transparent about the serious issue we are handling, which caused us to create this safety policy.

In the run-up to CppCon 2021, the Board learned that a frequent participant at CppCon had been convicted of a serious felony 10 years ago. This crime did not occur at a CppCon event, or to our knowledge in the C++ community, and we are not aware of any other report of any other offense by this person. We recognized that the individual’s participation at CppCon events could make other attendees feel unsafe, we investigated and considered this carefully, and on September 17 the Board voted to immediately remove the individual from all conference organizational roles and ban them from speaking at CppCon 2021 including canceling their already-accepted talks. They were permitted to attend as an ordinary attendee, including participating in open content available to ordinary attendees, until such time as we could establish a long-term policy. After CppCon 2021, the Board commissioned reviews of the case and its handling by an outside independent inclusiveness consultant and by an outside independent law firm, and we have developed the above-linked safety policy in case we encounter this unprecedented situation again. The individual will not attend CppCon for as long as their presence would be broadly disruptive to the conference.

We take all reports of misconduct seriously, even if it does not occur at CppCon but could affect CppCon attendees. Our goal is to prioritize attendee safety in a way that recognizes the importance of your physical and psychological safety. We are committed to providing a safe and productive learning environment at CppCon.

— Board of Directors, Standard C++ Foundation