Stuart Lang

Hi there!

My name is Stuart Lang. I am a software engineer passionate about F#, C# and .NET. I love attending and helping run community tech events, and contributing to open source.

Latest Articles

Managing Package Versions Centrally

> TL;DR - Microsoft has quietly shipped the ability to centrally manage package versions in the latest .NET Core SDK, in this post we'll look at some...…

Check for Breaking Changes with ApiCompat

When we maintain a library that's used by others, we want to shield them from breaking changes and use SemVer as a way of indicating breaking changes...…

Defer with C# 8.0

Go (https://golang.org [https://golang.org/]) has a really nice little language feature called defer, which is a keyword that lets you defer a...…

Trying Out Daily Builds of Roslyn

I wanted to try out a daily build of Roslyn to see the effect of a recent change to the C# compiler. I know how to do this for older .NET Framework...…

.NET Core 3 Local Tools

.NET Tools are great, and we've known them for a while in .NET Core as ".NET Core Global Tools", but often we don't want these tools to be shared...…

Xamarin Forms Accessible Headings

If you are developing a mobile app, it's worth enabling VoiceOver on iOS and considering the usability from the perspective of people who rely on...…

A Look at JsonDocument and System.Text.Json

Today I was writing a tool that needed to handle JSON, the content was relatively large and I only needed to pick out a few parts of the structure,...…

Testing with HttpClient Interception

In my last post [https://stu.dev/generating-typed-client-for-httpclientfactory-with-nswag/] I showed how to automatically generate a typed client for...…

Miscellaneous C# Async Tips

There are lots of great async tips out there, here a random few that I've collected over the past couple of years that I haven't seen much written...…

BigInteger to String in Any Base with F#

I spend a lot of time persuading people that F# is not about maths and finance, it's a great general purpose language that shines in many areas (such...…

Pattern Matching F# Union Types in C# 7

Starting with C# 7.0, there is basic pattern matching support. I want to look at using this to interop with F# Discriminated Unions, and see what...…