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
Legacy Code
Logging
Markdown
Mermaid
Microsoft
Moq
Nuget
OpenSearch
PagingTagHelper
Polly
Postgres
Prometheus
Random
Razor
Resume
RSS
Seq
Serilog
TagHelper
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
Querying Postgres Data in Grafana
In a previous post I detailed how I added Grafana to my docker-compose to provide insights into performance for this site. As I have Umami on here AND self host the database for that in this post I'l...
Thursday, 19 September 2024 19:30
//2 minute read
Freelancing and disappointment
IF YOU'RE LOOKING FOR A DEVELOPER / LEADER PLEASE CONTACT ME
I've been a freelance developer for more than a decade now (since I left Microsoft really). For the most part it's been perfect for me. I...
Thursday, 19 September 2024 18:30
//2 minute read