~/conference

CppNorth 2023

date:2023-07-17..2023-07-19
location:Toronto, Canada
series:CppNorth · 3 editions
editions:[CppNorth 2022, CppNorth 2023, CppNorth 2024]
titleauthorlength
strfry: An Efficient Server for the Nostr ProtocolDoug Hoyte52m
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…
Talk on
Building Cpp Interfaces That Are Hard to Use IncorrectlyAndreas Weis59m
C++ interfaces become harder to misuse by encoding preconditions in types: replace loose GLenum/ints with enum class handles or small wrapper structs (tagged…
Talk on
And Then() Some(T) Functional Adventures With C++23 std::optional and std::expectedVictor Ciura57m
Argues that C++23’s std::optional plus std::expected and continuation helpers let code become functional by lifting functions and composing pipelines rather…
Talk on
Calendrical C++: std::chrono, History, Mathematics and the ComputusBen Deane55m
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…
Talk on
To Move or Not to Move - An Interactive AnalysisAmir Kirsh58m
Interactive code-driven analysis of when std::move helps or hurts, using small examples (custom traceable string, stack push/pop, max function, lambda…
Talk on
Teaching Containers and Allocators How to Sanitize AddressesMiro Knejp49m
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…
Talk on
C++ and SafetyTimur Doumler01h 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…
Talk on
Multi-Paradigm Programming and BeyondChris Ryan53m
Argues that C++ is a mixed-paradigm language, not a single-style tool, and demonstrates concrete techniques: using STL algorithms like accumulate/transform and…
Talk on
C++ and the Fight Between Elves and OrcsPatrice Roy55m
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 =…
Talk on
C# for C++ programmers, C# basics, C# vs. C++Fatemeh Jafargholi39m
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#…
Talk on
A Journey into Ranges, Views, Pipelines, and CurryingRudyard Merriam47m
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…
Talk on
A Guide to Managing External APIs in Enterprise SystemsPeter Muldoon50m
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…
Talk on
Keynote: Optimizing for ChangeBen Deane01h 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…
Talk on
Do You Like Physics Simulations aaaannnd C++? Me Too!Pier-Antoine Giguère47m
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…
Talk on
A Tale of Two Tuples - A Story of the C++ RevolutionWill Wray51m
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…
Talk on
Function Composition in Programming LanguagesConor Hoekstra01h 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…
Talk on
How the Environment Changes the Way We Write C++ CodeDaniel Withopf50m
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…
Talk on
Typical C++, But Why?Björn Fahller51m
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…
Talk
C++ as an Optimizing Assembler - a Performance TalkLevo DeLellis37m
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…
Talk on
Moving to C++20 for Fun, Beauty... and Results!Patrice Roy01h 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…
Talk on
Keynote: Steps to Wisdom for C++ DevelopersKate Gregory01h 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…
Talk on
Metaprogramming: From Templates to ConceptsAlex Dathskovsky59m
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…
Talk on
Iteration Revisited: A Safer Iteration Model for C++Tristan Brindle01h 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…
Talk on
Vulnerable C++Peter Sommerlad01h 26m
C++ has concrete hazards: undefined behavior lets optimizers eliminate code and time-travel effects, and a handful of real examples show dangling references…
Talk on
Compiler Explorer 2023: What’s New?Matt Godbolt01h 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…
Talk on
Value Oriented Programming Part V: Return of the ValuesTony Van Eerd01h 04m
Argues that treating many types as values rather than objects reduces entanglement by removing shared pointers and huge “Velcro” classes, showing concrete…
Talk on
C++ Feature Coroutines, Beginner FriendlyAndreas Fertig01h 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…
Talk on
Keynote: Contracts, Testing & the Pursuit of Well Defined BehaviourTimur Doumler01h 34m
Shows that language-level preconditions and a small Contracts MVP (pre/post/assert) aim for C++26, with an implementation model that supports…
Talk on
Object Lifetime in C++: From Start to FinishThamara Andrade55m
Covers concrete rules: object lifetime starts when storage is obtained and non‑vacuous initialization completes, ends when destructor runs or storage is…
Talk on
API Design PrinciplesJohn Pavan47m
Argues that API work starts with top-down design—write example usage and docs first—rather than wrapping implementations, and shows practical consequences: how…
Talk on
New Algorithms in C++23Conor Hoekstra01h 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…
Talk on
Writing C++ to Be ReadVincent Zalzal54m
Argues for concrete practices: prefer the rule of zero and aggregates so the compiler generates constructors/comparisons (use defaulted spaceship) and you…
Talk on
Keynote: I Can Write the Code But Getting Something Done Is Another MatterJessica Kerr01h 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…
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.