2026-02-15 A couple years ago now I made a sizable mistake when choosing how to handle hashing of strings. This was incredibly embarrassing for me, […]
Resetting the UniFi Network Application password when you get locked out
On more than one occasion I have gotten locked out of my UniFi networking administration software. Usually, I could fix this by just installing the […]
Old dot net frameworks
Being a software developer for many years means you have watched the tools you work with change over time. This is usually a rewarding change […]
Goodbye Moq
I have been so busy lately, that during the end of an interview I was performing for a candidate, the interviewee told me over small […]
Executing shell scripts from C# for a Windows developer
Shhh, I just want the answer You can skip all of my ramblings. Just scroll to the bottom for the code or click here. I […]
Generic Types and Equals
Gotcha I don’t have to implement/override Equals that often in my classes so I always have a hard time remembering some of the subtleties behind […]
Misconceptions about async Tasks
This article is about asynchronous programming in C# using Task and Task<T>. Do you really need to make your code asynchronous? The first misconception about […]
Using absolute paths with FTP
Obscure problem Ran into an annoying problem recently where an FTP account I was logging in with had a home directory of something like this: […]
Using Gmail for SMTP access
Introduction When you search for this on google you will find one hundred million results that all pretty much say exactly the same thing. The […]
LinqPad quick reference
This is a quick post for my own ignorance. On occasion I use LinqPad to make changes in a database and I find the stock […]