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

Call for Proposals for CppCon Academy 2022 Classes

CppCon Academy is asking for instructors to submit proposals for pre- and post-conferences classes and/or workshops to be taught in conjunction with this September’s CppCon 2022.

The Academy is interested in proposals for either onsite classes or online classes.

If you are interested in teaching such a class or workshop, please contact us at info@cppcon.org and we’ll send you an instructors’ prospectus and address any questions that you might have. The deadline for submitting proposals is January 31st, 2022.

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.