Never Setup A Development Environment From Scratch Again

In this post I will walk you through how I organize my dotfiles and mobilize my development environment with a one-command installation script.

Essential Vim Movements

In this post I cover a few essential Vim movements that I use on a daily basis to traverse files at the speed of thought.

Setup Zsh As Your Default Shell

Switching from Bash to Zsh? Getting your terminal on board can be tricky. In this post, I'll show you how to setup Zsh as your default shell.

Getting Started With Vim - A Practical Guide

Vim is a powerful tool once you understand it. This post will guide you through the challenge of setting Vim up so you can be productive quickly.

I'm Leaving VSCode for Vim

It's been a long road, but I've finally decided to leave VSCode for Vim full time.

Manage Your Dotfiles Like a Superhero

Your dotfiles say a lot about you. In this post I explain how I setup my dotfiles for easy version control and future reuse.

The Next Iteration of the Web

Web 3.0, decentralization and the future of the Internet.

Subscribing Ghost Members From Your JAMStack Site

This post will explain how JAMStack sites using Ghost as a headless CMS can subscribe readers to an email list using Ghost Memberships.

Build a JAMStack Blog with NextJS and Ghost

Learn the fundamentals of JAMStack by building a blazing-fast NextJS blog that uses the Ghost publishing platform as a headless CMS.

How I Delete Files in WSL 2

I started developing on Windows Subsystem for Linux 2, and I wanted a safe way to use `rm` to delete files. Here's a solution that works.

Turn Your Hugo Website Into A Theme

Many moons ago I built my personal site using Hugo. I've decided to turn it into an official theme that can be used easily. Here's how I did it.

Mid-Year Update: 2020

I am having a spark of creativity as of light, and I can't bottle these moments so I must write them down.

This Site Is Now A Hugo Theme

A few people have inquired about the design of my website, so I decided to port it over to an official Hugo theme.

Perfect Systems

Goals draw out the best in us, but if we require a perfect system to get started, our feet will never leave the ground.

There Is Only Movement

My physical training practice has evolved over the last few years. As I experiment with new modalities, I have learned that everything begins and ends with movement.


Simplifying has become a major focus of mine in 2020. I self-identify as someone who overcomplicates things, but lately I'm able to catch myself in these moments.

Macro Patience, Micro Speed

Gary Vee's message, Macro Patience - Micro Speed, has resonated with me every since I heard it. In this post I explain what it means to me.

Laying out Current Goals

In this post I want to lay out some of the things I'm working towards in the coming months. Exciting times ahead!

Expecting Progress

Progress is not linear. This is the biggest lesson I've learned in the last few years. In this post I explain how to focus on process instead.

Puzzle Pieces

Learning a new skill is a puzzle, and you don't have all the pieces. How can you finish this puzzle without them?

Training and COVID-19

We're currently dealing a global pandemic that is forcing us to self-isolate. This sucks, but from a training perspective it doesn't. Here's why.


Setting out to accomplish a goal can be a rewarding and valuable experience for all of us. No matter the goal, you must forge your own path.

On Contributing to Open Source

Contributing to open source projects can be an intimidating experience for developers of all levels, but it can also be a rewarding one.

My Commit Workflow

In this post I want to share a simple git commit workflow I use in most JavaScript projects to keep my commits clean and safe.

Resolve Merge Conflicts in yarn.lock

Merge conflicts in your yarn.lock file can be a pain. In this post I'll describe a simple trick to make the process a lot easier.

On Prioritizing

We all have obligations that we're bound to. Commitments to uphold. How do you stay focused on what really matters?

Add Tags to Your Hugo Blog Using Taxonomies

Hugo's taxonomies give you the ability to define relationships between your content. In this post we'll explore taxonomies using a blog example.

Using Husky with Your Global Git Hooks

Husky is an awesome JavaScript tool that gives you the power to easily run pre-defined scripts as a git hook.

The React State Hook

Hooks are functions that expose certain features to function components. This post will explain the State Hook in-depth.

On React Hooks

React Hooks give certain features previously unavailable to function components such as state and lifecycle. Here are my initial thoughts.

What's New in React v16.6.0

React v16.6.0 has been released, which includes some long anticipated features. Let's dive in and talk about these new additions.

Create Anchored Headings in Hugo Using Shortcodes

Anchored headings are a useful feature in a blog that allows readers to jump to specific sections of the article or share a section explicitly.

Compound Components in React: Using the Context API

In the first post of this series we discussed the basics of compound components in React. Now let's combine them with React's Context API.

Compound Components in React: The Basics

Compound components are a fairly new technique that has become popular in the React community. In this post I will explain how to use them.

React State Management With Unstated

Unstated is a react state management library from @jamiebuilds. It leverages the power of React's Context API to keep state management simple.

Introducing Flexomatic

After a few weeks of work I just released the first version of flexomatic, a React component library. Here's what it's all about.

New Job in 2018

I'm excited to share that I've started a new job as a front-end engineer. Let me tell you all about it!

Using styled-components Without Template Literals

An undocumented pattern has emerged when using the styled-components library. In this post I will explain how it works and why it's useful.

Lessons Learned From Publishing a React Component to npm

I've been working on my first open source project. It's a grid system built with React components based on flexbox. Here's what I've learned.

2017 In Review

Now that 2018 is upon us, it's a great time to reflect on 2017.

Messing with the Web Animations API

The Web Animations API is an experimental technology that allows developers to take advantage of the browser animation engine.

On The Importance of Blogging as a Developer

This post outlines why I feel junior developers should think about sharing more of their experiences through blogging.

Hugo's Directory Structure Explained

This article will introduce you to the core principles of Hugo's directory structure, and will help you get started building websites quickly.

Rebasing in Git

Using the rebase command in git can be a difficult concept to understand. This post aims to make it clearer for beginners.