ACCU 2024
2024-04-17..2024-04-20
-- online --
ACCU ·
[ACCU 2016, ACCU 2017, ACCU 2018, ACCU 2019, ACCU Autumn 2019 Belfast, ACCU 2021 Online, ACCU 2022, ACCU 2023, ACCU 2024, ACCU 2025]
| title | author | length |
|---|---|---|
| Future of Software Programming with AI Bots at Hand | Amir Kirsh | 01h 28m |
Claim: large language models materially change developer workflows but do not yet replace engineers. Demonstrations use ChatGPT/GPT‑4 and GitHub Copilot to… | ||
| When Less Is More: Designing & Decoding Complex Distributed Systems | Jessica Winer, Jacqueline Pan | 01h 17m |
A pair of Bloomberg engineers explain concrete moves for reducing accidental complexity: a year‑old pipeline 2.0 for computing ESG scores that must process 18… | ||
| How DLang Improves my Modern C++ and Vice Versa | Mike Shah | 01h 20m |
Shows that D actually sorts an array at compile-time and demos the real toolchain: DMD/GDC/LDC compilers plus the dub package manager. Compares idiomatic D vs… | ||
| Narrow Contracts and `noexcept` are Inherently Incompatible in C++ | John Lakos | 01h 21m |
Argues that the Lakos Rule forbids adding `noexcept` to any function with a narrow contract because `noexcept` changes program behavior and the type-system… | ||
| The Benefits of Learning a Different Programming Language | Francis Glassborow | 01h 36m |
Argues that learning a language from a different paradigm forces new thinking and improves problem solving, using APL (array+functional) as the example; tests… | ||
| How to Maximize the Benefits of Neurodiversity in Software Development & Support Neurodivergent Devs | Dom Davis | 01h 20m |
Claims that autistic brains prune ~40% of synapses vs ~16% in autism and that ADHD involves prefrontal/executive network neurotransmitter differences underpin… | ||
| Understanding the Filter View to Use It Right | Nicolai M. Josuttis | 01h 28m |
C++20 filter_view caches the first matching iterator so initial begin can be amortized constant but later calls become cheap, which creates hidden state… | ||
| Contracts for C++ | Timur Doumler | 01h 31m |
Proposal pushes a Contracts MVP into C++26 with concrete syntax (pre(...), post(...) and contract assert), four runtime modes (ignore, observe, enforce… | ||
| C# Performance - Demons, Wizards, Warriors, Auditors | Steve Love | 01h 23m |
Shows a concrete pitfall: using a default struct for 10,000 color values leads to 50 million equals calls and timings jumping from ~15 ms to ~500 ms due to… | ||
| CTAD: Complete Guide to Class Template Argument Deduction | Nina Ranns | 01h 08m |
C++17’s class template argument deduction (CTAD) lets the compiler infer template parameters from constructors by creating implicit deduction guides derived… | ||
| Green Software Architecture - Dos Don'ts and Some Surprises | Giovanni Asproni | 01h 20m |
IT currently uses about 10% of global electricity and ~2–3% of CO2, forecast to rise, so saving power matters; biggest, cheapest wins come from operations… | ||
| File IO - Past, Present and Future | Guy Davidson | 01h 27m |
Covers forty years of file IO with concrete claims: buffered stdio/std::fstream copies cost ~4KB default buffers and get worse as NVMe latency drops… | ||
| Keynote: Reflection in C++26 - Welcome to v0.1 of the meta::[[verse]]! | Inbal Levi | 01h 08m |
Proposal aims to add std::meta reflection to C++26 with operators like lift/splice and a single meta object type (meta::info) implemented in compiler Explorer… | ||
| Keynote: Safety, Security, Safety and C / C++ - C++ Evolution | Herb Sutter | 01h 28m |
Argues C++ can reach parity with other memory‑safe languages by fixing four concrete areas: bounds, lifetime, initialization, and type safety, and by adding a… | ||
| Boost your C/C++ Developer's Debugging Powers with GDB | Dawid Zalewski | 01h 26m |
Live demos use gcc/g++ and GDB with -g/-g3 and -fno-omit-frame-pointer to show concrete fixes: octal literals cause 1764/49 confusion, passing 150 into an… | ||
| Reducing C++ Compilation Times Through Good Design | Andrew Pearcy | 53m |
Build time drops from about 1 hour to 6 minutes by profiling and targeted refactors: use clang -ftime-trace and clang-build-analyzer to find hotspots in ~1,200… | ||
| An (In-)Complete Guide to C++ Object Lifetimes | Jonathan Müller | 01h 21m |
Covers exact rules that decide whether a C++ object is alive: when definitions, new/placement new, memcpy/memmove/malloc or mmap implicitly or explicitly start… | ||
| Safer C++ with MISRA-C++-2023 | Peter Sommerlad | 01h 27m |
MISRA‑C++:2023 targets C++17 and rewrites rules to be checkable by static analyzers while allowing justified deviations; it adds a rule forbidding range‑for… | ||
| What's Eating My RAM? - Memory Utilization in C++ | Jianfei Pan | 39m |
Service memory climbs from about 1GB to 7GB and triggers a 90% machine alarm; initial fixes find leaks with a test allocator and AddressSanitizer, and a… | ||
| Creating Better Computer Systems by Focusing on Sustainability | Jutta Eckstein | 01h 23m |
Claim that IT could consume up to 21% of global energy by 2030, backed by André Andersson style forecasts, drives concrete actions: use electricityMap to… | ||
| C++ Exceptions Reduce Firmware Code Size | Khalil Estell | 01h 23m |
Claim: using C++ exceptions can produce smaller and faster firmware than pervasive result types. Rebuilds the ARM GNU Toolchain for Cortex M4, implements a… | ||
| Scripting and Automation: This Manual Task Could Have Been a Script | Fred Tingaud | 53m |
Argues that small scripts can save hours but also spawn more automation and maintenance, showing concrete examples: The Decorator IDE plugin that grew into… | ||
| C++ Linkers and the One Definition Rule | Roger Orr | 01h 23m |
Linking is unpacked with concrete examples on Windows and Linux: compile to object, use ar/lib to make static archives, or build DLL/so and resolve via PLT/GOT… | ||
| Immutable Data Structures in C++ | Alistair Fisher | 40m |
Shows that C++’s reference semantics cause real production bugs (iterator invalidation from concurrent push_back) and that passing heavy objects by value fixes… | ||
| Code Red: Navigating the Minefield of Security Programming Blunders | Gregg Jaskiewicz | 01h 24m |
Covers concrete failures (Apache Struts patch missed in 2017 that exposes 140 million records, Equifax) and a supply‑chain compromise (the SolarWinds backdoor… | ||
| The Data Abstraction Talk | Kevlin Henney | 01h 34m |
Argument: code must hide representation and expose a precise API, or accidental leaks and brittle changes follow. Examples: Mars Curiosity uses VxWorks and C99… | ||
| Enhancing Safety in C++ Code With Modern C++ Quantities and Units Library | Mateusz Pusz | 01h 30m |
Shows a concrete library, mp-units, built for C++20 that enforces compile‑time unit safety, models quantity kinds and quantity_spec trees, and keeps zero… | ||
| Think Parallel | Bryce Adelstein Lelbach | 01h 05m |
Argues that a parallel inclusive-scan primitive, implemented with decoupled look-back, replaces the classic two-pass upsweep/down-sweep and enables… | ||
| Testing C++ Templates: Investigating Tests for C++ Templates using Adversarial Methods | Peter Hrenka | 01h 18m |
Explains a practical approach for testing C++ templates using Google Test plus a small custom instantiation layer, runtime equivalence classes for input sets… | ||
| Rewiring Your Brain - Boost Productivity with Test Driven Thinking in C++ | Phil Nash | 01h 02m |
Argues that test-driven thinking saves time, sharpens focus and can be fun by using psychology (habit loops, dopamine triggers, externalizing thought) plus… | ||
| Modern C++ Addons for Node.js | Dvir Yitzchaki | 21m |
Shows a working Node.js C++ addon that generates year calendars using a C++23 module and range-v3, built with CMake + Conan + cmake-js and the node-addon-api… | ||
| Lexy: A DSL Library For C++ Parsing | Jonathan Müller | 14m |
lexy is a C++ DSL that implements syntax sugar for a handwritten recursive descent parser giving explicit control over alternatives and backtracking, supports… | ||
| Introduction to Lock/Wait Free Algorithms - Defining and Understanding the Terms | Jeffrey Mendelsohn | 19m |
Defines compare-and-swap as the common atomic primitive and gives a concrete claim: lock‑free means for every subset of threads at least one thread can make… | ||
| A Novice Introduces APL Programming Language | Francis Glassborow | 27m |
A novice builds small APL programs live using a free Unicode APL implementation, demonstrating symbol entry, right-to-left evaluation (so 3×4+2 yields 18)… | ||
| Integrating C++ Code Generation Into a Large CMake Build | CB Bailey | 01h 18m |
Bloomberg uses an XSD-driven generator to emit C++ stubs and libraries and the talk shows how that generator integrates with CMake to avoid forcing teams to… | ||
| Demystifying the C++ Committee | Nina Ranns | 19m |
Explains how C++ changes actually get into the standard: write a paper, implement it in a compiler or library, get it through Evolution (syntax) or Library… | ||
| C++ Coroutines - Don’t Try This at Home | Lieven de Cock | 01h 26m |
C++20 coroutines require explicit boilerplate: a heap-allocated coroutine frame, a coroutine_handle owning a promise_type that must implement… | ||
| Writing a Base Level Library for Safety Critical Code in C++ | Anthony Williams | 01h 35m |
A reusable base-level C++ library for in-vehicle safety code enforces C++17 restriction because industry coding standards lag, requires qualified compilers per… | ||
| The Evolution of Functional Programming in C++ | Abel Sen | 49m |
A concise history from ISO C++98 to C++23 showing which FP tools actually work: function pointers/objects and templates used to refactor a quicksort by passing… | ||
| Modern Static Code Analysis the Example of PVS-Studio | Konstantin Volokhovskii | 09m |
PVS-Studio is a static analyzer that uses semantic analysis and data-flow tracking (including interprocedural analysis and taint analysis) to find real bugs… | ||
| Data Oriented Design and Entity Component System Explained | Mathieu Ropert | 01h 21m |
Explains why memory locality beats extra abstractions, shows Quickbench microbenchmarks with realistic padding to turn a ~10–15% win into 2×+ as structures… | ||
| Advanced Usage of the C++23 Stacktrace Library | James Pascoe | 23m |
C++23 supplies a standardized stacktrace API used with GCC (needs debug info and libbacktrace linked; GCC 13.3 flips the flag by default), and examples show a… | ||
| Concurrency Hylomorphism | Lucian Radu Teodorescu | 01h 13m |
Prototype implements a structured-concurrency model for Hylo (and a C++ library) that uses spawn/await primitives and stackful coroutines (boost::context) to… | ||
| Debug C++ Code - Best Time Travel Debugging Tech | Greg Law | 01h 26m |
Time travel debugging claims the exact failing instruction, shows the program state at any past moment, and demos three real tools: RR (record and replay)… | ||
| How to Delete Code | Matthew Jones | 01h 22m |
Practical rules for finding and removing dead C++: use git blame and grep to spot stale files, run cppcheck and CI builds to find unreachable code, and… | ||
| Software Development - Mob Programming, Pair Programming or Fly Solo? | Chris Oldwood | 01h 21m |
Argues ensemble work raises long‑term throughput not raw keystrokes, using concrete cases: a week‑long mob on Couchbase to solve transactional concurrency that… | ||
| An Introduction to Swarm Intelligence Algorithms | Frances Buontempo | 01h 15m |
Overview of concrete algorithms and runnable C++ code that moves particles, ants, bees and cats to solve toy optimizations; demos implement particle swarm and… | ||
| What Can We Learn From the Results of C++ Community Surveys? | Anastasia Kazakova | 01h 03m |
Compares JetBrains Developer Ecosystem, C++ Foundation and Meeting C++ raw numbers and survey methods, showing how CMake/GCC/GDB became the initial tool… | ||
| A Tour Through Ferrocene Development | Florian Gilcher | 01h 25m |
Ferrocene is a downstream Rust compiler that achieves formal qualification (certificate issued last October) by combining a tool-specific specification with… | ||
| Keynote: Learning Is Teaching Is Sharing: Building a Great Software Development Team | Björn Fahller | 01h 00m |
Company case studies show specifics: one firm sends 2000 engineers to two‑week C++ courses and later writes off a billion, while a fleet of 660 aircraft loses… | ||
| Regular Types: From Stepanov to C++ Concepts | Victor Ciura | 01h 06m |
Argues that Stepanov’s notion of regular types matters now because C++20 Concepts and the three-way comparison automate boilerplate but expose equality… | ||
| C++ Software Engineers at Bloomberg: Building Consensus for How We Use C++ | Sherry Sontag | 21m |
Bloomberg introduces naming rules across a C++ codebase of ~40,000 packages and hundreds of millions of lines, starting from 10% coverage under Robocop to 10%… | ||
| C++ #include on a Diet | Gabriel Diaconita | 01h 00m |
Large legacy C++ codebase (≈3.5M LOC, ~180 Visual C++ projects, 60,000 #includes in .cpp files) undergoes automated pruning by iteratively removing each… | ||
| Gamification - Falling Down the Leader Board? | Char Ryder | 11m |
A live QR-linked clicker app collects coin clicks during slides but the QR fails and the typed link is used; results show one attendee with 10,000 clicks and… | ||
| Amplifying Black Women's Voices - Building Inclusive Tech Spaces Beyond Tokenism | Yemi Adenekan | 10m |
Only 0.7% of Black women work in UK tech and 62% of women of colour report inappropriate remarks, so the talk gives concrete fixes: establish a microaggression… | ||
| 2024 Update: C++ Modules - C++ Developers Get Started Today! | Andreas Weis | 01h 28m |
Modules are usable now but require careful setup: mainstream compilers and CMake land in 2024 with CMake 3.28, clang 17 and MSVC toolset 1934 (GCC still often… | ||
| Keynote: Strategies to Cope With Conflicting Design Patterns in C++ Development Teams | Laura Savino | 01h 10m |
Practical claims: a single-session intervention reframes code‑review anxiety and yields clinically significant increases in engagement; use IDE search scopes… | ||
| Creating a Sender/Receiver HTTP Server for Asynchronous Operations in C++ | Dietmar Kühl | 01h 21m |
Builds a working asynchronous HTTP server using the sender/receiver framework with a coroutine task and an async scope, running multiple clients on a single… | ||
| 2024 Update: Efficient and Reliable Wrapping of C APIs Using Modern C++ | Vladimir Vishnevskii | 01h 16m |
Practical recipe for wrapping LMDB shows concrete techniques: use std::expected and std::span plus C++20/23 concepts to push errors and flags to compile time… | ||
| Symmetry in Code - Should We Care? | Victor Ciura | 21m |
Examines concrete code patterns and their payoffs: turning repeated comment-blocks into named functions improves clarity and extensibility, replacing nested… | ||
| What I Learned About C++ Recently | Timur Doumler | 05m |
Work on standardising Contracts reveals three surprising language edges: adding pre/postconditions exposes tri-evaluation where whether an integer is a compile… | ||
| Guess what? - Global Farming Practices Degrade Soil Health | Shruti Aggarwal | 05m |
Claim: industrial farming practices strip organic matter and microbes from topsoil, reducing water retention, flood protection and carbon storage. Data cited… | ||
| Breaking the Imposter Algorithm - Overcoming Imposter Syndrome | Nara Morrison | 05m |
Claims that around 60% of people in tech experience imposter feelings and that even the lowest companies report nearly half are concrete anchors. Causes listed… | ||
| Infinities: More Than One | Hrushikesh Turkhade | 05m |
Shows concrete pairings and a counting method so equal sizes become provable: naturals pair with evens by double map, naturals enumerate all integers via a… | ||
| Communication - Learning How to Communicate Effectively | Abhay Soni | 05m |
Explains transactional analysis as three ego states that make conversations either adult-to-adult or cross into conflict (example: manager asks to review code… | ||
| Modelling a Standard Committee Proposals as a C++ Coroutine | Herman Pijl | 05m |
Models the ISO proposal workflow as a working C++ coroutine that instantiates one template per proposal ID, uses a generator to emit sequential revision… | ||
| Rating Movies and Reflecting on Code Quality | Jessica Winer | 05m |
Has cataloged 1,315 movies in a personal database and forces each into a five-point scale with concrete metrics: historical significance (Wizard of Oz as early… | ||
| What Did You Do? | Felix Petriconi | 05m |
Northern Germany floods soak fields and rivers, forcing volunteers to fill two million sandbags in about two weeks to shore up dikes; many volunteers cannot… | ||
| Typesetting With Brian Kernighan | Jez Higgins | 05m |
A concise tour showing that Brian Kernighan not only authors but typesets 12–15 books, moving from PDP phototypesetters to commodity laptops; he and… | ||
| What is an Expert | Francis Glassborow | 03m |
A clear claim: an expert knows the limits of their knowledge and admits ignorance instead of pretending otherwise, illustrated by a WG21 lobby anecdote where… | ||
| C++ Sequential Considered Harmful | Andrew Drakeford | 05m |
Adds 10 billion 0-to-1 random numbers with a plain for loop, std::accumulate and std::reduce and they all agree but the result is wrong; pruning or permuting… | ||
| What WWII Can Teach Us About Software Development | Michael Djali | 05m |
Maginot Line gets bypassed through the Ardennes so a single hardened perimeter fails; Soviet layered trenches, anti‑tank ditches and mines show defense in… | ||
| Can It Run Doom? - 1993 Classic Doom & Program Efficiency | Mathieu Ropert | 05m |
Shows that 1993 Doom truly runs on tiny hardware and yet modern stores list inflated requirements, backing that with actual specs: 386 CPU 4 MB RAM 24 MB disk… | ||
| Optimizing C++ Builds - Lessons from Elden Ring for Software Engineering | CB Bailey | 05m |
Claim: optimizing C++ builds buys leisure time by cutting wasted cycles, illustrated with a concrete Elden Ring example that stacks tangible buffs to turn a… | ||
| Smart Pointers in C++ Are Not Pointers | Niko Wilhelm | 04m |
Explains that raw pointers and references support covariant returns but smart pointers do not because unique_ptr is a class not a built in pointer type so… | ||
| Change the Defaults in C++ | Lucian Radu Teodorescu | 06m |
C++ defaults cause real harm: a UK Horizon bug saga leads to about 900 convictions and 236 imprisonments with reported suicides, and hospital scheduling… | ||
| A Private Tutorial on C++ chrono | Amir Kirsh | 05m |
Walks through answering a Stack Overflow question about timers using C++ chrono, posts a quick solution then expands it, and demonstrates the concrete rule… | ||
| MOAR Submarines - Vanguard Class Nuclear Submarine | Dom Davis | 06m |
Vanguard class carries 16 Trident II D5 SLBMs with up to eight warheads each (variable yield quoted 0.3–100 kt), so a full load is roughly equivalent to… | ||
| Projections | Gabriel Diaconita | 06m |
A quick demo shows that C++ ranges::sort with a projection fixes a real bug: a typo in a predicate produced wrong ordering, switching to a projection that… | ||
| Books - C++ Programming, C++ Community, ACCU Study Group & More! | Frances Buontempo | 05m |
Announces a new ACCU study group (members only) that will work through a book together with scheduled meetings and an email support list for technical… | ||
| Naval Applications of the C Programming Language | Guy Davidson | 04m |
A humorous lightning-length performance that argues C still fits naval systems by pairing a parody song with a tiny code demo: real structs and functions are… | ||
| The XZ Backdoor and a 40 Year Old Prediction | Christopher Harpum | 05m |
Compares the XZ backdoor — a hidden payload that is invisible in source and relies on social engineering — to Ken Thompson’s 1984 compiler exploit that injects… | ||
| CO Routine - Computing Dad Jokes | Chris Oldwood | 05m |
Rapid five-minute set of roughly 30 one-liners that land as tech puns aimed at programmers, hitting C/C++/Rust, bash, VPNs, CPU vulnerabilities and algorithm… | ||
| Understanding your Processor (1/n) | Gareth Lloyd | 05m |
A microbenchmark reads array elements once in random order and accumulates them, pinned to a single hardware thread, and plots bytes/sec versus array size… | ||
| How To Even Write a Cheque... | Patrick Martin | 05m |
ACCU treasury workflow receives an invoice, ignores most fields except the circled amount, uses templates stored in Google Docs, prints a cheque from a shared… | ||
| SRP for Function Calls in C++ | Stewart Becker | 05m |
Claims that std::packaged_task (in <future>) cleanly separates invoking work from retrieving results, shows a four-line pattern that reproduces std::async… | ||
| Submarine Spying | Sherry Sontag | 06m |
A Cold War US submarine sneaks into a remote Soviet sea to locate and tap undersea telephone cables, using shoreline “cable crossing” signs to aim the search… | ||
| What’s the World’s Deadliest Military Vehicle? | Herb Sutter | 05m |
An Ohio-class SSBN carries 24 missiles originally now limited by treaty to 20 each missile able to deploy MIRV 10–14 warheads so a single patrol can target… | ||
| Welcome to Bristol | Kevlin Henny | 05m |
Map shows the venue inside a roughly five‑minute walking boundary to the main sights and eateries; sleeping rooms sit a short walk from the hall. Food and bars… | ||
| A New Debugging Mindset | Emiliano Testa | 04m |
Debugging shifts from guesswork to evidence: record-and-replay debuggers like rr and Undo capture full execution so you can follow corrupted data backwards… | ||
| Nothing | Dom Davies | 05m |
An improvised set of remarks built around having no prepared slides, starting with a blank slide that actually shows a question mark and riffing from there on… | ||
| Checking Functor Arguments in C++ | Peter Hrenka | 05m |
Templates that take user functors can silently accept unsafe implicit conversions; the solution uses a deleted conversion operator specialized for the types to… | ||
| nothing matches | ||