ACCU 2021 Online
2021-03-10..2021-03-13
-- 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 |
|---|---|---|
| Keynote: Technical Agile Coaching With the Samman Method | Emily Bache | 01h 15m |
A coaching method named Samman claims measurable team changes: more unit tests, more frequent commits, safer refactoring and greater TDD uptake after paired… | ||
| Dynamic Polymorphism With Code Injection and Metaclasses | Sy Brand | 01h 07m |
Argues that C++ dynamic polymorphism can be implemented without inheritance by generating type-erasure vtables and forwarding code via compile-time code… | ||
| This Videogame Developer Used the STL and You'll Never Guess What Happened | Mathieu Ropert | 01h 18m |
Claims production C++ game uses the STL successfully on CPU‑bound code and measurable problems mostly come from toolchain choices not abstractions. Benchmarks… | ||
| Drawing for IT Architects | Filip van Laenen | 01h 06m |
Practical drawing rules that actually change readability: use consistent proportions and stroke widths so boxes read as neutral, align and space shapes evenly… | ||
| What Does the Linker Actually Do for Us? | CB Bailey, Andy Balaam | 01h 26m |
#Programming #Cpp #AccuConf
Slides: https://accu.org/conf-previous/2021/schedule/
ACCU Website: https://www.accu.org
ACCU Conference Website… | ||
| Safer C++: MISRA-C++ : 202X Rules and Beyond | Peter Sommerlad | 01h 20m |
MISRA C++ 202x aims to codify a safer C++ subset for C++17 targets, with rules enforced by static analysis and a public GitHub vulnerability draft for… | ||
| The C++ rvalue Lifetime Disaster | Arno Schoedl | 47m |
C++ lets const& silently bind rvalues and a prvalue bound through a function loses lifetime extension, causing real dangling references and memory corruption… | ||
| Typical Type Typos | Amir Kirsh | 01h 34m |
Covers concrete C++ pitfalls with code examples: range-based for on a std::map copies because elements are pair<const K,V>, returning a reference to a… | ||
| How Technical Debt Can Kill Your Business. How F1 Teams Crack Technical Debt | Luca Minudel | 01h 22m |
Four concrete failure/success contrasts: a fintech duplicates whole codebases per country and multiplies maintenance cost until growth stalls, while an F1 team… | ||
| A Practical Introduction to C++20's Modules | Hendrik Niemeyer | 01h 11m |
Practical walk-through of C++20 modules using Visual Studio 16.8/16.9 shows how to write .ixx module interface units, separate implementation units, and import… | ||
| Future of Testing With C++20 | Kris Jusiak | 01h 32m |
Claims a macro-free testing framework implemented in about 200 lines of C++20 that compiles and runs the example "\"hello world\"_test = [] { expect(12_i ==… | ||
| Reflection: Compile-Time Introspection of C++ | Andrew Sutton | 01h 37m |
Static reflection for C++ claims compile-time introspection and limited code generation (aiming for C++23/C++26) and ships as a working clang branch on GitHub… | ||
| You Can't Test This? Hammertime! | Frances Buontempo, Steve Love | 01h 19m |
Lists common excuses for untestable code, then gives practical fixes: stub the RNG or pass a provider for randomness and fake clocks for datetime to avoid… | ||
| Keynote: It Depends.. | Kevlin Henney | 01h 32m |
Argument: it depends — expertise shows rules are context‑dependent, not absolute. Uses Dreyfus stages and pattern thinking to compare concrete examples: string… | ||
| An Overview of Standard Ranges | Tristan Brindle | 01h 34m |
C++20 adds concept-checked, range-based algorithms, projections (pass a member pointer like Employee::id instead of custom comparators), and lazy views… | ||
| Generic Programming Without (Writing Your Own) Templates | Tina Ulbrich | 54m |
Shows concrete replacements for hand-rolled templates using C++17/C++20: use std::span (or GSL span) to accept any contiguous range and avoid template bloat… | ||
| Windows, Macos & the Web: Lessons From Cross-Platform Development | Sebastian Theophil | 01h 08m |
Porting ~700k lines from Windows to macOS and then to the web yields concrete solutions: lightweight C++ abstractions for rendering, i18n, file I/O, mouse… | ||
| Contrasting Test Automation and BDD: An "Interactions Over Tools" Perspective | Seb Rose | 01h 05m |
Argues that BDD and test automation solve different problems: BDD is a three-practice loop—discovery, formulation, automation—producing business-readable specs… | ||
| Interesting Characters | Andy Balaam | 01h 10m |
Covers how Unicode maps characters to numbers and bytes with concrete examples: 'A' = U+0041, 'é' = U+00E9, and U+1F4A9 (pile of poo) which needs four bytes in… | ||
| Time Travel Debugging - It’s Time to Debug Different | Chris Croft-White | 42m |
Demos show a recorder + reverse debugger workflow that captures non‑deterministic inputs, replays execution and lets developers step backwards to the root… | ||
| C++ UNIverse | Victor Ciura | 26m |
C++ works as a uni-level language if courses focus on concrete pitfalls and modern tools: students struggle with std::string because it has 11 constructors… | ||
| The Point Challenge - Returning Different Types for the Same Operation | Amir Kirsh | 22m |
Argues for preserving unit safety when adding points by returning an aggregator type that records a numerator and denominator so adding two points yields a 2/1… | ||
| Example Mapping: A Structured, Collaborative Discovery Technique | Seb Rose | 30m |
Example mapping lays out a concrete workflow: yellow story cards, green rule cards, red question cards for unanswered queries, and examples split into… | ||
| Building Portable C++ Packages: The Curse of Abundance | Piotr Gaczkowski | 21m |
Built a vinyl-to-digital app called Songcorder that must run on Linux, macOS and Windows; initial build chain stitches together Makefiles, Waf, CMake and… | ||
| Building Portable C++ Packages: The Bliss of Unification | Adrian Ostrowski | 22m |
Shows how to build portable C++ packages by using CMake + CPack for unified build, install and packaging, plus CTest for test orchestration; warns… | ||
| Testing Your Tests With Code Coverage | Richard Wallman | 19m |
Build tests with coverage flags (GCC writes .gcno/.gcda alongside object files), run the test suite (coverage data is cumulative), then run gcov to generate… | ||
| Lessons Learned From the Rust Ecosystem That Can Be Adopted Elsewhere | Lotte Steenbrink | 25m |
Examines concrete Rust ecosystem practices that reduce friction: the friendly rustc error messages that point to the exact line and suggest fixes, the unified… | ||
| Programming as a Sport -- What Do You Mean? | Ahto Truu | 31m |
Overview of competitive programming: contests give word problems whose solutions are implemented as programs judged by correctness via black-box test cases and… | ||
| Services Evolution: Required Is Forever | Natalia Pryntsova | 22m |
Discusses concrete compatibility behaviors of Apache Avro and Google Protobuf versus JSON, showing Avro’s default of embedding the writer schema, Protobuf’s… | ||
| Handling Large Volumes of Immutable Structured Data With ClickHouse | Jim Hague | 26m |
ClickHouse is shown handling 12 billion records daily on a small cluster and the demo uses a 48 million‑row sample imported in 2.5 minutes on an SSD (17… | ||
| What Use Is a Confined User Shell? | Alan Griffiths | 55m |
Shows how snap confinement (AppArmor-based) limits system calls and file access, using Mir and snapd to run confined graphical shells; demonstrates a… | ||
| PowerShell for the Curious | Chris Oldwood | 01h 37m |
History and practical demo of PowerShell from its 2006 Windows origins to cross‑platform PowerShell Core and current 7.x previews, showing the central claim… | ||
| The Business Value of a Good API | Bob Steagall | 01h 35m |
Covers why APIs are business assets by defining an API as the non‑private interface of a library and linking software capital vs technical debt to measurable… | ||
| Cross-Platform Pitfalls and How to Avoid Them | Erika Sweet | 59m |
Shows concrete workflows: a checked-in CMakePresets.json drives identical configure/build/test invocations on Windows and Linux and reproduces Visual Studio… | ||
| Frictionless Allocators | Alisdair Meredith | 01h 26m |
Shows that custom allocators deliver real wins — microbenchmarks report 3–5x speedup and a modeled Bloomberg pipeline sees about a 25% speedup in motor — and… | ||
| Modern Linux C++ Debugging Tools - Under the Covers | Greg Law, Dewang Li | 01h 29m |
Examines how Linux debuggers and checkers actually work: GDB uses ptrace tracing stop and inline breakpoint patching (single‑step to resume), DWARF provides… | ||
| Thinking in Immediate: ImGUI | Zhihao Yuan | 01h 15m |
Explains how immediate‑mode GUIs model state with concrete patterns: using generators/closures to make stateful widgets and trackers returning (changed… | ||
| Keynote: Refactoring Superpowers: Make Your IDE Do Your Work, Faster and More Safely | Clare Macrae | 01h 18m |
Refactors a 1,004 line C# sudoku solver into small, safe commits using JetBrains and Visual Studio refactorings and ApprovalTests to capture console output and… | ||
| AddressSanitizer on Windows | Victor Ciura | 01h 29m |
AddressSanitizer is available in Visual Studio (stable since 16.9) and finds real heap, stack and container overflows that static checks miss, with typical… | ||
| C++11/14 at Scale - What Have We Learned? | Vittorio Romeo | 01h 34m |
Eight years of C++11/14 adoption at a large company yields concrete lessons: surveys show ~83% C++11 and ~58–65% C++14 adoption in 2018–2019, and incremental… | ||
| API Vulnerabilities and What to Do About Them | Eoin Woods | 01h 29m |
Summarizes OWASP’s API Security Top 10 (2019) and maps each item to concrete failures: broken object‑level authorization (Parler leak), mass assignment (Harbor… | ||
| From Iterators to Ranges — the Upcoming Evolution of the Standard Library | Arno Schoedl | 01h 13m |
Think-cell runs a million+ line codebase using Eric Niebler’s range ideas and demonstrates concrete changes: naive nested transform/filter views make iterators… | ||
| JavaScript the Grumpy Parts | Rob Richardson | 01h 14m |
Covers why JavaScript acts oddly and how to reason about it: explains a two-phase compiler that causes apparent hoisting, shows how var vs let/const change… | ||
| Rethinking the Way We Do Templates in C++ | Mateusz Pusz | 01h 30m |
Library implements a physical-units system that keeps debuggable, human-readable types by deriving user-facing strong types from heavy template instantiations… | ||
| Modern C and What We Can Learn From It | Luca Sas | 01h 06m |
C99/C11 techniques reorder the game: designated initializers and compound literals let complex graphics pipelines be declared as values; passing structs by… | ||
| Hi, I'm Dom, and I Have Depression! | Dom Davis | 01h 12m |
Candid account of living with clinical depression and probable borderline personality disorder, describing medicines that flatten mood swings, episodes of… | ||
| How to Build Digital Signatures From Hash Functions | Ahto Truu | 01h 34m |
Recap of hash‑based construction shows Lamport one‑time signatures plus Merkle tree aggregation turn impractical one‑time keys into reusable public keys… | ||
| C++ Concepts vs Rust Traits vs Haskell Typeclasses vs Swift Protocols | Conor Hoekstra | 01h 25m |
Compares C++20 Concepts, Rust Traits, Haskell Typeclasses, Swift Protocols and D type constraints by implementing two concrete examples: a generic add and a… | ||
| Lakos'20: The "Dam" Book is Done! | John Lakos | 01h 25m |
Announces Large-Scale C++ — Volume I and argues that investing in hierarchical, reusable libraries—Software Capital—lets teams get faster, better and cheaper… | ||
| Redesigning Legacy Systems - Keys to Success / Lessons Learned | Peter Muldoon | 01h 35m |
Case study shows a rewrite that replaces a serial enrichment pipeline with a hub-and-spoke with concurrent enrichers, stages deliverables and forces unit tests… | ||
| Concurrency in C++20 and Beyond | Anthony Williams | 01h 24m |
C++20 delivers concrete concurrency upgrades: std::jthread with built‑in stop_token gives automatic join plus cooperative cancellation; std::latch… | ||
| Processing Decimal Values | Dietmar Kühl | 01h 00m |
Computers store 0.1 as a non‑decimal binary value so exact decimal round‑trips fail; conversion needs Dragon4/Ryu conversion algorithms or costly big‑integer… | ||
| C++20 + Lua = Flexibility | James Pascoe | 01h 33m |
Shows a concrete C++20 + Lua architecture used to replace a C++98 monolith for Blu Wireless connection management, enabling live behavioral edits on trains and… | ||
| C++20 Templates - the Next Level: Concepts and More | Andreas Fertig | 01h 27m |
Walks through C++20 features with concrete code: converts a variadic add implementation from SFINAE to Concepts using a reusable edible concept and tested it… | ||
| Threads Considered Harmful | Lucian Radu Teodorescu | 01h 41m |
Argues that raw threads and locks are replaced by modeling work as concurrency graph of independent tasks, eliminating explicit mutexes; introduces concrete… | ||
| Let's Look at Lambdas | Roger Orr | 01h 26m |
Timeline from C++98 tricks to C++20: lambdas are compiler-generated unnamed classes that let you pass small callables into algorithms, support capture-by-value… | ||
| C++ and Linear Algebra | Guy Davidson | 01h 18m |
Proposes adding concrete matrix and vector types and infix operators to the C++ standard (proposal P1385), reusing mdspan for static vs dynamic matrix storage… | ||
| Limited Work-in-Progress for Developers | Dmitry Kandalov | 01h 14m |
Kotlin code kata (FizzBuzzWoof) is live-coded in IntelliJ to demonstrate an experimental workflow plugin that enforces a change-size limit (demo set to 8… | ||
| A Tour of Julia | Erik Engheim | 01h 28m |
Julia aims to be a fast dynamic language by design: a method-based JIT to LLVM compiles per-method native code, using 90% of dynamic behavior is static to… | ||
| std::jthread - I Told You Concurrency Is Tricky | Nicolai M. Josuttis | 01h 31m |
C++ gains a practical thread type that auto-joins on destruction and adds cooperative cancellation: the team implements std::jthread with a paired… | ||
| Retiring the Singleton Pattern, Concrete Suggestions for What to Use Instead | Peter Muldoon | 01h 16m |
Replaces global singletons with an explicitly passed com wrapper that defaults to a lazy-initialized static to keep source and ABI compatibility, enabling… | ||
| Practical Applications of Complexity in Software & Digital Products Development | Luca Minudel | 33m |
Catalogue of five practical practices maps complexity into repeatable moves: the basic model sets prerequisites for team self‑organization (critical mass ≥3… | ||
| Naming is Hard: Let's Do Better | Kate Gregory | 01h 17m |
Argument is that good names are a learned skill that reduce bugs and force better design; concrete heuristics include use verbs for functions and nouns for… | ||
| SOLID Revisited: The State of the Matter | Phil Nash | 01h 19m |
A short history and a pointed critique argue SOLID is often redundant, OO‑centred and poorly named, backed by a live poll of 85 attendees showing 36% knew the… | ||
| Better Code: Relationships | Sean Parent | 01h 39m |
Claim: software defects mostly come from mismanaged relationships, so model relationships explicitly and you avoid contradictions. Uses C++20 concepts… | ||
| Building and Organising a Multi-Platform Development Code Base | Jim Hague | 01h 14m |
Argues that runtime introspection (Autotools-style configure) causes long-term maintenance pain, demonstrates converting getdns from Autotools to cmake vs… | ||
| Online Conference Preview - 10-13 March 2021 | 01m | |
Four-day virtual ACCU conference runs March 10–13 2021 with a schedule of 5 Tracks, more than 70+ Live Talk Sessions and on-demand recordings available… | ||
| nothing matches | ||