A CppCon 2017 trip report

published at 06.10.2017 23:32

I'd like to share my experience of attending CppCon 2017, or how I'd like to describe it: playing multiplayer "find waldo" for one week. This is also the first time, that I attend a CppCon without speaking, I could complain about this, but actually I was very happy not to speak. There was no time to prepare a new talk anyways, Meeting C++ has kept me busy, but back to CppCon.

This year started with t-shirt night, and soon its clear that one restaurant is very popular. So I look at the list, and notice that also a place with very good, but expensive food is available, giving 10% off for us. So I'll organize a small group to go there, a perfect evening to start CppCon! After dining, we head over to the reception, where I know many, so its small talk here and there. Actually I'm only looking for an old friend I haven't seen in years, also hes been part of the Meeting C++ staff and works now for a fruit company. Finally I get to see him again, have a good talk with him, and oh, then there is cake.

Monday. Stroustrup gives a keynote on teaching Modern C++. Its great, much better then last years keynote. Its a trend I notice recently in the community, many people have started to talk either about starting with C++, or teaching it. After that, I have for the first time the dreadful choice to select the talk I'd like to see at this conference. As Modern C++ was just on topic, I decide to follow up with a talk also having that in its title. Spoiler: I usually choose talks based on title and maybe speaker. Sched webinterface is so terrible, that I only care for it, if there is competing talks. And, I have to say, Stephen Dewhurst really nails it with “Modern C++ Interfaces...", not so easy after a Stroustrup keynote. Its one of my two favorite talks at CppCon. Also, in parallel there is constexpr all the things, which I already saw at C++Now, so I understand if you skipped Stephens awesome talk for one of the other sessions. Oh, Walter Brown gave also a talk in parallel. And James McNellis about Time travel debugging. Unfortunately the Temporal Prime Directive prevents me from seeing his talk live.

Still Monday, but after lunch, there is a talk by Carl Cook. Looking forward to seeing it live, as it is the most popular viewed on youtube from last years Meeting C++. So I kind of want to see the current version. Its a great talk, but as I don't work in finance, its not really getting into my top talks. Still, entertaining, good examples, and if you ever wanted to know how to get best cache performance, Carl will tell you the trick. The day ends with the traditional grill the committee, which I'll skip this time to get some sleep.

Surviving CppCon

The week will go on like this. Everyday is an exercise of choosing the right talks, and getting to enjoy a keynote. The days start early - I really would appreciate having a session in the morning I could optin to skip for sleep ;) - and continue until late night. Yes, you can skip the bar, but often this is a great highlight where you can actually have a talk with a group of attendees and speakers that is longer then a break. So, yes, CppCon is a little monster that will suck a lot of energy out of you, but also give you lots of ideas and motivation, and energy.

The usual conference attendence tips are also good for CppCon: drink a lot of water, eat healthy and not too heavy, wear good shoes, as you'll walk a lot. Exchange contact details with people you'd like to conctact again, finding unknown people again at CppCon is extremly hard. Like all other C++ conferences, CppCon is full of friendly and dedicated nerds. And, get the sleep you can get. My conference sleep pattern is literally one night of good sleep as I'm to tired from the previous night of bad or very few sleep.

Multiplayer "find waldo"

As talks are recorded, and I don't speak this year, meeting people is an important part of my CppCon experience. Also, as I organize Meeting C++, there is a lot of people I want to meet, and lots of people which are looking forward to meeting me. Breaks are often to short, and I know, that I can't find everyone. Also not everyone found me, sorry for that. Did I already tell you its extremly hard to find people at CppCon?

Then, there is the conference organizer and community manager perspective, that running Meeting C++ for 5 years now has given me. This also means, that attending CppCon is part of my job, which gives the whole thing a different perspective. Lots of people I try to meet, and I know CppCon is to short to talk to everyone, and also still have time to get to know new people. Sometimes I attend talks, which are at Meeting C++ later, just to see the speaker or to be able to skip that great talk at my conference later. At the same time, I really want also to still have the opportunity to meet a few new fellow C++ Programmers, I haven't met yet. Thats what is so great about heading out for dinner, there is a lot of mixing. This years CppCon featured for me some great dinners with Chandler Carruth, and that great evening with Matt Gottbold and Jason Turner and lots of other programmers. The best dinner yet was at a mexican restaurant, as I do really hate (spicy) mexican food. Thanks to that group for still making this a great and enjoyable evening...

