John Lakos
where else to find them
linkedin:john-lakos-8881174
what they talk about
all 12 in the filters
where they keep going back
all 6 in the filters
on a stage with
all 33 in the filters
who talks about the same things
- Amir Kirsh27 talks
- Victor Ciura50 talks
- Jon Kalb25 talks
- Jonathan Müller37 talks
- Björn Fahller31 talks
- Andrei Alexandrescu27 talks
| title | conference | date |
|---|---|---|
| What C++ Needs to be Safe | C++ on Sea 2025 | 2025-06-23 |
Bloomberg shows a concrete roadmap: macrobased contracts in production since 2004 (open sourced 2012), funded clang prototypes and library work to land… | ||
| What C++ Needs to be Safe | ACCU 2025 | 2025-04-01 |
Proposes making C++ safe by adding concrete tools: Contracts MVP in C++26 with runtime and symbolic assertions that catch ~65% of common errors (bounds… | ||
| Narrow Contracts and `noexcept` are Inherently Incompatible in C++ | ACCU 2024 | 2024-04-17 |
Argues that the Lakos Rule forbids adding `noexcept` to any function with a narrow contract because `noexcept` changes program behavior and the type-system… | ||
| Quantifying Dinosaur Pee - Expressing Probabilities as Floating-Point Values in C++ | CppCon 2022 | 2022-09-11 |
Reproduces the birthday problem, discovers a floating‑point trap where IEEE‑754 doubles pin the collision probability to 1 (breaks at n ≈ 184), and fixes it by… | ||
| Quantifying Dinosaur Pee | C++Now 2022 | 2022-05-01 |
Back-of-envelope estimates and compounding models peg roughly ≈3.11% of Earth’s water as untainted by dinosaur pee in one model, while an alternate bird-based… | ||
| Embracing the **noexcept** Operator and Specifier *Safely* | ACCU 2022 | 2022-04-06 |
Explains that the noexcept operator is a compile time query used mainly to let generic code pick a faster path for moves and swaps, demonstrates a vector… | ||
| Quantifying Dinosaur Pee | ACCU 2022 | 2022-04-06 |
Calculation uses simple calculus and an exponential decay model versus a discrete model, both giving nearly identical results for 165 million years and an… | ||
| Embracing `noexcept` Operators and Specifiers Safely | CppCon 2021 | 2021-10-24 |
Shows concrete behavior: the noexcept operator inspects entire expression (including temporaries and destructors), how that forces copies in a vector push_back… | ||
| Lakos'20: The "Dam" Book is Done! | ACCU 2021 Online | 2021-03-10 |
Announces Large-Scale C++ — Volume I and argues that investing in hierarchical, reusable libraries—Software Capital—lets teams get faster, better and cheaper… | ||
| Lakos’20: The “Dam” Book is Done! | CppCon 2020 | 2020-09-14 |
After twenty years of practice the book claims a concrete method for creating Large-Scale C++ Volume I that makes software reuse scalable: design physical… | ||
| PREVIEW VIDEO - November | ACCU Autumn 2019 Belfast | 2019-11-11 |
Two-day ACCU Autumn conference runs 2019-11-11 to 2019-11-12 at the Hilton in Belfast and deliberately abuts the WG21 C++ meeting in the UK so attendees can… | ||
| C++ Modules and Large-Scale Development | ACCU Autumn 2019 Belfast | 2019-11-11 |
Explains why C++20 modules change architecture more than syntax, argues modules become better components and must be additive, hierarchical, incremental… | ||
| Value Proposition: Allocator-Aware (AA) Software | CppCon 2019 | 2019-09-15 |
Argues that a company-wide allocator-aware software infrastructure (BDE, BT-verified tools, PMR polymorphic memory resource) delivers nearly first-class… | ||
| C++ Modules and Large-Scale Development (Part 1) | NDC TechTown 2019 | 2019-09-02 |
Argues that C++ modules change architecture more than speed, claiming modules must support incremental migration, interoperability with headers, and identical… | ||
| C++ Modules and Large-Scale Development (Part 2) | NDC TechTown 2019 | 2019-09-02 |
Argues that allocator-aware infrastructure yields major real-world wins: measured examples include a companywide ~20% speedup and large reductions in memory… | ||
| Allocator-Aware (AA) Software | ACCU 2019 | 2019-04-10 |
Allocator-aware infrastructure yields large, measurable wins: local allocators cut global locking and cache diffusion, producing up to 4–5x speedups in… | ||
| C++ Modules and Large-Scale Development | CppCon 2018 | 2018-09-23 |
Argues that C++ modules mainly reshape architecture not just compile times, listing concrete requirements: modules must be purely additive, hierarchical… | ||
| C++ Modules and Large-Scale Development | ACCU 2018 | 2018-04-11 |
Claim: C++ modules change architecture more than raw compile times, by making components first-class and enforcing no cyclic physical dependencies and no… | ||
| Boundary Conditions | Meeting C++ 2017 | 2017-11-09 |
Examines the birthday-problem implementation and shows tests catching a platform-imposed limit: the probability crosses 50% at 23 people but floating-point… | ||
| Local (Arena) Memory Allocators Part 1 | Meeting C++ 2017 | 2017-11-09 |
Claims that replacing a single global allocator with targeted local allocators can yield order-of-magnitude speed improvements, and measures that claim with… | ||
| Local (Arena) Allocators Part II | Meeting C++ 2017 | 2017-11-09 |
Claim: replacing a single global allocator with per-subsystem local allocators often cuts runtime by factors of 3–20, sometimes an order-of-magnitude speed… | ||
| “Local ('Arena') Memory Allocators (part 2 of 2)” | CppCon 2017 | 2017-09-24 |
Four targeted benchmarks compare the platform global allocator, tcmalloc/jemalloc, and local strategies (monotonic, multipool, composite) using real containers… | ||
| Local ('Arena') Memory Allocators (part 1 of 2) | CppCon 2017 | 2017-09-24 |
Local, subset-focused allocators outperform global new/delete and std::allocator in measured systems, with one reported case cutting a 10‑second reclamation to… | ||
| Local (arena) Memory Allocators | ACCU 2017 | 2017-04-24 |
Local arena allocators can cut runtime by up to order-of-magnitude in real benchmarks by keeping related objects contiguous and in-cache, especially in a… | ||
| Advanced Levelization Techniques (part 1 of 3) | CppCon 2016 | 2016-09-18 |
Covers concrete physical‑design rules: every component is an h/cpp pair with the header included first, all externally visible entities declared in the header… | ||
| Advanced Levelization Techniques (part 2 of 3) | CppCon 2016 | 2016-09-18 |
Shows concrete fixes for header cycles and coupling with code patterns and examples and reference implementations on GitHub. Covers demotion (pulling shared… | ||
| Advanced Levelization Techniques (part 3 of 3) | CppCon 2016 | 2016-09-18 |
Defines a compact package-naming rule: every component group uses a package group 3-letter prefix so names stay short and unique, and some graphs force at… | ||
| Proper Inheritance | ACCU 2016 | 2016-04-20 |
Argues that contracts should state exactly which inputs are undefined and which behaviors are essential, shows practical rules (always include header as first… | ||
| “Value Semantics: It ain't about the syntax!, Part I" | CppCon 2015 | 2015-09-21 |
Defines what “value” really means for C++ types by naming the salient attributes that must match for two objects to be the same value, shows why copying bits… | ||
| “Value Semantics: It ain't about the syntax!, Part II" | CppCon 2015 | 2015-09-21 |
Argument: value semantics hinge on salient attributes and an Essential Property of Value: if two objects have the same value, performing the same mutating… | ||
| Grill the Committee | CppCon 2014 | 2014-09-07 |
Lots of concrete, behind‑the‑scenes detail about what actually makes it into the standard: discussions name features (move elision, polymorphic and scoped… | ||
| Meet the Authors | CppCon 2014 | 2014-09-07 |
Panelists claim a compact Tour of C++ is 180 pages that settles “what to read,” describe using clang-format to stop arguing about code layout, and explain… | ||
| Defensive Programming Done Right, Part II | CppCon 2014 | 2014-09-07 |
Library-level defensive checks are implemented as three assertion levels (optimized ≲5% cost, regular ≈5–20%, expensive >20%), selectable per build or via… | ||
| Defensive Programming Done Right, Part I | CppCon 2014 | 2014-09-07 |
Argues that libraries should let the owner of main choose a runtime budget for precondition checks and the policy (for example abort throw spin) for… | ||
| nothing matches | ||