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
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
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
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
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
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
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
//
4 minute read
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
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
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
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
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
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
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
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
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
##Introduction
In my previous post I detailed how to send emails using FluentEmail and the SMTP Client. However one issue with this is the delay in sending emails. SMTP servers tend to be slow and can...
Wednesday, 07 August 2024 08:15
//
4 minute read
This is a fairly simple article but will cover some of the odness of using FluentEmail in ASP.NET Core to send HTML emails I haven't seen elsewhere.
The Problem
Sending HTML mails is itself kinda...
Wednesday, 07 August 2024 00:30
//
5 minute read
This just popped up on Facebook, an old image of me in my office at Microsoft.
Office at Microsoft
A long long time ago in a country far, far away I was a lowly PMII at Microsoft. I was working on the...
Tuesday, 06 August 2024 21:30
//
2 minute read
NOTE: WORK IN PROGRESS
I've been looking for a simple comment system for my blog that uses Markdown. I couldn't find one that I liked, so I decided to write my own. This is a simple comment system...
Tuesday, 06 August 2024 18:50
//
2 minute read