NDC TechTown 2022
2022-08-29..2022-09-01
-- online --
[NDC TechTown 2017, NDC TechTown 2018, NDC TechTown 2019, NDC TechTown 2020, NDC TechTown 2021, NDC TechTown 2022, NDC TechTown 2023, NDC TechTown 2024, NDC TechTown 2025]
| title | author | length |
|---|---|---|
| NDC TechTown 2022 | 01m | |
A short wrap of the NDC TechTown gathering in Kongsberg shows a small, tight community running four days of sessions that mix Linux and Rust with embedded C++… | ||
| Typical C++, But Why? | Björn Fahller | 54m |
Argues that small, concrete types and C++20 features turn runtime surprises into compile-time errors: a SanitizedString wrapper makes using unsanitized input a… | ||
| Theory makes beautiful programs | Jørgen Kvalsvik | 59m |
An algorithm extracts MC/DC conditions from compiler control‑flow graphs rather than ASTs, using BFS/DFS and a topological sort to locate Boolean… | ||
| A Preview of C++ 23 | Daniela Engert | 01h 04m |
C++23 delivers concrete, implementable changes: deducing this removes 12 overloads for member operators and enables cleaner CRTP-style mixins… | ||
| Error handling in C++: as easy as "use exceptions"? | Vitaly Fanaskov | 44m |
Compares concrete error APIs: plain return codes and enums, out-parameter patterns (like legacy C/Qt index -1), and exceptions including the four… | ||
| Breaking Dependencies: Type Erasure - The Implementation Details | Klaus Iglberger | 55m |
Shows two concrete ~20 line implementations for owning and non‑owning wrappers that use a templated constructor plus a nested base/model hierarchy, placement… | ||
| The Boeing 737 MAX: When Humans and Technology Don't Mix | Kyle Kotowick | 01h 01m |
Boeing fits larger engines onto an old 737 airframe, creates MCAS software to counteract a nose-up pitch, then hides it to avoid additional pilot training; a… | ||
| C++20 - My Favourite Code Examples | Nicolai M. Josuttis | 59m |
C++20 examples show concrete code: generic add() overloads resolved with concepts + constraints instead of SFINAE, ranges and views used to pipe, take, drop… | ||
| Analysis of Real World Apps with Frida | Kyle Ossinger | 51m |
Live-demo uses Frida-trace to find a markdown→HTML function inside WebEx, then replaces hooks with a standalone JS agent that calls the C++ std::string… | ||
| How to start a program | Anders Schau Knatten | 01h 01m |
Shows exactly what Linux/ELF does when an executable starts: the kernel maps segments, sets the instruction pointer to entry point 0x1040 which lands in… | ||
| Code Analysis ++ | Anastasia Kazakova | 51m |
Claims that the Clang toolchain dominates and static analysis demand is rising, and describes concrete work: data flow analysis implemented in an IDE then… | ||
| Auto-testing for situational awareness | James Westfall | 55m |
Auto-tests focus on timelines not just pass/fail: nightly GitLab CI runs on Alpha correlate test durations, executed-test counts and reruns to reveal that a… | ||
| Properties of Unit Tests | Arne Mertz | 01h 07m |
Argues that unit tests must be fast, isolated, and precise: use dependency injection and mocks instead of touching files or databases, separate infrastructure… | ||
| The Floor is Lava, trying to teach C++ | Patricia Aas | 55m |
A curriculum emerges from crowdsourced data: 40+ C++ features get classified by Twitter polls and visualized with reveal.js bubbles, showing most… | ||
| Signed Integers Considered Harmful | Robert C Seacord | 01h 01m |
Argues that counts and sizes should be unsigned by default, not signed, because unsigned avoids expensive checks and more predictable semantics for counts… | ||
| Zephyr RTOS: Software power tools for constrained devices | Balaji Srinivasan, Eirik Midttun | 01h 03m |
Zephyr is an open RTOS with a modular build and test flow that this presentation demonstrates end to end: building a Blinky for an nRF52840 DK with West build… | ||
| 42 Silly Ways to say Hello in C | Olve Maudal | 58m |
Forty-two brief C snippets teach concrete rules and surprises: checks of puts/printf and return codes, array decay and size_t printing, using pointers to… | ||
| Making sense of Volatile | Inge Fredriksen | 42m |
Claim: "volatile" in C++ is usually the wrong tool for thread synchronization and is only appropriate for memory‑mapped I/O or CPU registers. Shows a small… | ||
| Lightning Updates | Hana Dusikova | 56m |
Claims a working C++23 generic library that pushes immutable state updates to tens of millions of clients every 3–5 minutes by shipping 32‑byte identifiers… | ||
| Identifying Common Code Smells (In C++) | Arne Mertz | 55m |
Examines concrete C++ smells and fixes with real examples: a 260-line main refactored into helpers and small classes, long conditionals turned into named… | ||
| An Introduction To Floating Point Math | Martin Hořeňovský | |
Covers why decimal examples like 0.1 + 0.2 != 0.3 and why 20,000,000 + 1 == 20,000,000 happen, explains normalization vs denormals and how absolute vs relative… | ||
| Contemporary C++ in action | Daniela Engert | 01h 03m |
Builds a working server/client that decodes directory video files with libav, streams frame-by-frame over ASIO-based sockets, and renders via SDL using… | ||
| How we made Zivid Two - our 2nd generation 3D machine vision camera for robotics | Arild Ulfeng | 47m |
Zivid Two (CV2) is a robot‑mounted 3D camera built from fully custom optics, electronics and projector to halve size/weight, deliver ~3× speed and accuracy… | ||
| Learning Rust the wrong way | Ólafur Waage | 52m |
Argues that mastering Rust takes spaced and interleaved practice over time, not one-hour lectures, cites experiments where random practice outperforms blocked… | ||
| Neotron - why write a brand new ‘DOS’ for Arm in Rust? | Jonathan Pallant | 01h 01m |
Claim: a tiny DOS‑style OS is built in Rust to run on a $1 microcontroller, with a public OS API exposed as a struct of function pointers, UTF‑8 file paths… | ||
| 5 Years Of Teaching C++: A Retrospective | Martin Hořeňovský | 57m |
Five years of running a university C++ course turned into concrete rules and failures: weekly auto-graded homeworks (target 1–4 h) later collapsed into larger… | ||
| Getting started with Yocto Project | Chris Simmons | 01h 03m |
Demo builds a 32‑bit QEMU image using Yocto kirkstone: git clone -b kirkstone, source OE-init-build-env, set MACHINE=qemuarm in local.conf, then run bitbake… | ||
| Fundamentals of Embedded Linux | Chris Simmons | 01h 04m |
Boards are SoC‑based or SOM/SBC modules and need four concrete pieces: a cross toolchain, a bootloader (commonly u-boot), a kernel with a device tree and… | ||
| A lock-free atomic shared_ptr | Timur Doumler | 01h 03m |
Shows that a lock‑free std::atomic<std::shared_ptr> is implementable by using a split refcount (local + global) and either a packed pointer or double‑width… | ||
| How C++23 changes the way we write code | Timur Doumler | 59m |
C++23 adds concrete tools that change code: deducing this replaces boilerplate CRTP and four const/ref overloads by letting member functions take the actual… | ||
| C++ Lambda Idioms | Timur Doumler | 56m |
Explains what the compiler actually generates for a lambda (closure type, const call operator, implicit conversion to function pointer) and gives concrete… | ||
| MISRA C++202x: It ain't your grandpa's MISRA any more | Loïc Joly | 57m |
MISRA C++202x updates MISRA C++2008 with concrete, tool-checkable rules: it mandates use nullptr never NULL, requires named function parameters to be used… | ||
| Surviving a chip shortage | Inge Fredriksen | 59m |
Tomra documents and replaces blocked MCUs, reworks firmware and hardware so new boards behave identically to old ones, and ships without halting production… | ||
| C++: what comes next? | Chandler Carruth | 58m |
C++ successor experiment called Carbon Language aims for bi‑directional C++ interop by invoking clang to turn headers into modules and by emitting C++ header… | ||
| Package management in C++ | Mikhail Svetkin | 01h 01m |
Compares two C++ package systems: vcpkg (about 1,910 ports) and Conan (about 1,354 packages). vcpkg is CMake‑centric, uses a vcpkg.json manifest, triplets and… | ||
| Thinking Erlang in a connected world | Ali Sabil | 01h 03m |
Argues Erlang/OTP builds reliable, available, serviceable, secure systems by designing millions of isolated lightweight processes with message passing and… | ||
| Keynote: Abstraction Patterns | Kate Gregory | 01h 03m |
Argument: working code screams where abstractions are missing, so identify concrete signals (repeated magic formulas, long parameter lists, clustered variable… | ||
| nothing matches | ||