Talks

I speak at conferences, user groups and webinars on AI-assisted development, .NET, Azure, microservices and audio programming. If you'd like me to speak at your event, please get in touch.

Upcoming · Techorama Netherlands 2026 · 28 October 2026

Reviving a Legacy Codebase with AI

I spent three months of spare time using Claude Code to revive a large open source project I thought was dead: fixing its known bugs, modernizing it, improving its performance and adding new features.

In this session we'll tackle the questions developers are wrestling with about AI-generated code. Do you need to read every line? Can AI reliably review and test its own work? I'll share the agents, skills and techniques that helped most, and give an honest assessment of whether today's AI tools can produce production-ready code.

Session details

Watch online

All talks

2024

  • Jan

    Is .NET any Good for Audio?

    About this talk

    For the last 20 years Mark has been maintaining NAudio, an open source audio library for .NET. While the original goal was just a bit of fun and creating some music related utilities, the library ended up becoming a mainstay of many large commercial telephony applications. In this talk, he'll share lessons learned along the way about the many and varied Windows audio APIs, battles with the limitations of .NET as a platform for real-time audio, and the joys and frustrations of running an open source project.

2023

  • Aug

    Is .NET any Good for Audio?

    About this talk

    For the last 20 years Mark has been maintaining NAudio, an open source audio library for .NET. While the original goal was just a bit of fun and creating some music related utilities, the library ended up becoming a mainstay of many large commercial telephony applications. In this talk, he'll share lessons learned along the way about the many and varied Windows audio APIs, battles with the limitations of .NET as a platform for real-time audio, and the joys and frustrations of running an open source project.

  • Jan

    Make Microservices Less Painful with Dapr

    About this talk

    Building microservices applications brings a host of challenges that can slow development down. In this session we'll see how the building blocks Dapr provides help you build distributed applications faster while following industry best practices, and discuss why you might choose Dapr, along with its strengths and weaknesses.

2022

  • Oct

    Make Microservices Less Painful with Dapr

    About this talk

    Building microservices applications brings a host of challenges that can slow development down. In this session we'll see how the building blocks Dapr provides help you build distributed applications faster while following industry best practices, with a demo of the GloboTicket sample application running on Azure Container Apps.

  • Oct

    HyperLINQ - take your LINQ skills to the next level

    About this talk

    An updated version of my LINQ talk, including newer features like IAsyncEnumerable. LINQ is an essential part of every C# developer's toolbox, but are you getting the most out of it? We'll look at using pipelines, thinking in patterns, being lazy, as well as how to avoid performance pitfalls and extend LINQ.

  • Apr

    Let's port an AirWindows VST to REAPER JSFX format!

    About this talk

    Learn about the process involved in porting an opensource Airwindows VST to the REAPER JSFX format, opening the door to adding a custom GUI or making your own tweaks.

2021

  • Dec

    Microservices

    About this talk

    Microservices architecture can be a difficult concept to grasp. In this session we'll learn about the benefits of a microservices architecture. First, we'll explore some of the benefits microservices can bring compared to more traditional architectures. Next, we'll learn about how to overcome some of the key challenges you'll encounter in a microservices architecture. And we'll also look at some practical techniques and strategies for moving to microservices

  • Nov

    Microservices

    About this talk

    Microservices architecture can be a difficult concept to grasp. In this session we'll learn about the benefits of a microservices architecture. First, we'll explore some of the benefits microservices can bring compared to more traditional architectures. Next, we'll learn about how to overcome some of the key challenges you'll encounter in a microservices architecture. And we'll also look at some practical techniques and strategies for moving to microservices

  • Nov

    Microservices

    About this talk

    Microservices architecture can be a difficult concept to grasp. In this session we'll learn about the benefits of a microservices architecture. First, we'll explore some of the benefits microservices can bring compared to more traditional architectures. Next, we'll learn about how to overcome some of the key challenges you'll encounter in a microservices architecture. And we'll also look at some practical techniques and strategies for moving to microservices

  • Feb

    Is .NET any Good for Audio?

    About this talk

    Mark is a software architect and developer currently specializing in Azure and .NET, building digital evidence management systems for criminal justice. He’s a Microsoft MVP, author of many training courses on Pluralsight, and the creator of NAudio, an open source audio library for .NET.

    For the last 20 years Mark has been maintaining NAudio, an open source audio platform library for the .NET platform. While the original goal was just a bit of fun and creating some music related utilities, the library ended up becoming a mainstay of many large commercial telephony related applications. In this talk, he’ll share lessons he learned along the way about the many and varied Windows audio APIs, battles with the limitations of .NET as a platform for real-time audio, and the joys and frustrations of running an open source project.

