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…

The Empathetic Engineer

You've probably seen a classic presentation on code quality. Do it like this, not like that. I'll admit that I was one of those overzealous young engineers that thought I'd stumbled upon the secrets to beautiful code and wanted to share them with the world in a tech talk. I'm…

A Simpler Phabricator Stacked Diff Workflow

TLDR: Squash commits. Branch from branches. Diff against branches. Rebase changes from bottom up, land from bottom up. In this article I'd like to address one of the things that I see people struggling with quite often: how to effectively work on multiple dependent git branches when using Phabricator. Uber…