46 articles since 2015

Recently published.

Latest · May 17, 2026 · 3 min read

First Ultramarathon: River Run 50k

About a month ago we ran our first Ultramarathon, the River Run 50k.

PersonalRunning
Read the post →

Everything else

9 posts · sorted newest

How to Use PostgreSQL for Data Normalization

↗ External

Data normalization in PostgreSQL, written with Timescale. Normal forms, when to denormalize instead, and how TimescaleDB changes the tradeoffs.

PostgreSQLDatabasesTimescaleDB
Dec 20, 2024
1 min read

Resizing AWS Mac Volumes

How to resize an EBS volume on an AWS Mac EC2 instance. Bumping the volume size is only half the job; macOS needs the APFS container resized too.

AWSMacDevOps
Dec 3, 2024
2 min read

Recursive Query in SQL: What It Is, and How to Write One

↗ External

As developers, querying in PostgreSQL for hierarchical data is difficult. SQL is a declarative programming language, but our brains are trained to think imperat…

PostgreSQLDatabasesTimescaleDB
Nov 4, 2024
1 min read

Understanding SQL Aggregate Functions

↗ External

You may have heard that 'data is the new oil.' By itself, data is unrefined and not valuable, but given processing and refinement, it becomes precious. We gain…

PostgreSQLDatabasesTimescaleDB
Oct 28, 2024
1 min read

Understanding Foreign Keys in PostgreSQL

↗ External

Foreign keys in PostgreSQL are a fundamental way of defining relationships between tables. Splitting data across multiple tables is foundational to relational d…

PostgreSQLDatabasesTimescaleDB
Sep 28, 2024
1 min read

Explaining PostgreSQL EXPLAIN

↗ External

How to read PostgreSQL EXPLAIN output: the plan, operations, row counts, and timing, and using it to figure out why a query is slow.

PostgreSQLDatabasesTimescaleDB
Jul 30, 2024
1 min read

PostgreSQL Security Guide

↗ External

A PostgreSQL security guide written with Timescale. What to lock down, why it matters, and the ways attackers get in when you don't.

PostgreSQLDatabasesTimescaleDB
Apr 4, 2024
1 min read

How to Use a Common Table Expression (CTE) in SQL

↗ External

Common Table Expressions (CTEs) are my go-to tool when writing complex SQL queries. They can be thought of as working like sub-queries or temporary tables but w…

PostgreSQLDatabasesTimescaleDB
Mar 9, 2024
1 min read

Understanding PostgreSQL Tablespaces

↗ External

Tablespaces are a PostgreSQL feature that gets easily overlooked but can provide substantial speed improvements and cost-saving potential. As our database grows…

PostgreSQLDatabasesTimescaleDB
Jan 28, 2024
1 min read