All Blog Posts


Introduction to HTTP OPTIONS Method
If you've ever looked at the Network tab in the Browser Dev Tools, you may have noticed a lot of OPTIONS requests being sent to the server. Oftentimes these requests are not being made from our code, but made by the browser. In this post, we'll be covering the purpose that the HTTP OPTIONS method serves in our web applications.
Published: Friday, October 15, 2021
#dev
#web

Rebase Git Branches Interactively
Git's rebase functionality could be one of the most polarizing features of the ubiquitous version control system. Some have horror stories of rebasing branches, while others use it whenever possible. In this post, we'll be touching on the interactive rebase feature which can reduce a lot of the anxiety around rebasing Git branches.
Published: Friday, October 1, 2021
#dev
#git

How to Use C#'s Parallel.ForEach
There are certain operations performed in code that lend themselves to being executed in parallel. Some might even call these tasks "embarrassingly parallel". In this post we'll be going over how we can use C#'s Parallel.ForEach to iterate over collections in parallel.
Published: Thursday, September 16, 2021
#dev
#introduction
#dotnet
#parallel
#csharp

How To Uninstall tSQLt From SQL Server
If you've used the SQL unit testing framework tSQLt before you may have come across the need to uninstall it from a database. There are a couple of ways you could go about this, but we'll look at the quickest method.
Published: Saturday, August 28, 2021
#sql
#database
#dev

Parsing Image Metadata with C# and ImageSharp
Recently I've been using C# and ImageSharp to work with images in code. In this post we'll be taking a look at how we can read and write IPTC Metadata properties for a given image.
Published: Monday, August 16, 2021
#dev
#dotnet
#csharp

Scraping HTML with Selenium and C#
In this post, we'll be going over how we can use Selenium WebDriver and C# to scrape HTML from websites. I recently started working on a personal project that I plan to use for gathering English Premier League player statistics for my fantasy team. I had a fun time getting Selenium set up and working so I thought I'd share.
Published: Thursday, July 29, 2021
#web
#dev
#dotnet
#csharp
#selenium
#scraping

Introduction to SQL Indexes
For most of my career I've known the general purpose of an SQL (read S-Q-L) index, but I've never taken the time to dig a little deeper to understand more until recently. In this post we'll be taking a look at SQL indexes from a high level, as well as how they can be used effectively (and not so effectively) to impact the performance of SQL operations.
Published: Monday, July 19, 2021
#introduction
#sql
#database
#learning

How Podcasts Helped Me Grow as a Developer
Podcasts have become very popular over the years and you can almost guarantee that there is a podcast available for any of your personal interests. In this post, I'll describe how I believe podcasts have helped me grow as a developer. We'll also take a look at some of my favorite podcasts and discuss a little bit of what they're about and why I enjoy them so much.
Published: Wednesday, June 23, 2021
#growth
#dev
#learning

Asynchronous C#: Below the Surface
In my last two posts, we've covered C#'s async programming model and also using async/await for asynchronous execution. In the final post of this series on async programming in C#, we're going to take a look behind the scenes at all the work the compiler does for us to make code execute asynchronously. Let's dive in!
Published: Saturday, June 5, 2021
#dev
#dotnet
#csharp

Using Async and Await in C#
Async and Await are important keywords in C#. In this post, we'll be looking into how we can use `async` and `await` to write asynchronous code in the same manner that we write synchronous code. For a higher-level look at asynchronous programming in C# check out my previous post where we discussed the Task-based Asynchronous Programming pattern and more!
Published: Monday, May 17, 2021
#dev
#dotnet
#csharp

Asynchronous Programming in C# - Part 1
Writing code is hard. Writing asynchronous code is even harder. Luckily C# provides us with the `async` and `await` keywords to make asynchronous programming a little easier. This is the first of a series of posts in which I'll be going over writing asynchronous code in C# as well as a bit into the internals of how it works under the hood.
Published: Monday, May 3, 2021
#csharp
#dotnet
#introduction
#dev

Creating Your Own Framework for Learning
As software engineers, we are constantly learning in order to grow and stay relevant. I've found that trying to learn something new without a plan is difficult. This is why I created a framework for learning, which is what I'll be covering in this post.
Published: Friday, April 16, 2021
#dev
#learning
#growth

Selenian. A Minimal Dark Theme for Visual Studio Code.
There are many great themes available for Visual Studio Code, but I'm definitely the type of person who enjoys tailoring my development environment to my specific needs. So I created my own theme called Selenian.
Published: Tuesday, April 6, 2021
#dev

Updating JSON Data in PostgreSQL
If you're storing JSON data in Postgres, you'll eventually need to update it. In this post, we'll talk about a couple of functions that can be used to update JSON data.
Published: Saturday, March 20, 2021
#dev
#postgres
#database

EF Core and Client Evaluation
Entity Framework Core is an amazing tool for interacting with databases of all kinds, but it doesn't come without potential pitfalls that can impact performance if you're not careful.
Published: Monday, March 8, 2021
#dev
#database
#dotnet
#efcore

Querying JSON Data in PostgreSQL
Storing JSON provides flexibility, but can add complexity. Let's take a look at how we can store and query this data in PostgreSQL.
Published: Saturday, February 13, 2021
#dev
#json
#postgres
#database

Behind the Scenes of Making my Blog
The number of options for setting up a blog can be overwhelming. Let's take a look at what worked well for my goals and expectations.
Published: Friday, February 5, 2021
#dev
#web

JWTs: A Peek Under the Hood
JWTs are used heavily in front and back end development. Let's open the hood to see how they're put together.
Published: Wednesday, January 27, 2021
#dev
#web
#json
#introduction

Hello, World!
The proverbial "hello, world" blog post introducing myself to the interwebs.
Published: Thursday, January 21, 2021
#dev
#beginnings