NDC Copenhagen 2025
2025-09-08..2025-09-12
Copenhagen, Denmark
[NDC Copenhagen 2019, NDC Copenhagen 2025, NDC Copenhagen 2026]
| title | author | length |
|---|---|---|
| Java Sucks (So C# Didn't Have To) | Adele Carpenter | 56m |
Looks at concrete tradeoffs: shows a Box generics demo and explains why Java uses type erasure (added in Java 1.5 for backwards compatibility), why libraries… | ||
| Exploring the World of Remix: A Guide to Building Resilient and Performant Web Apps | Aurora Walberg Scharff | 52m |
Remix features are now in React Router v7 so apps gain automatic code splitting, server rendering, and static pre-rendering via a Vite plugin; React Router… | ||
| How to Ensure Code Quality and Consistency in Distributed Teams | Denny Biasiolli | 17m |
Concrete steps to stop style wars and reduce bugs: pick one style guide and enforce it with pre-commit/pre-push hooks and CI checks (use black, isort, flake8… | ||
| Declarative vs programmatic IaC | Jakub Gaj | 16m |
Compares concrete tradeoffs: CloudFormation/Terraform give one-to-one resource mapping and safer multi-tenant changes, while CDK/Pulumi/TypeScript/Python… | ||
| 50 shades of PR | Avishag Sahar | 17m |
Data from LinearB shows most code stalls in the pull request stage, so the concrete fix is adding automation in the middle of the pipeline: continuous merge… | ||
| Mastering real-time anomaly detection with open source tools | Olena Kutsenko | 41m |
Builds a live pipeline using Apache Kafka for ingestion, Apache Flink for windowed processing, and ARIMA/ARMA plus LSTM for forecasting and anomaly scoring… | ||
| Oops!… We F*ed It Up Again: The Art of Staying Calm When Systems Crash | Alon Kiriati | 39m |
Describes concrete changes: replace noisy log scans with realtime alerts and SLO-driven monitoring, add a one‑page incident wiki and playbooks, shift tests… | ||
| I built an app that gives me bad advice - and it's in Jira | Lars Klint | 01h 00m |
Builds an AI agent inside Jira using Forge CLI and Atlassian Rovo tooling and deploys it via forge deploy and forge install to a development environment then… | ||
| Building your own AI Agent using Semantic Kernel | Johnny Hooyberghs | 01h 00m |
Shows how Semantic Kernel (Microsoft .NET SDK) wires LLMs to real code: registers C# plugins/functions, enables auto-invoke kernel functions so GPT-style… | ||
| Beyond the AI Hype: What's Real, What's Next | Richard Campbell | 51m |
A clear timeline traces practical AI from deep nets to products: an academic paper leads to models trained at scale, a 175 billion parameter GPT‑3 built on… | ||
| FinOps for Engineers: Why Your Architecture Has a Price Tag | Yihui Xu | 44m |
Cloud architecture decisions map directly to invoices: using premium block blob for 10 TB/month across four regions jumped to roughly 80,000/month, a restore… | ||
| It’s Not Always About the Index: The Hidden Secrets of Query Performance | Avishag Sahar | 49m |
Builds a small online-store schema (stock and price) on MySQL in Docker, runs live queries with explain analyze and cache flush, and shows a single-item lookup… | ||
| Avoiding common pitfalls with async/await | Stephen Cleary | 01h 00m |
Explains why async turns methods into a compiler-generated state machine, how await pauses on a Task or ValueTask and resumes on the captured context (demoed… | ||
| Edge-native applications - what happened to cloud-native? | Thorsten Hans | 56m |
Claims that server-side WebAssembly lets one build once and run everywhere with concrete tooling: Spin CLI, server-side WebAssembly, and selective deployments… | ||
| Kotlin DSLs as a Single Source of Truth for Multiple Tasks | Ivan Ponomarev | 54m |
Argues that Kotlin internal DSLs function as a single source of truth that can execute rules, generate live diagrams, docs and serializations, and run sanity… | ||
| The Developer Rhapsody | Tobias Modig | 52m |
Argues that individual developer productivity metrics are harmful and easy to game, citing the Twitter lines-of-code firing rumor and McKinsey’s claimed 20–30%… | ||
| From Days to Hours: How EventStorming Transformed Our Domain Modeling Process | Vadzim Prudnikau | 55m |
EventStorming reduces weeks of meetings to hours by running a time‑boxed, facilitator‑led workshop that fills a long wall with color‑coded sticky notes to map… | ||
| Flying a drone with gestures, bananas & Web APIs | Nhlanhla Lucky Nkosi | 45m |
Hacks a Parrot Mambo Mini over Web Bluetooth and counts five practical ways to “kill” a drone, starting with packet inspection via Wireshark then switching to… | ||
| OpenTelemetry in a Brownfield World | Jimmy Bogard | 01h 04m |
Brownfield .NET microservices move from console logs and Splunk to OpenTelemetry by adding a log4net → Microsoft.Extensions.Logging bridge, enabling built-in… | ||
| If only I had known ... | Hannes Lowette | 54m |
Practical career rules: plan a 3–5 year target and pick roles that let you learn, not just chase salary; prioritize employers who invest in training, paid time… | ||
| Modern Observability: Making OpenTelemetry work for you | Martin Thwaites | 45m |
Modern observability here centers on a concrete workflow: instrument once with OpenTelemetry and run telemetry through Weaver (open source, written in Rust… | ||
| Future Proof with ASP.NET Core API Versioning | Jay Harris | 59m |
Shows how to version ASP.NET Core APIs using the open-source Asp.Versioning library, with concrete code paths: install the NuGet, call addApiVersioning, and… | ||
| Facilitate You! - Use your facilitating skills to lead yourself | Martin Mazur | 52m |
Claim is: no new frameworks needed — reuse team facilitation skills on yourself by splitting into past/present/future you so past-you prepares and future-you… | ||
| How we built an AI-powered code reviewer in 80 hours | Yan Cui | 36m |
Prototype runs in a few hours; the backend takes 80 hours to stabilize using AWS API Gateway, Lambda, EventBridge, DynamoDB and Amazon Bedrock with Anthropic… | ||
| The Evolution of Security Attacks and Threats | Niall Merrigan | 55m |
A concise timeline of concrete attacks and defenses: 1903 wireless interception proves early man-in-the-middle trick; 1972 Creeper spawns Reaper antivirus… | ||
| What the Soviet Space Program Taught Me About Digital Product Development | Dean Schuster | 54m |
Soviet missions win early milestones like first spacew walk and Sputnik yet cut testing to hit political dates, exemplified by Zand 5 in 1968 carrying step… | ||
| Dream Machines and Walled Gardens | Anders Norås | 55m |
A 1960s hypertext visionary builds a Jot editor that stores every edit as immutable operations and defines a precise addressing scheme called tumblers… | ||
| Easily Add GenAI to .NET Apps using Microsoft.Extensions.AI | Brandon Minnick | 58m |
Builds a .NET MAUI chat app that plugs into Microsoft.Extensions.AI so any provider (Azure OpenAI, OpenAI, Amazon Bedrock, Ollama) swaps with two or three… | ||
| Implementing Domain Driven Design as a Pragmatic .NET Developer | Halil Ibrahim Kalkan | 58m |
Practical DDD for .NET shows a concrete solution layout: split domain into domain.shared and domain, separate application contracts from implementations, and… | ||
| The Undersea Cable Network | Richard Campbell | 57m |
About 2 million kilometers of undersea cable already exists, with roughly 15–30 new cables laid each year; most intercontinental traffic (97–98%) rides these… | ||
| Where Are My Tomatoes? Extracting Data from Graph Images with AI | Silas Eichsteller | 11m |
System reconstructs Kaplan–Meier-style plots by combining occlusion-aware instance segmentation (fine-tuned vision transformers) with classical CV cleanup… | ||
| Ouvroir de Code Potentiel | Anders Norås | 09m |
Demonstrates concrete experiments: rewriting FizzBuzz without conditionals removed by using switch/pattern matching (yielding an idiomatic Haskell-like… | ||
| From Specs to Decks: A Tale of Bugs, DJs & the Importance of Hobbies | Lucía Conde-Moreno | 13m |
Live DJ experience yields concrete lessons for engineering: a broken headphone cue forces using cue both channels and exposes a half-second delay that ruins… | ||
| Going Passwordless - A Practical Guide to Passkeys in ASP.NET Core | Maarten Balliauw | 53m |
Passkeys replace passwords using WebAuthn public‑key signing and work with OS authenticators, password managers, or USB keys; a Blazor Server demo on .NET 10… | ||
| Managing Terraform modules at scale | Toni Petrina | 59m |
Describes managing Terraform at scale for an org running 20 staging environments, moving from copy‑paste and a monorepo to versioned modules in separate repos… | ||
| Supercharged Search with Semantic Search and Vector Embeddings | Giorgi Dalakishvili | 55m |
Demonstrates building semantic search by generating 384‑dim and 1,124‑dim embeddings with OpenAI or local Olama via Microsoft.Extensions.AI, storing them in… | ||
| The Art of Focus: Managing Productivity with an ADHD Brain | Alyssa Nicoll | 50m |
A personal account of extreme ADHD details specific, usable tactics: Eisenhower Matrix and ABCDE for ruthless prioritization, Pomodoro and timeboxing for… | ||
| Async messaging deep dive with Dapr, take your pub/sub skills to the next level 📨🚀 | Marc Duiker | 58m |
Dapr pub/sub API is shown with live C# demos that actually switch providers without code changes: Redis Streams, RabbitMQ, and Azure Service Bus (topics)… | ||
| Toxic Trust: The Psychology of Automation Bias in Generative AI | Matthijs van der Veer | 57m |
Automation bias causes real-world harms: an Austrian hiring score AMS scoring deducts points for women and immigrants and a Dutch fraud detector helps collapse… | ||
| Building AI Agents and Multi-Agent Systems with Azure AI | Henri Schulte | 56m |
Shows how to build agents with Semantic Kernel and host/orchestrate them in Azure AI Foundry using Python, plugins and Logic Apps; demos call a Playwright MCP… | ||
| Are you sure your access tokens are really secure? | Wesley Cabus | 54m |
An API that used JWTs and a standard validation library accepts forged tokens because validators miss algorithm none bypass when casing varies and because… | ||
| Typescript. Runtime. And in Between. | Ariel Shulman | 49m |
Deep dive into how TypeScript separates type space from value space, a live coding demo using Zod (safeParse, schema -> inferred types, Zod schemas -> infer… | ||
| WebAssembly & .NET: The Future of Cross-Platform Apps | Dominik Titl | 43m |
Shows how Blazor WebAssembly ships a lightweight .NET runtime to run C# in the browser and how Blazor Hybrid embeds that UI in a native .NET process via a… | ||
| Adventures at HyperScale! | Stefán Jökull Sigurðarson | 53m |
Have I Been Pwned handles ~17 billion requests a month, serves ~430 TB, and stores ~6 billion unique emails plus ~1 billion password hashes while being run by… | ||
| AI vs. Karen: Real-Time Customer Sentiment Detection at Scale | Josef Goldstein | 01h 06m |
Real-time pipeline ingests customer messages via Apache Kafka, runs sentiment in Flink using OpenAI (GPT‑4.1 Nano) then stores results in Apache Pinot and… | ||
| Building Intelligent .NET MAUI Apps with ML.NET | Pieter Nijs | 53m |
Shows end-to-end, runnable work: a .NET MAUI app that loads ML.NET models locally and runs regression, binary classification and image classifiers on-device… | ||
| neo4j for the relational .NET developer | Chris Klug | 01h 05m |
Shows how to get Neo4j running locally or on Aura DB (free tier then $65/$146), using Docker run with two ports or Neo4j Desktop imports CSV and displays… | ||
| MCP with .NET: securely exposing your data to LLMs | Callum Whyte | 58m |
Builds a working MCP server in C# using the MCP .NET SDK and reuses existing logic via Semantic Kernel filters, registers tools like get-speaker and… | ||
| The Shopping Dead: An Accessible Live Web For The Unalive | Daniel Yuschick | 47m |
Shows concrete patterns for announcing dynamic UI: use role="alert" = assertive for errors and role="status" = polite for nonurgent updates; avoid blasting… | ||
| Design for Developers | Lex Lofthouse | 58m |
Practical rules for devs: pick use 1–2 fonts (heading + body), test sizes with TypeScale and Utopia, and keep body at 16px minimum body size; build layouts on… | ||
| What we learned rebuilding the largest Nordic electronic retail website in Next.js? | Tomas Jansson | 55m |
Rebuilt the Elkjøp/Elgiganten/Gigantti frontend in Next.js and deployed on Vercel, going from a slow Angular site to a production rollout in under a year and… | ||
| Beyond the Prompt: Evaluating, Testing, and Securing LLM Applications | Mete Atamel | 50m |
Shows practical evaluation and security patterns for LLM apps using Vertex AI Evaluation, DeepEval, and Promptfoo with runnable code and SpeakerDeck slides… | ||
| Optimize Your Internal OS and Minimize Compatibility Issues at Work | Alice Meredith | 58m |
Claims that decoding a personal “HumanOS” with psychometrics speeds workplace compatibility fixes, using tools like Gallup Strengths, MBTI, DISC, Big Five and… | ||
| The Immutable Laws of Software and Life: Code Accordingly | Cory House | 56m |
Ten concrete laws and trade-offs drive the talk: Shipley’s six dimensions, Conway’s Law, Goodhart, Hick’s law, McLuhan, and a named rule that the things most… | ||
| Modern Architecture 101 for New Engineers & Forgetful Experts | Jerry Nixon | 01h 03m |
Overview of concrete choices: walks through putting the API next to SQL Server to remove drivers, using a service bus plus an event hub to push DB changes to… | ||
| Cryptography: The Weird Bits | Eli Holderness, Rendle | 01h 01m |
Live code implements an Enigma replica in Zig that reproduces the double-stepping bug and demonstrates outputs where no letter ever encrypts to itself, runs… | ||
| Algorithms Demystified | Dylan Beattie | 53m |
Live demos show a ten-person bubble sort demo with 10 volunteers to illustrate stability and the early-exit optimization; comparisons of quick sort, TimSort… | ||
| HTMX & ASP.NET Razor Pages – Web development without the JavaScript pains | Kevin DeRudder | 01h 00m |
HTMX with ASP.NET Razor Pages replaces much of the client JS by using attribute-driven requests: hx-get/hx-post calls server handlers, responses can return… | ||
| Demystifying authentication in ASP.NET Core | Tore Nestenius | 49m |
Explains how ASP.NET Core turns an incoming request into a user: the authentication middleware calls handlers (cookie, JWT, OIDC) that run five operations… | ||
| Let’s catch up with C#! Exciting new features in C# 9, 10, 11, 12 and 13! | Filip Ekberg | 59m |
Covers concrete language changes from C# 9–14 with code-level effects: compiler tracks null state via nullable reference types and the required keyword… | ||
| AI Coding Agents and how to code them | Alex Shershebnev | 01h 03m |
Shows how to build coding agents that use real tools (ping, bash, Playwright, a file system MCP tool) and a React-style reason+act loop, converts simple… | ||
| The New Realities of SaaS: Why Building is Harder Than Ever | Luis Rubiera | 01h 02m |
SaaS in 2025 requires operational, legal and geopolitical work equal to product work: past outages left 3.5–5 hours of irreversible data loss at Salesforce and… | ||
| Building Trust in Open Source: A Practical Guide to Securing Your ... | Yash Pimple | 47m |
Explains concrete steps: a demo Docker build and SBOM (SPDX/CycloneDX) generation, signing the image with Sigstore/cosign using OIDC and Rekor and verifying… | ||
| Cross-platform development with .NET MAUI | Anjuli Jhakry | 57m |
.NET MAUI claims a single C# codebase for Android, iOS, macOS and Windows and is the evolution of Xamarin; a Danish government landscape already runs 30+ MAUI… | ||
| Open source is broken and it's your fault! | Lotte Pitcher | 13m |
Too much critical infrastructure runs on a handful of solo maintainers — AutoMapper and MediatR together exceed 1 billion NuGet downloads, JSON.NET had a solo… | ||
| This Place is a Mess, Rewrite Everything! | Josef Goldstein | 13m |
Argues against reflexive rewrites and gives a concrete checklist: accept the code is yours, read it all and document why things exist, interview original… | ||
| View Transitions: The brand-new browser API that will blow your mind | Jakob Endrestad Kielland | 10m |
View Transitions API lets pages animate between states using a simple JS call or just CSS across pages: use startViewTransition for SPAs or include the small… | ||
| The 10 Most Common Azure Mistakes (And How To Fix Them) | Scott Sauber | 20m |
Ten recurrent Azure failures and their fixes: chaotic subscriptions and resource groups require a clear org model and per-app resource groups; inconsistent… | ||
| The future & challenges of cloud | Anders Lybecker | 01h 04m |
Claims that multi‑cloud portability routinely costs 2–3× engineering effort, cites ~80 cloud regions and 300+ data centers, and notes Microsoft’s $100B AI… | ||
| Hybrid Caching in .NET | Jody Donetti | 59m |
Compares two concrete implementations: FusionCache (open source, created 2020, used by Microsoft’s Data API Builder) and Microsoft HybridCache (abstraction… | ||
| Keynote: AI is having its moment ... again | Jodie Burchell | 47m |
Argues this is the third AI summer, tracing concrete wins and failures: Dartmouth 1956 births symbolism and connectionism; Rosenblatt’s 1958 perceptron learns… | ||
| The Chips and Pickle Story: What's Really Behind Infamous, Historic UI Failures? | Dean Schuster | 51m |
A case study tour that links concrete UI choices to real outcomes: a point‑of‑sale chips-and-pickle button that forces unwanted pickles and a mobile app… | ||
| Effective React: Lessons from 10 Years | Cory House | 01h 00m |
Ten years of practical React experience condenses into concrete advice: prefer tanstack query for remote state (cache keys, background refetch, retries, and… | ||
| Modern .NET Configuration Practices | Chris Ayers | 01h 02m |
Demos and code live on GitHub and VS Code, showing concrete migrations: replace baked-in web.config with layered JSON, environment variables, IConfiguration… | ||
| Code that writes code - .NET Source generators | Glenn F. Henriksen | 52m |
Shows how .NET Source Generators use the Roslyn APIs and an IIncrementalGenerator pipeline to emit C# at compile time, eliminating reflection and boilerplate… | ||
| Drop the Bass with Embedding and Vectors in Azure AI Search | Alan Smith | 01h 03m |
Demos show embedding pipelines that actually run: ResNet18 with PyTorch for image features, VGGish embeddings for audio, Annoy and Azure AI Search for… | ||
| Leading successful remote teams | Callum Whyte | 01h 06m |
Practical playbook for distributed engineering: clear policies (remote only, minimum enforced leave + 7 weeks recommended after unlimited leave backfired)… | ||
| Dehumanizing Agents: Why Explainability is Crucial in the LLM Era | Lucía Conde-Moreno | 56m |
Built a churn prototype that flags customers above 90% and then runs feature importance plus clustering to replace costly manual calls, which worked and… | ||
| "Would YOU Survive the Titanic?", with ML and .NET | Simon Painter | 54m |
Uses Visual Studio 2022 and C# with ML.NET to solve Kaggle's Titanic challenge, starting with Jupyter/VS Code for EDA (pandas, matplotlib) then building ML.NET… | ||
| Demystifying the Enigma Machine - a Functional Journey | Isaac Abraham | 55m |
Explains a working Enigma simulator implemented in F#, mapping plugboard, three rotors and reflector to a pipeline of F# functions char->char with machine… | ||
| Using GenAI on and inside your code, what could possibly go wrong? | Niels Tanis | 55m |
Academic benchmarks find roughly 40% of generated apps contain vulnerabilities; a Veracode-style dataset shows ~71% of orgs carry year‑old security debt and… | ||
| Lessons Learned Building the Ultimate AI Bug Reporter | Adam Cogan | 01h 01m |
An AI pipeline called Yak Shaver records screen/audio, converts to MP4, sends audio to Whisper, and uses the ChatGPT API plus Azure context to generate backlog… | ||
| Building the NDC Copenhagen Mobile App Live! with Blazor Hybrid | Gerald Versluis | 59m |
Live builds a usable mobile companion for NDC Copenhagen that lists sessions and speakers by calling the Sessionize API and a scraped NDC backend, using Blazor… | ||
| Secure your Modular Monolith by pretending it's a cat | William Brander | 40m |
Assumes a modular monolith that later splits modules out to a message broker and gives concrete, implementable defenses: include identity in every message… | ||
| How To Not Strangle Your Coworkers: Resolving Conflict with Collaboration | Arthur Doler | 54m |
Defines conflict (importance, interdependence, perceived evidence) and breaks it into task, process, relationship; argues teams need psychological safety (Amy… | ||
| Prompt. Build. Repeat. – The Vibe Coding Mindset | Daniel Sogl | 42m |
Live demo shows a working Angular social‑post generator wired to Perplexity API for research, ChatGPT for generation, Lavable frontend and Supabase/Postgres… | ||
| Your AI Agents Are Overprivileged: The Case for Fine-Grained Authorization | Ashish Jha | 55m |
Claim: agents frequently get broad tokens and leak confidential data; fix is relationship-based Fine-Grained Authorization enforced at query time. Demo uses… | ||
| Navigating complexity in event-driven architectures: A domain-driven approach | David Boyne | 52m |
Event systems start simple but an implementation‑first approach reliably produces a “distributed big ball of mud”: undocumented payloads, leaking PII, no… | ||
| The Forgotten AI of Video Games | Layla Porter | 01h 00m |
Survey of game AI techniques with code-level specifics: finite state machines for animation and NPC states, behavior trees as directed acyclic graphs with… | ||
| Migrating from a monolith to a new service | Connell Sharp | 57m |
Stack Overflow extracts the moderator messaging feature into a standalone service with its own database, ships the UI as an embeddable frontend component, and… | ||
| .NET Aspire Beyond the Introduction | Chris Klug | 01h 00m |
Explains what runs under .NET Aspire: a Kubernetes‑style API provided by a local distributed control plane and the three executables DCP.exe / DCP control /… | ||
| Modernizing your legacy application | Nico Vermeir | 58m |
A 30‑year VB→VB.NET WinForms monolith becomes a phased modernization: a cloned and cleaned SQL database, ASMX replaced by REST Web API, frontend moved to… | ||
| Better Code Reviews FTW! | Tess Ferrandez-Norlander | 49m |
Gives ten concrete tactics that change code reviews from painful to useful: make PRs small and include a short context and test logs, automate boring bits with… | ||
| nothing matches | ||