NDC Porto 2023
2023-10-16..2023-10-20
Porto, Portugal
[NDC Porto 2019, NDC Porto 2022, NDC Porto 2023, NDC Porto 2024]
who it's for
C# developers, .NET developers, software architects, engineering managers, frontend developers, platform engineers, site reliability engineers, QA engineers
topics
.NET 8 and C# 12 features; Native AOT and source generation; Entity Framework Core pitfalls; OpenTelemetry span-based tracing; Apache Kafka for C#; Orleans actor model exploration; React Server Components; large language model implementation; test driven development practices; dev containers and GitHub Codespaces; domain driven design for teams; observability using structured events
| title | author | length |
|---|---|---|
| Keynote: Language Games | Eli Holderness | 46m |
Argues that communication reduces to mapping Concepts to signifiers using concrete frameworks (Saussure, Wittgenstein, Grice) and claims talking to computers… | ||
| Correcting Common Async/Await Mistakes in .NET 8 | Brandon Minnick | 58m |
Explains how the C# compiler turns each async method into a state-machine class that wraps MoveNext in a try/catch, so unawaited Tasks silently lose… | ||
| .NET Rocks Live | Richard Campbell, Carl Franklin, Charity Majors | 53m |
Claims that observability must use one wide structured event per request and that tracing should be span-based, not metric-only; recommends OpenTelemetry and… | ||
| Ethical Machine Learning | Kehsa Williams | 55m |
Predictive policing models, COMPAS recidivism scores and Amazon hiring models actually misfire; hands-on demo uses SageMaker Clarify to run a processing job… | ||
| Email vs Capitalism, or, Why We Can't Have Nice Things | Dylan Beattie | 01h 01m |
A live interactive demo sends attendees emails and exposes delivery variability: RFC 5321 still allows 30 minutes to try again and up to days, yet users expect… | ||
| Mirror, mirror on the wall... Am I a critical thinker after all? | Laila Bougria | 53m |
Shows a concrete decision workflow: write a plain problem statement, list stakeholders and needs, use five whys, generate diverse alternatives, gather relevant… | ||
| What's coming in .NET 8 & C# 12 | Filip Ekberg | 01h 01m |
.NET 8 ships as an LTS release in November and focuses on speed and cross‑platform support: heavy use of spans/ranges and UTF‑8 string literals, Native AOT… | ||
| TDD Revisited | Ian Cooper | 01h 13m |
Argues TDD is about driving behaviors not isolating “unit tests,” and recommends writing developer tests that target the smallest observable behavior, use… | ||
| The Future of Energy | Richard Campbell | 52m |
Portugal runs ~25% hydro, wind and utility solar at solar/wind ~$20–25/MWh drive down costs, and an 880 MW pumped storage system soaks up excess wind for… | ||
| My Worst Code Was My Best Code | Liam Westley | 54m |
Shows concrete hacks: Corel Draw macros drive a Windows 3.1 broadcast card to render live weather maps; a VB6 pause-and-continue workflow edits running… | ||
| User testing in production: how to run a public beta | Eli Holderness | 48m |
Explains when to run a public beta (MVP that actually solves new user problems), why it must be opt-in and reversible, and how a year‑long IDE beta at Anvil… | ||
| Performance tricks I learned from contributing to the Azure .NET SDK | Daniel Marbach | 01h 02m |
Contributor to the Azure .NET SDK documents over seventy pull requests that target hot-path C# code and shows concrete fixes: replace LINQ.Any with loops… | ||
| The Mario Kart™ guide to building a career | Hannes Lowette | 41m |
Uses Mario Kart to give concrete career tools: set a 3–5 year direction not a distant dream, turn it into SMART goals, use a 10-step scale to pick the next… | ||
| Keynote: Where Web Tech is Going Now | Steve Sanderson | 58m |
Survey of modern web frameworks highlights server-first UIs with interactive islands implemented in Next.js (React), SvelteKit, Blazor, Astro showing concrete… | ||
| Top 5 techniques for building the worst microservice system ever | William Brander | 46m |
Shows five concrete anti-patterns that reliably wreck microservices: using Strangler fig extraction to create a networked monolith with .NET Gen2… | ||
| C4 models as code | Simon Brown | 54m |
Argues that C4 should be modeled not hand-drawn, and demonstrates the open-source Structurizr DSL plus a renderer (structurizr-light) that stores a single… | ||
| Don’t Build a Distributed Monolith: How to Avoid Doing Microservices Wrong | Jonathan "J." Tower | 53m |
Consultant experience boils down to ten recurring mistakes: teams build distributed monoliths by sharing databases and models, using synchronous HTTP calls… | ||
| Turning Dreaming into Doing - A Life Manual for Nerds | Lars Klint | 01h 01m |
Chronicles concrete moves: sets a measurable cadence of releasing videos every two weeks, uses ad revenue to hit 10,000 subscribers by late 2023, and treats… | ||
| Test Driven Development with C# - from Padawan to Jedi | Scott Sauber | 01h 04m |
Shows practical TDD in C# with live coding: writes failing tests, uses red green refactor, then refactors an EmployeeValidator into a record and passes… | ||
| Understanding Microservices: a guide for the monolithic developer | Layla Porter | 57m |
Shows a concrete path from monolith to microservices using a modular monolith that snaps into independent services, demonstrated with an ASP.NET 6 Tacky Tacos… | ||
| A People Pleaser's Guide to Salary Negotiation | Colleen Lavin | 41m |
Provides concrete claims and tactics: 85% of negotiators get at least part of their ask, 64% of employers expect negotiation, and offers can jump 30–60% when… | ||
| Terminology Mismatch Repair Made Plain | John Connolly | 51m |
Practical method for finding and fixing domain word conflicts: a three‑step R3 (recognize, resolve, rectify) process plus a worksheet called the Terminology… | ||
| Exploring ChatGPT for Improved Observability | Gareth Emslie | 38m |
Claims ChatGPT (GPT-3.5) is useful for observability but has limits: it’s fine-tuned with about 175 billion parameters, uses reinforcement learning from human… | ||
| A Teacher, an Economist and a Developer Walk Into a Bar | Adele Carpenter | 51m |
Compares concrete choices: a rewrite estimated as three developers for 12 months (~250k) versus incremental work that doubles velocity only after years… | ||
| Common mistakes in EF Core | Jernej Kavka | 01h 04m |
Shows concrete fixes that turn slow EF Core into fast EF Core using .NET 7 and a 7 million-row sales table and load tests with benchmark.us and bombardier… | ||
| A Brief History of Data Storage | Eli Holderness | 56m |
A sweep from 1750 BCE clay tablets (the oldest written complaint) through Niépce’s 1826 photograph, Jacquard punch‑cards and vinyl to magnetic tape, drum/core… | ||
| Access control in message-driven systems | Marc Klefter | 40m |
Message-driven systems enforce zero trust by generating a token per message that includes a payload hash claim and a message ID so consumers can verify… | ||
| GitHub + Azure: Better Together! | April Edwards | 48m |
Shows an end-to-end workflow that builds Docker images in GitHub, scans code and containers with CodeQL and container scans, and deploys to Azure Container… | ||
| Why Your Platform Monolith Is Probably a Bad Idea | David Leitner | 50m |
Claim: platform monoliths become bottlenecks — they push cognitive load onto a single platform team, create a large blast radius and slow delivery. Examples… | ||
| Software Development in Challenging Times | Richard Campbell | 48m |
Covers how the pandemic and supply‑chain shocks ripple into hiring and costs, cites big layoffs — Microsoft 10,000, Google 12,000, Amazon ~30,000, Meta 15,000… | ||
| The Culture Map: Navigating the complexities of the cross-cultural workplace | Diego Garcia Lozano | 57m |
Presents Erin Meyer’s tool The Culture Map and its eight scales (communication, feedback, trust: task-based vs relationship-based, leadership, scheduling… | ||
| Pipeline-oriented programming | Scott Wlaschin | 57m |
Compares C# LINQ and F# pipelines and shows concrete code: implements a generic pipe extension helper with overloads for 1–n parameters, three demos (Roman… | ||
| Building that glorious monolith. And carving it too. | Glenn F. Henriksen | 01h 02m |
Argues for starting with a modular monolith built for Justify, using Domain-Driven Design and vertical-slice request/command handlers wired through… | ||
| Leveraging Common Technology and Programming for Amateur Spaceflight | Mads Wilson | 55m |
Copenhagen Suborbitals aims to put a human above the 100 km Kármán line using low-cost, common tech and iteration. Past flights include 2011 HEAT-1X and NEX… | ||
| React Server Components: A New Way to Build Fast and Interactive Web Apps | Aurora Walberg Scharff | 50m |
React Server Components render on the server and stream an RC payload to the browser so most UI JavaScript never ships; the demo app (add/delete jokes) runs on… | ||
| Connect remotely like a pro! Hack VPNs, avoid firewalls, connect even when your machine is down | Adam Furmanek | 01h 03m |
Five live demos show practical ways to reach a corporate machine: SSH port forwarding and a SOCKS proxy to browse via office; link aggregation with a… | ||
| Autonomous microservices don't share data. Period. | Dennis van der Stelt | 53m |
Claim: true autonomy requires services to own and not share business data; containers or .NET Core don't fix coupling. Achieve this with fine-grained events… | ||
| Practical Applications of Generative AI: How to Sprinkle a Little AI in Your App | Phil Haack | 01h 10m |
Explains how to add small AI features using GPT-4, the Azure OpenAI client and a simple ASP.NET Core stack (EF Core, SignalR, React, Tailwind); shows… | ||
| Unlocking the Potential of AI | April Edwards, Henk Boelman | 01h 01m |
Microsoft and GitHub demonstrate practical stacks: GPT-3 175B / 9 days / $4.6M and models with 32k token context windows, Azure OpenAI with Azure Cognitive… | ||
| Quantum Computing and the future of cryptography | Filip W | 57m |
Quantum computers will break current public‑key schemes via Shor's algorithm (exponential speedup for factoring and discrete logs) while symmetric ciphers face… | ||
| ARIA: the good parts | Hidde de Vries | 50m |
Explains that ARIA is an ontology for accessibility metadata and that a few attributes reliably help users: landmarks for page regions, aria-expanded and… | ||
| Navigating the Cloud Native Security Landscape | Pablo Musa | 56m |
Overview of cloud native security that maps acronyms into concrete threats and mitigations: CNAPP bundles CSPM, KSPM, CIEM, CWPP, CDR into operational… | ||
| Backwards Compatible- Lessons from a Quarter Century in Software | Anjuan Simmons | 58m |
Over 25 years of practice yields concrete rules: you have about five minutes in interviews to convince someone, be on time and concise, and focus on measurable… | ||
| My 25 Laws of Test Driven Development | Dennis Doomen | 51m |
Claims 35+ concise rules distilled from 15 years of TDD practice: organize code into functional slices and align test scope to those slices, prefer small… | ||
| Building a Culture of Healthy Conflict in Tech Teams | Andrew Murphy | 54m |
Clear definition: healthy conflict has aligned goals, mutual trust and assumed positive intent; unhealthy conflict has misaligned goals, mistrust and… | ||
| Introduction to unsafe C#: Calling native code and crashing in entirely new ways | Dennis Dietrich | 59m |
Shows how C# can use pointers, fixed and stackalloc to mutate memory (yes even mutating supposedly immutable strings), explain packing/explicit layout and… | ||
| Bringing C# nullability into existing code - dammit is not the answer! | Maarten Balliauw | 59m |
Nullable reference types give compile‑time flow analysis, not runtime safety, and migrating an old C# codebase needs design changes not just sprinkled `?` and… | ||
| You can't do that with JavaScript! | Espen Sande-Larsen | 59m |
Builds three full engines in plain JavaScript: a rasterizer with custom vectors/matrices, projection matrix, triangulation, scanline filling, clipping and flat… | ||
| Tools and practices to help you deal with legacy code | Dennis Doomen | 53m |
A consultant-style checklist with concrete wins: locates production DLLs and log files, uses a decompiler (dotPeek) to compare binaries and discovers five… | ||
| The state of passwordless auth on the web | Phil Nash | 47m |
Passwords are shown as fragile (52% reuse sometimes, only 24% use a manager) and easily leaked; practical fixes covered include HTML autocomplete, the… | ||
| Property-Based Testing: Unveiling the Truth on Test Reduction | Ewald Verhoeven | 36m |
Property-based testing uses generators to describe inputs and assertions to describe properties, running hundreds of examples (Hypothesis defaults ~200–300)… | ||
| Using WebAssembly to run, extend, and secure your .NET application | Niels Tanis | 55m |
Demonstrates compiling a .NET CLR into a single ~8.5 MB .wasm bundle and running it outside the browser using WASI + Wasmtime host, loading a Rust-compiled… | ||
| Apache Kafka in 1 hour for C# Developers | Gui Ferreira | 49m |
Shows a working Patreon pipeline built with C#, Azure Functions, Confluent Cloud Kafka and KafkaFlow, with code and diagrams. Uses an HTTP webhook -> producer… | ||
| Data Science beasts (failures) and where to find them | Grishma Jena | 34m |
Shows concrete failures and fixes: claims 2022 produced 97 zettabytes yet only 20% of analytics yield business outcomes, then catalogs four failure modes—data… | ||
| Lies Developers Tell Themselves | Billy Hollis | 01h 01m |
Developers routinely underestimate effort and accept arbitrary deadlines instead of probing requirements; good teams aim to size 90% of projects within about… | ||
| Just in Time Architecture | Macklin Hartley | 49m |
A team moves from a monolithic server with atomic database transactions to microservices, hits real failures: customer balances are deducted but avatars are… | ||
| Develop in the cloud with dev containers and GitHub Codespaces | Jakob Ehn | 01h 01m |
Shows how a repo-held development environment boots reproducibly using a Dev Container JSON that installs exact SDKs, VS Code extensions and postCreate… | ||
| Debugging Difficult Conversations - Or "How not to chicken out" | Andrew Murphy | 56m |
Practical steps to stop avoiding hard work conversations: adopt mindset and preparation as the core framework, run four prep questions — why is it in my best… | ||
| Imposter Syndrome: Overcoming Self-Doubt in Success | Heather Downing | 55m |
Claims that 70% of people in tech feel impostor moments at some point, cites a 1978 Georgia State study of high-achieving women, and links impostor thoughts to… | ||
| From Hot Metal to HTML: The Story of Typography | Dylan Beattie | 58m |
A fast, example-led history from clay tablets to web fonts that names tools and surprises: movable type appears in China c.1040 (Bi Sheng) and Gutenberg prints… | ||
| Pub crawling in Orleans: exploring the Actor model | Sander Molenkamp | 01h 02m |
Demo builds a global pub‑crawl backend with Orleans 4 with .NET 7 using the virtual actor model to represent crawlers, venues, beer scores and leaderboards… | ||
| What the Soviet Space Program Taught Me About Digital Product Development | Dean Schuster | 58m |
1960s Soviet program wins early firsts but trades safety for speed: Zan 5 sends tortoises around the Moon (1968) and splashes down off‑target, Voskhod 2 puts… | ||
| UnleashGPT: Mastering the Implementation of Large Language Models | Andreas Erben | 01h 00m |
Demonstrates building LLM-powered apps using Azure OpenAI, LangChain and Semantic Kernel with concrete demos: Whisper-based transcription, GPT-4 vision… | ||
| Secret Shortcuts of Loading Web Performance | Nikola Mitrovic | 38m |
Demonstrates concrete wins in React: dynamic import and component-based lazy loading offload a heavy third section into its own chunk so initial bundle size… | ||
| Faster, Cheaper, Greener: Pick Three | Lea Mladineo | 51m |
FundApps rearchitects a single-process Windows monolith into a cloud-native, per-client AWS system using Step Functions, SQS, Fargate/ECS, S3, Dynamo DB and… | ||
| Compliance & Regulatory Standards are NOT Incompatible with Modern Development | Charity Majors | 41m |
Regulations and frameworks require outcomes, not specific processes, so teams implement testing in production, observability, feature flags and CI/CD as… | ||
| Intentional Code - Minimalism in a World of Dogmatic Design | David Whitney | 57m |
Argues for ruthless intentionality in code: every character matters and style rules don’t replace thought. Shows concrete fixes — consolidating 13 C# projects… | ||
| A love letter to long lines and other DX stories | Jo Franchetti | 51m |
Argues developer experience hinges on three measurable frictions — cognitive load, flow state, and feedback loops — and shows concrete fixes: ship… | ||
| Toward a carbon-aware Cloud | Olivier Bierlaire | 55m |
Cloud infrastructure emits over 300 megatons CO2 today—roughly a country like France or the UK—and region choice can cut emissions by 10–20x (demo moves a… | ||
| Connecting Remotely Like a Pro | Adam Furmanek | 01h 03m |
Five live demos show concrete methods: SSH local and dynamic SOCKS port forwarding to browse via office, a $5 jump host plus remote forwarding to reach a… | ||
| Guitar Strings attached From UTF 8 to EADGBE | Hannes Lowette | 56m |
Starts from burnout recovery then details concrete guitar builds: a Fender Jazzmaster completed in six months, a reclaimed wangi fretboard, and a neck stress… | ||
| Messaging: The fine line between awesome and awful | Laila Bougria | 53m |
A monolith migrates to messaging and performance gets worse: UI shows stale data, duplicates and out‑of‑order handlers create side effects, and tracing becomes… | ||
| F# for the C# Developer - F#, the .NET Runtime, and Aesthetics | Scott Arbeit | 01h 00m |
Shows concrete IL/C# results from real F# code using SharpLab and decompilation: F# top-level modules compile to public static classes, a 35-line F#… | ||
| Get old, go slow, write code! | Tobias Modig | 53m |
Claim: getting older and deliberately slowing down improves long‑term velocity and retention. Data: Stack Overflow: avg age 28 and developers expect to stay 8… | ||
| The Modern Trolley Problem - Responsible AI Principles | Michelle Mei-Ling Sandford | 01h 00m |
Demonstrates training an object‑detection model with Azure Custom Vision and deploying it to an Azure Percept edge device, noting a working prototype trained… | ||
| Architecture Modernization: Aligning Software, Strategy, and Structure | Nick Tune | 48m |
Legacy systems slow flow: some teams deploy once a month, competitors iterate faster, and Pendo estimates ~80% of features are unused. Modernization combines… | ||
| Your website does not need JavaScript | Amy Kapernick | 48m |
Builds a completely static site from plain HTML and CSS with no npm, no build step and no JavaScript, demonstrating concrete patterns that work: :target… | ||
| Fine Grained Authorisation with Relationship-Based Access Control | Ben Dechrai | 41m |
Relationship-based access control (ReBAC) models permissions as edges between entities so revocation happens automatically when a relationship is removed, not… | ||
| Developer Joy – How great teams get s%*t done | Sven Peters | 58m |
Shows concrete changes at Atlassian: teams adopt coding guidelines and prewritten QA test plans, dedicate 10% time to developer productivity, and run demos and… | ||
| nothing matches | ||