Testcontainers

How easily orchestrating containers can make development, and integration testing easier.

June 19, 2025 · 4 min · Greg Hilston

How to Load Balance With Preference

When managing multiple servers, it’s important to have a reliable load balancer in place. In many cases, you may want to prioritize one server, using it as the primary, while having a backup server only take over when the primary is unavailable. This approach is called a “preference-based failover.” In this blog post, we’ll go through the steps to configure Caddy as a reverse proxy load balancer with a preference-based approach....

September 18, 2024 · 4 min · Greg Hilston

Schema First Development

Introduction In the world of software development, there are many different approaches to building applications. One approach I’ve had the pleasure of using is called “schema first development”. This approach emphasizes defining the verbs, routes, request and response structures before diving into writing code. This methodology proves especially beneficial when developing HTTP REST services. Benefits Instead of jumping straight into coding, schema first development encourages you to start by creating a formal specification of your API using a standardized format like Open API (formerly known as Swagger)....

July 15, 2024 · 3 min · Greg Hilston

Argument Passing Preferences

When writing software, we often need to handle various types of input arguments. To maximize flexibility and ease of use, I propose prioritizing the following methods for accepting arguments: Command-line arguments Environment variables Default hard-coded values As we move down the list, the flexibility of defining these values decreases. Command-line Arguments Command-line arguments offer the highest level of flexibility and are the easiest for end users to provide. They can be specified directly at the terminal or included in scripts that call your program....

May 30, 2024 · 2 min · Greg Hilston

How To Get Notified When A Program Ends

Simple approach to getting notified when a program finishes

August 18, 2021 · 3 min · Greg Hilston

Simple Git Hooks

Simple way to use Git hooks

July 19, 2019 · 3 min · Greg Hilston

Code Foo

A weekly coding challenge that I’ve been running since August 2018.

July 16, 2019 · 1 min · Greg Hilston

Digest: The Clean Coder Book

Summary of the book The Clean Coder

June 24, 2019 · 21 min · Greg Hilston

Big O Notation Explained

A simple explanation for Big O Notation

September 20, 2018 · 11 min · Greg Hilston