Welcome!

Welcome to the personal website of Keith Ott. Here you'll find my ramblings and tutorials on software development, as well as a collection of side projects I've worked on throughout the years.


Subscribe for the Latest Updates

Recent Blog Posts


NPM Considered Harmless

Package managers have their issues, but you can - and should - use them

Throughout my career, I’ve run into a handful of people that have the opinion that we shouldn’t rely on a package manager, such as NPM or NuGet. The arguments fall into three main categories: concerns over security, concerns over the long-term availability of package manager services, and concerns over it being easier to manage dependencies yourself.

If you have any of these opinions, let me be the first to tell you it’s okay to rely on package managers such as NPM or NuGet. And there’s a variety of reasons why.


Bill Split and Tip Updated

A new release of an old classic

Google recently informed me that they’re going to be pulling some of my Android apps from the Google Play Store, because they’re built on some really old versions of Cordova that have security flaws. For Bill Split and Tip, I figured this was a great opportunity to not just upgrade, but to re-platform it on Angular 7 and release it as a Progress Web App (PWA).


Blazor: First Look and Impressions

The future of web development or a passing fad?

I keep hearing more and more about Web Assembly, and since I’m primarily a .NET developer, I figured it was time to play around with Blazor. I recently went through Microsoft’s Build your first Blazor app tutorial, and here are my initial thoughts and reflections on it.


Staying Cool When Firefighting Production Outages

She's on fire and she burns through the night at the speed of light

I work for a large, international company on one of their main e-commerce websites. This past week, the company had a substantial product launch (one even the CEO was heavily involved in), and the website I work on released some few features along side it. And all the new website features went live without any issue.

…okay, obviously not. There were some serious launch issues, and I took point on fixing most of them. It was a full, non-stop day of updates to nervous managers, researching, fixing code, testing, and releasing, but by the end of the work day we had the issues fixed. I did a lot of things that day, but one thing I didn’t do was panic.


Real Properties With Moq

They're real and they're spectacular!

I was recently using the C# Moq mocking library, and I needed to not only initialize a property to a value, but I needed the property to be updated by the code.


Software Engineer vs. Computer Programmer

A developer by any other name would smell like coffee.

People who write software for a living go by many names: computer programmer, software developer, software engineer, heck, even sometimes the (derogatory) term code monkey. But what’s the difference? One might say it’s a difference in education, or its just semantics and it’s all the same. If we’re specifically talking software engineer versus computer programmer, I believe there is a world of difference.


Don't Copy and Paste from Stack Overflow

Why you shouldn't implement the copy/paste design pattern.

I recently saw an post online asking “Why should I hire a software engineer if I can just copy and paste from Stack Overflow?” The answer was “Copy pasting: $1. Knowing what code to copy paste: $100,000/year.”