Tripreport: virtual CppCon 2021
I attended this weeks virtual CppCon partially, as I'm also very busy with my upcoming conferences: Meeting Embedded & Meeting C++ 2021. Still I had a lot of fun. Thanks to Jon Kalb, the volunteers, speakers and all the attendees who made CppCon 2021 possible!
Due to this years dates being so close to Meeting C++ 2021, I knew from the start that I would miss this CppCon in Denver. So I was very happy to attend the online version of the hybrid event. My setup for this event is two different systems: one Linux laptop and one Windows PC. The first one is my default system for the past years, the other my default machine for the future. I switched between them depending on what my task was, and often spent some time in the evening hanging out on the more beefier windows machine. This machine was also used for Gather town, as I knew from C++Now that my old Laptop was not to fond of this browser based conference simulation.
As I mentioned I lacked time to view talks. Some talks I attended to listen to while working and others I learned I just missed due to having to do something else more important. But these few talks / keynotes I found the time to watch:
- Eric Nieblers talk on sender/receiver + scheduler. Part 1 + 2.
- Herb Sutters Talk on pattern matching with is and as in the language with demos of Circle lang by Sean Baxter
- Michael Caisses inspiring Embedded Keynote
- Tristan Brindles talk on ranges
- Jeff Garlands talk on C++23 library
- Sean Parents closing keynote.
I've got to say I learned a lot from these and a few others I catched. Like the last few minutes from Daisy Hollmans talk which Meeting C++ online hosts next week. Lets unwrap the 6 presentations from above.
Eric Niebler gave a great presentation about the async plans for a future C++ standard. I've read some articles on this and seen some opinions, but other than that I don't know much about it. Except, that its so damn important that the committee gets this right. In the first part Eric explained the basics of what a sender, receiver and a scheduler is. In the second part he showed an example program using this with libunifex. Overall I got a great first impression, and hope that we get a first part of this into the next standard. But IMHO this is more the fundamental building block of the coming standards, so at its best in the coming years it'll be like what we have now for coroutines: brick and mortar version.
Herb Sutter talked about an idea on pattern matching, which was demonstrated on godbolt together with Circle lang author Sean Baxter. TL;DR: replace casts with is and as, but also use this for pattern matching. A very powerful feature which would add great functionality. I like Herbs CppCon keynotes, though often they are visionary. Its a great idea, lets see what the committee thinks of this.
Michael Caisse gave a keynote in the Embedded Track about ... embedded. He spoke about his inspiring work with kids and robots and gave some insights how his own career was influenced by magic and electronic tinkering in his childhood. Overall an easy to watch, inspiring great talk.
I'm interested in ranges, as I plan to start using them in my own projects by next year. So I chose Tristan Brindels talk to watch in the evening for that reason. Its impressive to see how you can tweak and build upon std::ranges and implement interesting code with it. Though as I am a ranges novice, I still could follow the talk and understand the code.
Jeff Garlands talk was about the new additions to the C++23 library. Something I know almost nothing about, so every new slide was a new great thing to have in the standard. Though one can also get the impression that C++23 will be to C++20 what C++14 was for 11. Jeff had a bit too much content for 1 hour, but over all it was a great first impression of C++23 library additions.
Closing keynote, by Sean Parent. At a quarter after midnight. All other talks I watched happend at a better time to watch for me. But its Friday, and one knows that its worth staying up until almost 2 o'clock for a good talk by Sean. Sean started his talk with a few quotes on software development and told some stories so that folks got into the right mood and mind set. I also loved to see a slide explaining various math symbols, as I'm a bit of a math illiterate and don't know these symbols from my everyday life. Later in the talk I would though wondered if iff was misspelled, thanks to this slide I now know its not. Sean found that std::find does not find all the things you'd assume it should find. Its been a great talk.
I did give also a lightning talk, which made me attend this session. Thanks to my other lightning talk speakers, which gave funny and insightful short talks! I had prepared a short talk on the past year with Meeting C++ online, focusing especially on the online job and tool fairs. These are new event concepts, which did not exist one year ago.
Gather (ghost) town
A the fun of playing conference in a little browser game. not. Though it went better then I expected, I did have more and better conversations then at C++now in gather town. Though it was hard to run into someone to have a conversation at all. One could ring folks, like at the booths, but I didn't want to find out if that works. My time was too limited and precious to try all the riddles and games that you can play in gather town. Which also means, if you had that time, you likely had a bit more fun and maybe met some folks a long the way!
The ghost town part is not so much to blame on CppCon. When I started looking for virtual platforms in Summer, gather town was amongst the ones I looked at. They also had a sale when you ordered in June you would get a 70% discount*. No other platform could compete with that. I almost fell for it too. But then the discount ended, as I had not finished my research on alternatives, and my opinion had changed. Two problems with gather town I saw for Meeting C++ 2021: performance on not-so-beefy machines like my own laptop with the worst cooling. And the scaling problem you have with a venue like this.
Online conferences have a different dynamic, and as such mostly 30 - 50% of attendees would be in Gathertown at best. But at peak moments you'd get up to 90%. Either its then too crowded, or folks feel like in an empty venue most of the other time. Another reason was that folks just don't want to play onsite conference online, they want to attend an online conference online. I've opted to find a platform that could run the conference and online user group in one good web setting. Without forcing folks to virtually walk between tracks.
I did not have so much time to spend on CppCon 2021 as I did last year. The talks were great, as every year. The online setting was good, with some expected caveats. Some of the usual folks I often meet at CppCon attended onsite, so no real chance to catch them online. One reason I look forward to being on site next year again. With both CppCon and Meeting C++.
* let me be clear about what this discount meant for planning online events in this year. Online Events sell late and are really difficult to plan and budget in a setting where some events might be again onsite. So having a platform offer such a big discount is very tempting. And it was an already tested concept with Embo and C++now 2021. Embo did get the spacing of attendees to space a lot better.
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!