On a work project I've been using and abusing HTMX to build an admin UI. As part of this I'm using the lovely SweetAlert2 Javascript library for my confirmation dialogs. It works great but I also...
Monday, 21 April 2025 20:05
//
13 minute read
HTMX is a great library for making your web applications more dynamic and responsive. In this post, I'll show you how to use HTMX to show a toast notification and swap content on the page.
One of the...
Saturday, 12 April 2025 13:33
//
8 minute read
As part of my ongoing sage with my paging tag helper I have now separated out PageSize into its own tag helper. This is to make the tag helper more flexible and to allow for more complex paging...
Tuesday, 25 March 2025 22:12
//
7 minute read
Well I've been playing with a nuget package for doing paging stuff in ASP.NET and well I never thought there'd be 1.7k downloads. I thoght not making a 1.0 version would make it clear that it was a...
Thursday, 20 March 2025 21:30
//
1 minute read
So while building out a project I originally built the paging tag helper for I also cam across ANOTHER need. A way to easily build sorting functionality for a table of results with HtMX...
Monday, 17 March 2025 22:12
//
7 minute read
A work project the other day necessitated implementing paging form results. My go-to paging tag helper has always been the pagination Tag Helper by Darrel O'Neill as I wrote about here however for...
Tuesday, 11 March 2025 17:12
//
14 minute read
In Part 3, we built a beautiful visual editor. But our workflows only run when we manually trigger them. In this final post, we'll make workflows truly autonomous using Hangfire for:
Scheduled...
Wednesday, 15 January 2025 18:00
//
12 minute read
In Part 2, we built a powerful workflow engine. But workflows defined in JSON aren't very user-friendly. In this post, we'll create a stunning visual workflow editor - think "dummy's Node-RED" - using...
Wednesday, 15 January 2025 16:00
//
12 minute read
In Part 1, we introduced the concept of building a custom workflow system. Now it's time to get our hands dirty! In this post, we'll build the core workflow engine - the heart of our system that...
Wednesday, 15 January 2025 14:00
//
10 minute read
Workflow systems are everywhere in modern applications - from simple approval processes to complex multi-step automations. While there are excellent commercial solutions like Temporal, Airflow, and...
Wednesday, 15 January 2025 12:00
//
7 minute read
In my previous post I spoke about the difficulties of being a contractor and how sometimes you can be left high and dry when a customer doesn't pay.
This can happen for a few reasons;
They CANNOT pay...
Tuesday, 12 November 2024 06:30
//
11 minute read
As a freelance developer one of the skill-sets you need to learn quickly is how to work on existing codebases effectively. I've been lucky to have built a bunch of from--scratch systems; this is a JOY...
Wednesday, 06 November 2024 22:30
//
17 minute read
Logging is OF COURSE a critical part of applications however I often see it misunderstood / misused in ASP.NET applications. This is part post and part manifesto on how to effectively log in ASP.NET...
Sunday, 27 October 2024 17:00
//
10 minute read
You may noticed my frantic frequency of posts (I was at two a day for a while month!) has slowed down of late so I thought I'd give a quick update.
NOTE: Translation seems to have broken along the...
Saturday, 12 October 2024 14:40
//
2 minute read
In this site I use Hightlight.js to render code snippets client side. I like this as it keeps my server side code clean and simple. However, I wanted to add a copy button to each code snippet so that...
Saturday, 28 September 2024 14:15
//
5 minute read
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
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
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
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
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