Home¶
-
Paul Brabban, Lead Consultant at Equal Experts
With experience in software development, data engineering and machine learning, I specialise in data-intensive problems and decentralised data engineering at scale. My experience extends to leading teams, technical architecture and product development. Find out more about my experience and publications in my portfolio.
Contact me to see how I can help at paul@tempered.works.
Recent posts¶
How to get pwned with --extra-index-url¶
Dec 6, 2025 automation operations security
Python's built-in pip package manager is unsafe when used with the --extra-index-url flag (there are other dangerous variants too). An attacker can publish a malicious package with the same name and...
UDAFs, stored procedures and more in dbt¶
Aug 4, 2025 insights
It's been over a year since I first wrote about managing UDFs using custom dbt materializations. The approach has held up well, but a recent project required me to go further and bring UDAFs (user-def...
BigQuery, safer by default from September 2025¶
Jul 17, 2025 insights operations
On September 1st 2025, Google will make BigQuery a lot safer by default, changing the default quotas for projects under the default on-demand pricing model. Instead of unlimited financial damage, the ...
GitHub Codespaces, one year later¶
Jun 7, 2025 operations security
Back in early 2024 I tried GitHub Codespaces, and quickly ditched my local dev setup entirely. This post shares my experience going cloud-native for development: benefits for onboarding, agility, and ...
GROUP BY ALL solves a really annoying SQL problem¶
May 29, 2025
Does your SQL still copy most of your columns from SELECT after GROUP BY? Behold: GROUP BY ALL.
My path to consultancy¶
May 11, 2025 operations
I had big doubts about becoming a consultant or contractor. Could I do it? Would I find work? Could I run my own business? Would I need to change who I am, wear a suit, or buy a briefcase? Seven years...
Rethinking the guest network to improve my home network security¶
Mar 23, 2025 operations security
I believe that making my guest network my default network reduces the potential harm a compromised app or device can cause. What was my "trusted" network is now my "untrusted" network, with only a few...
Generating portable and user-friendly identifiers¶
Mar 8, 2025 insights operations performance
I'll share how I generate unique identifiers from data in 2025, avoiding the pitfalls I've seen along the way. TL;DR: I'm using MD5 to produce a digest from a string or bytes value, then I'm using pla...
Using AWS billing to track down lost resources¶
Feb 9, 2025 operations
My AWS bill was higher than I expected, and it wasn't immediately clear what was driving the cost. Here's how I tracked down the culprits.
Testing stored procedures¶
Jan 18, 2025 insights
Update August 2025 Since writing this post, I've found a clean way to handle stored procedures and their outputs for dbt users by treating them as materializations. This makes testing them as straight...