RSSAmplifier

Blog

Sound Code - Mark Heath's Blog

Mark Heath's development blog.

RSS feed ↗10 posts

Latest posts

NAudio 3

I'm really pleased to announce the release of NAudio version 3 , which includes a complete modernization of the entire library, many bug-fixes and performance improvements, and adds several key new features including cross-platform support on Linux and the ability to host VST 3 effects. There's too many changes to discuss them all in detail in this post, but I did want to highlight a few of the…

Faster blob copying in Azure Blob Storage

I generally try to avoid copying blobs in Azure and just reference a single copy, but there are some situations where you do need to make a copy. The technique you choose can make a big difference to how long that copy takes. For example, the "naive" approach of downloading the source and re-uploading it to the destination is conceptually simple but likely to be very slow. On my laptop, a 10GB…

NAudio 3 Effects Framework

I've always been fascinated with audio effects, ever since I got my first "effects unit" - a "Realistic Reverb" from Radio Shack/Tandy. That was shortly followed by my first digital multi-effects unit - the BOSS SE-50. And so it was only natural that when I created NAudio I wanted to make it possible to code your own effects. In earlier versions of NAudio, there were only a few simple effects…

Production-ready, AI-assisted Development and Workflows

Anyone who's tried using the frontier AI coding assistants such as Claude Code or Open AI Codex will know that they can rapidly accelerate development, generating new code much faster than a typical human developer. But that still leaves a big question - is AI-generated code ready to deliver and safe for production? It's one thing for your code to be "demo-ready", but that's not necessarily the…

Announcing NAudio 3 Preview

I'm pleased to announce that the first preview builds of NAudio 3 are available on NuGet . I have put a lot of time into this over the past few months, and with the assistance of Claude Code (which I wrote about recently ) I've managed to make significant progress. In this post I want to cover the most important things you need to know about what has changed. Modernization The key theme has been…

NAudio Modernization with Claude Code

Almost 25 years ago, I created NAudio , an open-source audio library for .NET. Over the years I've had periods where I've done a lot of work on it, and periods where I barely touched it. That's certainly been the case recently, partly because I've been busy with other projects, and partly because creating a version 3 of NAudio requires extensive modernization and refactoring, which under normal…

Refactoring to SOLID in C#

I'm really pleased to announce the publication of my latest Pluralsight course, "Refactoring to SOLID in C# 14" . It aims to provide C# developers with practical techniques and strategies to tackle the unique challenges of working in legacy codebases, such as dealing with technical debt, modernizing outdated dependencies, fixing code smells, and improving test coverage. Legacy Code Most…

The Future of Tech Blogging in the Age of AI

I've been blogging on this site for almost 20 years now, and the majority of my posts are simple coding tutorials, where I share what I've learned as I explore various new technologies (my journey on this blog has taken me through Silverlight, WPF, IronPython, Mercurial, LINQ, F#, Azure, and much more). My process has always been quite simple. First, I work through a technical challenge and…

Securing Back-end App Service Web Apps with Private Endpoints

Back in 2019, I wrote about securing back-end App Service web apps using VNets and Service Endpoints . That approach worked well at the time, but Azure has moved on significantly since then. In this post, I'll show the modern way to achieve the same thing using Private Endpoints — which is now Microsoft's recommended approach. The Problem The scenario is the same as before. You have a front-end…

Does Code Quality Still Matter in the Age of AI-Assisted Coding?

I'm increasingly hearing the sentiment that now AI models can write code for us, we no longer need to concern ourselves with concepts like "clean code", eliminating code smells, following SOLID principles etc. All of these concerns, it's argued, are purely an attempt to make the codebase more comprehensible for humans . But if humans are no longer reading the code, what does it matter? The only…