2020

  • Nov

    Moving to Microservices: Containers vs Serverless

    About this talk

    Many companies are looking for a path to migrate from legacy monolithic applications, towards a more modern, cloud-based microservice architecture. But there are many choices along the way.

    How do you pick between two of the biggest trends in cloud architecture at the moment: containers or serverless?

    In this session you'll learn about the strengths of both approaches, how to pick the right approach for your business requirements, and some of the key challenges you need to be prepared for.

    We'll see how this can work in practice by looking at several key Azure technologies that enable these architectures such as Azure Kubernetes Service, Azure Functions, and Azure Container Instances.

    And we'll see how the strengths of serverless and containerization can even be combined together into a hybrid architecture providing the best of both worlds.

  • Nov

    Microservices and Containers

    About this talk

    This session introduces the benefits of microserivces, and how containerization can help meet some of the challenges of building and operating a microservices application

  • Nov

    Microservices in Azure: Containers or Serverless

    About this talk

    Many companies are looking for a path to migrate from legacy monolithic applications, towards a more modern, cloud-based microservice architecture. But there are many choices along the way.

    How do you pick between two of the biggest trends in cloud architecture at the moment: containers or serverless?

    In this webinar you'll learn about the strengths of both approaches, how to pick the right approach for your business requirements, and some of the key challenges you need to be prepared for.

    We'll see how this can work in practice by looking at several key Azure technologies that enable these architectures such as Azure Kubernetes Service, Azure Functions, and Azure Container Instances.

    And we'll see how the strengths of serverless and containerization can even be combined together into a hybrid architecture providing the best of both worlds.

  • Oct

    Moving to Microservices: Containers vs Serverless

    About this talk

    Many companies are looking for a path to migrate from legacy monolithic applications, towards a more modern, cloud-based microservice architecture. But there are many choices along the way.

    How do you pick between two of the biggest trends in cloud architecture at the moment: containers or serverless?

    In this session you'll learn about the strengths of both approaches, how to pick the right approach for your business requirements, and some of the key challenges you need to be prepared for.

    We'll see how this can work in practice by looking at several key Azure technologies that enable these architectures such as Azure Kubernetes Service, Azure Functions, and Azure Container Instances.

    And we'll see how the strengths of serverless and containerization can even be combined together into a hybrid architecture providing the best of both worlds.

  • Jan

    BRK30130 Moving to Microservices: Containers vs Serverless

    About this talk

    Many companies are looking for a path to migrate from legacy monolithic applications, towards a more modern, cloud-based microservice architecture. But there are many choices along the way. How do you pick between two of the hottest trends in cloud architecture at the moment: containers and serverless?

    In this session you'll learn about the strengths of both approaches, how to pick the right approach for your business requirements, and some of the key challenges you need to be prepared for.

    We'll see how this can work in practice by looking at several key Azure technologies that enable these architectures such as Azure Kubernetes Service, Azure Functions, and Azure Container Instances.

    And we'll see how the strengths of serverless and containerization can even be combined together into a hybrid architecture providing the best of both worlds.

  • Jan

    BRK30129 Getting Started with Containers on Azure

    About this talk

    Did you know that Azure has at least seven(!) different services that can run Docker containers? There's a bewildering variety of options available including Virtual Machines, Azure Container Instances, App Service, Service Fabric, Service Fabric Mesh, and Azure Kubernetes Service. If you're new to containers it's easy to get stuck in analysis paralysis as you decide on a hosting option. In this session Mark will provide a high-level overview of the strengths of each of these services, explain how to choose the best one for your requirements, and demonstrate how simple the Azure CLI makes it to deploy containers in Azure.

