Maarten Balliauw
.NET and web. Works at Duende Software.
Antwerpen, Belgium
Actions
Maarten Balliauw loves building web and cloud apps. His main interests are in .NET web technologies, C#, Microsoft Azure and application performance. He is Head of Customer Success at Duende Software. Creator and maintainer of https://speaker.travel. He's an ASP Insider and former Microsoft MVP. Maarten is a frequent speaker at various national and international events and organizes Azure User Group events in Belgium. In his free time, he brews his own beer. Maarten's blog can be found at https://blog.maartenballiauw.be.
Area of Expertise
Topics
#nullable enable - unlock the power of C# nullability
Get ready to bid farewell to the dreaded System.NullReferenceException and step into the wonderful world of C# nullability!
In this session, we'll unravel the hidden magic behind nullability syntax and annotations, unleashing the power of static analysis. But hold on, it's not as simple as a sprinkle of ? and ! here and there. We'll delve into the depths and discover that it's no silver bullet either. Yep, you'll still need to keep an eye on those non-nullable variables!
Come along on a journey through the essentials of C# nullability, and let's explore techniques and approaches for integrating it into your existing code bases.
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos speaker
After buying a set of Sonos-compatible speakers at IKEA, I was disappointed there's no support for playing audio from a popular video streaming service. They stream Internet radio, podcasts and what not. Well, not that service I want it to play!
Determined - and not knowing how deep the rabbit hole would be - I ventured on a trip that included network sniffing on my access point, learning about UPnP and running a web server on my phone (without knowing how to write anything Android), learning how MP4 audio is packaged (and has to be re-packaged). This ultimately resulted in an Android app for personal use, which does what I initially wanted: play audio from that popular video streaming service on Sonos.
Join me for this story about an adventure that has no practical use, probably violates Terms of Service, but was fun to build!
How .NET manages memory - a trip down memory lane
The .NET Garbage Collector (GC) is great. It gives our applications the illusion of having unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? What are generations? Frozen and pinned objects? HELP!!
In this talk, we’ll go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET – making our apps better and our cloud spend cheaper. Expect profiling, Intermediate Language (IL), ClrMD and more!
HTMX and ASP.NET Core - I don’t know how to React
Really, I don't know how to write React! What I do know is server-side ASP.NET Core, HTML and JavaScript. Which is all you'll need to build rich front-ends that feel like they are running client-side. Welcome, HTMX!
You can learn the basics of HTMX within a few minutes, and start using its rich collection of features to build any UI experience - usually a few HTML attributes are enough. And thanks to ASP.NET Core Tag Helpers, even those become easier to work with.
In this session, we'll look at how you can get started with HTMX, explore some of its concepts, and look at some common scenarios like typeahead search, server-side modal dialogs, input validation, polling, and more. You'll walk a way with a new appreciation for the maturity of ASP.NET Core, and the simplicity of HTMX.
Going Passwordless - A Practical Guide to Passkeys in ASP.NET Core
Passkeys, using the WebAuthn protocol, replace passwords with stronger, simpler, and phishing-resistant authentication using your device's built-in security or a dedicated hardware key.
This session provides a practical introduction to passkey authentication and its implementation in ASP.NET Core applications. We'll explore the fundamentals of passkeys and the underlying public key cryptography. Then, we'll demonstrate how to integrate passkey authentication into your projects, supporting OS management, password managers (like 1Password), and hardware security keys (like a Yubikey).
Join this talk if you want to get a thorough understanding of passkeys and the skills to integrate them into your applications.
Building a supply chain attack with .NET and NuGet
"Haha, npm had yet another supply chain attack!"
I'm waiting for the day this happens with .NET and NuGet. The tools are there! A number of interesting techniques exist to smuggle code into someone's codebase, malicious or genuine.
In this talk, we'll look at several .NET, NuGet and MSBuild techniques to inject code into a software supply chain. We'll also look at some ways to mitigate the risk (but you can't eliminate it).
What are my options? Configuration in .NET
Configuration in .NET? That's appsettings.json, environment variables, and that's it, right? Not even close. The .NET configuration system is one of the most flexible and underappreciated parts of the framework, and most teams use about 10% of what it offers.
In this session, we'll see layered configuration providers and how they compose, hot reload, the real difference between IOptions, IOptionsSnapshot, and IOptionsMonitor, options validation that catches misconfiguration at startup instead of in production, and more. Also, did you know there's feature flags support without the Azure service?
You'll leave with a better mental model of how configuration flows through your application, and a few tricks you'll want to use right away.
What's in a Token? Dissecting auth cookies and JWTs in ASP.NET Core
What's inside that (sometimes chunky) authentication cookie in an ASP.NET Core application? Why is your JWT 4KB and growing? And why does login break the moment you add one more claim?
In this session, we'll crack open tokens and cookies like a forensic investigator. We'll decode JWTs by hand, inspect the ASP.NET Core authentication cookie byte by byte, watch token negotiation happen in real-time with browser DevTools, and debug the kind of auth issues that make you clear all cookies in frustration. Raw bytes, practical debugging, and a few "I had no idea that was in there" moments.
Learn what travels over the wire, what gets stored where, and what to check when things break.
Middleware You Didn't Know You Needed
ASP.NET Core's middleware pipeline is one of the most elegant parts of the framework, yet most of us only use the defaults. Thing is, there's a bunch of built-in middleware that ships with ASP.NET Core but isn't wired up by default. UseResponseCompression, UseRequestDecompression, UseResponseCaching, UseRequestLocalization, UseRequestTimeouts, UseOutputCache, UseRateLimiter, UseStatusCodePages are all there, waiting to be discovered.
In this session, we'll explore these overlooked middlewares, understand when to use (and when to avoid) each one, and build a few custom middleware components live on stage. Think Server-Timing headers for browser DevTools, a feature flag gate, and request body buffering, with each small enough to understand in minutes, useful enough to drop into your project tomorrow.
You'll leave with a new appreciation for what ASP.NET Core gives you out of the box, and the patterns to extend it when it doesn't.
Maarten Balliauw
.NET and web. Works at Duende Software.
Antwerpen, Belgium
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top