Thomas Ardal

Thomas Ardal

Meet Thomas, the founder and developer behind elmah.io. Thomas blogs about everything technical from C# and ASP.NET Core to machine learning.

Denmark
313 posts
How to force reload cached JSON Schemas in Visual Studio

I recently made some changes to the appsettings.json schema available on schemastore.org. I struggled a bit getting Visual Studio to pick up the recent changes, so here's a very short blog post for anyone with the same problem. For anyone not familiar with Schema Store, it& ...

How to modify response headers in ASP.NET Core middleware

I had a problem setting response headers in ASP.NET Core that I wanted to share some findings on. This might be clear to a lot of you but hopefully, this will help someone in the same situation as me. Here goes! In a small internal API, I wanted to ...

Creating custom debug visualizers for Visual Studio 2022

Developing extensions for Visual Studio has been somewhat hard previously, but it seems like the VS team is really trying to improve and simplify things. I've recently experimented with creating a custom debug visualizer for showing exceptions and in this post, I'll share some of the ...

9 "hidden" features in Visual Studio that you may not know

Visual Studio is probably the tool I use most throughout my week. It's such a versatile tool with lots of features. The downside of the extent of buttons and options is that it offers some features that you didn't even know about it. I constantly discover ...

Parsing websites in C# with Html Agility Pack or AngleSharp

While developing the "new" canonical check feature for elmah.io Uptime Monitoring, I had to parse a website from C# and inspect the DOM. I have been using Html Agility Pack in the past so this was an obvious choice. I also looked at what happened in the ...

Building and deploying AWS email templates with Azure DevOps

This is the third and final post (for now) in the series about developing email templates with MJML and deploying them to AWS. In the previous post, we developed a Gulp script to automatically build HTML from the MJML file and insert it in a template file for AWS. In ...

Building MJML email templates with Gulp

This is the second post in the series about building email templates with MJML and deploying them on AWS. In the previous post, we learned about MJML and Handlebars.js for creating cross-browser email templates with dynamic content. In this post, I will show you how you can script the ...

Creating AWS email templates with Handlebars.js and MJML

In this series, I'll share how we have developed elmah.io's email templates currently sent out using Amazon Web Services (AWS). This first post will introduce template development using MJML and Handlebars.js. In the following posts, I'll explain the process of building them ...

Normalize and compare URLs with C#

I'm constantly tweaking the uniqueness detection on elmah.io. It's the feature that will identify if an error has been logged previously which will trigger a range of other features like notifications. A while back, I wanted to add support for identifying GUIDs as part of ...