Sign in

New York based Software Engineer and writer.

Open Source / Python Community

Throwing a fit isn’t collaboration.

I’ve been a full-time Python developer for over 5 years. It was my first language and I love it. I made the transition over to Python 3.7 about 4 years ago and have been contributing to open-source since then. One of the things that excited me the most about Python’s type-system was the ability to describe and then enforce types at runtime in a way that’s not really possible with standard statically-typed language. Not long after I moved to 3.7 I released my own library for runtime type-analysis: Typical.

Not long after I released the first version of Typical, a…

My dad died 21 days ago.

It feels unreal, but inevitable.

13 years ago he called me and said he had half a year to live. When I heard that news I collapsed. I don’t remember much from that call, except screaming “no”.

He got better. He spent the last 12 years free of the disease which readily ate away at his body those first months. He never lost the will to live — even when he couldn’t sit up by himself. Even when he couldn’t speak for himself. Even when he couldn’t eat for himself. …

Social Media’s Moderation Problem

There is no question that social media faces a nearly impossible problem with content moderation. Extreme points of view and objectionable content are amplified by an algorithmically enhanced funnel faster than any team of moderators can respond.

When we cite objectionable material that thrived on a social platform, why do we say the problem is moderation? Objectionable content has existed since the dawn of time, and when the Internet came to be, it was quick to find a space. What is different today than back in the 90s when online forums and message boards were first exploding onto the scene…


I recently got around to publishing my personal website and the whole experience was so delightful I felt it important to share my process. It took me about 8 working hours (including research and reading docs). For some scale, this blog post will have taken me about 2X that amount of time 😱.

As we go through this tutorial, feel free to use my website and the source code as a practical example.


I’ve been telling myself for a while now that I was going to set up a personal website. My requirements were:

  1. Clean, accessible design.
  2. Mobile-friendly.
  3. Easy to…

Deploying Scalable, Production-Ready Web-Services in Python 3 on Kubernetes

Python has undergone something of an evolution in the past few years. From Python 3.4 to 3.7 we have seen the introduction of asyncio, the introduction and formalization of async/await keywords, and re-investment in asyncio performance. Writing asynchronous code in Python has never been easier, more performant, or more efficient.

In addition to the improvements to the stdlib, Python’s Open-Source community has entered something of a Renaissance as well. The Open-Source community has embraced the potential of async/await and the flexibility of the asyncio library has proven a huge boon. asyncio’s extensible API readily encourages alternative Event Loop implementations and…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store