Generating Url Friendly Unique Keys that aren’t GUIDs
Generating Url Friendly Unique Keys that aren’t GUIDs

Converting GUID’s to Base36 and back again GUID’s, or Globally Unique Identifiers, are a common sight in URLs, used for identification or referencing specific resources. However, their traditional 32-character hexadecimal format is not the most pleasing to the eye in a URL. Optimally, a GUID should be converted to a Base-36 string that contains simple... » read more

C# 12: Aliasing Any Type.  Hide Those Tuples
C# 12: Aliasing Any Type. Hide Those Tuples

Exploring C# 12: Embracing Type Aliases for Cleaner Code As a dedicated C# developer, I’m thrilled to delve into one of the most exciting features coming with C# 12—type aliases. This new capability is a game-changer, especially for those of us who often rely on Tuples to pass parameters without creating specific classes. Let’s explore... » read more

Using AI to Generate a File Cache in C#
Using AI to Generate a File Cache in C#

Like most, I’ve been playing around with the awesome capabilities of AI for developers. Recently we had to develop a small class library that would act as a specialized cache. Since I had a little extra bandwidth, I decided to have a little fun and see if I could get an AI engine to write... » read more

Deploying abp.io to an Azure AppService
Deploying abp.io to an Azure AppService

It’s been forever since I have posted a developer blog, to the point that I almost considered this site dead. However, once in a while you hit a problem that you spend just enough time on you feel compelled to help your community. I am an absolute fanboy of everything VoloSoft does, their frameworks for... » read more

It’s better to .Take()
It’s better to .Take()

Given a EFCore entity object that has a navigation property, and the schema is built for a one-to-many relationship, but you want a navigation property to represent a single record based on a specific filter.