RSSAmplifier

Blog

harrisoncramer.me

Welcome to my website! This is my personal software engineering blog. I write about Go, Typescript, React, Vue, Javascript, Docker, Kubernetes, and lots of other interesting technologies.

harrisoncramer.meRSS feed ↗23 posts

Latest posts

You're Media Illiterate, And It's Hurting The Codebase

Software leadership keeps falling hook, line, and sinker for media hype around AI. Will basic media literacy help?

15 Go Subtleties You May Not Already Know

Some of my favorite tidbits from the past year of working with Go.

Repeat yourself

Don't believe what you've heard about repetition. Why repeating yourself in code is often better than the alternative.

Embracing Incrementalism

Five Non-Technical Tips for Technical Interviews

Technical interviews require soft skills too! Here are a few things that I'll do in a technical round to give myself the best shot at succcess

Terminal Applications in Go

Charm's BubbleTea library integrates seamlessly with Cobra and Viper to build powerful command line tooling for developers.

Mocking Interfaces in Go

Uber's gomock tool lets you easily mock out functionality from external libraries

Contract-First API Design

Comparing different approaches to modeling state and enforcing schemas across API boundaries

Building Neovim's first Gitlab Client

I've recently begun building the first open-source Gitlab client for Neovim. The plugin lets you review and manage merge requests directly within the editor. Here's how it works, what's next for the plugin, and what I've learned along the way

Migrating From Gastby to Astro

I recently migrated a simple blog site from Gatsby to Astro, and was glad I did. Here are my takeaways.

Debugging in Neovim

Debug your applications directly within Neovim using the Debug Adapter Protocol, or DAP.

Building A Powerful Neovim Configuration

Neovim is an unbelievably powerful tool, if you know how to use it. Here are some of my personal takeaways from using it as my primary editor for the past few years.

Real-Time Web Scraping with Firebase and Twilio

Firebase has a FAAS and database infrastructure that makes scraping websites a breeze.

Designing asynchronous microservices with RabbitMQ

RabbitMQ is an open-source message broker that can help you decouple your microservices and keep your application fault-tolerant and fast.

Optimizing Your Webpack Bundle

Here are some simple steps you can take to optimize your webpack bundle for a production environment.

Optimizing Docker images for production

Docker containers can get bloated very quickly. Put yours on a diet and keep your production build fast and secure.

Building a chat application with SocketIO

Websockets are a great way to breathe life into an otherwise stale application. Implement them easily with SocketIO, the defacto standard for NodeJS applications.

Protecting your production branch with CircleCI

Avoid merging unclean commits into your main branch by setting up a basic CI pipeline to test and lint your code.

Deploying a NodeJS API with Docker and Kubernetes

Ever wanted to deploy an application to production using Amazon's hosted Kubernetes services, EKS? This is for you!

Publishing your first Javascript CLI

Command line tools can dramatically speed up redundant tasks, letting you focus on the project at hand. Here's how to build one using Javascript.

Scraping data with Puppeteer and Docker

Configuring a web scraper with puppeteer can be tricky to run in production. This guide will show you how to bundle your scraper inside a Docker container.

Using Terraform with EC2 Servers and Docker

How to get an EC2 container up and running with Docker using Terraform.

Speeding up CircleCI Builds with Caching

Redownloading dependencies for every step in your CI/CD pipeline can be time consuming. You can dramatically speed up the build time of your application with caching, making your team more responsive to breaking changes and ultimately more productive. Here's how to do it.