Björn Fahller
where else to find them
what they talk about
all 16 in the filters
where they keep going back
- NDC TechTown8 editions2018–2025
- ACCU5 editions2017–2024
- C++ on Sea4 editions2022–2025
all 6 in the filters
on a stage with
who talks about the same things
- Vittorio Romeo27 talks
- Victor Ciura50 talks
- Ben Deane32 talks
- Amir Kirsh27 talks
- Andreas Fertig23 talks
- Jonathan Müller37 talks
| title | conference | date |
|---|---|---|
| When to give up, and how? | NDC TechTown 2025 | 2025-09-22 |
Programs that silently mask bugs cause worse failures than crashing; corrupting user data is the real horror. Use assertions and contracts where possible, and… | ||
| Will your program still be correct next year? | NDC TechTown 2025 | 2025-09-22 |
Implementing a words-per-count histogram, the code evolves from manual prints to automated assertions and then to real frameworks: doctest, Catch2, and… | ||
| Lightning Talk: It Is a Pipe, but Should It Be? (Sorry Magritte) | C++ on Sea 2025 | 2025-06-23 |
Implements a right-curry template and an ary type that binds arguments from the right so partial application takes the trailing parameters, then adds a pipe… | ||
| Will Your C++ Program Still Be Correct Next Year? | C++ on Sea 2025 | 2025-06-23 |
A practical testing philosophy that treats tests as executable requirements, not just examples: a word-histogram example reveals real bugs, fixes, and design… | ||
| Cache friendly data + functional + ranges = ❤️ | NDC TechTown 2024 | 2024-09-09 |
Shows a compact C++23 library (built with clang 18 and measured with perf) that replaces a vector-of-structs with structs of vectors and a templated table API… | ||
| C++ Cache Friendly Data + Functional + Ranges = ❤️ | C++ on Sea 2024 | 2024-07-02 |
Claims an ergonomic C++ wrapper that gives the speed of structs‑of‑vectors with normal tuplelike and range APIs, using modern features (ranges, structured… | ||
| Keynote: Learning Is Teaching Is Sharing: Building a Great Software Development Team | ACCU 2024 | 2024-04-17 |
Company case studies show specifics: one firm sends 2000 engineers to two‑week C++ courses and later writes off a billion, while a fleet of 660 aircraft loses… | ||
| My favourite memory leak | Meeting C++ 2023 | 2023-11-12 |
Claim: a leak happens without calling new by exploiting a recursively nested std::vector: a type V holds vector<V> children, creating one child and then… | ||
| Typical C++, But Why? | Meeting C++ 2023 | 2023-11-12 |
Shows concrete patterns and code: a SanitizedString type that forces explicit construction so queries fail to compile instead of leaking unsanitized input… | ||
| Most Malleable Memory Management Method | NDC TechTown 2023 | 2023-09-18 |
Demonstrates using C++ PMR to cut allocation churn and tune locality: baseline run records 133,540 allocations with heaptrack, then swapping to an… | ||
| Typical C++, But Why? | CppNorth 2023 | 2023-07-17 |
Argues that leaning on the C++ type system turns runtime bugs into compile errors by using explicit constructors and conversion operators, enum class and small… | ||
| Typical C++, but Why? | C++ on Sea 2023 | 2023-06-28 |
Shows concrete refactors that stop real bugs: replace plain strings with a sanitized_string type (private data, throwing explicit ctor and explicit conversion… | ||
| Most Malleable Memory Management Method in C++ | C++ on Sea 2023 | 2023-06-28 |
Shows runtime-swappable allocators and concrete wins: using polymorphic_allocator plus an unsynchronized_pool_resource on a word‑histogram drops allocations… | ||
| Typical C++, But Why? | NDC TechTown 2022 | 2022-08-29 |
Argues that small, concrete types and C++20 features turn runtime surprises into compile-time errors: a SanitizedString wrapper makes using unsanitized input a… | ||
| What Do You Mean by "Cache Friendly"? | C++ on Sea 2022 | 2022-07-05 |
A 20,000-entry intrusive linked list (≈40 bytes per timer) causes ~70% L1 misses and pegs a control daemon; valgrind/cachegrind and perf pinpoint the… | ||
| Phoenix? | ACCU 2022 | 2022-04-06 |
Burnout escalates into constant fury and tunnel vision that erases priorities and social life, and recovery starts when management enforces an empty to-do list… | ||
| Asynchronous I/O and Coroutines for Smooth Data Streaming | ACCU 2022 | 2022-04-06 |
Linux io_uring (Linux 5.1) and C++20 coroutines are combined into a UDP-read pipeline that submits preallocated 1500‑byte buffers to the ring, receives packets… | ||
| Asynchronous I/O and coroutines for smooth data streaming | NDC TechTown 2021 | 2021-08-30 |
Linux kernel io_uring + userland pipeline of C++20 coroutines turn UDP packet handling into chained single-thread loops that avoid callback hell. The demo… | ||
| What do you mean by "Cache Friendly"? | NDC TechTown 2020 | 2020-08-31 |
A linked‑list timer implementation hits 75% CPU in one function when stressed with ~20–25k live timers because pointer chasing forces cache misses; a cache… | ||
| Modern techniques for keeping your code dry | NDC TechTown 2019 | 2019-09-02 |
Shows how to build zero-cost abstractions in modern C++ using fold expressions, constructor template argument deduction and deduction guides, lambda factories… | ||
| The Curiously Recurring Pattern of Coupled Types | NDC Oslo 2019 | 2019-06-17 |
Identifies a recurring type pattern as affine spaces and shows it in raw C pointers, STL iterators, std::chrono time_point/duration and 2D/3D positions… | ||
| Programming with Contracts in C++20 | ACCU 2019 | 2019-04-10 |
C++20 adds contract attributes (examples: expects/ensures/assert attributes) but with important limits: postconditions cannot refer to the pre-call state (no… | ||
| Higher Order Functions for ordinary developers | Meeting C++ 2018 | 2018-11-15 |
Shows how to write and compose C++14 higher-order functions that return lambdas (concrete examples: equals, compose, when_all, if_then) and claims compilers… | ||
| Higher order functions for ordinary C++ developers | NDC TechTown 2018 | 2018-09-27 |
Shows how to write real higher‑order functions in modern C++17 and why returning lambdas with the auto return type beats std::function for performance; builds… | ||
| Type safe C++? LOL! | NDC TechTown 2018 | 2018-09-27 |
A bug mixes two uint32 IDs and fails to compile until each becomes a distinct strong type, so code prevents using a request ID vs receiver ID bug at compile… | ||
| Higher order functions for ordinary C++ developers | NDC Oslo 2018 | 2018-06-11 |
Advocates using use auto return type to return lambdas to build composable predicates (compose, select, address_matches) and shows fold-expression AND to… | ||
| Type safe C++? LOL! | NDC Oslo 2018 | 2018-06-11 |
Argues C++ can be made reliably type safe by turning primitives into distinct types using a safe_type<T,Tag> template with deleted cross-constructors and the… | ||
| Type safe C++ – LOL! :-) | ACCU 2018 | 2018-04-11 |
Argues that wrapping primitives as distinct types both prevents bugs and can improve clarity and performance, showing a tiny safe_type template (with CRTP)… | ||
| A variant of recursive decent parsing | Meeting C++ 2017 | 2017-11-09 |
Claims a tiny, readable recursive‑descent parser replaces bulky generated code by using std::variant and visit with an overloaded lambdas via inheritance… | ||
| Using Trompeloeil - a mocking framework for modern C++ | NDC Oslo 2017 | 2017-06-14 |
Trompeloeil is a single-header C++14 mocking framework (≈3.5k lines, Boost license, available via Conan) that avoids UB and supports mocking member functions… | ||
| Using Trompeloeil, a mocking framework for modern C++ | ACCU 2017 | 2017-04-24 |
Trompeloeil is a C++14, header-only mocking framework (single header ~3.5k lines) that stays within the language and integrates via small adapters to existing… | ||
| nothing matches | ||