... also in that night I gave my first of two lightning talks. First it looked like, I would only be able to give one, so I prepared only slides for my thoughts on reviews and r/cpp_review. So my second lightning talk was a live demo on using dlib and Qt to organize the pictures of Meeting C++ better. I think we should also more show what the end result of our long coding efforts is, too often I get asked by outsiders what do you actually do with C++? TMP is the wrong answer then!

And thanks to everyone trying to invite me for lunch. I usually try to skip this part of CppCon. I just stay at the conference center and have lunch, to attend the break sessions, or give the random people I get to meet during this a chance to have a good conversation. But I avoid heading out with groups, I prefer dinner for that. During one lunch I was able to finally meet Kate Gregory, the one Keynote speaker of Meeting C++ 2017, which was also at CppCon. We had a great talk on all kind of things, and all I need to say about her keynote is literally "its complicated".

Things to improve

Lets start with a short section on a few key differences I see the conference I organize, Meeting C++ 2017. Main complaint for this years CppCon might be that there wasn't enough food, which I agree with. But this is also kind of a first world problem to have at a conf. And it is a main difference to Meeting C++, which serves lunch on 3 days, and dinner on 2 days. You always can head out for dinner, which is a great idea, but you don't need to. The other difference is, that in my opinion, CppCon is missing a dedicated lounge room. While you find enough chances to sit outside of the session rooms, it would be great to have an actual, dedicated lounge room too. At Meeting C++ there are even two lounges, as I decided to host an alternative track for meeting people from the community in a lounge.

Another difference is how talks are chosen. Its two different approaches, which both give great results. But I think that the program committee of CppCon needs to grow and become a bit larger then it is now. Currently it is only 5-6 people reviewing one talk, I'd feel better with 8-10 voices heard for each. For some years its a conversation topic, which was the most rediculus feedback you got on your talks. CppCon has improved here, and the feedback from the program committee session was positive on making it easier to join this committee. For now, if you want to join the CppCon program committee, write a mail to Jon Kalb, he'll let you know what you need to know in order to serve as a member. In contrast, Meeting C++ chooses its talks through a voting, where all attendees of the past and future can vote. This only works because it scales to lots of people actually voting. As I said, both systems lead to great results.

One other thing I begin noticing this year, is that we in our community put to much weight on experts, while we miss out on voices from beginners and intermediate programmers. They're a major part of our community, and this expert cult is hurting C++ and our events. Not sure how many other members of our community see this, but I've heard from a few that I'm not alone with that view. So its great to see, that a current trend in C++ Land is about how to teach or start with C++. I've seen this adressed several times independently in the last weeks, so I hope the C++ community is on a good way here.

Highlights

And then there was the planning session. One of the reasons I came to the conference, its always interesting to listen to this as a conference organizer, also last years planning session was a great success. In the past years I attended to listen, this year I wanted to address how CppCon had dealt with last years results of this sessions. I felt that way, because its directly connected to my job in supporting everyone in this community. So, if you attended, you'll know what this was about, if not, think about coming next year to this session :) I ended my reign of questions with "and why is Herb Sutter not here?", only to hear Herb complain from the background, that he was there. THIS was the highlight for me from this years planning session, my feedback was heard, and spawned a great discussion, plus, Herb Sutter was for the first time with us during the planning session! If you care about CppCon, I strongly recommend attending this planning session.

Another great highlight of this years CppCon is Matt Gottbolds keynote. Its my favorite from the keynotes, just because it also was some one fresh, I hadn't seen speak before, and that still managed to surprise me. Also it was funny to talk with Matt about his CppCon experience, as it was his first C++ Conference ever. And thanks to Compiler Explorer, I too get to read some assembler. Thanks Matt! One other favorite for me was the speakers dinner, great evening!

Final, best highlight. Something that gets me excited. Its community related. Its really great. So, Vinnie Falco gave a great talk on how to implement a class in a library, showing examples from beast. Which got accepted into boost. Great talk, my favorite from the conference, go watch it (when its online)! But thats not what I was talking about at the start of this paragraph. The thing is, I'm not sure how much I should share about this, but Vinnie started sketching out a US non profit (likely for 2018), for supporting open source, committee members and related things in C++. I don't know more about this, then having a short hallway conversation with Vinnie about it. But I think its great, and as I have done lots of community work in the past years, its the most exciting moment for me at CppCon!