Dave Allie

2024
Aug 4, 2024
Debugging Slack Link Unfurling
A deep dive into why Slack wasn't unfurling my blog links and showing my cover images, and how I fixed it.
Jul 9, 2024
Why Write System Design Docs
System design documents are a critical and often overlooked part of the engineering process, helping to identify and resolve issues before they become expensive to fix.
2022
Feb 16, 2022
ULIDs and Primary Keys
Not all non-sequential primary keys are created equal, the ULID format is a fantastic substitute for the typical UUIDv4 choice.
2021
Jul 30, 2021
So long, Amazon
This month was my last at Amazon. I’m sad to be leaving, but thankful for everything I’ve learnt along the way.
May 19, 2021
Multi-Domain Gatsby Sites
Supporting multiple sites across sub-domains with Gatsby from a single repo isn’t straight-forward. Here’s how I solved the problem for my websites.
2019
Apr 19, 2019
Stealing Fuel Data
A little over a year ago, I discovered that the ACCC reports on fuel costs by publishing images. I built a pipeline to extract the data from those images.
2018
Sep 12, 2018
Grapple - An actual interruptable download accelerator
Building an interruptable download accelerator
Jul 2, 2018
Rustyboy - Part 1: Welcome to Emulation Station
I’ve seen a fair spread of emulators and played around with a fair few of them as well, but it wasn’t until I stumbled across an old reddit post that I seriously considered building an emulator myself.
2017
Jun 12, 2017
How we sped up our asset precompile by removing it
It seems like every time I look at our pipeline our builds are taking longer. There’s still a very large portion of time that is spent getting our code ready and onto all the production boxes. Let’s remove that.
Mar 7, 2017
Clean Monkey Patching
Monkey patching in Ruby isn’t always what it seems. Sometimes you’re doing it the right way for the wrong reasons, other times you are doing it just flat out wrong.
Mar 6, 2017
Include vs Prepend
Include and prepend are extremely useful tools for adding and modifying logic in multiple places at once, or even just splitting a file into components.