Category Tools

Installing Neovim with LazyVim (and the Config I'm Currently Using)

There’s something satisfying about owning your editor. I’ve worked in Visual Studio, Sublime Text, VS Code, Cursor, and a handful of others over the years, and they’re all great in...

Setting up GPG signing on Mac

The first question you might ask is why would I want to do this? Well, if you’re using git and you want to sign your commits, you’ll need to set...

Enhancing Sublime Text Context Menus on Windows

Sublime Text It’s a great code editor. It can be an IDE if you want it to be, but at it’s heart it’s a highly extensible text editor. I love...

Virtual Desktops for Windows

Note: this post is from 2014; some embedded images were hosted on a service that has since gone offline and have been removed. Windows now ships with native virtual desktops,...

Choose Your Tools Wisely

Note: this post is from 2014; one embedded image was hosted on a service that has since gone offline and has been removed. Let’s face it programming a computer is...

Category Ghost

Using GitHub Pages with Ghost and Buster on Windows (part 2)

Note: this post is from 2014; some embedded images were hosted on a service that has since gone offline and have been removed. The tooling described here is also outdated...

Using GitHub Pages with Ghost and Buster on Windows (part 1)

Note: this post is from 2014; some embedded images were hosted on a service that has since gone offline and have been removed. The tooling described here is also outdated...

Category C#

Constant Vigilance: Classes or Structs in C#

I’m going to have a recurring theme on the blog from time to time. I’ll probably have several, but this is the first. The theme here is constant vigilance. The...

Category Development

Installing Neovim with LazyVim (and the Config I'm Currently Using)

There’s something satisfying about owning your editor. I’ve worked in Visual Studio, Sublime Text, VS Code, Cursor, and a handful of others over the years, and they’re all great in...

Using MFA/2FA with AWS CLI/CDK and 1Password for MacOS

When you’re using AWS on the CLI or with the CDK, you have to set up your credentials and you commonly have an Access Key and a Secret Key. Those...

Trying to Get Down to the Heart of the Matter

As engineers, it’s easy to get lost in the weeds. We dive deep into solving problems, chasing edge cases and perfect logic, but sometimes forget to focus on the core...

The Importance of the Ubiquitous Language

Ubiquitous: /yoo-bikwitəss/ existing everywhere: present everywhere at once, or seeming to be Language: /láng-gwij/ communication with words: the human use of spoken or written words as a communication system speech...

Why are you using source control?

Top Reasons 1. Save code other than on a local drive 2. Share code among teams 3. Version Control Everyone that uses source control will list these reasons. I list...

Category Node

Rethrowing Errors for Proper Stack Trace

Javascript, like many other languages provides the try/catch block for error handling. So what happens when you want to log the error but not handle it? That’s when it’s time...

ES6 Command-Line Parsing

ECMA Script has come a really long way and continues to add more great features. A lot of them borrowed from functional languages and libraries. Typically there isn’t a lot...

Setting up the package.json for node.js. The short, short version

Package.json Most tutorials start with the package.json. This is a very important step. Here’s an example of a live package.json, this is Ghost v0.5’s package.json: 1 2 3 4 5...

Category GoLang

Hot Dog Vending Machine in Go

Some years ago I had the pleasure of learning Clojure. We’re not going to talk about Clojure much today, this post is about Go. One of the main resources I...

Category Security

Using MFA/2FA with AWS CLI/CDK and 1Password for MacOS

When you’re using AWS on the CLI or with the CDK, you have to set up your credentials and you commonly have an Access Key and a Secret Key. Those...