Blog

I'm an expert Python software developer and author on a mission to help every developer build a meaningful career.

High Availability, Replication, and Failover Explained with Stuffed Animals

High Availability, Replication, and Failover Explained with Stuffed Animals

My 2-year-old daughter’s favorite stuffed animal, “Meow-Meow,” is a critical ...

What is Python's Default Hash Algorithm?

What is Python's Default Hash Algorithm?

A friend of mine wondered recently, What is Python’s default hash algorit...

Why Is Poetry Essential to the Modern Python Stack?

Why Is Poetry Essential to the Modern Python Stack?

A Story February 2021. Maintainers of the cryptography package release a new...

Rewriting an API to Use FastAPI: Benchmarks and Lessons Learned

Rewriting an API to Use FastAPI: Benchmarks and Lessons Learned

A question has bothered me for the past year or more: is FastAPI a fad, or sh...

Scaling Django with Postgres Read Replicas

Scaling Django with Postgres Read Replicas

Replication is a feature of PostgreSQL that you typically use to achieve high...

Building Implicit Interfaces in Python with Protocol Classes

Building Implicit Interfaces in Python with Protocol Classes

Python 3.8 shipped one of the coolest features I’ve seen in a recent Python v...

Why Does Python Have a len() Function?

Why Does Python Have a len() Function?

New Python users are often surprised to learn that you call a global function...

Recording Pro Audio and Video at Home with iPads and iPhones

Recording Pro Audio and Video at Home with iPads and iPhones

In January, I started a new job writing and producing technical education vid...

iPad Play Dates in the Time of Coronavirus

iPad Play Dates in the Time of Coronavirus

Oregon schools closed over two months ago to prevent the spread of COVID-19. ...