Blog

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

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. ...

Handoff from Vim over SSH to Working Copy on iPad

Handoff from Vim over SSH to Working Copy on iPad

Have you ever been working in Vim over SSH on an iPad and wanted to open up t...