~/conference

C++Now 2024

C++ developers, build engineers, release engineers, toolchain maintainers, library authors, software architects

project-level interfaces; custom CMake modules; Compiler Explorer workflows; exact-version dependency pins; CI/CD pipelines for C++; JetBrains C++ completion workflow; migrating Make to CMake; template metaprogramming vs virtual; Meyers Singleton thread safety; factory pattern anti-patterns; Boost.Parser parser combinators; parser ergonomics and performance

titleauthorlength
Session PreviewBret Brown14m
Preview explains why project-level interfaces matter, showing concrete fixes for packaging, builds, and distribution instead of abstract advice. Examples…
Talk on
Keynote Session Preview - C++ PainkillersAnastasia Kazakova18m
Annual C++ Foundation survey data shows the top five pain points are managing dependencies, setting up CI/CD pipelines, build times, CMake pain, and…
Talk on
Keynote Session Preview - C++ PainkillersAnastasia Kazakova18m
C++ tooling still causes the biggest day-to-day pain: the Annual C++ Developer Survey Lite lists managing dependencies, CI/CD, build times, CMake, and…
Talk on
Session Preview - Interview With – Katherine RochaKatherine Rocha10m
Examines when modern C++ replacements actually recreate old problems by comparing template metaprogramming implementations that mirror polymorphism to the…
Interview on
Session Preview - Interview With – Zach LaineZach Laine16m
Boost.Parser is a C++17+ parser combinator library that reuses Spirit-style operator DSLs, claims to combine the best of Spirit 2 and X3, and is accepted as a…
Interview on
Submarines and SpiesSherry Sontag06m
Cold War submarines covertly find and tap Soviet undersea telephone lines using a prototype induction cable tap wrapped around cables by divers from a boat…
Talk on
Hilbert Hotel - The Grand ReopeningTobias Loew05m
A hotel changes room rates so nightly incomes follow a rearranged harmonic sequence, producing infinite income but zero tax after applying a specific wiring…
Talk on
Reflecting Types in C++17/20Patrick Roberts06m
Shows a working technique to reflect C++ types under C++17 by using a front-injection hack that emits meta-info objects as friend functions, then retrieves…
Talk on
Debugging Like House - Software Differential DiagnosisMichael Okyen05m
Apply House-style differential diagnosis to stubborn bugs: list every symptom on a whiteboard, enumerate possible causes, then design tests to rule in or rule…
Talk on
Fun? with NTTPs in C++Ben Deane04m
Shows how to make non‑structural objects usable as NTTPs by wrapping in a lambda so the value can be extracted via constexpr calls, and demonstrates a small…
Talk on
C++ Reflection - Back on TrackDavid Olsen01h 27m
Proposal P2996 gives compile‑time reflection with a single opaque meta type (std::meta_info), a prefix ^ operator for reflection, consteval meta functions to…
Talk on
C++ Coroutines at Scale - Implementation Choices at GoogleAaron Jacobs01h 21m
Google runs C++ coroutines in production to process billions of RPCs/sec and the K3 library trades ergonomics for safety: a marker return type Co forces…
Talk on
Keynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded SystemsMichael Caisse01h 32m
Demonstrates using Intel baremetal senders and receivers library on an ARM dev board (80 MHz core, 256 KB flash, 64 KB RAM) to compose event-driven logic…
Talk on
Fast Conversion From Cpp Floating Point NumbersCassio Neri01h 41m
Presents a new algorithm called TJaguar that converts binary floats to the shortest round‑trip decimal faster than previous dragons (Grisu, Ryu, Dragonbox…
Talk on
C++ Type Erasure DemystifiedFedor G Pikus01h 41m
Explains type erasure by building three concrete implementations: inheritance with virtuals, static-function pointers, and a compiler-like…
Talk on
Value Oriented Programming Part V - Return of the ValuesTony Van Eerd01h 42m
Argues for making types behave like values to reduce entanglement and accidental sharing, shows concrete fixes: a camera class trimmed of transient fields, a…
Talk on
Expressive Compile-Time Parsers in C++Alon Wolf01h 18m
Survey of compile‑time parsers compares actual libraries and implementations: Boost.MetaParse, Lexi, ctpg, CT and experimental macro_rules and YP across…
Talk on
C++ Coroutines and Structured Concurrency in PracticeDmitry Prokoptsev01h 30m
C++20 coroutines get practical tooling: an open source framework Corral implements structured concurrency, interoperates with custom event loops and…
Talk on
Investigating Legacy Design Trends in C++ & Their Modern ReplacementsKatherine Rocha01h 23m
Compares concrete replacements for legacy patterns: shows classic Singleton, Meyers Singleton, and Monostate examples and argues monostate hides global static…
Talk on
Boost.Parser (Part 1 of 2) - A Parser Combinator Library for C++Zach Laine01h 27m
Boost.Parser is a new Boost candidate (C++17+) that grafts Spirit 2’s ergonomics onto X3’s modernization, claiming much shorter compile times and safer…
Talk on
Boost.Parser (Part 2 of 2) - A Parser Combinator Library for C++Zach Laine01h 48m
Boost.Parser is a Boost candidate library for C++17+ that combines Spirit2 and X3 ideas to produce a parser-combinator library with concrete features…
Talk on
The Importance of the C++ Build System Target ModelBill Hoffman01h 17m
Argues that a formal target model — concrete targets with usage requirements and transitive linking — fixes real pain: CMake moves from flag soup to exported…
Talk on
C++ Should Be C++David Sankel01h 29m
Stack Overflow data shows Rust use among C++ developers rising from ~5% in 2009 to >20% of C++ devs use Rust by 2023, an Android study reports fewer…
Talk on
C++26 PreviewJeffrey Garland01h 26m
C++26 compiles a long list of concrete changes already in the working draft: reflection with ^ and meta functions (opaque meta_info, enumerators, define_class…
Talk on
Rappel: Compose Algorithms, Not Iterators - Google's Alternative to RangesJohn Bandela01h 19m
Rappel (RPL) is a Google library that composes algorithms instead of iterators, implementing an eager continuation passing style pipeline that passes values…
Talk on
What We’ve Been Awaiting For? - How to Build a C++ Coroutine TypeHana Dusikova01h 01m
Shows how to build a concrete C++ coroutine type that actually downloads web pages using libcurl multi API, implements a tiny scheduler that tracks running vs…
Talk on
Unlocking Modern CPU Power - Next-Gen C++ Optimization TechniquesFedor G Pikus01h 50m
Covers how CPUs in the last ~10 years move to multi‑die tiles (e.g., 15 cores per tile), ~40B transistors, bigger caches and longer pipelines that make old…
Talk on
Reflection Is Good for C++ Code HealthSaksham Sharma01h 10m
C++ gains a compile‑time reflection proposal (P2996R1) with two working implementations (EDG and a Bloomberg clang fork) and a new value‑based API (carrot…
Talk on
An Adventure in Modern C++ Library DesignRobert Leahy01h 21m
A file‑based time series database optimized for market data supports live intraday querying and returns an outcome-wrapped update_status (processed, complete…
Talk on
Embedded Asynchronous Abstraction C++ - Implementing Senders & Receivers Without an OSBen Deane01h 32m
Argues that P2300-style senders/receivers can run on freestanding embedded MCUs with no OS, exceptions, or heap by mapping interrupts to schedulers (timer and…
Talk on
Developing Better C++ Code by Isolating DecisionsMichael Okyen01h 32m
Claims that Decision-Making Isolation—pulling branching and algorithms into pure free functions or tiny classes, injecting IO and wiring separately—makes C++…
Talk on
Reintroduction to Generic Programming for C++ EngineersNick DeMarco01h 14m
Uses a TypeScript sort example to show how to add minimal interface constraints, then reproduces the same ideas in C++ by lifting repeated signatures into…
Talk on
Dependency Injection in C++ - A Practical GuidePeter Muldoon01h 29m
Compares concrete DI techniques applied to a large legacy ticker‑processing codebase and shows which actually work: link-time substitution is brittle and…
Talk on
Functional C++Gašper Ažman01h 47m
Walks through applying functional patterns to real C++: uses std::optional (Maybe), std::expected (Error), ranges, and a custom validation/Choice monad; builds…
Talk on
Keynote: C++ Painkillers for C++ Developers - The Evolution of C++ ToolingAnastasia Kazakova01h 28m
Annual C++ Developer Survey Lite lists the top five pain points: managing dependencies, CI/CD, build times, CMake, and toolchains/IDEs. Practical fixes include…
Talk on
C++11 to C++23 in the C++ Memory ModelAlex Dathskovsky01h 33m
Covers concrete differences from C++11 to C++23: shows compiled assembly on x86/ARM/RISC‑V to prove compilers and CPUs reorder code, demonstrates that volatile…
Talk on
Implementing Ranges and Views in C++Roi Barkan01h 36m
Covers how to implement range adapters and views in C++: building a closure that returns a view, fixing dangling temporaries by moving into an owning view, and…
Talk on
A Deep Dive Into C++ Object LifetimesJonathan Müller01h 29m
Detailed survey of where C++ lifetimes actually start and end, with concrete rules and recent changes: std::start_lifetime_as for safely claiming malloc/mmap…
Talk on
Zero-Cost Abstractions in C++ - High Performance Message DispatchLuke Valenty01h 31m
Library turns declarative message definitions and Boolean predicates into sum-of-products tables at compile time, then builds indexed lookup structures using a…
Talk on
C++ is a MetacompilerDaniel Nikpayuk45m
Claims C++17+ can metacompile DSLs embedded in string literals into a numeric meta‑assembly which the cctm library translates into constexpr functions usable…
Talk on
How Bloomberg Built a Reusable Process For Consensus on Their Massive C++ CodebasesSherry Sontag46m
Bloomberg establishes reusable rules and tooling to name and register C++ libraries across ~40,000 packages and hundreds of millions of lines: a registry for…
Talk on
Backporting C++ SafetyTaylor Foxhall01h 19m
Built BlazingMQ: a large distributed queuing system (seven–eight year codebase processing millions of messages) implemented for C++03 clients. Uses contract…
Talk on
C++ Zero Overhead Pass by Value Through Invocable C++ AbstractionsFilipp Gelman37m
Library type erasure like std::function currently forces an extra copy/move when a non‑trivial object is passed by value; the claim is that this can be…
Talk on
Guide to Random Number Generation in C++Adrien Devresse35m
Argues that the ubiquitous Mersenne Twister default in <random> is a poor fit for large scientific parallel workloads and shows concrete alternatives…
Talk on
C++ Overload Inspector - A Tool for Analyzing and Profiling Overloaded Function CallsBotond Istvan Horvath41m
A clang-based fork that lists overload candidates and gives a step‑by‑step account of why each candidate is viable or eliminated, shows which overload wins…
Talk on
Detect C++ Memory Leaks with ALSan: Attachable Leak SanitizerBojun Seo41m
An attachable leak sanitizer built on eBPF uprobe and BCC hooks malloc/free in running Linux processes, saving allocation metadata in kernel space so processes…
Talk on
Testability and C++ API DesignJohn Pavan, Lukas Zhao, Aram Chung46m
Shows concrete patterns: use the pimpl idiom to swap CPU and hardware CRC32 implementations (BlazingMQ) so one test environment covers both, prefer dependency…
Talk on
Fun with Flags - C++ Type-safe Bitwise OperationsTobias Loew53m
Library Boost.Flags implements type-safe bitwise operators for enum-based flags by adding a complementary flag type and ADL-visible operator overloads enabled…
Talk on
What Does It Take to Implement the C++ Standard Library?Christopher Di Bella01h 29m
Explains concrete engineering choices: unit tests, fuzzing, full integration tests by rebuilding OS packages (arranged to use the target stdlib), and…
Talk on
Generic Arity: Definition-Checked Variadics in CarbonGeoffrey Romer01h 27m
Carbon models variadics as definition-checked variadics by representing tuple/pack types as sequences of segments (an explicit repetition count plus an element…
Talk on
Unit Testing an Expression Template Library in C++20Braden Ganetsky01h 20m
An expression-template parser-combinator called token parser-combinator targets C++20 and parses spans of any value type; a full JSON parser is implemented and…
Talk on
Mistakes to Avoid When Writing C++ ProjectsBret Brown01h 32m
Argues C++ projects need explicit contracts beyond language-level APIs and applies design‑by‑contract to project operations, claiming Bloomberg manages tens of…
Talk on
How do Time Travel Debuggers Work? - Design and Implementation of a Time Travel DebuggerGreg Law01h 29m
Compares three real systems — rr, TTD, and Undo.io — and shows a live Doom recording that replays a process by capturing an event log plus occasional snapshots…
Talk on
Concept Maps using C++23 Library Tech - Indirection to APIs for a ConceptSteve Downey01h 12m
Shows a C++23 library technique that recreates much of lost "concept map" indirection using inline variable templates plus deducing this and CRTP, giving…
Talk on
The Most Important API Design Guideline - No, It's Not That OneJody Hagins01h 36m
Argues that the top API design rule is testability over ease-of-use or raw performance, supported by concrete checks: examine IG, the Standard Library and…
Talk on
Security in C++ - Hardening Techniques From the TrenchesLouis Dionne01h 34m
Implementation adds two concrete defenses to Clang/libc++: Standard Library hardening (none/fast/extensive/debug modes, built‑in traps for fast/extensive…
Talk on
This is C++: Uncompromised Performance, Undefined Behavior, & Move SemanticsJon Kalb01h 19m
C++ prioritizes uncompromised performance by letting common operations compile to single machine instructions and putting corner cases off on undefined…
Talk on
The C++ Vector ChallengeLisa Lippincott01h 31m
Proposes a concrete C++ encoding for formal interfaces that embeds pre/postconditions in ordinary code and builds object interface blocks compiled separately…
Talk on
Modernizing Finite State Machines in C++ - Empower Simplicity & Boost Performance With std::variantAmandeep Chawla01h 13m
Implements a turnstile FSM (five states: locked, unlocked, payment processing, success, failed) using std::variant and std::optional, replacing virtual-state…
Talk on
Glean: C++ Code Indexing at MetaMichael Park01h 22m
Glean is a Meta-built indexing platform that uses Clang ASTs, RocksDB and a small query language (Angle) to store deduplicated facts from huge C++ trees plus…
Talk on
Closing Keynote: C++ Development Tools: Past, Present and FutureMarshall Clow01h 32m
Survey of C++ tools traces the arc from the 1977 Bell Labs programmers workbench (editor, compiler, linker, make, SCCS) through 1980s IDEs to a modern…
Talk on
Designing a Slimmer Vector of C++ VariantsChristopher Fretz01h 31m
Shows a working library that replaces std::vector<std::variant<...>> with a contiguous, bit-packed storage plus compact offset/type metadata, trading some…
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.