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
320 posts
ASP.NET Core 7 has built-in dark mode for error pages

Shows that ASP.NET Core 7 preview 7's developer exception page detects dark mode via an @media (prefers-color-scheme: dark) CSS query, needing no code changes beyond switching Windows to Dark in Settings, and compares it with elmah.io's own Dark Screen of Death Chrome extension, kept available. ...

Search videos through the YouTube Data API from C#

Demonstrates searching YouTube from a C# Razor Pages app using the Google.Apis.YouTube.v3 NuGet package: enabling the YouTube Data API v3 in Google's console, registering a singleton YouTubeService with an API key, then calling Search.List with Type=video and Order=Relevance to render results. ...

How to integrate with the Trello API from .NET/C#

Shows how to integrate with Trello's REST API from a .NET 6 console app using Microsoft.Extensions.Hosting, Microsoft.Extensions.Http, Spectre.Console, and System.Net.Http.Json: generating an API key and token from trello.com/app-key, configuring an OAuth HttpClient, then calling members/me/boards. ...

Collect and track Lighthouse results with elmah.io

Introduces elmah.io Uptime Monitoring's new beta Lighthouse integration, which runs Google's Lighthouse audit daily against monitored pages and plots the resulting 5 scores (0-100) for performance, accessibility, SEO, and PWA support on the Uptime History view, so regressions are easy to spot. ...

Download, parse, and store SSL certificates in C#

Shows how to fetch an SSL certificate in C# using TcpClient and SslStream instead of HttpClient hacks, load it into an X509Certificate2, export it to a .cer file, then parse the certificate's distinguished name subject with the Rfc2253 NuGet package to pull out just the common name. ...

Introducing the Dark Screen of Death

Announces Dark Screen of Death (DSoD), a free Chrome extension adding a toggle button directly on ASP.NET Core's developer exception page, the "White Screen of Death," to switch it into dark mode instantly during late-night debugging without touching your code; available on the Chrome Web Store. ...

Bulk download from Azure Blob Storage with C#

Since Azure.Storage.Blobs has no built-in bulk download method, shows how to parallelize per-blob downloads with Task.WhenAll and a SemaphoreSlim(50) to cap concurrency, points to AsPages for larger containers, and suggests AzCopy or Azure Storage Explorer for file-system transfers instead. ...

Added 5 new sponsorships to the batch

Introduces the 5 latest open-source maintainers added to elmah.io's GitHub Sponsors batch for 12 months: James Jackson-South (ImageSharp/ImageProcessor), Mads Kristensen, Steve Gordon (.NET Elasticsearch client), Dustin Moris Gorski (.NET Advent Calendar), and Brandon Seydel (MailChimp.NET). ...

Test run of HTTP Logging in ASP.NET Core 6

Walks through enabling ASP.NET Core 6's app.UseHttpLogging() middleware, scoping the log level to Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware in appsettings.json to cut noise, routing entries to elmah.io via Elmah.Io.Extensions.Logging, and trimming output with HttpLoggingFields options. ...