Posts by Year

2023

A fun multi-lingual concurrency experiment

6 minute read

The other day I was writing some code for a CI pipeline that needed to fetch release notes from several different git repos and collate them into one large s...

Production Dockerfile Tips and Tricks

6 minute read

Container images are the backbone of a lot of modern workflows, especially in the age of Kubernetes and friends. Building images that are small, secure, and ...

Some Advanced Typing Concepts in Python

14 minute read

To start off, let me admit that yes, Python is a dynamically (gradually?) typed language. However, with modern Python (3.6+, and really with 3.10+) and stati...

2022

Early and late binding closures in Python

3 minute read

So it happened again, late-binding closures bit me. I once again had to discover that this was a thing so I decided to make a little post about it just in ca...

Access Modifiers in Python

9 minute read

If you have stumbled across this post then you are probably coming to Python from another object oriented language that has real support for access modifiers...

2021

Building a fully typed LRU Cache in Python

10 minute read

In this post we are going to build a fully typed LRU (least recently used) cache (almost) from scratch using Python. We will then create a function decorator...

2018

Personal Analytics Part 1: Gmail

18 minute read

Most of us are sending or receiving tens to hundreds of emails daily. I have been using email regularly since my undergrad days in 2008 so I thought it would...

2017

2016

I'm Quite Ready for Another Adventure

7 minute read

As part of my transition to Data Science I figured I should get some first hand experience into the field in which I'm transitioning. A few months ago I got ...

Starting a Blog

less than 1 minute read

As is seemingly more common in our field of Astrophysics, I am working on making the transition to Data Science. As part of the learning process for me and i...