Occasionally I drink too much coffee and get the idea that I’m going to write down some of my thoughts. This is where they end up - my hodgepodge of projects, research, and interesting articles I’ve read.

I loosely group the content into three categories:

  • Blog Posts: Links to articles or how-tos on other sites.
  • Notebooks: Ongoing research and notes on topics I have found interesting.
  • How-tos: Somewhat completed projects.

Latest posts

Python Project Setup (2026 Edition)

A few years back I linked to Alex Mitelman’s Python best practices post as my go-to reference for new project setup. The tooling has moved on quite a bit since then, so here’s my updated take.

The new stack is three tools, all from Astral: uv, ruff, and ty. They’re fast, they integrate cleanly with each other, and they collapse a lot of the old toolchain into a much simpler setup.

uv — dependency management, environments, everything

uv replaces pyenv + pip + venv in one shot. It handles Python version management, virtual environments, dependency locking, and running commands in the right environment.

Linux Bonding with VLANs

Every time I set up network bonding on a Linux box I end up digging through the same stack of man pages and blog posts from 2014. This is my attempt to write it down somewhere useful.

The Setup

The goal is straightforward: combine two physical NICs into a bonded interface for redundancy (or throughput), then layer VLAN-tagged sub-interfaces on top of the bond. This is bread-and-butter stuff for any server attached to a managed switch.

Python Typer

I love writing a good cli tool, but it’s no fun parsing switches and arguments. Python’s click is a solid choice, but lately I’ve been loving typer. Typer is a super easy-to-use library, built on top of click.

Typer uses method variables and type hints to generate and parse the command line arguments for you, and even generates the help context. It’s practically magic.

check it out:
Typer

Python Best Practices

I always forget which tools are the latest and greatest to use when I’m setting up a new Python project. Alex Mitelman published a really helpful summary here:


Python Best Practices for a New Project in 2021

Control Chromecast From Linux / BSD / MacOS
$ export URL="http://ccmixter.org/contests/freestylemix/hisboyelroy/freestylemix_-_hisboyelroy_-_Revolve.mp3"
$ playerctl -p My_Chromecast open "$URL"

This will play a song on the Chromecast.

Ok, that’s awesome. chromecast_mpris, by Alex DeLorenzo

All posts