Grep from First Principles, in Golang

Disclaimer: Whilst the tile mentions 'grep', I'm using it in the colloquial sense rather than relating to grep(1), the acutal unix program. In this article we'll build a toy version of a string searching program solely for the purposes of education. The intention is not to fully replicate the…

Filling a Geofence with Geohashes

The nature of my works means that I spend a decent amount of time dealing with geospatial data. Whilst there are many different ways to represent areas on the globe, geohashes are particularly fascinating. A Quick Primer on Geohashes If you're already familiar with geohashes, go ahead and skip this…

How to Run a Better Engineering Organisation

First of all, forgive the brazen and somewhat presumptuous title; I have never run an engineering organisation, so you might want to take my opinions with a pinch of salt. However, I do believe that I can offer a useful perspective on what ICs (individual contributors) want out of the…

The Empathetic Engineer: Developing for Humans

Read The Empathetic Engineer: Part 1 here. TLDR; empathy is an extremely important skill for engineers of all levels. You'll write better code for yourself and others if you keep the people reading your code in mind. To stay empathetic when I write code, I have developed a set of…