2019

  • Oct

    Get out of (Technical) Debt

    About this talk

    Why is it that so often, despite our best intentions, our codebase seems to get progressively more and more difficult to work with over time? In this talk, we'll look at the various ways that decisions we made in the past can slow down our progress in the future. We'll see some ways to measure the problem, how you can work with management and developers towards addressing the issue, and ways you can avoid getting too deep into "technical debt".

  • Feb

    BRK3631 Building Reliable Serverless Workflows with Azure Durable Functions

    About this talk

    Building reliable, cloud-based workflows is not a trivial task, and yet is necessary to model real-world business processes that may take many days to complete. There are many challenges involved including: how can we keep track of workflow progress? How can we effectively handle errors wherever they occur in the pipeline? What happens if something we were waiting for never happens? What if we need to run some parts of the workflow in parallel?

    In this talk, Mark will show how we can meet all of these challenges with Azure Durable Functions. We'll see how Durable Functions offers an elegant solution for constructing complex workflows out of simple building blocks, resulting in reliable, observable, scalable and efficient workflows..

  • Feb

    Getting Started with Containers on Azure

    About this talk

    Did you know that Azure has at least seven(!) different services that can run Docker containers? There's a bewildering variety of options available including Virtual Machines, Azure Container Instances, App Service, Service Fabric, Service Fabric Mesh, and Azure Kubernetes Service. If you're new to containers it's easy to get stuck in analysis paralysis as you decide on a hosting option. In this session Mark will provide a high-level overview of the strengths of each of these services, explain how to choose the best one for your requirements, and demonstrate how simple the Azure CLI makes it to deploy containers in Azure.

2018

  • Dec

    Building Serverless Workflows with Durable Functions

    About this talk

    Azure Functions makes it super quick and easy to write create cloud-based functions to respond to events, but once you start connecting functions together into a workflow, things can get complex and chaotic very quickly. In this session Mark will demonstrate how Durable Functions lets you take back control of your serverless workflows, allowing you to keep track of progress and implement advanced workflow patterns such as fan out and fan in, and waiting for external approval.

  • Dec

    Getting Started with Containers in Azure

    About this talk

    There are loads of ways to run containers in Azure, but its not necessarily obvious how you should choose between them. This session will guide you through four key services in Azure that can host containers, explaining their key benefits, and demonstrate how quickly you can get started with them using a few simple Azure CLI commands.

  • Oct

    HyperLINQ - take your LINQ skills to the next level

    About this talk

    LINQ is an essential part of every C# developer's toolbox, but are you getting the most out of it? Working with collections of data is a core part of pretty much every application you'll ever write, so becoming more effective at wielding the power of LINQ, has the potential to make a big impact on the quality of your code.

    In this talk Mark will introduce several tips and tricks that will take your LINQ code to the next level. We'll look at using pipelines, thinking in patterns, being lazy as well as how to avoid performance pitfalls and extend LINQ.

  • Sep

    Order from Chaos - Managing Serverless Workflows with Durable Functions

    About this talk

    It can get very complicated trying to track and manage the progress of workflows when they are formed of multiple stateless isolated functions.

    In this talk, Mark will demonstrate how Durable Functions extends Azure Functions with orchestrators enabling you to manage the state of your workflows, support error handling, retries and simplifying the implementation of more complex patterns such as fan out, and waiting for external events.

  • Feb

    Docker on Azure

    About this talk

    Over the last few years Docker has not only revolutionised the Linux landscape but has been fully embraced by Microsoft, with rich containerization support coming to Windows, .NET, Visual Studio and Azure. Azure Container Instances (ACI), managed Kubernetes (AKS) and Web Apps on containers are just a few of a broad range of options for running containerized workloads in Azure. We'll look at how you can decide which of these offerings is right for you, and the benefits of hosting serverless containers in Azure.

  • Jan

    Get out of technical Debt

    About this talk

    Why is it that so often, despite our best intentions, our codebase seems to get progressively more and more difficult to work with over time? In this talk, we'll look at the various ways that decisions we made in the past can slow down our progress in the future. We'll see some ways to measure the problem, how you can work with management and developers towards addressing the issue, and ways you can avoid getting too deep into "technical debt".