Find your next readFilters
Reset

Page 11 of 41 (Total items: 815)
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 Applications. This is not a complete guide to logging;…

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 way, when I get a chance I'll fix that. Why the Slowdown? I…

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 users could easily copy the code to their clipboard. This is…

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 it. Why? The why is to make it easier to work with configuration.…

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 Website project (Mostlylucid) and the Scheduler Service…

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 implement my own version of this and share how I did it.…

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 cover how I added new panels to view the data in Grafana.…

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 love to work remotely; I'm deaf so offices aren't a great…

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 I wanted to add performance monitoring to the mix. In this…

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 simple search page using HTMX and EF Core in an ASP.NET Core…

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 ASP.NET Core with JavaScript using HTMX to implement a Donut…

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 yet, HTMX has some elements which make this tricky HTMX and…

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 how to I use Polly to handle retries in this application.…

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 post. This was FINE while I was creating more features which I…

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 simple donut hole caching technique using HTMX. The Problem One…

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 of my RSS feed; this post goes into why and how I solved it.…

Using Umami Data for Website Stats

One of my projects since starting this blog is an almost obsessive wish to track how many users look at my website. To do this I use Umami and have a BUNCH of posts around using and setting up Umami. I also have a Nuget package which makes it possible to track…

Unit Testing Umami.Net - Testing Umami Data Without Using Moq

In the previous part of this series where I tested Umami.Net tracking methods The Problem In the previous part I used Moq to give me a Mock<HttpMessageHandler> and return the handler used in UmamiClient, this is a common pattern when testing code that uses…

Unit Testing Umami.Net - Logging in ASP.NET Core

I'm a relative noob using Moq (yes I'm aware of the controversies) and I was trying to test a new service I'm adding to Umami.Net, UmamiData. This is a service this allows me to pull data from my Umami instance to use in stuff like sorting posts by popularity…

Stress-Free Interviewing of Software Developers

This is Part 1 of the series. Part 2: What Actually Works? reviews the research behind developer interviews and explores a proposed skill-ledger approach. Introduction One of the MANY things that bug me on LinkedIn is the "how to interview developers" post.…

Page 11 of 41 (Total items: 815)
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.