My CppCon 2020 trip report
Honey Sukesan
Senior Software Developer in Embedded software / Automotive & Healthcare domains / Software design and development / Continuous learner / Programmed in C, C99, C++03, C++11, C++14 / Linux / QNX / RTOS / Resilient spirit
In brief words!
Here is a brief (but lo..ng :-)) report on my CppCon 2020 virtual trip experience. CppCon 2020 happened on September 2020 (September 13th - September 18th).
P.S:- Don't miss the references section of this write-up. I have curated all important reference links there.
The event!
CppCon is an annual week-long face-to-face gathering for the entire C++ community. The conference usually happens in U.S. It is organized by C++ community for the community.
CppCon is a friendly atmosphere that helps attendees learn from each other. No matter your experience in C++, attending CppCon provides a significant learning curve for you and also inspiring.
Year 2020 marks the 7th edition of CppCon and is the first ever online edition of CppCon due to Covid-19 pandemic crisis.
P.S: CppCon is a project of Standard C++ foundation. Standard C++ foundation is a non-profit organization that supports C++ developer community, promote understanding and use of modern, standard C++ on all compilers and platforms.
Segments in CppCon
CppCon, like many other conferences, basically consists of C++ talks by developer community. Some of these talks happens in parallel over different tracks.
Here are the main different segments in CppCon this year:-
Keynote sessions happen in a single track viewable to all conference attendees. These sessions are delivered by C++ veterans.
Regular C++ talks are one hour sessions on a specific C++ related topic by the C++ community. CppCon talks are the best of the best C++ talks as it follows a stringent shortlisting process for their talks. As many of you are already familiar, CppCon talks are later released publicly in their YouTube channel (with the exception of some segments like Quiz, BoF, AMA and so on.
"Ask me anything" (AMA) session, as the name implies provide an additional engagement opportunity for speakers and participants. In this session, speakers are open to questions from participants (C++ in general or any other C++ topic, which speaker wish to sign up for) and participants get live responses to their queries.
"Birds of a Feather" (BoF) session, as the name implies provides an opportunity for interested participants to have an informal gathering of people having common interest.
BoF session is an open content session and each is limited to 45 minutes. Attendees and regular program speakers alike can propose sessions on anything that interests them. Number of participants attending each BoF session is limited to 8 as it is the maximum number of people that can show up in a table.
The person who signs up for BoF can act as a facilitator for this session, encourages an open discussion around the topic, get ideas from the participants, and take any actions further if they like to. (eg:- create a special interest group, network professionally with the participants even after the conference and so on.)
I had the opportunity to facilitate a BoF session on "Pair Programming" this year. It's a nice learning experience. Here is a screenshot from the CppCon schedule.
"Lightning talks" is my most favorite segment in CppCon. As per CppCon definition, it is a platform for "5 minutes stardom".
By the way, I haven't seen this definition, when I signed up for a lightning talk session. To be honest, I got motivated by the lightning talk chair and decided to present one.
Lightning talk is usually a 5 minute presentation mostly on any C++ topic, but not mandatory. Interested speakers can sign up for lightning talk if they can prepare and present any 5 minute C++ or other software industry related topic that interests them and if they think, interesting and helpful for participants. CppCon committee get back to you with your presentation time slot.
Lightning talk chair and the enthusiastic and energetic host , Michael Caisse hosted the sessions in a jovial way with his strict "5 minute" timer. :-) 5 minute stage is all yours then. Lightning talk sessions are organized at different time slots over the days of the conference and it is the most thrilling segment in CppCon.
CppCon Academy There are planned training sessions by world-class C++ experts in addition to the usual conference days for interested participants on an additional fee. These usually happen on the week before and the week just after the conference.
There are other segments like Quiz nights, Expo halls, live music band and more...
How did I get the opportunity to attend CppCon 2020?
You will be thinking now, how I got the opportunity to attend CppCon 2020. Let me tell you the story behind that.
CppCon is usually expensive because of its premium quality talks and speakers. Travel and lodging cost comes extra - easily takes more than 1000 bucks. It was my long-time dream to attend CppCon sometime, because of being expensive and travel, I couldn't make it till then.
Fortunately, CppCon 2020 is fully "online" and the ticket prices slashed down to $300 for a regular ticket. Still I couldn't afford the ticket price. Pandemic times even made it difficult for getting a sponsorship from my employer this year. My hopes went low.
At that time, I came to know about a scholarship possibility by a tech community called "#include<c++>". It is a global, inclusive and diverse community for C++ developers. Without any expectation, I applied for the scholarship. To my surprise, I got selected and was given a free ticket to attend the week-long CppCon 2020. Yay!
Conference happened in Mountain standard time zone. i.e, afternoon to late night Irish time. I could convince my project lead and my manager to get a week off for attending the conference. Fortunately, all stars came in the right position for me this time.
Virtual CppCon specialities
There are almost a thousand attendees from all over the world. There were 87 premium quality C++ talks in addition to the other segments.
Most cool thing happened is the chemistry of all high-end virtual tools working like a charm. Remo platform was of-course the hero in the conference.
In addition to Remo, CppCon used many other tools like slack, YouTube, sched.com for participants and Uber conference, streamyard.com and many more for speakers.
Last but not the least, was the long array of passionate C++ developers / professors / trainers / speakers / students who think, love, speak, party and even sleep with C++.
Remo - Quick look
Remo platform virtually created an onsite conference experience. The above screenshot is my CppCon main login page. Remo platform simulates the floors (Floors listed on left hand side) and each floor is having round tables. Each table can have 8 members to the maximum. You can see in the screenshot, thumbnail profile pictures of some participants - meaning that those people are occupying corresponding tables.
When you login to this page, Remo platform automatically assigns you a table by default. If you want to socialize, you can turn ON your mic and camera. If you are busy with some personal tasks like reviewing some talks or silently do some work, you can stay with your Mic/Camera off. You can jump to different tables by clicking on each table.
The top tab lists the six parallel running tracks like basics, count_if(), destroy_n(), embedded, fuzzing and generate_n(). You can enter each track by clicking on its name.
You have the complete conference schedule available to you in advance, you can mark your interested talks on it and use it as a reference to get into each of these tracks. Moreover, there are announcement windows popping up on these tracks.
There is an active CppCon slack channel and fully active volunteers available via chat who help you if you come across any difficulties at any point of time.
First impressions
CppCon conference officially started with a "Welcome reception" on September 13th, 2020 afternoon. I received emails with ticket and instructions for login well in advance from CppCon community. I logged in without any hassle sharp time.
Welcome reception was basically aimed for participants to familiarize with Remo platform and socialize with other participants. At first, I was a bit hesitant to speak, but seeing the enthusiasm of other fellow C++ developers, I finally got the courage to turn ON my mic and webcam. Some tables were silent, a few tables were very active, on those tables, all 8 chairs were always filled up. There was a welcoming feel everywhere. Some participants were too actively speaking, some were silently listening.
Michael Caisse was popping in over several of these tables, trying to find out people to sign up for lightning talk. He was specially aiming first-time conference attendees and motivating them. Hence he found me and out of mere motivation, I signed up for one lightning talk session. I think taking the courage for attempting a lightning talk was the best ever decision I made in 2020.
After the initial Remo platform overview, Michael hosted a session where he played a few videos of some excellent previous year lightning talks.
Most inspiring one was:- CppCon 2018: Walter E. Brown's “Thank You (I’m sorry that it’s taken me so long to say it)". That lightning talk really deserved a minute of silence and the standing ovation from the attendees then !!! If you haven't seen this talk earlier, I strongly recommend you to watch this.
Coincidentally, I was in the same Remo table as Walter while this talk was playing. So when the talk was finished, I could get the opportunity to hear his emotional words when someone else asked to him about the talk experience.
Keynote sessions
There are 5 keynote sessions this year, including the one from "Father of C++", Bjarne Stroustrup. All keynote sessions were really informative. Unfortunately, I missed two of those. I'm planning to watch them in the CppCon YouTube channel.
First day of the conference (September 14th), started with Bjarne’s keynote. It's really inspiring seeing the “Father of C++” still actively involving in C++ community and encouraging the community and language to grow. He talked about a specific C++ library for messaging (using modern C++) which his team is now implementing. Keynote session was named “The Beauty and power of “primitive” C++”.
Second day, keynote session was really impressive and systematic. “C++ 20 – An almost complete overview" by Marc Gregoire. He literally gave a crisp and clear walk-through of all the major new additions in C++20. He is the author of “Professional C++” textbook. In his talk, he mentioned, 5th edition of his text book is due to release this year.
Another keynote session I attended is “Performance Matters” by Emery Berger. Emery is a Professor at Amherst, Massachusetts. This keynote mentions some exciting but little known programming factors that affects code performance.
The cool thing is I attended this keynote session last week in the follow-up Q&A session. Follow-up Q & A sessions are still ongoing for CppCon participants to watch the most requested talks with the speakers present. Participants are again having a golden opportunity to watch some of their missed talks or get their queries answered from the speakers. Kudos to CppCon committee for their gesture to serve the participants in the most beneficial manner and ensuring "every penny spend on this conference is really worthy for the attendees."
The other two keynote sessions were by Lisa Lippincott and Herb Sutter. I will be watching those talks in CppCon YouTube channel soon.
CppCon 2020 - Some exciting talks
Most of the C++ regular talks, keynote sessions and lightning talks are already uploaded to CppCon YouTube channel and will be publishing soon in coming days.
As I come from embedded software domain, I have a special interest in the "Embedded" track of CppCon 2020. Some of my mentions of talks may be unknowingly biased based on my domain interest. As I mentioned earlier, all CppCon talks are of premium quality.
Some talks which I felt so interesting are and is not limited to:-
- Future of C++ parallel and concurrency safety guidelines by Michael Wong & Ily Burylov. Michael Wong is Chair of Embedded/ML C++ study group. Also of MISRA C++ / AutoSAR.
- Modern software needs embedded modern C++ programming by Michael Wong. I really felt Michael Wong has a great abundance of technical knowledge in him and I am really waiting to see him publish a book on his technical knowledge, that would be most useful to the embedded programming community.
- Modern C++ safety and security at 20 by Mathew Butler. This is a great reference talk for modern C++ developers in embedded domain. Mathew mentions most of the newer C++ 20 features based on how each is going to impact or improve performance and other constraints in embedded world.
- Structure and interpretation of Computer programs : SICP by Conor Hoekstra. Conor is my one of my favorite tech speakers in programmer community. He is a common face in most of the programming language conferences as he is a programming language enthusiast. He runs his own YouTube channel by the name code_report. This talk was about the classic computer science book "Structure and interpretation of Computer programs". Computer science enthusiasts refer this book as the best book in Computer science ever published. Second half of his talk, was his favorite segment (The most expected segment in Conor's sessions) - Classic problem solving using algorithms in C++ standard library headers.
- How C++20 changes the way we write code by Timur Doumler. Timur is also an ISO C++ committee member and the conference chair of Audio Developer Conference. He literally presented the session like a passionate teacher who teaches how each of the new C++ 20 features are going to change the way we write the code. This talk is really from an application point of view of the new C++ 20 features.
There are many more incredible beginner, intermediate, advanced sessions like the above and I would have to spend days writing this report if I have to mention all those. Visit CppCon YouTube channel and start watching the talks that interests you.
CppCon 2020 - Great lightning talks of my choice
Conor Hoekstra and Sy Brand stole the show by their extra-ordinary lightning talk topics and presentation style.
I think, lightning talks don't need any words of explanation from my side, it is rather to be felt and enjoyed personally. Again, don't get biased by my mentions. I just have to pick a few for the purpose of this report. As usual, all lightning talks were too classy.
- SICP cover demystified - Conor Hoekstra
- How to cook a chicken – Sy Brand
- Drinking from the Fire Hose - Brian Ruth
- Code samples that compile even more easily - Clare Macrae
- Programming : The last 4000 years – Juanpe Bolivar
- Why C++ for Large Scale Systems? - Ankur Satle
And finally mentioning here - my first-ever public conference attempt in the form of a lightning talk:-
- Can software developers draw pictures? - Honey Sukesan
Pros and Cons of Virtual conference
Final thoughts
Inspiration, learning and the fun experience provided by CppCon never ends. It's the dream of every C++ programmer to attend this ultimate, prestigious conference at least once in their career. These crisis times opens up a new door of possibilities - the virtual conference.
I certainly hope virtual conference platforms start to reign several technical conferences (at-least, in the form of a hybrid conference providing both onsite & online experience) in the coming years even after the pandemic times.
Having said all that, I really miss some of these enthusiastic speakers in CppCon this year - Kate Gregory, Titus Winters, Scott Meyers, Uncle Bob Martin, Odin Holmes and John McFarlene.
Looking forward to grabbing the opportunity and attending CppCon in coming years.
Words of gratitude
My heartfelt thank you to #include<c++> community for giving me a chance to attend the most loved CppCon.
Thank you a lot to CppCon chair, committee, volunteers, speakers and the most loved participants for making this event enthusiastic and a great learning experience.
Many thanks to my project lead, line manager for allotting a week-long off from work for attending CppCon.
Special thank you to Michael and fellow C++ community for motivating me to chase the lightning talk opportunity.
Thanks a million to lightning talk panel for encouraging the lightning talk speakers.
Thanks to all members of C++ user-groups who conducts their regular meetup sessions online.
Last but not the least, thank you a million to Almighty and all the inspiring and caring people around.
Founder & CEO - 1074 Vectors
4 年Thanks a lot for this. It gives a glimpse of almost all topics.
Experienced ASIC / VLSI Domain Professional
4 年Great article! Congratulations for attending this conference, yes it is a great experience. Thank you for your willingness and all efforts to prepare a great write-up and sharing this to others. It gives a feel of really attending the conference by going through your simple and informative explanation along with all required links and references. This is really great. Please continue your efforts for both Knowledge earning as well as Knowledge Sharing. Thank you!
Systems Architect | ISO C++ Committee Member | BIS Member
4 年Glad to see my talk featuring in your article! Thanks!?? You made a good detailed report. Well written. ????
Experienced Software Engineer | Networking & Cloud | Expertise in BGP, EVPN, VXLAN, Kubernetes, AWS, Docker | CKAD, CKA, CKS, AWS SAA, JNCIA x 2
4 年Excellent review on #cppcon Honey Sukesan. I really enjoyed your lightning talk on UMLs. After reading this I really want to attend next year's #cppcon.
Principal Architect - Embedded Product Engineering ? Bridge Technology with Business ? Talks Product Development & Deployment, Maintainable Architecture, Security & Safety ? Semicon, Automotive, Industrial/IoT
4 年Excellent write-up and cessions sessions like C++20: An (Almost) Complete Overview by Marc Gregoire were exciting.