OptiScaffolder - an Optimizely Developer CLI

Back when Optimizely 12 was introduced, support for the Visual Studio developer extension was dropped. This tool was extremely helpful in scaffolding out the required files when making blocks or pages, and its absence was immediately missed. After a couple weeks into a new project I finally had enough and spent a long evening coming up with a tool to help make this easier and in the process, discovering that this was just the first step needed in a potentially better way of delivering Optimizely projects…

Read the full post >>

Generating FPO Images with ImageSharp in .NET 6

Throughout the course of my work day, I probably think of a dozen or so applications, libraries or tools I could/should write to make my job easier. Once in a while I will go off on an all night adventure, cram learning some new library, banging my head against a desk until 3 AM. After seemingly endless build fails, syntax errors and a severe lack of water or food, I finally finish the task I set out to do. More often than not, this all-night coding adventure does not result in the genius time-save I thought it would be, but I always learn something, and I never regret it.

Read the full post >>

2021 Advent of Code

It’s almost December, and that means a new Advent of Code begins. I am freezing and its late so this is a quick one.

Read the full post >>

Demystifying Dependency Injection in .NET

So what is “dependency injection” anyway?

Dependency injection is one of the five principles described by Robert C. Martin in his SOLID design proposal. It basically states that:

  • High-level modules should not depend on low-level modules. Both should depend on abstractions.
  • Abstractions should not depend on details. Details should depend on abstractions.

After reading that it should make perfect sense right?

Basically what that means is you should write code that does not care about what objects are, only that they have a certain shape.

Read the full post >>

Am I an Imposter?

I decided to start this blog about 8 months ago and I have yet to find anything to write about. I have had ideas for blog posts but I swiftly reject them because I feel they are too basic or that no one would really benefit from my knowledge. Basically I was stricken with Imposters Syndrome.

I have been spending some time on Stack Overflow lately and I have done my best to craft very detailed answers (complete with fiddles where applicable). I have found that my answers are typically well received, leading me to the realization that my knowledge and experience may actually make a difference in helping other programmers.

So I’ve decided that the potential to help just one person outweighs any anxiety I may have about my skill or knowledge.

With that being said I have come across some questions about SOLID design, specifically on Dependency Injection. This was a topic that took me a while to truly grasp and I thought maybe I could try and break it down for anyone out there still struggling with it.

I am going to write a series of posts about SOLID design (albeit out of order).

Read the full post >>


I’m starting a blog to help document some of the problems I have encountered in my career thus far, and how I solved them.

I’m going to try and keep the content of this blog directed at Junior to Mid level developers that might not have a lot of foundational computer science or mathematics knowledge (since I certainly do not). This blog will hopefully be easy to approach, and written so that anyone with familiarity of .NET can easily understand. The problems I detail here will vary, some will be conceptual things that were difficult for me to understand at first, others will be more situational. My hope is that if other developers encounter similar hurdles, maybe my experiences can help.

Read the full post >>