Moments of Inertia by Rachel Crawford

About     Archive     Categories     Tags     Feed     Projects     Magewinds     Warcry Card Creator    

C++ On Sea

I was very lucky to be able to attend C++ On Sea this week. It’s been an absolute blast. Let’s see:

  • Everyone I interacted with was so interesting and pleasant.
  • The talks I attended were engaging and thought-provoking.
  • I got to meet a whole bunch of new people I’d never met before and people I’d only ever met or followed online and discover what a nice lot they all are in real life.
  • It wasn’t too big! (Although the venue was definitely at capacity.)
  • There were at least 10 other game developers there (of different stripes). I expected fewer, so I was very glad to not be alone. Fun to talk about our silly jobs.
  • Travel was nice and straightforward.
  • I ate a lot of good food.
  • I felt very safe and… #included… there was a strong emphasis on the Code of Conduct and being nice and inclusive and all that good stuff, and there were discussions and talks that weren’t just about purely technical issues.

I’ve never been to any other C++ conferences, but I still think I can safely say this was a very good one.

Talks

I found it very difficult to choose which talks to go to, so I ended up making snap decisions. Thankfully all the ones I didn’t go to should be up on YouTube in a few weeks. Here are some quick things about the ones I did attend:

TODO: Update these summaries with YouTube links/embeds

Kate Gregory: Keynote: Oh! The Humanity!

Kate spoke about how to recognise the different emotions we can feel in codebases, like fear in commented-out sections, or happiness in well-maintained, readable code. Well worth a watch, and not just because of what a great speaker Kate is.

Juanpe Bolivar: Postmodern Immutable Data Structures

You like to work with values. You like to write pure functions. But how do you reconcile this with a world in which copying big blocks of data around is expensive and wasteful? Well, you figure out a way for mutations of an array to share data with the original copy of the array, like a god damn wizard.

I need to re-watch this and read through the library to understand it better. I could totally use it, or at least apply the ideas, in a little personal project I was working on recently. I think it’s really cool.

Adi Shavit: What I Talk About When I Talk About Cross-Platform Development

Stuff to think about when writing libraries. I think I read a blog post about the approach outlined in this talk a while ago.

Jason Turner: Practical Performance Practices Revisited

Compilers are cool. And Jason is a very good speaker. Lots of good insights into performance pitfalls.

Patricia Aas: Deconstructing Privilege

It bums me out that some people still need to hear about the idea that everyone is coming to the table from different situations, and that some of those situations come with disadvantages, and that’s all that the idea of ‘privilege’ means!

Good talk though.

Lightning Talks

I enjoyed Patricia’s ‘C++ is like JavaScript’ the most. She’s right about the JS community having better beards.

Simon Brand: How to Write Well-Behaved Value Wrappers

Rainclouds interspersed with rays of hope. The language is very complicated.

I think we probably want things like optional and variant to be in the language rather than in the standard library. They’re that fundamental. And then nobody would have to fight all the battles Simon outlines when they try to implement them as library components.

Viktor Kirilov: The Hitchhiker’s Guide to Faster Builds

Really thorough overview of different ways builds can be slowed down and, happily, how they can be sped back up. Also a brief and inconclusive talk about modules at the end.

Guy Davidson: A linear algebra library for C++23

Guy is doing great work. I hope more games people become as engaged with the standardisation process as he is. C++ could really do with an out-the-box way to talk about vectors, matrices, and the library he’s working on seems like a really good approach.

Clare Macrae: Quickly Testing Legacy Code

I found the insights in this talk very interesting but I’ve been struggling to think about how to apply them to my world. What hope is there for we whose applications are totally non-deterministic in so many ways? Woe is us.

Matt Godbolt: Keynote: What Everyone Should Know About How Amazing Compilers Are

Wow. Compilers are COOL.

I learned so much assembly in this talk. Admittedly I know very little assembly and keep forgetting what I learn, but Matt’s enthusiasm for investigating the low-level stuff is infectious. And he’s excellent at explaining.

Conclusion

I am extremely grateful to those who made it possible for me to come, especially Simon, and Philip for organising such a great event. I really hope I get to see the people I met again sometime soon.

I come away feeling refreshed, energised, inspired about the language, the community, and where we’re headed. A much-needed morale boost.