Recent Articles

Avoiding Blanket Statements
Avoiding Blanket Statements
May 6, 2022 · 6 min read

One part of emotional intelligence is understanding how our words impact others.


Inner vs. Outer Joins
Inner vs. Outer Joins
Apr 29, 2022 · 7 min read

They can't be used interchangeably, and the differences are important.


Creating a MySQL REPL Playground in Docker
Creating a MySQL REPL Playground in Docker
Apr 27, 2022 · 4 min read

It's helpful to have local throwaway environments for rapid development, especially with databases, and creating one for MySQL is a snap with Docker.


Creating a PostgreSQL REPL Playground in Docker
Creating a PostgreSQL REPL Playground in Docker
Apr 27, 2022 · 3 min read

It's helpful to have local throwaway environments for rapid development, especially with databases, and creating one for PostgreSQL is a snap with Docker.


Creating a Gremlin REPL Playground in Docker
Creating a Gremlin REPL Playground in Docker
Apr 22, 2022 · 4 min read

Apache TinkerPop's Gremlin graph traversal language can be confusing to learn, but thankfully TinkerPop provides some "toy" graphs perfect to learn with.


Types of Probes in Kubernetes
Types of Probes in Kubernetes
Feb 19, 2022 · 4 min read

It's tempting to use the same health check endpoint for multiple probes in Kubernetes, but the kubelet uses each probe for very different purposes.


Writing Meaningful Health Check Endpoints
Writing Meaningful Health Check Endpoints
Feb 14, 2022 · 6 min read

If your health check endpoints return a hard-coded response then you don't actually know the health of your service.


Retrospective Techniques
Retrospective Techniques
Feb 4, 2022 · 7 min read

Retrospectives need to be productive and engaging or participants will quickly tune them out. Here are some techniques to hold more interesting retros.


Patterns for Structuring a Unit Test
Patterns for Structuring a Unit Test
Feb 3, 2022 · 6 min read

Unit tests should be testing acceptance criteria, not internal behavior. Here are some patterns to help accomplish that.


Finding Long-Running Queries in MySQL
Finding Long-Running Queries in MySQL
Dec 22, 2021 · 4 min read

Poorly optimized queries and excessive connections can cause problems in MySQL, here's a quick way to identify and kill them.


Finding Long-Running Queries in PostgreSQL
Finding Long-Running Queries in PostgreSQL
Nov 26, 2021 · 2 min read

Poorly optimized queries and excessive connections can cause problems in PostgreSQL, here's a quick way to identify and kill them.


Calculating Table Size in PostgreSQL
Calculating Table Size in PostgreSQL
Nov 26, 2021 · 2 min read

Knowing how much disk space individual tables take up is important for DB maintenance and debugging, and it can be accomplished with a single query in PostgreSQL.