Did You Know - An Email Body Is Optional

The other day while working with one of our internal libraries for sending email, I ran into an error where it complained about a missing body.

Conmen, Charlatans And Software Developers

Three of the things you will quickly discover that you need in this business are the following:

  1. A tough skin
  2. Patience
  3. An ability to accept an ambiguous state as a valid reality

Linux Tools Packaged With Windows

If you are running a recent build of Windows 10 (or 11) you would be surprised to learn a number of tools traditionally found in Linux are now bundled with Windows.

Cleaner Code With Switch Expressions In C#

Everyone who remembers their path towards becoming a programmer, either as a hobbyist or a career software engineer, will remember the problem of writing this program - given a mark, allocate a grade according to a table like this:

.NET 6 Release

The final release of .NET 6 is now available.

You can get the final bits here. Remember that .NET is cross platform so you can select the appropriate sections to download the bits for your operating system

30 Days Of .NET 6 - Day 2 - Friendly To Newcomers

One of the challenges of developing and maintaining a programming languages and its accompanying tooling is you have to be welcoming to several demographics:

  1. Experienced developers on your tool-set
  2. Experienced developers from other tool-sets
  3. Students
  4. Complete newcomers to programming & hobbyists

About Software Bloat

Occasionally you will hear somebody say, (or you yourself may say) something like:

The Value Of Good Documentation

Recent developments (we are in the middle of a massive upgrade of our technology stacks) as well as strategic decisions have forced us to interface with systems and ecosystems not only at code level as we are accustomed to, but additionally at documentation level.

The Other Integer Types

Most developers when requiring a integer type use the int type and go about their business.

Disqus Off

So I noticed that the Disqus comments that I’ve been had been displaying a range of scammy ads.

Using Regex MatchEvaluators In C#

Regular expressions (Regexes) are a powerful tool for solving certain types of problems - and in particular looking for a certain pattern of text in a larger string and (optionally) replacing it with another.

Be Clearer With TimeSpans

Many of the .NET APIs take time intervals as their parameters, and it usually is in milliseconds.

Fix For pgAdmin Not Loading

Are you attempting to open the pgAdmin web console and it appears to be loading endlessly?

Remote Debugging In VS Code

Today we will setup an environment where we can develop and debug code remotely on a Linux environment.

Refactoring With Records In C#

I recently had an opportunity to revisit some very old code (to the tune of almost a decade) and saw it as an opportunity to make some improvement and cleanup.

Upgrading To WSL 2

Good news if you have been running on Windows Subsystem For Linux (WSL) and have wanted to upgrade to version 2 but have not been willing to join the Windows Insider Program - WSL2 is now out in the main release.

Goodbye Wordpress

I have been running this blog on WordPress since inception, and using WordPress in general for many years (since 2005).

Using IIS With ASP.NET Core 3.0

Kestrel, the web server that powers ASP.NET Core is highly optimized for running ASP.NET Core code, and running it fast.

Using Curl In PowerShell

A useful tool to have in your toolbelt is an ability to make web requests and retrieve responses from the command line.

Touch In PowerShell

In Unix / Linux land there is a handy command to create an empty file.

What Is A Software Company?

A software company is an institution that converts money into software that people pay money for.

Properties Under The Hood

One of the features of C# (and the .NET platform in general) is the support of properties as a first class citizen of the runtime.

Arguments Handling Across Paradigms

One of the interesting things about using an object oriented language (like C#) vs a functional one (like Racket) is you get an opportunity to see first hand how different things are doing in either paradigm.

FizzBuzz In F#

The FizzBuzz problem is one of those ubiquitous industry problems that has been floating around for decades, intended to separate the sheep from the goats.