~/conference

ACCU 2025

date:2025-04-01..2025-04-04
location:Bristol, United Kingdom
series:ACCU · 10 editions
tags:[c-and-cpp]

c++ developers, library and standard contributors, systems programmers, tooling and build engineers, game developers, engineering managers, devops and ci engineers

C++20 ranges and views; senders and receivers in C++; C++ coroutines (C++23/C++26); consteval compile-time programming; contracts proposed for C++26; memory allocation guidelines in C++; dynamic allocation in safety-critical C++; choosing C++ standard library containers; Conan2 continuous integration workflows; CUDA C++ developer toolbox; accelerating Python with C++; LLM agents for code refactoring and tooling

titleauthorlength
Learning To Stop Writing C++ Code (and Why You Won’t Miss It)Daisy Hollman01h 36m
Claims that frontier LLMs (Anthropic’s Claude among others) can read, plan and edit real C++ repos: demo shows an agent bootstrapping build configs, running…
Talk on
What C++ Needs to be SafeJohn Lakos01h 31m
Proposes making C++ safe by adding concrete tools: Contracts MVP in C++26 with runtime and symbolic assertions that catch ~65% of common errors (bounds…
Talk on
The Definitive Guide to Functional Programming in CppJonathan Müller01h 09m
C++ workflows become declarative pipelines using std::ranges views (transform, filter, chunk_by, join) to avoid eager intermediate containers and enable lazy…
Talk on
The Past, Present and Future of Programming LanguagesKevlin Henney01h 30m
Main claim: mainstream languages change slowly and incumbents dominate; empirical evidence shows C/Java/Python/C++ persist in top ranks and of 100 languages…
Talk on
consteval All The Things?Jason Turner01h 31m
Consteval is a C++20 tool that forces compile-time evaluation but also requires arguments to be constant expressions, so ordinary function parameters are never…
Talk on
Deliver Better Technical Presentations - Challenges Faced by Technical SpeakersJack Simms01h 31m
Revisits a failed 20-minute ACCU slot inside a 90-minute session, deliberately reproduces earlier errors (slides out of order, train-time edits) then fixes…
Talk on
Optimising Data Building In Game DevelopmentDominik Grabiec57m
Describes building a sparse 3D grid cache for fast spatial queries, a job system using counters to parallelize hundreds of small jobs, and moving file…
Talk on
How To Write a Rubik’s Cube SolverSam Saariste01h 30m
Library implemented in Python notebooks that visualizes scrambles, manipulates move sequences, and solves CFOP subproblems; pieces are numbered so corners…
Talk on
Our Other C++ InterfacesBret Brown01h 26m
Explains concrete project contracts: explicit preconditions (Ubuntu package names, ninja on PATH), a reproducible provision → resolve → build → package…
Talk on
Testing, Preconditions, Coverage and Templates in Safety-Critical C++ CodeAnthony Williams01h 40m
Safety‑critical C++ code requires 100% coverage with CI across many compilers, explicit preconditions that often precondition macro terminates the process and…
Talk on
New (& Old) C++ Standard Library Containers - How to Choose the Right Container in C++26 and BeyondAlan Talbot01h 31m
Shows that naive container choice costs huge time: a simulation spikes 100× with scaling and one rewrite cuts a 7h15 run to ~30 minutes by recycling…
Talk on
Duck-Tape Chronicles - Rust C++ InteropVictor Ciura01h 11m
Claim: compiler, linker and ABI guarantees matter more than glue crates for real Rust–C++ interop. Notes concrete tradeoffs: current options like CXX or plain…
Talk on
Move Slow and Break Things - Upgrading to C++26Alisdair Meredith01h 25m
C++26 makes concrete, breaking changes: it removes comparisons between arrays and several deprecated library facets, forbids delete of incomplete types, and…
Talk on
Stars Aligned and Software Development Adrift - Why Can We Predict Planets but Not Deadlines?Luca Minudel40m
Argues that projects with unknowns are intrinsically different from linear work and that 20% of onboards at one talent-management vendor forced platform…
Talk on
Dangerous Optimizations in C and C++ Programming LanguagesRobert C Seacord01h 30m
Compilers increasingly treat undefined behavior (UB) as a license for aggressive optimization, claiming wins from constant folding, loop‑invariant hoisting and…
Talk on
Guide to the C# Programming Language - Puzzling C#Steve Love46m
Shows concrete gotchas: a = b + c parses so the parentheses bind to the right-hand expression producing 240 not a mistaken grouping; object initializers and…
Talk on
Dynamic Memory Allocation Challenges in C++ Safety Critical SystemsXavier Bonaventura01h 11m
Covers why ISO 26262 and guidelines like MISRA 2023 ban or restrict heap use and what actually breaks: leaks, out‑of‑memory, allocation/deallocation mismatch…
Talk on
Shifting Left, Shifting RightPatrick Martin22m
Argues that evolution shifts work between code, tooling and collaboration with concrete examples: a working one-batch-file integration that auto-serves builds…
Talk on
So You Think You Can Lead a Software Team?Paul Grenyer17m
Takes twelve months to start understanding team leading and shifts from doing work to being accountable, advising daily standups and reducing one‑to‑ones to…
Talk on
Mistakes With Data Made During Game DevelopmentDominik Grabiec17m
Game data breaks because formats lack explicit versioning, version control stores built assets, dependencies live only as string literals, and large mixed…
Talk on
Using Reflection to Generate C++ Python BindingsCallum Piper15m
Uses C++ Reflection (compiled against the experimental P2996 Clang fork) to auto-generate real Python bindings for C++ libraries with PyBind11, turning…
Talk on
Awesome API DesignAnders Sundman22m
Shows concrete C and C++ examples: renaming malloc/mfree for symmetry, the std::vector empty vs clear confusion and a checked vs unchecked index design, and…
Talk on
Getting Started with Senders and Receivers in C++ ProgrammingJames Pascoe17m
A lightweight primer that demonstrates a real sender built from an Asio timer and shows how connect produces an operation state that must remain alive until…
Talk on
Rust - Cargo Cult?Victor Ciura21m
Microsoft reports Rust rewrites for Windows kernel components and tiny hypervisor pieces, plus ports that cut cloud service costs when migrated from .NET…
Talk on
Race Conditions - Practical Tools & Techniques for Testing, Preventing, and Debugging C++/C CodeGreg Law31m
Shows concrete tools and tradeoffs: ThreadSanitizer (clang/gcc) finds many data races fast (compiler instrumentation, ~2x slowdown) but misses ordering races…
Talk on
Log4j - A Placement Student's Baptism by FireLiam Varney17m
A placement year at a major car company in December 2021 exposes how a single JNDI lookup string in Log4j yields remote code execution (Log4Shell), with…
Talk on
An Introduction to Reinforcement Learning - Snake Your Way Out of a Paper BagFrances Buontempo56m
Introduces a hands‑on C++ implementation that builds a Q-learning table (std::map/std::vector keys) with tunable alpha/gamma and epsilon 10% exploration, uses…
Talk on
Alex Stepanov, Generic Programming in Cpp, and the STLJon Kalb01h 23m
Covers Alex Stepanov’s drive to make algorithms reusable without performance loss, how templates (1992–94) let him build the STL and submit the library after…
Talk on
What AI Means for the Future of Accessibility and Disability AidesSam Drage17m
Explains generative AI (ChatGPT, Midjourney) as a limited‑memory tool that can reduce cognitive load (outlines, planning, ADHD help) and enforce consistency…
Talk on
Building a Career In ProgrammingSherry Sontag, CB Bailey, Callum Piper, Cal Pratt, Daniel Kiss01h 29m
Panel argues individual contributors build careers by choosing projects, not titles: concrete wins include rewriting a build pipeline and tooling, shipping…
Talk on
C++ Error HandlingRoger Orr01h 29m
Examines a simple C++ generator class (configure + operator()) and then actually adds and compares real error strategies: logging to cerr (cheap but fragile)…
Talk on
How to Think Like a ProgrammerConnor Brook16m
Argues that programming is model-building, not typing: replace ad‑hoc log-parsing and baked‑in dictionary fields with a concrete retry object that stores…
Talk on
An Introduction To Go LangDom Davis01h 24m
Quick, practical tour of Go fundamentals with concrete code: how files and packages compile with go build and go mod, use of fmt for output and gofmt for…
Talk on
The 10 Essential Features for the Future of C++ LibrariesMateusz Pusz01h 13m
Claims ten essential (actually sixteen) missing language/library features and demonstrates them with a quantities-and-units library that exposes real issues…
Talk on
Technical Debt Crisis! When Non-Engineers Write CodeFelix Aldam-Gates11m
Claims that low-barrier tools and LLMs enable “vibe coding” where non-engineers write Python or R pipelines without engineering practices, producing…
Talk on
How Old Am I in Seconds? Insights From the C++ chrono LibraryNicolai M. Josuttis01h 21m
C++ chrono pairs C++11 durations/time_points with C++20 calendars, formatting and time zones to handle real cases: compile‑time unit selection to avoid…
Talk on
Keynote: Teaching an Old Dog New TricksMatt Godbolt01h 21m
Implements a ZX Spectrum emulator twice: one in familiar C++11/14 style and one using constexpr/meta/templates plus concepts, modules and coroutines. First…
Talk on
Manage Asynchronous Control Flow With C++ CoroutinesAndreas Weis01h 27m
Shows how to implement an async/await-style Task type for C++20 coroutines by explicitly linking coroutine promises and handles, using symmetric transfer to…
Talk on
Continuous Integration for Large Scale C/C++ Projects With Conan2Diego Rodriguez-Losada01h 20m
Shows a concrete CI design using Conan 2, GitHub Actions and Artifactory that builds only affected packages and scales across platforms. Uses conan lock create…
Talk on
Challenges and Benefits of Upgrading Sea of Thieves From C++14 to C++20Keith Stockdale01h 05m
Sea of Thieves upgrades its codebase (~6.5M LOC across game + engine) from C++14 → C++20 by flipping permissive-minus then moving through C++17 and C++20…
Talk on
Accelerating Python With C++Alex Dathskovsky01h 21m
Argues C++ should be paired with Python for speed and shows concrete trades: using pybind11 naïvely makes tiny calls slower (5.7s vs C++ 4.25ms) unless…
Talk on
If Writing C++ Coroutines Goes Over My Head, Where Do I Even Begin with Debugging?André Brand01h 29m
Covers concrete debugging patterns: sets breakpoints on coroutine customization points (get_return_object, initial_suspend, final_suspend) and steps a homemade…
Talk on
Agility ≠ Speed - Agile DevelopmentKevlin Henney01h 31m
Argues that agility is not raw speed but the ability to change direction and respond, claiming teams optimize speed not velocity and often measure rate instead…
Talk on
Software Engineering CompletenessPeter Muldoon01h 17m
Defines a concrete “done” as not just merged but deployed everywhere in production, with acceptance criteria (Given‑When‑Then), dates for start and finish…
Talk on
BazelMarcus Boerger01h 31m
Bazel compiles anything with hermetic reproducible caching so repeated runs do nothing and remote/external caches or a build farm cut compile time…
Talk on
C++ ExceptionsKhalil Estell01h 23m
Claim: using C++ exceptions can shrink large embedded binaries versus pervasive result-return checking. Evidence: recompiled ARM GCC with exceptions enabled…
Talk on
C++ Coroutines DemystifiedPhil Nash01h 31m
Starts from blank code and walks to a working coroutine by letting the compiler drive each step: use Compiler Explorer with GCC and Clang, add #include…
Talk on
Optimizing for Value - Fight Failure Demand With BottlenecksWillem van Den Ende41m
Argues that many "slow service" symptoms come from upstream failure demand (lots of identical redundant requests) and not raw capacity problems, uses the…
Talk on
Regain Benefits from Agile Software DevelopmentJutta Eckstein40m
Agile benefits erode when processes and tools replace team collaboration: common failures are every sprint fails, bloated ceremonies, rising technical debt and…
Talk on
Safe and Readable C++ Code: Monadic Operations in C++23Robert Schimkowitsch01h 18m
Explains how C++20/23 turns nested error-and-loop code into composable pipelines using std::views::transform and std::views::join, and how to replace ad‑hoc…
Talk on
A Very Small Language ModelJez Higgins01h 04m
A working tiny language model gets built in about an hour using a JavaScript Markov chain implementation: a tokenizer generator, a Chain class that records…
Talk on
Asynchronous C++Dietmar Kühl01h 11m
C++26 exposes std::execution as a concrete Sender/Receiver vocabulary and the talk shows working code that connects that vocabulary to real I/O (IO uring and…
Talk on
Contracts for C++Timur Doumler01h 32m
A Contracts MVP is approved for C++26 and ships as C++26 Contracts MVP providing three assertion kinds: contract_assert plus pre/post function assertions on…
Talk on
The Case for Graphics Programming Using the D LanguageMike Shah01h 22m
Examples include a D-written ray tracer from "Ray Tracing in One Weekend" that compiles and renders images, shaders embedded as source, and an OBJ parser built…
Talk on
Easy Senders/ReceiversLucian Radu Teodorescu01h 24m
Claims that P2300 senders/receivers in C++26 are easier to use and teach, showing concrete tools: sync_wait, counting_scope, let_value, and when_all used with…
Talk on
Agile - The Road Towards Organizational Agility - Progress & Challenges ExaminedGiovanni Asproni01h 22m
Claims that CI and automated testing are now common, but organisations still fail on prioritisation and clear acceptance criteria, causing wasted effort…
Talk on
Heaps Don’t Lie - Guidelines for Memory Allocation in C++Mathieu Ropert01h 08m
Claims ten concrete rules: prefer stack allocation because it’s a one-register add; avoid malloc in hot/parallel sections because system calls and swapping can…
Talk on
Mental Health in Software Development - Tanzt kaputt, was euch kaputt macht!Dom Davis01h 23m
A public confession of long-term depression, a birthday-timed autism diagnosis and ongoing self-harm appears alongside concrete practices that change teams: an…
Talk on
The CUDA C++ Developer ToolboxBryce Adelstein Lelbach39m
Shows concrete rules and code patterns: prefer Thrust and libcu++ over hand‑written kernels when they meet needs, fuse transform+reduce with transform_reduce…
Talk on
The C++ Execution ModelBryce Adelstein Lelbach42m
Reads the C++ standard and extracts concrete rules: a platform-agnostic flat global storage model, the as-if rule, and how threads evaluate function calls…
Talk on
The Next Coding Horizon - Proactive LLMs for Enhanced ProductivityAnastasia Kazakova01h 05m
Large Language Models cut coding time dramatically: internal JetBrains research reports 91% of users see time savings, 71% faster task completion and 58%…
Talk on
What, What? - When We Think We UnderstandNara Morrison04m
Three concrete misunderstandings are described with plain examples: a lightning charger mistaken for weather, reflections confused with meditation instead of…
Talk on
A Sixth Seam in TDD? - Python Testing, Test Doubles & Legacy Code at KosliJon Jagger06m
Proposes a new test double called an auto cache that Kosli uses to speed and stabilise Python tests by replaying seam interactions from disk. Implements it as…
Talk on
The Beman Project: Testing C++ Library Proposals Before StandardizationDietmar Kühl03m
Community project that implements and exercises real C++ standard library proposals so they compile, run, and reveal design gaps before WG21 votes. Early work…
Talk on
What I Learned at My First Tech Conference - Peer Pressure & Developer Soft SkillsJoshua Gawley04m
First-time conference experience frames peer pressure as a mechanism that pushes adoption of processes and culture rather than new algorithms, with the…
Talk on
It Takes TwoCharles Tolman04m
Forty-five years of coding inform a concrete claim: technical leaders must also be good followers, mirroring lead and follow dynamics from Argentine tango…
Talk on
Immediately Invoked Coroutine Lambdas in C++23 - Lifetime Pitfalls & Best PracticesJonathan Müller05m
Shows a crash scenario when an immediately invoked coroutine lambda captures an awaitable, moves only a pointer into the coroutine frame, and later resumes on…
Talk on
Notation in Programming: Exploring BQN, Symbolic Manipulation, and Expressive SyntaxCheery Chen05m
Shows concise BQN code that defines odd numbers, an arithmetic mean as plus reduction divided by length, and a quadratic mean using square and root. Compares…
Talk on
The Half-Life of Facts - Why Scientific Truths Keep ChangingFrancis Glassborow05m
Lists examples where accepted facts change: 5% of people still believe the Earth is flat, chromosome counts are corrected to 46 chromosomes in 1956, doctors…
Talk on
Printf Debugging at 1ns: High-Performance C++ Logging Without LocksGreg Law06m
Claims a lock-free, system-call-free C++ logger (L3) that records entries at 1 nanosecond per entry by using an atomically incremented index into an…
Talk on
The U-Word: Why Software Developers Should Talk About UnionsMathieu Ropert05m
Argues that software engineers can solve ignored technical debt and burnout by organizing, citing historical union roots long before communism and Sweden’s 69%…
Talk on
C++ Sorting Pitfalls, UB & Type Conversion ExplainedEgor Suvorov05m
Mixing long long and double in comparators leads to real undefined behavior: a custom comparator using a < b can produce non‑transitive results (example with…
Talk on
The Sad State of Printed Tech BooksAndreas Weis05m
Modern technical books show vertical stripes and banding, weird halftone patterns over photos, glossy-reflective ink that blinds under lights, and fuzzy letter…
Talk on
Unpopular Opinion? - Python Typing Is Not Worth ItDiego Rodriguez-Losada04m
Demonstrates that Python type annotations do not enforce runtime checks and require external tools like mypy to catch mismatches, argues that autocompletion…
Talk on
Card Magic and True RandomnessEd Brims05m
A live experiment mixes riffle shuffles, deliberately turned face‑up cards shuffled into face‑down piles, and audience shufflers to test real entropy versus…
Talk on
(Re-)Learn C++ by ExampleFrances Buontempo04m
Hybrid conference logistics, a poster session in person and on Gather Town, and a failed Wi‑Fi attempt frame a practical push to teach C++ through small…
Talk on
Got Any Games? Gaming Nostalgia, History & Dev LifeJack Simms06m
Personal arc from PS2 to Xbox Series S, naming Viva Piñata, Call of Duty 4, PS3, Xbox 360, Wii and flash site funnygames.biz, plus Forza Motorsport 2, Total…
Talk on
Why Performance in Programming Is Always a ProblemLucian Radu Teodorescu05m
Argues that a universal brute force works if performance is irrelevant: start with zero bits, backtrack through every permutation, increase bit length and use…
Talk on
Tech Communities, People, Fear, and HopeGareth Lloyd05m
Communities trigger defensive reactions that often turn out to be lizard brain false positives rather than real threats; the concrete claim is that unconscious…
Talk on
Arithmetic in C++ Using Counting PointersPeter Hrenka06m
Claims a complete integer system built from stacked pointers in C++ type space that avoids built-in integers, runtime code, and `constexpr`. It implements…
Talk on
The Dark Side of AI - Environmental & Social Costs Developers Must KnowJutta Eckstein06m
AI training can need vast resources: GPT-3 training uses about 700,000 liters of fresh water and consumes electricity equivalent to 130 U.S. homes for a year…
Talk on
Maximising Throughput & Minimising Latency in High-Performance C++ CodeJulius Zukauskas05m
Shows concrete data layout changes: pull hot fields into separate vectors, replace object-centric loops with struct of arrays vs array of structs…
Talk on
UB Forte - Hilarious Programming HumorChris Oldwood06m
Rapid-fire standup that strings concrete tech gags: an AI text editor called AI Mo says "They're really paying you to write this crap", a self-made font built…
Talk on
Do Something: Mindfulness & Mental Health for Software EngineersPatrick Martin05m
Claims a mild lifelong missing 20 milliseconds in brain signal transmission with minimal impairment, then prescribes short sensory practices — forest bathing…
Talk on
Automate!Gail Ollis04m
Research finds 89% of experienced developers pick automates tasks as the single most helpful teammate behaviour, because automation acts as executable…
Talk on
C++ Keywords Speak for ThemselvesJon Kalb02m
Asserts that well-chosen C++ keywords and structure communicate intent without commentary, and backs that claim with code-only slides and runnable examples…
Talk on
C++20 Ranges - The Stuff of Science FictionStewart Becker05m
C++20 ranges popularize a pattern of using static inline const function objects as range adapters that let code overload the call operator (something lambdas…
Talk on
Programming Puzzles - Programming ChallengePete Goodliffe06m
A high-energy format compresses five minutes of interaction into a rapid-fire C++ quiz that fires around 30 prompts across seven rounds (basic terms, data…
Talk on
Tell Your Technical StorySherry Sontag05m
Starts from concrete habits: record a conversation, give the transcript back, and use what people actually say as your talk; stop overediting and tell the…
Talk on
WTF?!Dom Davis05m
Argues that modelling a messy electrochemical brain with digital Boolean systems fails, claiming AGI is doomed unless computation moves beyond binary to…
Talk on
When the Compiler Gives You Errors, Make SFINAEKeith Stockdale04m
HLSL 2021 adds templates so SFINAE-style tricks and type traits are implemented inside shader code to detect an enum and bypass a compiler bug (#5553 in…
Talk on
What Is "Hello" in C++?Nicolai M. Josuttis06m
Shows that the literal "hello" has type const char[6] and a surprising value category: it behaves as an lvalue even though it often decays to const char* with…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.