This is a work in progress site where I share my thoughts, ideas, and projects. I'm always building SOMETHING so decided too share both how I build these somethings and what I build.
Note this site is currently being developed you can see the code here. Bits will be broken or missing, but that's the fun of it. If you have any comments / suggestions / feedback please let me know on Mastodon
I'm a consulting web developer, specializing in .NET Core, remote working, full-stack (ANY JavaScript framework), cloud, search technologies, running teams, bootstrapping startups etc..etc...
I'm a former Microsoft ASP.NET Program manager & have worked for numerous fortune 500, and a multitude of startups and have been building web applications for over 30 years.
If you think I can help you with your project on a contract, full time or consultancy basis (days here and there), please get in touch.
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...
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...
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...
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...
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...
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...
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...
##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...
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...
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...