A Paging View Component ASP.NET Core Tag Helper (Part 1.1, kinda sorta...A Flippy Tag Helper)
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 Paging View Component ASP.NET Core Tag Helper (Part 1 the Bare-Bones)
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

When Your Customers Don't Pay; on time or AT ALL (a contractor's life pt. 2)
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

Working on Legacy Codebases (or a contractor's life)
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

On Logging in ASP.NET Applications (Part 1...probably)
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

Blog Update
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

Resume | Scott Galloway | .NET Developer | Remote
I'm a versatile and accomplished developer and lead with an over 25 year track record building teams and platforms and revitalising startups. Proficient in C#, ASP.NET, and modern web frameworks, with...

Sunday, 29 September 2024 22:30

//

6 minute read

A Copy Button For Highlight.js
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

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

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

A Smarter Search Dropdown with HTMX
In a previous post I showed you how to create a search dropdown using Alpine.js and HTMX then I showed how we could enable Cross-Site Request Forgery protection using the AntiforgeryRequestToken in...

Monday, 16 September 2024 22:30

//

5 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

logo

©2024 Scott Galloway