Events by track

Modern C++

  Title Track Speakers
Advanced C++20 Coroutines
There are a many excellent introductions to C++20 coroutines. However, beyond...
Modern C++
Are the old ways sometimes the best?
A look at some of the places where C++ now offers multiple ways to do the...
Modern C++
C++23 ranges: conceptual changes and useful practicalities
Modern C++
C++ Coroutines From Scratch
I'll show a worked example with a "before" and "after" using C++ coroutines.
Modern C++
co_await All The Things!
With coroutines being readily available and supported in all mainstream...
Modern C++
C++ Standard Views
Modern C++
Is linear_mapping the correct abstraction for a linear algebra proposal?
As the linear algebra proposal grinds its way through the process of...
Modern C++
Keynote: C++ Horizons
In the next decade, three major new C++ will reshape how we write C++ code -...
Modern C++
Monads in Modern C++
Monads are a common technique in functional programming languages to reduce...
Modern C++
Quo Vadis C++?
The future of C++ is currently heavily discussed and at least two possible...
Modern C++
Standard Attributes in C and C++
Modern C++
Template Meta-State Machines, Madness and Shannon.
After years indulging in the temptations of micro-optimisations, I shall...
Modern C++

Languages

  Title Track Speakers
A Generic Talk About Go
A look into generics and some of the other languages features now available...
Languages
C is great, long live C!
Languages
From OOP to Go
Picking up Go after mastering OOP languages often leads to common yet...
Languages
Rust for the recalcitrant C++ programmer
Andy teaches CB about neat features of Rust and CB tries to show that they...
Languages

General C++

  Title Track Speakers
A tour of C++ recognised user type categories
What's trivial about trivial types ? What can we say about the layout of the...
General C++
Breaking Enigma With the Power of Modern C++
During the Second World War, Alan Turing and his team at Bletchley Park used...
General C++
C++ Fundamentals: Value Types
A guide to implementing a class in C++ that models an abstract set of values,...
General C++
Designing for concurrency using message passing
One common way to design concurrent code with less potential for...
General C++
How to Master C++
This talk gives practical advice for learning and improving skills with...
General C++
Khronos SYCL language framework for C++ Accelerators
Have you ever wanted to take advantage of all the MIPS in your machine with...
General C++
mp-units: Lessons learned and a new library design
This lecture presents how Modern C++ features enable exciting features and...
General C++
Productivity in C++ Game Development
Dive in the mind of a AAA game developer and learn the ins-and-outs of being...
General C++
Removing Needless Undefined Behavior for a Safer C++
The C++ standard defers to undefined behavior (UB) in a variety of...
General C++
Using Both Cores of Raspberry Pi Pico with C++OS
This talk is about using the latest developments in C++ for really small...
General C++
Vulnerable C++
Programming languages contain features that could cause code to behave badly....
General C++
You Are a Parenthesis
It is trivial to make a class callable in C++. Just define...
General C++

Workshops

  Title Track Speakers
C++20 (and C++23) in Practice Day 1
Workshops
C++20 (and C++23) in Practice Day 2
Workshops
C++ Concepts Workshop
1-day workshop on C++ concepts
Workshops
Early Careers Day
This is an all-day pre-conference tutorial. But unlike other tutorials, the...
Workshops
Let’s get more – social, environmental, and economic – sustainability based on data!
The world is on fire! None of our improvements in software development will...
Workshops
Modern C++ Idioms
1-day long workshop on Modern C++ idioms covering subjects like RAII,...
Workshops
Python as a Perfect Companion Language
In system software engineering it is often required to implement auxiliary...
Workshops
Resilient C++ - Mitigate C++ Vulnerabilities
C++ programmers suffer from its super power of backward compatibility that...
Workshops
Software Engineering in the D Programming Language
The following hands-on training provides a tour of the essential parts of the...
Workshops

Learning

  Title Track Speakers
Concurrency approaches: past, present, and future
Concurrency: safe, efficient, structured and easy to use — pick four. This...
Learning
Cracking Collaboration: Problems and solutions for modern development
Working with others is tricky. Especially in the new world of remote work,...
Learning
Gilding the Rose
Refactoring is a word on every developer's lips, but not always at their...
Learning
Grinding, Farming, and Alliances: How words and ideas from casual gaming can make you a better programmer
If you play a game once in a while, you've levelled up in it. You've...
Learning
Introduction to secure multi-party computation
How to jointly compute on private data, without revealing the inputs, but...
Learning
Micro-service delivery without the pitfalls
The rise of micro-service architectures offers the promise of a more agile...
Learning
Nobody can program correctly. Lessons from 20 years of debugging C++ code.
We like to write code but—despite our best efforts—we make mistakes. Our...
Learning
Preparing for Professionalism in Programming
The Software Engineering Culture module at the University of Portsmouth...
Learning
Remote Mob Programming In a High Stakes Environment
An experience report showing how remote mob programming can be quite...
Learning
What I learned From Sockets
This talk will discuss how socket concepts like select or poll can be used...
Learning

Social

Keynote

  Title Track Speakers
Keynote
Keynote
Keynote
Keynote
Keynote
Keynote

Numbers

  Title Track Speakers
Maths: the fun parts
If you've always hated Maths but love programming, this session is aimed at...
Numbers
What is a random number and why should I care?
How can a deterministic function possibly give random results? We will find...
Numbers