.NET Aspire 9.2 is here, bringing exciting new features to simplify infrastructure visualization. Whether you’re managing microservices or exploring Docker-based architectures, this release makes it easier than ever to create detailed infrastructure diagrams with minimal effort. Let’s dive into the highlights and see...

Logs are a critical part of monitoring and debugging modern applications. By integrating OpenTelemetry logs with Grafana using Loki and Alloy, you can centralize your log data, making it easier to analyze and monitor your .NET applications. In this blog, I’ll walk you through the setup process and share how these tools...

Fun with AI AI tools like ChatGPT are evolving rapidly, and their creative capabilities are nothing short of amazing. Recently, I decided to test its image generation features with a fun and quirky prompt. The results? A personalized action figure concept that blew my mind! Let me walk you through the process and share...

Automating repetitive tasks is one of the best ways to save time and focus on what matters most. In this blog, I’ll show you how I used AI with .NET to automate the creation of social media posts for my blog. By leveraging my blog’s RSS feed, OpenAI, and Semantic Kernel, I was able to generate engaging posts...

I needed to merge two separate projects into one repository while keeping the full commit history from both sides. Copy-paste would have worked for the files, but history would have stayed trapped in the old remotes. This approach adds the second repo as a remote, fetches it, and merges with --allow-unrelated-histories...

I have been reading The Pragmatic Programmer and I have to say it is a fantastic book. It is full of great advice and tips for programmers. I highly recommend it to anyone who is a programmer at any level. Lots of the advice is common sense and things I already do, but there are also lots of things I know in the back...

While at NDC London I heard a great talk by Matt Burke about exceptions. I will share some of the points here. The talk was based in part on the blog post Vexing Exceptions by Eric Lippert. It defined four types of exceptions: Fatal Exceptions Boneheaded Exceptions Vexing Exceptions Exogenous Exceptions Fatal...

I was lucky enough to hear Mads Torgersen (The Lead Designer of the C# language) speak at NDC London about some of the plans the team has for the next version of C#. Many of these new features are in the preview stage, and can be enabled by using the c# preview flag in your csproj file. The C# team welcomes feedback on...

I have just come home from volunteering at NDC London. It was a great experience and I learned a lot. I met some great people and had a lot of fun. I can’t wait to go back next year. You may have heard of NDC London before. It is a conference for software developers. It is held in London every year and attracts people...

Grafana is an open-source analytics and monitoring platform that lets you query, visualise, and alert on metrics. It pairs well with Prometheus for scraping application endpoints. This post walks through a Docker Compose stack that monitors a simple .NET API. Setting up Grafana To visualise metrics data, we need a few...