Adding XSRF for JavaScript
When adding the search box in the prior article, we left out a critical security feature: XSRF protection. This article will cover how to add XSRF protection to the search box. What is XSRF? XSRF...

Thursday, 22 August 2024 05:30

//

2 minute read

Full Text Searching (Pt 1.1)
In the last article I showed you how to set up a full text search using the built in full text search capabilities of Postgres. While I exposed a search api I didn't have a way to actually use it...

Wednesday, 21 August 2024 20:30

//

5 minute read

Full Text Searching (Pt 1)
Searching for content is a critical part of any content heavy website. It enhances discoverability and user experience. In this post I'll cover how I added full text searching for this site Next parts...

Tuesday, 20 August 2024 12:40

//

10 minute read

Adding Entity Framework for Blog Posts (Pt 6)
Now that I have this blog running using Entity Framework I can add new posts and languages easily. I just add a new markdown file to the project and check it in. The GitHub action triggers and the...

Tuesday, 20 August 2024 05:45

//

3 minute read

Adding a C# Umami Tracking client
In a previous post we added a client for fetching Umami analytics data. In this post we will add a client for sending tracking data to Umami from a C# application. Umami is a lightweight analytics...

Sunday, 18 August 2024 20:13

//

6 minute read

A SimpleMDE Markdown Preview Editor with server side rendering.
One thing I thought it would be fun to add is a way to look at the markdown for the articles on the site with a live rendering of the markdown. This is a simple markdown editor that uses SimpleMDE and...

Sunday, 18 August 2024 17:45

//

6 minute read

Adding Entity Framework for Blog Posts (Part 5)
See parts 1 and 2 and 3 and 4 for the previous steps. Introduction In previous parts we covered how to set up the database, how our controllers and views are structured, how our services worked, and...

Sunday, 18 August 2024 01:20

//

5 minute read

Adding Entity Framework for Blog Posts (Pt. 4)
See parts 1 and 2 and 3 for the previous steps. Introduction In previous parts we covered how to set up the database, how our controllers and views are structured, and how our services worked. In this...

Saturday, 17 August 2024 20:00

//

6 minute read

Handling (unhandled) errors in ASP.NET Core
In any web application it's important to handle errors gracefully. This is especially true in a production environment where you want to provide a good user experience and not expose any sensitive...

Saturday, 17 August 2024 02:00

//

3 minute read

Adding Entity Framework for Blog Posts (Part 3)
You can find all the source code for the blog posts on GitHub Parts 1 & 2 of the series on adding Entity Framework to a .NET Core project. Part 1 can be found here. Part 2 can be found...

Friday, 16 August 2024 18:00

//

9 minute read

Adding Entity Framework for Blog Posts (Part 2)
You can find all the source code for the blog posts on GitHub Part 2 of the series on adding Entity Framework to a .NET Core project. Part 1 can be found here. Introduction In the previous post, we...

Thursday, 15 August 2024 18:00

//

3 minute read

Adding a C# Client For Umami API
Imtroduction In this post, I will show you how to create a C# client for the Umami reporting API. This is a simple example that demonstrates how to authenticate with the API and retrieve data from...

Wednesday, 14 August 2024 01:27

//

6 minute read

Using ImageSharp.Web with ASP.NET Core
ImageSharp is a powerful image processing library that allows you to manipulate images in a variety of ways. ImageSharp.Web is an extension of ImageSharp that provides additional functionality for...

Tuesday, 13 August 2024 14:16

//

3 minute read

ASP.NET Core Caching with HTMX
Caching is an important technique to both improve user experience by loading content faster and to reduce the load on your server. In this article I'll show you how to use the built-in caching...

Monday, 12 August 2024 00:50

//

4 minute read

Adding Entity Framework for Blog Posts (Part 1, Setting up the Database)
Buckle in because this will be a long one! You can see parts 2 and 3 here and here. Introduction While I've been happy with my file based approach to blogging, as an excercise I decided to move to...

Sunday, 11 August 2024 04:53

//

6 minute read

Using Docker Compose for Development Dependencies
When developing software traditionally we'd spin up a database, a message queue, a cache, and maybe a few other services. This can be a pain to manage, especially if you're working on multiple...

Friday, 09 August 2024 17:17

//

3 minute read

Adding Paging with HTMX and ASP.NET Core with TagHelper
Now that I have a bunch of blog posts the home page was getting rather length so I decided to add a paging mechanism for blog posts. This goes along with adding full caching for blog posts to make...

Friday, 09 August 2024 12:50

//

3 minute read

Using Umami for Local Analytics
One of the things that annoyed me about my current setup was having to use Google Analytics to get visitor data (what little there is of it ??). So I wanted to find something I could self-host that...

Thursday, 08 August 2024 15:53

//

5 minute read

Guid format string from a string input extension.
Small Posts FTW Small but potentially useful solution to a problem I was having. Namely, how to generate a GUID from a string input where the Guid is always valid but unique for any given input...

Wednesday, 07 August 2024 17:17

//

1 minute read

Adding a RSS feed with ASP.NET Core
RSS (and Atom) is still the only widely adopted format for syndicating content. It's a simple XML format that can be consumed by a wide range of feed readers. In this post, I'll show you how to add an...

Wednesday, 07 August 2024 13:53

//

3 minute read

logo

©2024 Scott Galloway