ACCU 2018
2018-04-11..2018-04-14
Bristol, United Kingdom
ACCU ·
[ACCU 2016, ACCU 2017, ACCU 2018, ACCU 2019, ACCU Autumn 2019 Belfast, ACCU 2021 Online, ACCU 2022, ACCU 2023, ACCU 2024, ACCU 2025]
who it's for
C++ developers, game developers, software architects, systems programmers, security engineers, community organisers
topics
std::shared_mutex reserve and upgrade; executors for C++; C++17 inline variables and constexpr if; class template argument deduction (CTAD); C++ modules for large-scale development; concept based testing with detection idiom; stream parallelism with GrPPI; Kotlin/Native interoperability with existing ecosystems; OWASP Top 10 web vulnerabilities and SQLMap demos; Python tooling: Jupyter, PyPy and Cython
| title | author | length |
|---|---|---|
| Building a Tech Community in the East from (almost) Nothing | Paul Grenyer | 32m |
Five volunteers turn a few pub meetups into Norfolk developers and SIG Norwich, then Nor Devcon, growing to about 400 attendees and a £20,000 turnover that… | ||
| The Badlands of C++: Professional Game Development | Valentin Galea | 19m |
Game studios standardize on Visual Studio-driven toolchains, avoid STL where allocators and compile bloat hurt tight budgets, and sometimes replace it with… | ||
| Would 'reserve'/'upgrade'/'downgrade' Methods Improve 'std::shared_mutex'? | Jeffrey Mendelsohn | 19m |
Implements a competitive reserve/upgrade variant of std::shared_mutex on Linux, runs a microbenchmark that times completed jobs (80th percentile) while… | ||
| How Python Wins New Friends | Steve Holden | 20m |
Python asserts itself as the dominant teaching language by being easy to learn and by hiding memory and typing details while remaining extensible into… | ||
| Finally Executors for C++ | Detlef Vollmann | 01h 31m |
Proposal consolidates multiple designs into a usable executor model: a unified interface with six core operations (single/two-way, bulk, and blocking variants)… | ||
| Common Webapp Vulnerabilities and What to Do About Them | Eoin Woods | 01h 30m |
OWASP Top 10 2017 uses telemetry from 114,000 applications and still finds injection as the top failure since 2003; common failures include SQL injection… | ||
| Read and write considered harmful | Hubert Matthews | 01h 14m |
Claim: reads and writes behave radically differently and treating them the same damages architecture. Evidence: shared writes show zero scalability on… | ||
| C++17 - The Best Features | Nicolai M. Josuttis | 20m |
C++17 adds concrete tools and examples: inline variables let header-only globals share one counter so a header-only new tracker works without extra CPP files… | ||
| Mocking Framworks considered, harmful?! | Peter Sommerlad | 01h 18m |
Argues that configurable mock DSLs like GoogleMock macro DSL create fragile, hard-to-refactor tests because C++ lacks standard reflection and frameworks rely… | ||
| Parallel Design Patterns and Stream Parallelism | J Daniel Garcia | 01h 08m |
Library GrPPI exposes reusable parallel patterns and delivers composable streaming pipelines (generator, transformers, nested pipelines) with operators like… | ||
| Alchemical Code Rejuvenation | Uberto Barbini | 01h 29m |
Describes concrete, repeatable steps to improve large legacy codebases without a full rewrite: simplify onboarding, add end-to-end "golden" tests, split by… | ||
| Concept Based Testing | Dietmar Kühl | 58m |
Claims a reusable, concept-like testing layer that uses the C++17 detection idiom and constexpr if to detect available operations, then runs semantic checks… | ||
| C++ Modules and Large-Scale Development | John Lakos | 01h 30m |
Claim: C++ modules change architecture more than raw compile times, by making components first-class and enforcing no cyclic physical dependencies and no… | ||
| Class Template Argument Deduction in C++17 | Timur Doumler | 01h 04m |
Explains how C++17 class template argument deduction actually works in two phases, shows real STL examples (pair, vector, array, set, map, tuple… | ||
| KEYNOTE: Kotlin/Native – Embracing existing ecosystems | Hadi Hariri | 52m |
Kotlin/Native compiles Kotlin to LLVM bitcode, interoperates with C, Objective‑C and Swift using the cinterop tool, and shows memory handled by automatic… | ||
| Procedural Programming: It’s Back? It Never Went Away | Kevlin Henney | 01h 24m |
Argues that procedural programming remains relevant and explains why with concrete artifacts: an Algol 68 leap-year example and small testing harness that… | ||
| KEYNOTE: The Shape of a Program | Lisa Lippincott | 59m |
Programs model as a bitopological manifold with two topologies — one for entrances and one for exits — so time becomes directional adjacency instead of… | ||
| The ongoing design and evolution of cyber-dojo | Jon Jagger | 20m |
A browser‑based practice environment that deliberately strips IDE features and enforces a 10-second test timeout, spins each run in a Docker container via a… | ||
| Can I change my organisation? | Felix Petriconi | 18m |
120‑person company experiment proves small concrete actions change habits: put a prominent bookshelf of technical books, run short weekly dev talks, run an… | ||
| The Clacks in Discworld and Roundworld | Jim Hague | 17m |
Discworld’s non‑magical Clacks maps onto real semaphore history with concrete limits and successes: visual towers relay messages by shutter or arm positions… | ||
| The Incredible Shrinking Standard | Alisdair Meredith | 01h 36m |
Survey of C++ evolution from C++98 to C++17 with concrete examples: the standard removes legacy features (about 30 pages cut vs ~1000+ pages added), moves… | ||
| If You’re Happy and You Know It (Inside the Mind of a Developer) | Dom Davis | 17m |
Shows how ambiguous requirements and casual language turn into bugs by translating nursery rhymes into code and exposing real failures such as Mars Climate… | ||
| Debug C++ Without Running | Anastasia Kazakova | 01h 00m |
Shows concrete IDE features: CLion and ReSharper C++ can show final macro replacement and do step-by-step macro substitution, with a Boost example and a… | ||
| C++ API & ABI versioning | Mathieu Ropert | 01h 29m |
Defines API as a contract and ABI as how binaries talk, and shows which exact edits break what: changing a function signature triggers name mangling mismatches… | ||
| What’s new about fake news? | Gail Ollis | 16m |
Explains that fake headlines like Pope Francis supporting Trump are modern forms of long‑standing propaganda, spreads because social platforms let one click… | ||
| Hacker’s guide to Web Assembly | Vigneshwer Dhinakaran | 19m |
Starting from the basics, this talk will walk you through what WebAssembly is, and then why it’s fast.
WebAssembly is a new low-level binary compile format… | ||
| The fantastic four coding patterns of Continuous Delivery | Luca Minudel | 01h 28m |
Four concrete patterns enable faster, safer releases: keep work on mainline and ship weekly using track-based development; commit new logic behind defaults so… | ||
| Simplicity: not just for beginners | Kate Gregory | 01h 22m |
Argues that real simplicity in C++ is hard work not beginner trimming and gives concrete habits: replace manual loops with use accumulate and algorithms… | ||
| Linux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS | Greg Law | 01h 26m |
Explains how Linux really moves between user and kernel space: syscalls via int 0x80, sysenter and the vdso/vsyscall page, error mapping as negated errno… | ||
| Tales of C, the 6502 and the BBC (with added python) | Benjamin Misell | 19m |
Build claim: a working C compiler in python that emits native 6502 assembly for the BBC Micro, limited to simple C (no structs/unions/array init) and 16‑bit… | ||
| C++ Today: The Beast is Back | Jon Kalb | 01h 02m |
Argues C++ regains relevance because it delivers high performance with modern abstractions: claims include the zero-overhead principle, RAII for deterministic… | ||
| Grill the C++ Committee | Jon Kalb | 01h 25m |
A live panel walks through how ISO C++ actually changes: the committee is split into evolution/core/library working groups plus study groups like SG1… | ||
| Cryptography for Programmers | Daniel James | 01h 31m |
WE ARE SORRY FOR THE POOR AUDIO IN THIS TALK, THE MIC FAILED AT THE START OF THE TALK LEAVING ONLY THE ONBOARD CAMERA AUDIO - WE HAVE TRIED TO CLEAN IT UP AS… | ||
| Runtime Polymorphism: Back to the Basics | Louis Dionne | 01h 35m |
Explores concrete designs for runtime polymorphism beyond inheritance, implemented in the Dyno library, with policy-driven storage: heap-based remote storage… | ||
| I just wanted to point to something! | Jonathan Müller | 01h 11m |
Covers practical C++ pointer and pointer-like choices with concrete tradeoffs and small benchmarks: use references for non-null borrows, std::unique_ptr for… | ||
| C++ Templates Revised | Nicolai M. Josuttis | 01h 13m |
Second edition updates cover 14 years and three major C++ versions and show concrete changes: use of auto return deduction and when it hides lifetime bugs… | ||
| Three years of Rust - A look around | Florian Gilcher | 01h 29m |
Rust reaches production in three years: the toolchain (rustc on LLVM, Cargo and the crates.io registry, rust-gdb, a tested Book and doc-tests) ships on a… | ||
| Nothing is better than copy or move | Roger Orr | 01h 13m |
C++17 makes what used to be “copy elision” mandatory in many cases so temporary materialization conversions must construct objects directly with no copy or… | ||
| KEYNOTE: Diversity & Inclusivity in Tech | Gen Ashley | 45m |
Founder runs TECH(K)NOW Day free conference that scales from ~400 to 1,200+ registrants and stages 40 workshops focused on beginners, keeps attendance… | ||
| Scheme Lisp: Feel the Cool | Andy Balaam | 01h 20m |
Claims that Scheme is “the best language” get tested with concrete examples: the one-line syntax of s-exprs, building lists from cons/car/cdr pairs, recursion… | ||
| 105 STL Algorithms in Less Than an Hour | Jonathan Boccara | 54m |
Claims a full tour of 105 algorithms in the STL (including C++11 and C++17 additions) and shows concrete replacements for loops: make_heap / push_heap /… | ||
| Swift Driven Development | Phil Nash | 01h 01m |
Argues that Swift’s type system and runtime playgrounds let TDD go further: uses a snakes-and-ladders kata to show concrete gains, building a Board, Game, a… | ||
| A Quantum Data Structure For Classical Computers | Charley Bay | 01h 20m |
Argues a C++ pattern set that models qubit as a unit vector in two‑dimensional Hilbert space and implements quantum-corollaries like a mutating destructive… | ||
| KEYNOTE: Software development – learning to walk again | Seb Rose | 55m |
A practical roadmap: an attempted 461 km route is scheduled for 19 days but the terrain and three big hills force replanning, including hitchhiking to skip… | ||
| Type safe C++ – LOL! :-) | Björn Fahller | 01h 13m |
Argues that wrapping primitives as distinct types both prevents bugs and can improve clarity and performance, showing a tiny safe_type template (with CRTP)… | ||
| There Is A Better Future | Felix Petriconi | 01h 28m |
Argues that std::future is flawed and shows a concrete alternative: stlab::future provides continuations, join/when_all and when_any, split, and built‑in… | ||
| These 10 tricks that only library implementors know! | Jonathan Wakely, Marshall Clow | 01h 22m |
Covers concrete library techniques: how empty base class optimization and the new no_unique_address attribute shave bytes from unique_ptr/tuple by avoiding… | ||
| Monolithic Delivery | Chris Oldwood | 01h 29m |
Argues that the real problem is monolithic delivery not monolithic code, illustrated by a finance scheduler that hits memory at a million trades and by a… | ||
| Hacker’s guide to Rust Programming | Vigneshwer Dhinakaran | 01h 21m |
Venture deep into the belly of the Rust programming language design and concepts to uncover the secret incantations to create safe and fast… | ||
| Total War: how AI can deliver entertainment.- Duygu Cakmak & Guy Davidson [ACCU 2018] | Duygu Çakmak, Guy Davidson | 01h 18m |
Campaign AI uses Monte Carlo Tree Search for both resource allocation and coordination, with domain-specific pruning, topological ordering and group splitting… | ||
| Building Modern Native Applications with Gradle | Schalk W. Cronjé | 01h 25m |
Shows concrete Gradle scripts that build C and C++ executables and both static and shared libraries using native executable spec and native library spec, runs… | ||
| Turtles! Hill climbing! Hammers! Paper bags! | Frances Buontempo | 01h 06m |
Live demos use Python turtle graphics to implement hill climbing, simulated annealing, particle swarm and gradient-descent variants with visible step-size… | ||
| Creating an Incremental Architecture for your System | Giovanni Asproni | 01h 25m |
Argues that architecture grows by doing not grand planning, showing concrete moves: pick a minimal end-to-end skeleton on crutches (file system first, swap to… | ||
| Zero-allocation & no type erasure futures | Vittorio Romeo | 01h 38m |
Claims a composable future system that encodes the entire async graph in C++ types to achieve zero-allocation and no type erasure, implemented with C++17… | ||
| Heterogeneous Programming in C++ today | Michael S Wong | 01h 32m |
C++ is moving from CPU-only parallelism toward practical heterogeneous programming using single-source C++ via SYCL/SPIR and vendor runtimes (OpenCL ICDs… | ||
| nothing matches | ||