I have been meaning to write up this conference for a very long time. The call for papers for this year (2026) runs until 4th June. Here's the link: https://meetingcpp.com/mcpp/submittalk/.
So, last year's conference was great, as ever. Anthony Williams gave the opening keynote, called "Software and Safety". I had to look that up, because my notes say "Think Harder/Think outside the box". His talk encouraged us to do just that. He discussed UB, pointing out that it often comes from unexpected events and talked through how to avoid the unexpected. He pointed out validation is a design problem, and used the analogy of Swiss cheese: you can have several holes, but with a thick enough slice of cheese, you won't be able to see right through it. So, having several layers of testing helps. For example, in addition to unit tests, using sanitizers and fuzz testing is useful.
To continue this theme, I went to see Anders Schau Knatten talking about "Real-time Safety - Guaranteed by the Compiler!" next. He went through Clang's non-blocking and non-allocating attributes, which I've not used before. He talked about real-time sanitizers (RTSan) too. He always finds neat, short examples that stick in my head for a while afterwards. I haven't got around to trying these out yet - I really should.
After lunch I went to "Using std::generator<> in Practice" by Nicolai Josuttis. He talked about using them to write state machines and showed how much less boilerplate code you need to swap from states. As ever, he gave simple examples and pointed out various important things to be aware of, like getting in trouble when using references.
Later I went to see Anders again, talking about "The Two Memory Models". He explained atomics and memory ordering. My notes make no sense - I'll have to rewatch the talk. I do remember coming away and feeling like this had made more sense than usual though. Memory ordering is a deep topic.
I gave the "Center keynote" the next day. I used the title "Stoopid questions", and dug into why people are often shy about speaking up when they don't understand something. There is, after all, no such thing as a stupid question. I suspect many people end up mentoring or training others and haven't been taught how to teach. I am a trained secondary school maths teacher, so have had some input on this. Teaching is hard work, and can be emotionally draining, But learning is draining too. If you can find engaging or fun examples that helps. I got loads of questions afterwards, so I clearly got people thinking.I don't have notes after that. My head was still spinning after giving my talk But I did take photos. I went to "(Don't) use coroutines for this" by Ivan Cukic on the last day. He talked about "prog" C++ a while ago, so talked about "punk" C++ this time. For example, trying to get a stack based, rather than heap based, coroutine., and various other ways to subvert the original intentions of this relatively new language feature. Lots of fun, and lots of C++ covered, beyond just coroutines. If you can make people laugh by being slightly subversive, you are winning.
Steve Love gave a talk called "CMake for the impatient" later. I can use CMake but don't have it 100% clear in my head. Many people give in depth talks, so it was nice to see a more beginner-level one for a change. We've all got gaps in our knowledge, after all. If you don't know CMake, this talk is a good place to start.
I did go to several other talks, but I'll leave you to watch the videos. One last talk I'll mention is a lightning talk, by Rahel Natalie Engel.
It was called "Let them eat cake", wherein she introduced a language based on C++ designed for teaching, called "Cat Pie". The talk is here: https://www.youtube.com/watch?v=gQ6grpbhW8k and you can try it out online here: https://catpie.compscicomp.de/. The idea is to get a cat to move around a maze and eat some pie. The "Help" button takes you to a cheat sheet, and you can read more details here: https://dl.gi.de/server/api/core/bitstreams/d10b2056-9d7b-4552-bac7-a510dd2522e3/content.