This was my second time attending Meeting C++. The first time I attended was in 2019, when I gave my first Meeting C++ presentation, Better Algorithm Intuition.
This year I gave one full length talk, C++ Concepts vs Rust Traits vs Haskell Typeclasses vs Swift Protocols, which covered an introduction to C++ concepts and compared them to similar language features in Rust, Swift, Haskell and D. This broad category of language features is sometimes referred to as “constrained parametric polymorphism.”
I will update this blog with links to the YouTube videos when they become available. You can see a short preview in the tweet below.
Slideware by @code_report #meetingcpp pic.twitter.com/jpMfo6clh8
— Meeting C++ (@meetingcpp) November 12, 2020
Diversity Spotlight
Since my first trip report from CppCon 2020, I have decided to try and highlight diversity in my trip reports. I have decided to focus on the representation of female vs total number of speakers.
Conference | F/Total | % |
---|---|---|
CppCon 2020 | 6/87 | 6.9% |
Meeting C++ 2020 | 1/14 | 7.1% |
The 7.1% is very similar to CppCon. If you include AMAs, it goes up to 2/18, which is 11.1%. It was great to see such diversity in the keynote talks. It was also great to see the D&I (Diversity & Inclusivity) Panel on the first day. Hoping to see more of these at future conferences.
Thoughts on Remo
I have attended (fully in some cases, briefly popped in for others) 7 online virtual conferences this year:
Conference | Date | Technology Used |
---|---|---|
Italian C++ 2020 | Jun | YouTube + Discord |
PLDI 2020 | Aug | Gather |
CppCon 2020 | Sep | Remo |
10th RacketCon | Oct | Gather |
Dyalog 2020 | Nov | Zoom |
Meeting C++ 2020 | Nov | Remo |
From my experience, two things stand out:
- Remo is by far my favorite platform
- Remo tables should be 10+
I am not sure what the limit is for table size on Remo - but the size of 6 that Meeting C++ chose I found to be too small. Typically what happened in the Meeting C++ Remo was there was only 1 or 2 tables with conversations happening. If there is only going to be 1 or 2 tables of active conersation, it is better (in my opinion) to have those tables be a bit larger.
Overall Thoughts
The virtual Meeting C++ was enjoyable but I definitely missed the in person aspect from the previous year’s meeting. The highlights were:
- Jonathan O’Connor’s talk on Templates
- Dawid Zalewski’s talk on Lambdas
- The D&I panel
- All of the keynotes were first time talks :)
- The conversations that I had with folks in between talks
If there is one thing I would improve on it would be have more “new” talks. From what I understand, there were a lower number of submissions this year for both CppCon & Meeting C++, so maybe it isn’t possible to avoid the issue of having many repeat talks from CppCon. It is also worth noting (thanks to Jonathan O’Connor for pointing this out) that CFPs for both conferences sometimes overlap, making it difficult to know what talks will be accepted for CppCon. However, it would be nice (especially for a single track conference) if there were more new (aka first time talks). To be clear, I don’t consider talks given at meetups (I presented at C++TO and others at MUC++) as “previous” talks, I view these as practice runs. A repeat talk for me is a talk that has been presented previously at another conference. Of the 11 non-keynote talks, I gave one of them and I had already seen 6 of them, which left only 4 new talks + the keynotes. That combined with only a couple tables of active conversation in Remo left me with the feeling that Meeting C++ was sort of living in the shadow of CppCon. I only say this because after C++Now in 2019, Meeting C++ 2019 was probably my favorite conference.
Keynotes & Talks
Keynotes
Day | Speaker | Talk |
---|---|---|
1 | Jonathan Boccara | Metapolymorphism |
2 | Teresa Johnson | ThinLTO: Whole Program Optimization |
3 | Gabriel Dos Reis | Programming in the Large with C++20 |
Talks
Day | Speaker | Talk | Previous Version |
---|---|---|---|
1 | Timur Doumler | How C++20 changes the way we write code |
CppCon 2020 |
1 | Nicolai Josuttis | Hidden Features and Traps of C++ Move Semantics |
CppCon 2020 Italian C++ 2020 |
1 | Conor Hoekstra | C++ Concepts vs Rust Traits vs Haskell Typeclasses vs Swift Protocols |
C++TO |
2 | Sy Brand | Building an Intuition for Composition | CppCon 2020 |
2 | Jonathan O’Connor | Template Shenanigans | - |
2 | Jonathan Müller | The Static Initialization Order Fiasco | MUC++ |
2 | Dawid Zalewski | Lambdas, uses and abuses | - |
2 | Phil Nash | OO Considered Harmful | CppCon 2020 |
3 | Klaus Iglberger | Calling Functions: A Tutorial | CppCon 2020 MUC++ |
3 | Rainer Grimm | 40 Years Of Evolution from Functions to Coroutines |
CppCon 2020 |
3 | Marc Mutz | Partially-Formed Objects For Fun And Profit |
- |
AMAs & Panels
Day | Speaker | AMA/Panel |
---|---|---|
1 | Jason Turner & Rob Irving | AMA |
1 | D&I | Panel |
2 | Hana Dusíková | AMA |
3 | Bjarne Stroustrup | AMA |
3 | Nicolai Josuttis | AMA |
Top 2 Talks
For my favorite talks, I chose from talks that I hadn’t already seen at a previous conference.
#1: Template Shenanigans: Testing, debugging and benchmarking template code
Speaker: Jonathan O’Connor
Link: Watch Here
Alpacas! Sy Brand may have kittens, but Jonathan O’Connor has alpacas (and pointed out that I do not - at least for now). Alpacas aside, this talk was a distillation of resources for development and debugging tools for metaprogramming in C++. This is a subset of tools/techniques covered (there were many more):
- Vittorio Romeo’s Camomilla (which Vittorio gave a lightning talk on at CppCon 2019)
- An interactive template metaprogramming shell: Metashall
- A gui for Metashell: MSGUI
- Louis Dionne’s compile time framework for microprofiling: metabench
This was in response to @ninkibah saying "Conor Hoekstra ... doesn't have alpacas!" 🦙🦙🦙 @meetingcpp https://t.co/zJ18hgyG1N pic.twitter.com/ML8Pc7ZYn6
— Conor Hoekstra (@code_report) November 13, 2020
#2: Lambdas, uses and abuses
Speaker: Dawid Zalewski
Link: Watch Here
This was a continuation of Dawid’s talk from Meeting C++2019, “Lambdas - the old, the new and the tricky” (which doesn’t seem to be online yet). It quickly went from the basics and worked it’s way up to implement the Y-Combinator using lambdas. A great talk that everyone should check out (as well as his 2019 talk when it goes online).
Thank You
Thanks to the volunteers and organizers of the conference. It was great to meet and chat with C++ folks online.
Feel free to leave a comment on the reddit thread.