CppNorth 2022
| title | author | length |
|---|---|---|
| Carbon Language: An experimental successor to C++ | Chandler Carruth | 01h 23m |
Carbon describes an experimental successor to C++ that prioritizes interoperability with existing C++ by driving a Clang/LLVM front end to synthesize Carbon… | ||
| Quadrable | Doug Hoyte | 53m |
Quadrable is a header-only C++17 library backed by LMDB that implements a sparse binary Merkle tree with collapsed leaves to avoid doing 256 hashes per update… | ||
| Keynote: "Am I A Good Programmer?" | Kate Gregory | 01h 12m |
Three quick self checks for being a competent programmer: avoid outrageous catastrophes — systems that fall over at three concurrent users or require a full… | ||
| The Power Of Compile-Time Resources | Jason Turner | 59m |
A tool converts a known JSON schema into generated C++ files (document.hpp, document_impul.hpp, document.cpp) that emit inline constexpr objects so the schema… | ||
| Programming for Warm Days: Avoiding Dangerous Conversions | Patrice Roy | 57m |
Live codes a small C++ library that replaces raw doubles with a templated strong type for units, using temperature traits and a single neutral unit so… | ||
| OLD VERSION: Building Abstractions at the Hardware-software Boundary | Andrew Bitar, Aidan Wood | 01h 03m |
Groq describes a deterministic spatial ISA and compiler that schedules every vector and hop at compile time, targeting a Tensor Streaming Processor with… | ||
| C++ Lambda Idioms | Timur Doumler | 01h 04m |
The talk shows concrete lambda behaviors and practical patterns: the compiler creates closure types, unary plus forces an explicit conversion to a function… | ||
| Cute C++ Tricks (and what you can learn from them): Part 2 of N | Daisy Hollman | 56m |
Part 2 unpacks concrete, reproducible surprises: using assert (not static_assert) inside constexpr functions, a template+lambda+concept trick to count… | ||
| Value Oriented Programming. Part 1: You Say You Want To Write A Function | Tony Van Eerd | 01h 01m |
Argues that small, testable functions reduce complecting by taking only what they need (pass orientation/tolerance values, not a whole Projector object)… | ||
| Lessons Learned From Porting LibreOffice's Build System To Meson | Jussi Pakkanen | 47m |
Port of LibreOffice’s build moves a 5.8M+ line C++ tree off bespoke GNU Make onto Meson/Ninja by scraping verbose compiler invocations to reproduce flags… | ||
| Taking Static Type-Safety to the Next Level - Physical Units for Matrices | Daniel Withopf | 01h 03m |
Provides a concrete C++ library design that attaches a named index and per-entry physical-unit annotation to Eigen-style matrices so each element’s unit and… | ||
| Abstraction: The True Superpower of C++ | Guy Davidson | 57m |
Defines abstraction as picking relevant behavior and hiding the rest, then walks C++ features that deliver it: classes, access control, virtual dispatch vs… | ||
| Software Engineering Languages | Titus Winters | 58m |
Argues that languages are tools and that software engineering needs different tradeoffs than quick programming: static typing plus compiler-driven refactors… | ||
| Binary Object Serialization With Structure Traversal & Reconstruction | Chris Ryan | 01h 02m |
Minimally intrusive binary serializer that deduces types with TAD-based type deduction, writes compact varint IDs and little-endian primitives, and recreates… | ||
| C++ Standard Parallelism | Bryce Adelstein Lelbach | 58m |
Standard C++ now offers a portable parallelism model that claims to run on CPUs, GPUs and clusters without vendor extensions, via three pillars: a corpus of… | ||
| What Makes Good C++ Programmers: A Continuous Search For C++ Teaching Recipes | Amir Kirsh | 58m |
Twenty years of course tweaks yield concrete choices: mandatory C++ because industry demand, a two‑course sequence split into practical labs and an advanced… | ||
| How Hard Could It Be? int64 → int64_t | Andrew Soffer | 57m |
Migrating a companywide int64 alias to int64_t forces concrete fixes not vague guidance: thousands of template-deduction failures and a few hundred… | ||
| Why Iterators Got It All Wrong | Arno Schödl | 39m |
Argues that C++ iterators conflate two distinct concepts — elements vs borders — and that ranges/views/adapters (transform, filter, reverse) expose ambiguous… | ||
| How to "OO" in C++ | Mike Spertus | 55m |
Compares four concrete approaches to polymorphism in C++—inheritance with virtuals, templates/concepts, std::variant with std::visit, and the… | ||
| Are You Structure Bindable? A Tour via Concepts, SFINAE & Herb Sutter's Pattern Matching | Amir Kirsh | 39m |
Builds a working structure_bindable concept that detects tuplelike, pair, and array bindings and—using Herb Sutter’s p2392r1 pattern matching and a… | ||
| Programming With Kids: Languages, How to Start, and Warnings | Fatemeh Jafargholi | 56m |
Argues starting ages and concrete tools: block-based work from about four, typing languages around six, Python/web by nine; recommends code.org for… | ||
| Multidimensional C++ | Bryce Adelstein Lelbach | 01h 07m |
C++23 introduces mdspan, a non-owning multi-dimensional view with parameterized layouts, extents and slicing, but it intentionally omits iterators because… | ||
| The Twin Algorithms | Conor Hoekstra | 01h 35m |
Argues that several STL numerics (iota, accumulate, partial_sum, inner_product) descend from APL and that twin algorithms — scans and reductions — are visually… | ||
| Slowing Down to Be Faster: C++ and Divisible Algorithms in Real-Time Systems | Patrice Roy | 55m |
Real-time C++ RLE compression is rewritten so it can be paused and resumed: the algorithm accepts a continuation predicate, writes into caller-provided storage… | ||
| The Best Parts of C++ | Jason Turner | 01h 01m |
C++ evolves by adding concrete tools that reduce bugs and boilerplate: RAII/unique_ptr eliminates leaks, const and deterministic destruction tighten… | ||
| Building Abstractions at the Hardware-software Boundary | Andrew Bitar, Aidan Wood | 01h 03m |
Claim: a deterministic spatial chip with software-controlled memory and lockstep execution lets the compiler schedule every vector operation across time and… | ||
| Resolving Template MetaProgramming Challenges Using Type_expr | Rémi Drolet | 01h 06m |
Type_Expr is a C++ TMP library that rewrites and extends Fabio.npl ideas and shows concrete techniques: crash compiler to inspect types via diagnostic-driven… | ||
| C++20 Ranges in Practice | Tristan Brindle | 01h 02m |
C++20 Ranges are shown in practical code: replacing iterator pairs with whole-range calls, automatic lifetime protection via ranges::dangling for rvalue… | ||
| Forward Progress in C++ | Olivier Giroux | 01h 17m |
Defines three concrete progress guarantees: concurrent forward progress for full threads (jthread, join/terminate rules), parallel forward progress for… | ||
| Keynote: Yes! Robotics for the C++ Developer | Tara Walker | 01h 16m |
Explains why ROS is middleware not an OS, compares ROS1 (Noetic) vs ROS2 (Galactic/Humble/Hawkbill) and the practical C++ toolchain: rclcpp client library… | ||
| Keynote: The Tragedy of C++, Acts One & Two | Sean Parent | 01h 44m |
C++ claims to be flexible abstraction and efficient by definition while its specification balloons to about 1800 pages, with std::pair implementation swelling… | ||
| OLD VERSION: The Fine Details Behind C++ Containers And Algorithms | Amir Kirsh | 01h 00m |
Covers concrete C++ library rules and measured outcomes: shows vector push_back is amortized O(1), demonstrates a missing noexcept on move makes reallocations… | ||
| The Fine Details Behind C++ Containers And Algorithms | Amir Kirsh | 01h 00m |
The C++ library requires vector::push_back to be amortized O(1) and benchmarks show forgetting noexcept on move constructors causes large slowdowns due to copy… | ||
| nothing matches | ||