Trip Reports | Videos | Slides | Thanks

Great Success

Our experiment with an online experience for CppCon 2020 has proven to be a great success! We had almost a thousand (994) attendees that were willing to take a chance on our first online conference. To put that in perspective, that’s over fifty percent more than joined us for our first onsite conference in 2014.

In our attendee survey, it was clear that people preferred the onsite experience, but over eighty percent were either pleased or very pleased about attending an online CppCon. Some, who are unlikely to be able to make it to Aurora, were grateful for the opportunity to finally get to attend CppCon. I’ve appended a few comments to this post.

Trip Reports

For more in depth comments on the online CppCon experience, here are a few Trip Reports:

Javier Estrada is reviewing sessions in several posts on his Se Habla C++ blog.

Continue reading

Try a Taste of CppCon

We’ve had a couple of amazing days at our new online conference venue.

If you’ve been curious about how it’s working, we’ve got an opportunity for you. Since the conference is about half over, how about half off?

Use this registration code to register at a special rate of half off the regular $300 rate. For just $150 you can attend CppCon and see what all the excitement is about.

CppCon 2020 Keynote: Performance Matters by Emery Berger

Keynote Speaker: Emery Berger

Emery BergerEmery Berger is a Professor in the College of Information and Computer Sciences at the University of Massachusetts Amherst, where he co-directs the PLASMA @ UMass lab.  To fully appreciate the work that Emery has done and the academic honors that he’s received, you really need to read his bio.

Emery takes performance seriously and that’s what this talk is about. He’ll discus a new approach to profiling called causal profiling. This approach has led to the development of a tool called Coz, which ships as part of standard Linux distros and supports C++, Rust, and Java. “Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!).”

From his talk’s description:

In this talk, I’ll first discuss some of the significant and surprising challenges facing C++ programmers trying to achieve high performance on modern hardware platforms: performance is far less stable and predictable than you might think! I’ll present some experimental evidence that strongly suggests we can’t count on compiler optimizations to help us out of this hole: in particular, I’ll show — using a new experimental methodology — that the difference between clang’s -O2 and -O3 optimization levels is essentially indistinguishable from noise.

Instructor Interview: Patrice Roy / Managing Memory

In this instructor interview, Kevin Carpenter welcomes Patrice Roy for a discussion of his CppCon Academy class, Managing Memory. Patrice has been a professor for over two decades and has been to every CppCon, but this is his first time at CppCon as a Ph.D graduate!

Patrice and Kevin discuss what attendees will get out of his class. This class is for people coming from other languages that want to do C++ right and for people who have been writing C++ that want to do it better, to get more control, more speed, and more resilience. There are a number of details of specialized knowledge, but they can be simple and fun. People will end the class knowing how to do things because they’ll have done them in the class.

In addition to his class, Patrice is also going to be presenting two talks for the Main Program. The idea for Some Things C++ Does Right comes from identifying the things about C++ that he misses most when teaching classes that use other languages.

The Surprising Costs of void() (and Other Not-Quite-Innocuous Evils) comes from the fact that as a professor grading the work of students he reads a lot of code written by bright people that are still learning, “so they do all sorts of weird things.” When he pointed these “weird things” out to other instructors he found that many knowledgable, experienced people don’t always recognizes some of these mistakes for what they are. This talk will give you a lot to think about.

Instructor Interview: Andreas Fertig / When Efficiency Matters

In this instructor interview, Kevin Carpenter welcomes Andreas Fertig for a discussion of his CppCon Academy class, Modern C++: When Efficiency Matters. This is Andreas’ first time at CppCon.

Andreas and Kevin discuss what attendees will get out of his class and mention that Andreas’ lambda expression talk at Code Dive may give people a taste of what his class will be like.

Of course, they discuss Andreas’ delightful C++ Insights which he uses, along with Matt Godbolt’s Compiler Explore, in the class to help attendees visualize what the compiler is doing with their code.

In addition to his class, Andreas is also going to be presenting the two-part Back to Basics: Templates during the Main Program. He relates that when he teaches classes on modern C++, he frequently hears the comment from students that, although this wasn’t the point of the class, it made them believe in templates in way they’d not perviously. He will be sharing some of that material with attendees in the Back to Basics Track.

CppCon 2020 Keynote: Neighborhoods Banding Together by Lisa Lippincott

Keynote Speaker: Lisa Lippincott

Lisa LippincottLisa 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.

This talk builds upon the discussion of local reasoning in last year’s talk The Truth of a Procedure, but is intended to be understandable independently.

From her talk’s description:

In this talk, I will take local reasoning for granted, and look at the process of joining neighborhoods of local reasoning together, and the global reasoning that ensures they form a coherent whole. I will show how we can prevent incoherent joining, and prevent the emergence of unbounded non-local recursion as the program is linked together.

CppCon 2020 Program Available

The Main Program for CppCon 2020 is now live!

We’ll have over seventy-five regular sessions delivered by the best C++ presenters in the industry, many returning from previous years as well as some exciting new voices. We’ll have five or six concurrent tracks full of sessions containing C++ best practices and what you need to know about the brand spanking new C++20.

This year’s Main Program features three special tracks including the Back to Basics Track, the Embedded Track, and one surprise that we’ve not announced yet.

In addition to the Main Program, we’ll have panels, lightning talks, BOFs, exhibitors, social events, classes, and a new feature, online Ask Me Anything (on C++). These AMAs are focused on creating additional engagement opportunities with presenters and other attendees.

Most of the program is published, but we are still working a few surprises, so keep checking back.

We’d like to thank the Program Committee, our speakers, and the many professionals who proposed talks which we, unfortunately, just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

If you aren’t certain about CppCon, just watch (one year old) video!

If you recognize someone you know, let them know that you’ll be looking for them online!