ACCU 2019
2019-04-10..2019-04-13
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]
| title | author | length |
|---|---|---|
| KEYNOTE: Delivering software that is secure & usable - who’s job is it? | M Angela Sasse | 40m |
Argues that poor security is a process problem not just user failure, backing it with concrete findings: historical studies where 80% failed PGP and… | ||
| Higher-order functions and function_ref | Vittorio Romeo | 01h 29m |
Proposal claims a lightweight, non-owning callable view that sits between templates and std::function and lands in LWG for C++20 consideration; implementation… | ||
| How C++20 Can Simplify std::tuple | Alisdair Meredith | 01h 23m |
C++20 lets a std::tuple implementation shrink from piles of SFINAE and 18 special constructors to nearly an aggregate: Concepts-based tuple_like constraint… | ||
| Be your own Threatbuster! | Giovanni Asproni, Natalia Oskina | 01h 03m |
Concrete steps for small teams: perform threat modeling (STRIDE) per story to find entry points, assets and trust boundaries; prioritize low-effort… | ||
| JSR-385: Learning from the $125 Million Mars Climate Orbiter Mistake | Filip van Laenen | 01h 03m |
A $125 million orbital failure traces to a unit mismatch: Lockheed Martin outputs pound‑force‑seconds while NASA expects Newton‑seconds, causing a 57 km plunge… | ||
| 10 Techniques to Understand Code You Don’t Know | Jonathan Boccara | 59m |
Ten concrete techniques to make unknown C++ (or other) code comprehensible with examples and tools: follow the UI or I/O framework to a specific function via… | ||
| An Adventure in Race Conditions | Felix Petriconi | 01h 03m |
A proprietary image recompressor that handled ~620k slices/day and nine hours of work starts missing its SLA when input size doubles; initial per-stripe… | ||
| Snakes Into Snake Oil - What Blockchains Are And Why They’re Terrible | Jez Higgins | 01h 33m |
Explains blockchains as a hash‑pointer chain plus Merkle trees and signed transactions, secured by a proof-of-work nonce lottery that yields 10‑minute Bitcoin… | ||
| Ranges for distributed and asynchronous systems | Ivan Čukić | 01h 13m |
Proposes a reactive, range-inspired pipeline that turns iterators into push streams with sources, sinks and transforms, implemented with expression-template… | ||
| Navigating the development and evolution of a library | Marshall Clow | 01h 19m |
Library success depends on concrete practices: clear overview, install and hello world examples, and reference docs. Tests run continuously in CI, use fuzzing… | ||
| How does Git actually work? | CB Bailey, Andy Balaam | 01h 26m |
Shows exact on-disk actions: git init creates a .git with objects, refs, config and a HEAD symbolic ref; git add hashes file contents (SHA‑1), writes a… | ||
| The Anatomy of an Exploit | Patricia Aas | 51m |
Walks through a real C/x86_64 exploit: a deliberately vulnerable program using gets buffer overflow is compiled, debugged with gdb and objdump, and repeatedly… | ||
| Helping Developers to Help Each Other | Gail Ollis | 45m |
PhD research interviews with 28 experienced developers (combined ~400 years) produce a ranked catalogue of peer-impact behaviours and show 89% agreement that… | ||
| #Hashing (Hashing Values) | Dietmar Kühl | 01h 03m |
Practical C++ techniques for producing and evaluating hash values: how to extract and hash raw byte sequences, concrete rules for making hash outputs agree… | ||
| ACCU Conference 2019 Highlight Video | Digital Medium Ltd | 03m |
Handheld shots and stage clips compress ACCU 2019 Belfast into a fast montage that shows session formats and scale: ACCU 2019 Belfast, 90 minute talks, 180… | ||
| KEYNOTE: From nothing to too much: growing a tech community in the East of England | Paul Grenyer | 54m |
Starts with five colleagues in a pub and builds a citywide ecosystem: monthly meetups, sold‑out MongoDB workshops, a one‑day conference that grows from 140 to… | ||
| Implementing Physical Units Library for C++ | Mateusz Pusz | 01h 31m |
Claims a header-only physical-units library that enforces dimensional correctness at compile time while generating no runtime overhead in microbenchmarks… | ||
| Interactive C++: Meet Jupyter / Cling | Neil Horlock | 01h 20m |
Live demos show a working Jupyter + Cling setup: a cling interpreter REPL inside Jupyter, xeus-based kernel features, and QuantStack libraries (xarray/xframe… | ||
| It’s People! Code is made out of people! | Dom Davis | 01h 24m |
Argues that the hard part of software is people, not languages, and backs it with concrete examples: a tiny Go wing it function used onstage, commissioning… | ||
| A modern, scalable risk system architecture | Burkhard Kloss | 01h 06m |
A clear architecture that treats every datum as versioned immutable keys and pushes heavy pricing to instrument-level jobs rather than position-level… | ||
| It’s DNS, Jim, but not as we know it | Jim Hague | 01h 42m |
DNS is moving from UDP/53 to encrypted transports: RFC8484 (DoH) published Oct 2018 and DoT (DNS over TLS) is shipping (Android Pie uses it by default)… | ||
| Taming Dynamic Memory - An Introduction to Custom Allocators | Andreas Weis | 01h 25m |
Explains how a monotonic allocator gives O(1) allocate, only bulk reset (example: reset a 42‑byte buffer) and avoids external fragmentation but loses… | ||
| The cell as a computer: Turing complete and massively parallel | Andy Thomason | 01h 32m |
Claims that cells run a 6-bit instruction set with DNA as high-density ROM (~700 MB per human cell), ribosomes as a slow but massively parallel CPU (trillions… | ||
| Fighting Git Workflows | Victor Ciura | 21m |
A 16‑year Windows codebase of 3 million lines and a ~20‑developer team migrates from SVN to Git/GitLab and runs two 6 months experiment workflows: A (SVN‑like… | ||
| Effective replacement of dynamic polymorphism with std::variant | Mateusz Pusz | 22m |
Shows replacing virtual-based FSMs with std::variant plus visitors and occasional CRTP, removing heap allocations and virtual calls and using std::optional for… | ||
| The Story of Villagers, Marbles and Oh, A Blockchain | Supriya Srivatsa | 14m |
"Blockchain is to transaction, what the Internet is to information." That sounds mighty, but what really is blockchain? What void does it fill, and how does it… | ||
| Assume Worst Intent (Designing for the Abusive Ex) | Alex Chan | 25m |
Describes concrete harms and fixes: a payments app (Square Cash) exposes victims to messages until a block function added in two weeks, Git bakes immutable… | ||
| M-PIN Authentication in Vehicle Tracking | Giorgio Zoppi | 19m |
Demonstrates a working C++14 fleet vehicle tracking system that uses Apache Milagro and Milagro‑MFA to avoid central certificate authorities, splitting trust… | ||
| Software Visualization: The humane solution | Eberhard Gräther | 19m |
Developers spend most time reading code—estimates cited are ~78% of work and ~20 million developers globally—so visualization must speed comprehension. A… | ||
| Tailored static tooling using Clang: Clazy | Jean-Michaël Celerier | 16m |
A Clang plugin that adds Qt-specific static checks and auto-fix "fixit" patches to catch real misuses (unsafe childEvent casts, unnecessary QString… | ||
| The Jai Programming Language and What Can We Learn From It | Luca Sas | 15m |
Jai compiles to C and LLVM IR, stays in private beta since 2014, and targets an 80% solution for game developers. It actually runs arbitrary code at compile… | ||
| Programming with Contracts in C++20 | Björn Fahller | 01h 21m |
C++20 adds contract attributes (examples: expects/ensures/assert attributes) but with important limits: postconditions cannot refer to the pre-call state (no… | ||
| The State of Package Management in C++ | Mathieu Ropert | 01h 11m |
Status update on C++ packaging in 2019: two practical options dominate — Conan: 300 curated packages, binary caching and decentralised remotes focuses on… | ||
| Monotron - a 1980s style home computer written in Rust | Jonathan Pallant | 01h 24m |
A home‑computer prototype called Monotron runs its ROM in Embedded Rust on an 80 MHz Cortex M4 devboard, uses three SPI peripherals to bit‑bang RGB VGA so a 40… | ||
| Elsewhere Memory (C++20 Abstract Machine) + Virtual Memory | Niall Douglas | 01h 23m |
C++20 currently lacks legal support for memory owned elsewhere, so dynamic allocators, mmaps and shared memory rely on undefined behaviour. Proposal adds… | ||
| C++ ecosystem: For better, for worse | Anastasia Kazakova | 01h 22m |
JetBrains survey of ~1,700 primary C++ developers finds slow standard adoption, with a big cohort still on C++11 and 46% using C++17 while students move faster… | ||
| GPU programming with modern C++ | Michael S Wong | 01h 33m |
Modern C++ code uses SYCL plus C++17 execution policies to offload algorithms to GPUs via a queue, device selector, and buffer+accessor implicit copy model… | ||
| KEYNOTE: De-fragmenting C++: Making exceptions more affordable and usable | Herb Sutter | 01h 04m |
Survey finds ~52% of projects ban exceptions (3,000 responses, later 81-confirmation), so proposal targets fractured C++ error handling with four coordinated… | ||
| Going Multiplatform with Kotlin | Supriya Srivatsa | 36m |
#kotlin #ACCUConf #ACCU
What if you could reuse code, umm, almost everywhere? Kotlin strives to work on all platforms, and can be elegantly leveraged to write… | ||
| Here’s my number; call me, maybe. Callbacks in a multithreaded world | Anthony Williams | 57m |
Describes concrete fixes for callback chaos in task-based C++: use executors/thread pools, never invoke user code while holding a mutex, and queue callbacks to… | ||
| Secure by Design - Security Principles for the Working Architect | Eoin Woods | 01h 17m |
A distilled set of ten actionable design rules: least privilege, assume untrusted, keep it simple. Cites concrete failures — a bank lost a trading DB because… | ||
| More GDB wizardry and 8 other essential Linux application debugging tools | Greg Law | 01h 29m |
Demos show modern GDB features such as reverse debug (full record/replay to step back to the exact instruction and inspect locals), dynamic printf and… | ||
| Audio in standard C++ | Timur Doumler | 01h 20m |
Proposal argues C++ needs a minimal, standard low‑level audio I/O API and provides an R1 reference implementation (works on macOS now). It standardizes an… | ||
| What Do We Mean When We Say Nothing At All? | Kate Gregory | 56m |
Examines how omitted C++ keywords and punctuation actually communicate intent, shows concrete fixes and compiler-aware tools: use attributes like fallthrough… | ||
| Optimising a small real-world C++ application | Hubert Matthews | 01h 24m |
A configurable C++ converter for COBOL/BCD fixed‑format files becomes usable for disaster‑recovery by profiling and iterative change: uses strace, perf… | ||
| What are hash trees? and why you should care | Ahto Truu | 01h 20m |
Explains binary Merkle (hash) trees where each parent hash is computed from child hashes using a one-way hash, allowing a server to return both a query result… | ||
| How Kotlin makes your Java code better | Andy Balaam | 01h 03m |
Concrete examples show Kotlin replacing verbose Java patterns: a Java value object with constructor, getters, equals, hashCode and toString becomes a data… | ||
| Better embedded library interfaces with modern C++ | Wouter van Ooijen | 01h 31m |
Shows how modern C++ features—enum class, namespaces, std::byte, std::array and inline templates—can make a C-style embedded library type-safe and… | ||
| Anchored metadata | Austin Bingham | 58m |
Proposes that metadata can live outside source files and stay correct by storing a context (before/topic/after) and re-aligning it with the file using the… | ||
| Hello World from Scratch | Peter Bindels, Simon Brand | 01h 21m |
Starts with a bare C++ hello world and traces every concrete step to a runnable ELF binary: preprocessor -> compiler front/middle/back -> assembler -> linker… | ||
| Monitoring: Turning Noise into Signal | Chris Oldwood | 01h 15m |
Argues that modest structure and event-style logs turn noisy free-text into actionable monitoring: implement structured events (timestamp, name, value), pass… | ||
| Teach Your Computer to Code FizzBuzz | Christopher Simons, Frances Buontempo | 56m |
Workshop demonstrates evolving working FizzBuzz implementations using the JCLEC Java framework and experiments with DEAP-style tree GP in Python, seeding… | ||
| KEYNOTE - Emotional Code | Kate Gregory | 01h 08m |
Argues that emotions show up in real C++ code and gives concrete examples: commented-out logic and blame comments, an old uninitialized variable patched with a… | ||
| Safe and Sane C++ Types | Peter Sommerlad | 01h 33m |
Argues that raw pointers and C-style arrays are obsolete: use unique_ptr and RAII to eliminate leaks and double-free, with code shown on GitHub for a… | ||
| What Do You Mean? | Kevlin Henney | 01h 28m |
Argues that software is fundamentally a system of codified knowledge, not just machine instructions, and shows concrete failures when meaning is missing: C++… | ||
| The Dawn Of A New Error | Phil Nash | 53m |
Summary of a C++ proposal that replaces heaped RTTI exceptions with ADT-style, value errors: p0709r1 proposes zero-overhead deterministic exceptions that use a… | ||
| Nim - First natively compiled language w/ hot code-reloading at runtime | Viktor Kirilov | 59m |
#nim #c++ #ACCUConf
Nim is a statically typed systems and applications programming language which offers perhaps some of the most powerful metaprogramming… | ||
| Clean(er) Code for Large Scale Legacy Applications | Arne Mertz | 01h 31m |
Argues that large C++ codebases (millions of LOC) can be tamed by a dedicated team, prioritized small steps, and tests; uses repo mining (Your Code Is a Crime… | ||
| CPU optimized data structures - more fun with assembler | CB Bailey | 01h 21m |
Assembler implements a poker-hand evaluator that packs rank and suit into bytes, explodes 16-bit rank masks into nibble-aligned MMX lanes, and tests straights… | ||
| Windows Native API | Roger Orr | 01h 24m |
Covers the thin layer under Win32: shows a C program calling Exit/ExitProcess versus calling NTTerminateProcess directly and how that skips Win32 hooks like… | ||
| Allocator-Aware (AA) Software | John Lakos | 01h 31m |
Allocator-aware infrastructure yields large, measurable wins: local allocators cut global locking and cache diffusion, producing up to 4–5x speedups in… | ||
| Regular Types and Why Do I Care ? | Victor Ciura | 01h 08m |
Argues that Regular types are the practical foundation behind STL and upcoming Concepts Lite/C++20, demonstrates failures when predicates are weaker than a… | ||
| Best practices when accessing Big Data or any other data! | Rosemary Francis | 01h 06m |
Ellexus’ tools (Breeze, Mistral) trace real reads/writes and dependencies to find concrete fixes: one debug job from a single user crashes a shared filesystem… | ||
| Extending clang-tidy in the Present and in the Future | Stephen Kelly | 01h 24m |
Clang-tidy already ships 240+ clang-tidy checks and supports semantic rewrites; workflow uses clang-query interactive matcher discovery, a compile_commands… | ||
| How to Teach C++ and Influence a Generation | Christopher Di Bella | 01h 24m |
Survey of 150 teachers finds tooling, examples and pedagogy matter: encourage git, build systems, sanitizers, debuggers and testing frameworks… | ||
| Bootstrapped by Boost | Thomas Guest | 01h 23m |
A real-world C++ search engine for unstructured medical text is built largely with Boost libraries: graph processing, parsing (Boost.Spirit), memory-mapped… | ||
| A New Open Source Virtual File System – running on Windows in User mode! | James Cain | 30m |
An open‑source SMB2/3 server runs entirely in Windows user mode (Apache 2 license) and exposes a virtual filesystem that maps queries to CouchDB indices and… | ||
| Go Get Better (Go Programming Language) | Dom Davis [ACCU 2019] REMASTERED | 52m |
Quick, hands-on tour that builds and runs real Go programs: creates a binary with go build and runs it with go run, initializes dependencies with go mod, and… | ||
| nothing matches | ||