NDC TechTown 2021
2021-08-30..2021-09-02
Kongsberg, Norway
[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 |
|---|---|---|
| Garbage In, Pearls Out? | Jason Turner | 54m |
Builds a working IR pass through for a distributed audio system that turns noisy, low‑quality remote captures into reliable commands by detecting leader… | ||
| Sandboxing a Linux application | Martin Ertsås | 42m |
Walks through building a sandbox by composing Linux namespaces and seccomp filters: creates user namespaces and writes /proc/self/uid_map and setgroups to map… | ||
| Instrumenting machine code over WebRTC | Ole André Vadla Ravnås | 01h 01m |
Demonstrates live machine‑code instrumentation over WebSockets and WebRTC using Frida 15 to inject a JavaScript agent into a running process, attach native… | ||
| Dependency Management in C++ | Patricia Aas | 01h 04m |
Tests four C++ dependency approaches — conan, vcpkg, CPM, and plain fetch_content — by building a small cross‑platform demo (SFML window, fmt logging, Catch2… | ||
| How to start using coroutines | Mikhail Svetkin | 47m |
C++20 coroutines are usable now but require plumbing: GCC 10, MSVC recent, Clang 8 (experimental) support the three keywords co_await/co_yield/co_return. Each… | ||
| Asynchronous I/O and coroutines for smooth data streaming | Björn Fahller | 57m |
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 has writing about the Core Guidelines shown me? | Guy Davidson | 01h 08m |
A book distills the Core Guidelines into 30 core guidelines chosen to fit a 250‑page, ~90,000 words target; it tracks the Guidelines’ 22 sections, shows… | ||
| Designing a modern build system and dependency manager, how hard can it be? | Jussi Pakkanen | 41m |
Describes a concrete Meson-based stack: Meson build system plus its package layer and wrapdb registry, used to build a cross-platform example (SFML + Dear… | ||
| Virtual Reality with Qt Quick 3D | Andy Nichols | 36m |
Qt Quick 3D integrates VR by wiring Qt 6 RHI to OpenXR, creating an xr view that replaces the window and uses a render control to draw into headset swapchains… | ||
| Agile embedded development under regulatory constraints | Espen Albrektsen | 01h 05m |
A SIL2 (IEC61508) wireless low‑power gas detector is developed with agile workflows by keeping requirements and traceability inside source, automating unit… | ||
| Software Engineering Is About Tradeoffs | Mateusz Pusz | 59m |
Compares concrete C++ tradeoffs with results from live votes: three string SSO layouts (GCC 32B, LLVM 24‑byte SSO, Facebook 23B) and the cost/benefit of fewer… | ||
| How to write a really good board support package for Yocto Project | Chris Simmonds | 58m |
Practical checklist for a Yocto BSP: implement a dedicated meta layer with conf/machine/.conf, set machine via local.conf, and limit content to hardware… | ||
| The Genius of the RISC-V Microprocessor | Erik Engheim | 01h 01m |
Claims that RISC-V is a tiny, modular ISA with 47 base instructions and optional named extensions (G, M, A, F, D, V) that let designers pay only for needed… | ||
| Demonstrating binary exploitation | Marit Iren Rognli Tokle, Christian Resell | 58m |
Demonstrates a real heap overflow in sudoedit (based on Qualys’ report) by overflowing user_args with backslashes to force null bytes, then uses heap feng shui… | ||
| Real Programming | Sjur Julin | 29m |
Argues that hand-optimized C, GLSL and occasional assembly beat heavy frameworks for imaging and real-time graphics, showing a compact 3000-line engine that… | ||
| Implementing C++ Semantics in Python | Tamir Bahar | 51m |
A Python library replicates core C++ semantics by adding deterministic destructors (RAII), function and method decorators that push objects onto global… | ||
| SOLID Revisited : The State of the Matter | Phil Nash | 01h 00m |
Asserts SOLID is historically rooted but now partially redundant: core ideas collapse to cohesion and polymorphism/interfaces, OCP’s “closed for modification”… | ||
| TypeScript for C++ programmers | Ólafur Waage | 50m |
Compares C++ expectations to concrete TypeScript behavior: shows installing with npm install --save-dev typescript, initializing and compiling with npx tsc and… | ||
| A Physical Units Library For C++ | Mateusz Pusz | 01h 02m |
mp-units is a C++20 library (GitHub, Conan, Godbolt, Gitpod) that encodes quantities, units, dimensions and prefixed SI units with concepts and NTTPs… | ||
| Testing as an equal 1st class citizen (to coding) | Jon Jagger | 58m |
Argues that testing and coding must be equal first-class citizens with concrete practices: instrument tests (pytest/coverage) to spot dead code, aim for 100%… | ||
| Introducing a matrix class to the C++ standard library | Guy Davidson | 01h 00m |
Proposal P1385 adds a concrete P1385 matrix class to the C++ standard with static and dynamic mdspan extents storage engines, selectable row-major/column-major… | ||
| A (short) Tour of C++ Modules | Daniela Engert | 01h 01m |
Explains how C++ modules replace textual headers with a compiled primary module interface and optional global module fragment, moving interface semantics into… | ||
| An Introduction to Android Automotive OS | Chris Simmonds | 48m |
Android Automotive OS ships in production cars like Polestar 2 and is available from AOSP but the open build is not production ready — default home and apps… | ||
| Catching up with Catch2: Changes recent and future | Martin Hořeňovský | 49m |
Catch2 is a popular unit testing framework with a new major release is coming soon. In this talk, we will go over what has changed in Catch2 recently, and what… | ||
| An introduction to control groups (cgroups) version 2 | Michael Kerrisk | 57m |
Explains how cgroups v2 is the unified pseudo‑filesystem interface and shows concrete commands: create a cgroup by making a directory, add processes with echo… | ||
| Diving deeper into control groups (cgroups) v2 | Michael Kerrisk | 01h 02m |
Demonstrates three concrete cgroup v2 features with live demos: release notification by monitoring cgroup.events (watching the populated key via inotify or… | ||
| TestOps at scale | James Westfall | 56m |
Nightly runs execute end-to-end and unit tests across 30+ machine targets and many branches, using behave (Python) for Gherkin specs, Catch2 for C++ component… | ||
| Little Red Riding Hood & the k-d tree forest | Jørgen Kvalsvik | 51m |
Builds a working k-d tree in C++ and shows which design changes actually matter: starts with pointer-based recursive nodes and a naive O(n^2) pairwise radius… | ||
| Secure Coding in C and C++ - Volatility Ahead | Robert C Seacord | 47m |
Explains that volatile applies to lvalue accesses, not inherently to objects, so C23 changes standard wording to say "access through a volatile-qualified… | ||
| Delivering code with GitHub Actions | Antonio Liccardi | 54m |
Shows a pipeline that builds and tests two sample apps (.NET and C++) using GitHub Actions, with triggers on push and pull request, hosted runners… | ||
| Inside a static analyser: type system | Yuri Minaev | 50m |
PVS‑Studio’s C/C++ analyser replaces slow encoded string representation of types with a class‑hierarchy and factory that interns every unique type, yielding… | ||
| From Program to Process - What Happens After the Compiler | Anders Schau Knatten | 01h 00m |
Starts from a tiny program int main{return 1} and shows, with Compiler Explorer, hexdump, objdump -d -M intel -r and readelf -r, how that single call becomes a… | ||
| nothing matches | ||