Feb 2026
Getting VPA resourcePolicy right in Helm charts
Jan 2026
gcloud auth application-default login for kubectl Pruning Claude Code conversation history Extracting Travel Data from macOS Photos Library Using Claude to free 200GB from a nearly full disk Making bumpver play nice with uv Migrating from a GitHub bot user to a GitHub App CCS: Search for Claude Code conversations
Dec 2025
My Neovim setup in 2025 Python tools I used in 2025 Kubernetes debugging in 2025 Developing Magento plugins on Kubernetes with git-sync Deploying Magento to Kubernetes Git worktree helper with fzf Cleaning up Docker Deploying to Cloudflare Pages with wrangler Silencing alerts properly in Alertmanager Fix gcloud PATH in shell OpenSSL certificate testing with SNI GitHub PR commands with gh Advent of Code tips
Nov 2025
Accessing secrets in GKE Viewing Docker container logs Getting your public IP with curl PostgreSQL WAL monitoring Connecting to Cloud SQL with gcloud docker-compose basics Searching code across GitHub with gh ArgoCD application sync Selenium web scraping basics Cost-optimising GKE with ComputeClass direnv Python path issues Content Security Policy headers pytest-asyncio mode configuration Pydantic v2 migration tips Migrating from Redocly to Docusaurus FastAPI basics
Oct 2025
GKE cluster autoscaler Sentry DSN configuration helm template for debugging Kubernetes HPA debugging Kubernetes tolerations and node selectors Querying GCP logs with gcloud Keeping Homebrew packages up to date Moving commits between branches with cherry-pick One-liner Python scripts with uv run
Sep 2025
Debugging cert-manager in Kubernetes Setting up Dependabot for uv projects psql connection basics Shelving changes with git stash Debugging APIs with curl and jq Undoing commits with git revert Setting up Claude CLI with MCP tmux basics
Aug 2025
Managing tickets from the terminal with Linear CLI Syncing files from GCS with gcloud storage Alembic migration history dig for DNS lookups Monitoring Kubernetes with watch and top Viewing Kubernetes pod logs
Jul 2025
kubectl debugging commands rsync for file syncing Managing Kubernetes deployments Analysing Svelte build chunks Formatting PHP with php-cs-fixer Setting up pre-commit hooks Pytest tips: last failed and specific tests GCloud workload identity for GitHub Actions Ruff, the fast Python linter Terraform import Git worktrees for parallel development Modern CLI tools: fd and ripgrep Publishing Python packages to Artifact Registry with uv
Jan 2018
Trustless pseudo-random number generation
Mar 2017
Permission issues with xpra when tunnelling through SSH Enabling MathJax on a Jekyll server when offline File/text was not valid utf8 encoded
Sep 2016
Getting Aimsun 8.1.3 to work on Ubuntu 16.04
Jan 2016
Presentation for Geomob
Dec 2015
Photography: Mundane, Surreal What me eat by Macka B Use crontab to log CPU temperature on OSX!
Nov 2015
Find and delete files and folders in OSX terminal
Oct 2015
Converting raster files from one reference system to another Fastest way to access a list that is a subset of an even bigger list
Mar 2015
Forum is Free: Housing and Energy Bristol People’s Question Time Another Angry Voice How well does population distribution predict evacuation time? First post!