~/conference

ACCU 2023

date:2023-04-19..2023-04-22
location:-- online --
series:ACCU · 10 editions
tags:[c-and-cpp]

C++ developers, systems programmers, embedded developers, game developers, software architects, technical leads, QA and test engineers, low latency trading developers

C++ coroutines and tasks; C++20 ranges pitfalls; standard attributes in C and C++; undefined behavior classification and fixes; epoch based memory reclamation; templated meta state machines for HFT; trivial relocation techniques; C++20 spaceship operator usage; migrating external APIs with futures; message passing concurrency design; binary file format engineering and reversing; sanitizers and CI debugging practices

titleauthorlength
Keynote: Development Environments Shape Programming SolutionsStephanie Brenham01h 02m
Argues that development context changes what tech is useful, citing Maya and Far Cry 6 (NAVGTR-winning graphics) as concrete examples. Demonstrates that moving…
Talk on
Removing Needless Undefined Behavior for a Safer C++Alisdair Meredith01h 04m
C++ has many specific undefined behaviors (UB) that can be classified and constrained rather than left unconstrained; examples include…
Talk on
Design Patterns: Examples in C++Chris Ryan01h 40m
Tour of 20+ GoF patterns with concrete C++11 code: claims and tradeoffs, runnable Godbolt links, and a few working utilities. Covers C++11-compliant examples…
Talk on
C++ Standard ViewsNicolai M. Josuttis01h 36m
C++20/23 ranges views come with concrete pitfalls: some views cache begin which makes repeat iteration cheap but causes surprising const and lifetime errors…
Talk on
Managing External API’s in Enterprise SystemsPeter Muldoon01h 00m
A real-world Bloomberg rewrite encapsulates a sprawling external request/response API by wrapping it in a single service proxy that preserves the original…
Talk on
Software Development: Social, Environmental and Economic SustainabilityJutta Eckstein01h 21m
Argues that agile teams can measurably improve environmental, social and economic outcomes by using a validated assessment called Comparative Agile…
Talk on
A Tour of C++ Recognised User Type CategoriesNina Ranns59m
Walk through which C++ user type categories actually change behavior across standards and why: shows concrete wording fixes (p0960, p1008), when bitwise copy…
Talk on
Lessons from 20 years of Debugging C++ CodeSebastian Theophil57m
Twenty years of C++ debugging distills to concrete steps: gather crash dumps and deploy crash-reporting, make intermittent bugs reproducible with sanitizers…
Talk on
Becoming a Head of Software Architecture: You are in Charge, Now What?Giovanni Asproni01h 32m
A new Head of Software Architecture role is shaped into an actionable function: a governance team plus a standards board enforces a service-based architecture…
Talk on
Gilding the Rose: Refactoring-Driven DevelopmentKevlin Henney01h 34m
Walks the Gilded Rose kata from a tangled C# updateQuality method (16 ifs, 3 elses, quality assigned up to four times, indentation level 6) to a tested…
Talk on
Standard Attributes in C and C++Timur Doumler01h 37m
Survey of C and C++ standard attributes with concrete takeaways: use [[deprecated("...")]] with a message and [[nodiscard]] to catch API misuse…
Talk on
Test-Driven Development of C++ Embedded and System-Level SoftwareVladimir Vishnevskii01h 22m
Argues that TDD is practical for embedded C++ by showing concrete code, tests and tradeoffs: uses C++20 + GoogleTest/GoogleMock to drive a transport stack and…
Talk on
Maths: The Fun PartsAndy Balaam01h 16m
Shows sets, groups and graphs using TypeScript examples and light Rust attempt, proves an Eulerian circuit iff every vertex has even degree, and builds a…
Talk on
Improving C++ Compilation Times: Tools & TechniquesVittorio Romeo01h 44m
Benchmarks show easy wins: use Ninja not make to cut seconds of build-system overhead (a SFML test drops make’s 6s overhead to ~1s), enable ccache to get…
Talk on
Breaking Enigma With the Power of Modern C++Mathieu Ropert01h 22m
Recreates an Enigma cracker that runs in C++ using C++20 compile-time tables and constexpr code generation, 16+ core parallel_for on a 2020s CPU, and tight…
Talk on
Micro-Service Delivery Without the PitfallsSeb Rose01h 21m
Argues that consumer-driven contract testing prevents last-minute integration failures by generating machine-readable contracts from unit tests and verifying…
Talk on
The Practices That Make Continuous IntegrationThierry de Pauw01h 15m
Claims 14 core practices (now 15, adding test reliability) enable true Continuous Integration; only two tools are strictly required: version control everything…
Talk on
Programming in Modern C with a Sneak Peek into C23Dawid Zalewski01h 28m
C shows concrete, modern tricks: compound literals enable in-place default-argument–style structs and zeroing (example prints 42 and even Unicode); designated…
Talk on
C++23 Ranges: Conceptual Changes and Useful PracticalitiesDvir Yitzchaki01h 25m
C++23 changes let views own their elements while remaining cheap to pass, enabling code that moves temporaries into adaptors instead of forcing lvalues; the…
Talk on
Cracking Collaboration: Problems and Solutions for C++ DevelopmentSinem Akinci, Alexandra Kemper01h 02m
Demos show reproducible workflows: a repository spins up a GitHub Codespaces cloud dev environment in ~60 seconds (Linux only, GitHub-hosted), while a…
Talk on
Raspberry Pi Pico with C++OS: Coroutines and std::execution in Embedded SystemsDetlef Vollmann01h 26m
Build uses an RP2040 with nearly 300 KB RAM and two Cortex‑M0+ cores: core 0 runs I/O and an exit (preemptive) executor, core 1 runs a single‑context decoder…
Talk on
Keynote: Psychology of Software Development: We’re Only Human After AllGail Ollis01h 18m
Humans keep the same 1.4 kilos of jelly brains but work in a far more complex 2023 pipeline than the 1970 handoff model, so communication and psychology…
Talk on
Low-Latency Trading Systems in C++: Templated Meta-State Machines in HFTJason McGuiness01h 26m
Generates a computed goto from heavy template meta-programming: a templated meta-state-machine using an unordered_tuple of placement-new transitions and a…
Talk on
CMake: A Case StudyHans Vredeveld01h 07m
Shows how to integrate Oracle embedded-SQL into a CMake build by writing a custom FindPackage module to locate Oracle client libraries and headers and by…
Talk on
C++ And Beyond: DiscussionVittorio Romeo, Kevlin Henney, Nicolai M. Josuttis, Kate Gregory01h 37m
Greatest obstacle is C++'s accumulated backward compatibility: concrete proposals use modules and epoch/dialect techniques to let new syntax map to the same…
Talk on
Revisiting C++ Observers: Spooky Action at a DistanceVictor Ciura01h 20m
Reexamines concrete Observer implementations in C++ and shows why no one recipe survives real code: uses a std::vector of raw pointers, lazy-initialized…
Talk on
C++ Trivial Relocation Through TimeMungo Gill01h 03m
Argument: letting containers legally relocate objects by copying bytes instead of calling move+destroy lets implementations replace per-element move loops with…
Talk on
Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming TasksRoger Orr01h 25m
Compares concrete C++ idioms by showing code, compile behavior and measurements: multiple loop forms (index, reverse, iterator, range-for), using algorithms…
Talk on
C++ Coroutines From ScratchPhil Nash01h 16m
An object-deserialization pipeline gets rewritten from recursive, callback-heavy code into a coroutine-driven batch loader that drops 10 network round-trips to…
Talk on
Monads in Modern C++Georgi Koyrushki, Alistair Fisher01h 03m
Engineering team proves monadic patterns cut boilerplate by building a C++ POC that treats pointers, find results, std::vector and std::optional monadic ops as…
Talk on
C++ Electronic Trading for Cpp ProgrammersMathias Gaunard01h 35m
Explains how to build C++ low‑latency trading: maintain an order book with preallocated, integer prices (no floating rounding), use intrusive containers and…
Talk on
Concurrency Approaches: Past, Present, and FutureLucian Radu Teodorescu01h 16m
Proposes an experimental concurrency model for the Val language that treats concurrent work as a computation abstraction implemented with coroutines, using a…
Talk on
Introduction to Epoch-Based Memory ReclamationJeffrey Mendelsohn20m
Epoch-based reclamation tracks threads with an epoch counter: threads increment a current-epoch counter on entry and decrement on exit, retired nodes go into…
Talk on
Rust for the C++ ProgrammerCB Bailey, Andy Balaam01h 22m
Compares concrete Rust features to C++ equivalents and shows how they catch real bugs: an Option prevents calling stats after shutdown, the borrow checker…
Talk on
Binary File Format Engineering and Reverse EngineeringPeter Bindels01h 33m
Covers how bits become numbers, text and floats, then shows real encodings used in practice: two's complement for negatives, protobuf varint and wire types…
Talk on
Introduction to Secure Multi-Party ComputationAhto Truu01h 31m
Overview of practical secure multi‑party computation: three families exist — homomorphic encryption (Gentry’s 2009 fully homomorphic breakthrough initially…
Talk on
How to Master C++Jim Pascoe25m
Identifies five concrete C++ mindsets—imperative mindset, functional mindset, performance mindset, concurrency and debugging—and shows specific tools and…
Talk on
Adventures with React and JUCE: Building UI with Typescript in a C++ ApplicationJim Hague01h 14m
A large C++ JUCE audio app implements its UI in React + Typescript using react-juce, with C++ sending gain-peak updates on a 100 ms timer into the JS world and…
Talk on
The Art of Addictive Software: The Digital NarcoticGurvir Dhillon21m
Flappy Bird becomes the anchor example: Flappy Bird — 50 million downloads, $50k ad revenue and was removed because users reported life disruption; design…
Talk on
Hardware Accessibility in Gaming: Why Minimising System Requirements MattersJack Barnard10m
Defines "hardware accessibility" as users' ability to meet a game's hardware requirements and presents empirical checks from CanYouRunIt showing about 40%…
Talk on
Man vs Machine: The Impact of the Technology we are BuildingLindsay Ezeagu09m
Focuses on how programmers build ChatGPT style tools and automation that reassign tasks and can erode creative skills if overused, cites a PwC analysis that…
Talk on
Raising Awareness of Invisible Illnesses in the Tech WorkplaceJoe McNeil13m
Describes how invisible illnesses like Ulcerative Colitis cause misjudgement, gossip and “identity threat” at work and gives two concrete workplace outcomes…
Talk on
Fumbling Forward: Embracing Mistakes in Agile TeamsJack Simms22m
Fear of judgment causes teams to freeze, producing duplicate Figma prototypes and only a partial Figma process map three weeks into a 10‑week Lean Startup…
Talk on
Modified Condition and Decision Coverage in Gcc: Intro, Motivation & ToolingJørgen Kvalsvik01h 23m
Modified condition/decision coverage (MCDC) is added as a GCC feature via a patch of ~1000 lines of code (about one third comments) that emits condition-level…
Talk on
Keynote: C++ HorizonsBryce Adelstein Lelbach01h 11m
C++ is set to add reflection-based enum name extraction, compile-time injection for generating wrappers and struct-of-arrays transformations, and hash_append…
Talk on
And Then() Some(T): C++ Combinators - Higher-Order Functions in CppVictor Ciura20m
Shows concrete C++ examples that turn string parse/trim/length and safe division into chained continuations so code never unwraps intermediate results and…
Talk on
Preparing for Professionalism in Programming: A Student PerspectiveGail Ollis15m
Final-year module runs like a mini conference: students submit bio plus three proposals, peer-review peers and act as the programme committee, then prepare…
Talk on
Remote Mob Programming in a High Stakes EnvironmentGiovanni Asproni01h 10m
Remote mob programming delivers a production backend for the England and Wales COVID self‑isolation payment gateway on a cut schedule — under four weeks…
Talk on
Using, Generating and Testing with Pseudo-Random NumbersFrances Buontempo56m
Explains how deterministic engines like linear congruential generator (example multiplier 16807) and Mersenne Twister produce pseudo-random sequences, why…
Talk on
Multi Threading Model in Paradox Games: Past, Present and FutureMathieu Ropert01h 21m
Paradox moves from per-entity parallel_for (Intel TBB) in older titles (EU4/HoI4/Stellaris) to a pre-update/post-update stashes model in Crusader Kings 3 that…
Talk on
Designing for C++ Concurrency Using Message PassingAnthony Williams01h 16m
Message passing eliminates explicit locks and most data races by running each microservice as a single-threaded state machine; the talk shows concrete code…
Talk on
Function Contracts in Practice using C++Rostislav Khlebnikov01h 17m
Argues that choosing narrow function contracts and checking them (even with C assert) reduces defects, keeps APIs small, and preserves performance; describes a…
Talk on
Applying Unix Readiness Model for Concurrent Operations in C++Filipp Gelman01h 06m
Claims that the Unix readiness model (select/poll/epoll/kqueue) generalizes to arbitrary concurrent C++ operations and can be implemented in userspace. Uses…
Talk on
Functional Programming in Modern C++: The Imperatives Must Go!Victor Ciura01h 31m
Argues that functional programming is already inside modern C++ and demonstrates concrete techniques: std::optional and std::expected with monadic…
Talk on
Implementing a C++ Coroutine Task from ScratchDietmar Kühl01h 23m
Live codes a working C++20 coroutine-based Task: implements the required promise type methods (initial_suspend, final_suspend, get_return_object…
Talk on
C++ Package Manager - C++ Dependencies Don't Have To Be Painful!Augustin Popa01h 12m
C++ dependency pain points are ABI breaks, the diamond (version) problem, and slow updates; modern C++ managers like vcpkg and Conan address them with concrete…
Talk on
Building C++ Interfaces That Are Hard to Use IncorrectlyAndreas Weis01h 36m
Collection of concrete techniques that push precondition checks from run-time to compile-time using the C++ type system: use scoped enums and tag‑typed opaque…
Talk on
Keynote: Become a Better Programmer by Using Words and Ideas From Casual GamingKate Gregory01h 25m
Compares casual-game mechanics — grinding vs farming, dailies and side quests — to work: meetings become daily housekeeping, side quests are resume-driven tool…
Talk on
Callable Objects in Java, C#, Rust, and C++Zhihao Yuan01h 16m
Compares how Java uses lambdas and a runtime method handle to adapt arbitrary method names, how C# exposes a fat pointer called a delegate, and how Rust uses…
Talk on
The Story Of The CodeDom Davis01h 21m
Argues that code is a living narrative and gives concrete examples: running create‑react‑app pulls 1589 packages and the demo project contains 1,259,920 lines…
Talk on
Productivity in C++ Game Development: The Mind of an AAA Game DeveloperDavid Li, Keith Stockdale50m
Shows concrete workflows using Visual Studio and Unreal Engine 5: writes custom Natvis visualizations to hide dead entries (prelist vector shows size 3 not 4)…
Talk on
Khronos Sycl Language Framework for C++ Accelerators: Take Advantage of All the MIPSMichael S Wong01h 26m
SYCL 2020 is a single-source C++ framework that compiles to multiple backends (CUDA/PTX, OpenMP, AMD, Level Zero, SPIR‑V) using DPC++/other compilers; it adds…
Talk on
Space Invaders: The C++20 Spaceship Operator is Upon UsLieven de Cock51m
Explains what breaks when flipping -std=c++20 on real code and why the compiler's rewriting rules can introduce infinite swap or ambiguity with implicit…
Talk on
A Generic Talk About GoDom Davis01h 21m
Live coding in GoLand and the terminal with Go 1.19, including a working FizzBuzz, an in-place sort over a custom slice-of-structs type, and a config/flags…
Talk on
Applied C++20 CoroutinesJim Pascoe01h 16m
Builds a small web server and a mobile mesh prototype with CMake, Boost.Beast (on top of Asio), Lua bindings and ApacheBench-driven benchmarks (code on…
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.