Categories
Alpine
Alpine.js
ASP.NET
ASP.NET Core
Blog
C#
Clearing the smoke
DaisyUI
Docker
EasyNMT
Email Newsletter
Entity Framework
FluentEmail
Freelancing
GitHub Actions
Google Auth
Grafana
Hangfire
Highlight.js
HTMX
IHostedService
ImageSharp
Interviewing
introduction
Javascript
Markdown
Mermaid
Microsoft
Moq
Nuget
OpenSearch
Polly
Postgres
Prometheus
Razor
Resume
RSS
Seq
Serilog
Tailwind
Umami
Unit Testing
WebAPI
xUnit
Custom Config Section Extensions
It seems like everyone has a version of this code, I first came across this approach from Filip W and recently my old colleague Phil Haack has his version.
Just for completion this is how I do...
Friday, 27 September 2024 06:20
//4 minute read
A Newsletter Subscription Service Part 2 - Refactoring the Services (and a little Hangfire)
In part 1 of this series I showed you how I created a new Newsletter Subscription page. In this part I'll cover how I restructured the solution to allow for sharing of Services and Models between the...
Monday, 23 September 2024 10:45
//7 minute read
A Newsletter Subscription Service Pt. 1 - Requirements and Subscription Page
While perusing other people's blogs I noticed a lot of them have a subscription service which allows users to sign up to have an email sent to them weekly with the posts from that blog.
I decided to...
Saturday, 21 September 2024 19:06
//11 minute read
Using Grafana and Prometheus to Monitor ASP.NET Core 8+ Applications
Monitoring is an essential part of maintaining the health and performance of your applications. I already have this site monitoring user visits using Umami and exceptions and errors using Seq but now...
Wednesday, 18 September 2024 04:45
//6 minute read
Simple Search Using HTMX & EF Core for ASP.NET Core
This is just a quick article as it builds on the others in the full text search series such as the typeahead dropdown and Postgres full text search.
In this post, I will show you how to implement a...
Tuesday, 17 September 2024 17:36
//9 minute read
HTMX (and a little Alpine.js) for a SPA-like experience in ASP.NET Core
In this site I use HTMX extensively, this is a super easy way to make your site feel more responsive and smoother without having to write a lot of JavaScript.
NOTE: I'm not entirely happy with this...
Sunday, 15 September 2024 06:45
//8 minute read
Using Polly For Retries
Polly is a critical part of any .NET developer's toolkit. It is a library that allows you to define policies for handling exceptions and retries in your application. In this article, we will explore...
Sunday, 15 September 2024 02:20
//9 minute read
Using A Hybrid Approach To Blogging
I've blogged many times about how I use Markdown to create my blog posts; I really like this approach but it has one major drawback - it means I have to do a complete Docker build cycle to update a...
Saturday, 14 September 2024 00:30
//10 minute read
Simple 'Donut Hole' Caching with HTMX
Donut hole caching can be a useful technique where you want to cache certain elements of a page but not all. However it can be tricky to implement. In this post I will show you how to implement a...
Thursday, 12 September 2024 16:00
//4 minute read
Umami.Net and Bot Detection
So I've posted a LOT in the past on using Umami for analytics in a self-hosted environment and even published the Umami.Net Nuget pacakge. However I was having an issue where I wanted to track users...
Thursday, 12 September 2024 14:50
//8 minute read