08 October, 2023
Building a high performance financial ledger with Postgres and
It's been a few months since my cofounder and I decided to call time on our fundraise and as a result our journey building Nanumo. We fought as hard as we could to build what we (still) believe is a valuable product in an underserved market but optimism and graft can only take you so far. The stack of evidence…
16 May, 2023
Fast keyset pagination with filtering and ordering in Postgres
As part of our payables product at Nanumo we have a need for pagination, sorting and filtering data throughout the product. There are already many articles that cover keyset pagination with Postgres but they're all quite light on implementation details. It may be the case that the implementation is trivial for most but…
16 April, 2023
Multi-env AWS with Terraform and Terragrunt revisited
Since publishing the first version of this article I've built a startup using the same techniques to manage the AWS infrastructure. The fundamental concept has worked really well but on the way I've made a few improvements to multi-region support as well as reducing duplication in the Terragrunt configuration. It's…
15 June, 2022
Ciphers 101 - crack the Enigma
A few weekends ago I visited Bletchley Park (BP) in Bucks UK. BP was the headquarters of the British codebreaking operation in World War 2, made famous after the war for their work cracking the German Enigma cipher system. While little remains of the top secret operation (aside from the wooden huts built in the grounds…