Voting results for Meeting C++ 2018
On Sunday the voting ended for this years conference. And the results are interesting, each talk received between 87 and 104 votes from 147 active voting sessions. In total its 10685 votes casted. So lots of folks did have a look at each talk, the average of the collected votings is then what determines the top talks at the conference. More on this below.
The top 11 talks are:
Pusz C++ Concepts and Ranges - How to use them? Nikolov Data-oriented design in practice Müller Writing Cache-Friendly C++ Nash Option(al) Is Not A Failure Doumler Initialization in modern C++ Radchenko Benchmarking C++. From video games to trading. Polukhin Better C++14 Reflections Without Macros, Markup nor External Tooling Ciura Regular Types and Why Do I Care ? Weis Taming Dynamic Memory - An Introduction to Custom Allocators Arandjelovic Policy-based design in C++20 McNellis Time Travel Debugging, or, Making Even the Hardest Problems Easy to Debug
So, the popular theme of this year seems to be performance and efficiency. Mixed with a little bit of receipts for doing things in C++xx. In total 40 Talks have been accepted, 33 in the main 3 tracks, and the 4th track is also pretty much full already. The 4 still open slots are reserved for sessions from sponsors or lightning talks. Most of the lightning talks, maybe even all of them will move to Friday evening. I hope to bring up the talks and schedule in August.
Some details on the voting, and how it leads to the above result, and how this graph gets created:
This graph goes from +2 to -1 roughly. It shows the results for each talk in the voting, from best to worst. The voting historically goes from 0-5, today this gets translated to [-3,-2,-1,1,3,4], 4 and 5 votes get a little higher count. So talks which enough people actually want to see, get a little push. After all, everyone who voted 0-3 on a talk will likely sit in a different talk in parallel. The graph shows the average of all votes for each talk.
Thoughts on the overall results
When Meeting C++ started in 2012, getting talks was a little challenge, and also there was not much choosing. No call for papers, which changed in the next year, when Meeting C++ had a program committee. I noticed back then, that this committee had some bias (towards Qt for example, as lots of members came more from boost/standard committee area. Also it consisted of mostly folks, which already were in lots of other positions, plus my staff and a few other folks. I wanted to try something else for 2014, have a committee which was more open, and not as much restricted to a pre set, smallish group. So I decided to try out a different approach. Which today is how the talks are chosen. Main advantage of the voting system is that it scales with lots of submissions better, and with at least 87 votes per talk, a single vote has little influence. Hence I don't filter out talks for speakers, its up to everyone on which talks they vote. As the order of talks is randomized for each voting session, its also immune to ordering effects, like that early submissions get a better result then later submissions, which I could see in 2014, when randomization was not in place. Also it usually keeps the span between most and least votes received small.
But, I found it very interesting to see that the patterns that occur in the voting results are similar to what one can see for C++Now or CppCon, which use a more traditional program committee review system. Niche talks struggle in both systems, to get the needed number of positive reviews to be in the range from where talks are chosen. So there still needs to be some manual choosing, for talks that are not so popular with the main audience, but still qualify for a sub community. Examples for this are talks on embedded, scientific C++, boost or Qt.
Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!