-
How to automate backups of a PostgreSQL server using Barman/barman-cloud-backup to S3
I was surprised not to find many up to date instructions on this. I have a few basic requirements: After a bit of playing around, I decided to use Barman for the backups – it’s significantly easier to configure and use than pgBackRest and has native support for backing up to S3, point-in-time restore, and…
-
Migrate your TimescaleDB from timescale.com to self hosted
I’ve been using timescale.com for about a year, but it’s quite expensive for a hobbyist (their cheapest plan in the UK is about $50/month), so I thought i’d try and implement something cheaper. I know i won’t get the cool automatic DR failover or the sexy continuous backups – but it’s not really mission critical…
-
The Multiplier Effect: How The Aggregation of Marginal Delays Derails Projects
The Aggregation of Marginal Gains is an improvement model attributed to Dave Brailsford. When he took over as the head of British Cycling in 2002, the team was near the bottom of the rankings. Brailsford’s approach was to look at their processes in tiny detail, and improve each part by 1%, the logic being that…
-
FIX: The key(s) in the keyring /etc/apt/trusted.gpg.d/???.gpg are ignored as the file is not readable by user ‘_apt’ executing apt-key
When running apt-get update i was seeing these errors: I was getting this error after migrating keys from the old, legacy store to a the shiny new one. A quick inspection shows that the new keys have different permissions to the existing ones The fix is pretty simple. Pick one of the pre-existing GPG keys,…
-
FIX: Key is stored in legacy trusted.gpg keyring
While running apt-get update I was seeing errors: Although the warning is annoying, it doesn’t stop things updating. I understand the reasons why the legacy keyring is being removed. Migrate existing keys to the new keyring First, list the keys: In my case, i’ve got two – one for PostgreSQL and one for timescaledb. You…
-
Using an ephemeral MongoDB single node replicaset in a devcontainer or codespace
I love using devcontainers to manage my development environment. They make it super easy to ensure a consistent development stack is in place. Recently i started developing against a MongoDB instance. For node.js, i use mongodb-unit to spin up a standalone server on the local client. But there’s no equivalent package for Python. Although there…
-
From RICE to ICE: which framework for your project?
I’ve previously explained the RICE and ICE techniques for prioritisation. Both techniques are frameworks used to evaluate and rank projects or tasks based on their potential impact, feasibility, and difficulty. However, I wanted to highlight the two key differences between them to help you chose the right tool for your project. The ICE technique (Impact,…
-
Ice, Ice Baby: Chill Out and Prioritise with the ICE Technique
Yesterday, i talked about the RICE technique for prioritisation. Today, i want to introduce ICE technique, another prioritisation framework used to evaluate and prioritise tasks or projects based on three factors: Impact, Confidence, and Ease. Tomorrow, i’ll compare them both. To use the ICE technique, each item is assigned a score out of 10 for…
-
You want RICE with that?
Imagine that you are a product manager at a software company, and you have three potential features to prioritise for the next development cycle. How do you pick between them? There are many ways, but one i recently learned about is the RICE model – a prioritisation framework used by product managers, teams, and organisations…
-
Are you A senior developer, or THE lead developer
In our world, we organise in Pods – an autonomous group of 6-9 people with all the skills needed to solve a problem. Multiple Pods form a Team. Within a Pod, there can be multiple Senior Developers, but only a single Lead Developer. They have different and overlapping responsibilities and accountabilities. Every project must have exactly one Lead Developer, and…
