CppNorth 2023
| title | author | length |
|---|---|---|
| strfry: An Efficient Server for the Nostr Protocol | Doug Hoyte | 52m |
strfry is a C++ Nostr relay now used by most high-traffic relays and built around LMDB, flatbuffers, zstd dictionaries and a single-writer, multi-threaded… | ||
| Building Cpp Interfaces That Are Hard to Use Incorrectly | Andreas Weis | 59m |
C++ interfaces become harder to misuse by encoding preconditions in types: replace loose GLenum/ints with enum class handles or small wrapper structs (tagged… | ||
| And Then() Some(T) Functional Adventures With C++23 std::optional and std::expected | Victor Ciura | 57m |
Argues that C++23’s std::optional plus std::expected and continuation helpers let code become functional by lifting functions and composing pipelines rather… | ||
| Calendrical C++: std::chrono, History, Mathematics and the Computus | Ben Deane | 55m |
Shows a concrete C++ implementation using std::chrono types (year_month_day, year_month_weekday, sys_days) and custom clocks to compute Easter with multiple… | ||
| To Move or Not to Move - An Interactive Analysis | Amir Kirsh | 58m |
Interactive code-driven analysis of when std::move helps or hurts, using small examples (custom traceable string, stack push/pop, max function, lambda… | ||
| Teaching Containers and Allocators How to Sanitize Addresses | Miro Knejp | 49m |
Explains how AddressSanitizer’s runtime API lets containers and allocators mark unused bytes so ASAN catches out-of-bounds and use-after-free that plain… | ||
| C++ and Safety | Timur Doumler | 01h 04m |
Governments and agencies (NSA, NIST, White House) push away from memory-unsafe languages after studies that find about 70% of vulnerabilities trace to memory… | ||
| Multi-Paradigm Programming and Beyond | Chris Ryan | 53m |
Argues that C++ is a mixed-paradigm language, not a single-style tool, and demonstrates concrete techniques: using STL algorithms like accumulate/transform and… | ||
| C++ and the Fight Between Elves and Orcs | Patrice Roy | 55m |
Live-coding of a custom allocation strategy: a type-local member operator new/delete and an arena-based allocator that preallocates size_of(Orc)×N (example N =… | ||
| C# for C++ programmers, C# basics, C# vs. C++ | Fatemeh Jafargholi | 39m |
If you know C++, expect concrete contrasts: classes are reference types while structs are value types, so passing a class is by reference and structs copy; C#… | ||
| A Journey into Ranges, Views, Pipelines, and Currying | Rudyard Merriam | 47m |
Walks through turning a command‑line file listing (an Advent of Code day 7 example) into C++20/23 ranges pipelines using spanstream and istream_view, shows… | ||
| A Guide to Managing External APIs in Enterprise Systems | Peter Muldoon | 50m |
Converts a callback-heavy comms API into a constrained C++ wrapper that returns future/promise and carries responses as move-only results (unique_ptr) to avoid… | ||
| Keynote: Optimizing for Change | Ben Deane | 01h 24m |
Argues that change is the primary optimization goal and gives concrete techniques: prefer decltype auto for wrapper returns, use std::next/std::size and… | ||
| Do You Like Physics Simulations aaaannnd C++? Me Too! | Pier-Antoine Giguère | 47m |
Ports Matthias Müller’s JavaScript fluid demo into C++ using CMake, MSVC and an OpenGL widget, ends up running about 21,000 particles on a laptop after fixing… | ||
| A Tale of Two Tuples - A Story of the C++ Revolution | Will Wray | 51m |
Claims a rule-of-zero tuple that omits all special member functions and a lambda-tuple access style map to implement get, tie, swap and streaming with no… | ||
| Function Composition in Programming Languages | Conor Hoekstra | 01h 01m |
Argues that combinators go far beyond unary compose and that modern array languages (J, Dyalog APL, bqn) are the most practical hosts, claiming bqn has the… | ||
| How the Environment Changes the Way We Write C++ Code | Daniel Withopf | 50m |
Argues that “good code” depends on constraints: when heap allocations are forbidden the code uses a fixed-size container (example: static_vector sized for 100… | ||
| Typical C++, But Why? | Björn Fahller | 51m |
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… | ||
| C++ as an Optimizing Assembler - a Performance Talk | Levo DeLellis | 37m |
Builds a tiny C++ runtime compiled with -nostdlib and -march=haswell that invokes Linux syscalls directly (write exit open close mmap) and fixes TLS by… | ||
| Moving to C++20 for Fun, Beauty... and Results! | Patrice Roy | 01h 01m |
A reduced real system moves from C++17 to C++20 and replaces boilerplate and temporary containers with ranges views and span interfaces, uses three-way… | ||
| Keynote: Steps to Wisdom for C++ Developers | Kate Gregory | 01h 18m |
Practical heuristics for C++ work and career decisions: treat problems as tractable tasks, always read the error message before panicking, and expect to put in… | ||
| Metaprogramming: From Templates to Concepts | Alex Dathskovsky | 59m |
Shows that a real container detector first built with C++11–17 using type_traits, decltype/declval, SFINAE, enable_if and void_t becomes far simpler with C++20… | ||
| Iteration Revisited: A Safer Iteration Model for C++ | Tristan Brindle | 01h 03m |
Argues that pointer-style STL iterators are a UB minefield and presents Flux, a C++20 library that replaces iterators with cursor-based indices… | ||
| Vulnerable C++ | Peter Sommerlad | 01h 26m |
C++ has concrete hazards: undefined behavior lets optimizers eliminate code and time-travel effects, and a handful of real examples show dangling references… | ||
| Compiler Explorer 2023: What’s New? | Matt Godbolt | 01h 01m |
Compiler Explorer now hosts 2100 compilers and 50+ languages, runs ~65k lines of TypeScript, and costs about $2–2.5k/month to operate. New, demonstrated… | ||
| Value Oriented Programming Part V: Return of the Values | Tony Van Eerd | 01h 04m |
Argues that treating many types as values rather than objects reduces entanglement by removing shared pointers and huge “Velcro” classes, showing concrete… | ||
| C++ Feature Coroutines, Beginner Friendly | Andreas Fertig | 01h 16m |
Covers the concrete mechanics: new keywords co_await, co_yield, co_return map to promise_type hooks and a wrapper return type; every coroutine creates a… | ||
| Keynote: Contracts, Testing & the Pursuit of Well Defined Behaviour | Timur Doumler | 01h 34m |
Shows that language-level preconditions and a small Contracts MVP (pre/post/assert) aim for C++26, with an implementation model that supports… | ||
| Object Lifetime in C++: From Start to Finish | Thamara Andrade | 55m |
Covers concrete rules: object lifetime starts when storage is obtained and non‑vacuous initialization completes, ends when destructor runs or storage is… | ||
| API Design Principles | John Pavan | 47m |
Argues that API work starts with top-down design—write example usage and docs first—rather than wrapping implementations, and shows practical consequences: how… | ||
| New Algorithms in C++23 | Conor Hoekstra | 01h 30m |
https://www.cppnorth.ca
---
Guide to the New Algorithms in C++23 - Conor Hoekstra - CppNorth 2023
C++23 has made a number of very important additions to the… | ||
| Writing C++ to Be Read | Vincent Zalzal | 54m |
Argues for concrete practices: prefer the rule of zero and aggregates so the compiler generates constructors/comparisons (use defaulted spaceship) and you… | ||
| Keynote: I Can Write the Code But Getting Something Done Is Another Matter | Jessica Kerr | 01h 19m |
Company builds a schema caching service backed by a shared memcached shared cache and a client library so 70+ Shepherd ingesters stop hammering MySQL… | ||
| nothing matches | ||