Josh breaks builds stuff

I'm Josh — a software developer focused on Go, web infrastructure, and building tools that get out of your way. Here's what I've been writing about.

Recent Writing

Automating Deployment with Docker, Containers and Github Actions

We have built this blog, but let's make it easy to deploy on a VPS, Linux server, or even another development box. We are going to containerize the blog, create a Docker Compose file to test locally, and then create a GitHub Action that updates the container registry on every push to main.

Building a blog in Go Part 4

This part covers refactoring the Go blog application for better testability, organizing code into handlers, routes, and helpers, and adding unit tests for core functions and HTTP handlers.

Building a blog in Go Part 3

Part 3 covers adding basic styling to the blog, restructuring templates for maintainability, and updating the Go server to render styled content for both the homepage and individual posts.

Building a blog in Go Part 2

This part continues building a simple blog in Go, covering template rendering, dynamic routing, markdown parsing, and development workflow improvements.

Building a blog in Go Part 1

Learn how to start building a simple blog in Go by setting up a basic HTTP server, reading markdown files, and structuring your project for future development.