Bootstrap 5 CDN Fallback

Bootstrap 5 has a lot of changes and one of them is the fallback method in case the CDN link doesn’t load. Here is the Razor syntax for Bootstrap 5 fallback:

<script src=""

<link rel="stylesheet"
  crossorigin="..." />

These samples still use Bootstrap 4 but there are still a lot of good information on the following pages:

Back to Basics: ADO.NET

I will be presenting “Back to Basics: ADO.NET” on Jan 13th to the Baton Rouge .NET User Group. This will be a beginner topic and I’ll be assuming no ADO.NET experience. All code examples will be in C#. Here’s the description I sent in:

Microsoft says Entity Framework (EF) is “an object-relational mapper (or ORM) that eliminates the need for most of the data-access code that developers usually need to write”. This session will show the basics of data access that ORMs like EF tend to obscure. It will also show how to use ADO.NET to integrate with and augment EF when it falls short.

What Tools Do I Use? June 2020 Edition

Having not done one of these since 2013, I thought it was time for an update! The following tools fit into two categories. I either use it daily or it’s invaluable in specific situations (for example, taking screenshots or giving presentations).

The Data I Need When I Need It

I use a combination of four pieces of software to ensure that I always have all of the information I need at my fingertips. They are: OneDrive, OneNote, Bitwarden, and

Onedrive is the Microsoft DropBox competitor. I use it for a 2 reasons. The main reason that I use it is storage per dollar for my family (1 TB per user for up to 5 users for less than $100 a year).

OneNote is Microsoft’s note taking software. Evernote is a popular competitor and one that I have tried before. When OneNote was released for mobile, I immediately switched back. I do miss tags sometime but

Bitwarden is a password manager tool. We have passwords for everything now and they should all be unique and varied. How does it work? You create one password for your encrypted account and you place all of your other passwords into the software. There are multiple tools like LastPass, KeyPass, etc. but Bitwarden is open source and it allows me to easily share specified password securely with my wife.

Last but definitely not least is It’s a bookmark manager with full tagging support including drill down tag searching. As a developer, I tend to collect a lot of links to research, articles, etc. and this is an invaluable tool to keep it all organized. It also doubles as my recipe book!


I currently work on a distributed team so having effective tools in place for collaboration and communication is a must.

For task and backlog tracking, I use Azure DevOps at work and GitHub for other development projects.

For voice, I use a combination of Microsoft Teams (work) and Discord (personal). They both have screen sharing features that come in handy if it’s just a quick discussion. For more complex screen sharing, we use TeamViewer. TeamViewer allows users to pass control around. This comes in extremely handy when working through code with another developer.

Let’s Develop Something Already!

As a Microsoft developer with a heavy focus on web technologies, I currently have Visual Studio and Visual Studio Code installed. I run Visual Studio 2019 pretty lean now and install relatively few plugins compared to my 2013 edition. For Visual Studio Code, I install at least the following:

  • Azure Repos
  • C#
  • EditorConfig for VS Code
  • Live Share
  • PowerShell
  • SQL Server (mssql)
  • vscode-icons

Everyone has their own favorite text editor and mine is Notepad++. It’s always the first thing that I install on a new machine and I immediately set it as my default text viewer.

A great tool for testing .NET code snippets, LINQ statements, etc. is LINQPad. This little application is extremely feature packed and you’ll find more ways to use it every time you open it.

Presentation Must Haves

If you’re giving presentations or sharing screens often, I have a couple of recommendations.

The first suggestion is Carnac. Presenters tend to forget that the viewers don’t know when you press Alt, Ctrl, etc. This is a little application displays those special combination keystrokes so that your audience doesn’t get lost when you’re flying around Visual Studio using only the keyboard.

The second is ZoomIt. This application allows you to Zoom in and out of any application running in Windows. It also has some markup features which are quite nice once you get used to the keyboard shortcuts.

SQL Last Day of Month

How do I get the last day of the month in a SQL query? Someone recently asked me this question and as with so many questions in development the answer is: it depends.

Prior to SQL Server 2012, this is what typical T-SQL to compute last day of the month would look like:

DECLARE @date DATE = '2017-12-15';
DECLARE @firstOfMonth DATE = DATEFROMPARTS(YEAR(@date), MONTH(@date), 1);

With SQL Server 2012 or later, the EOMONTH() gives you a much more concise option which looks like:

DECLARE @date DATE = '2017-12-15';