Blog
- K-Means Clustering (Jupyter Notebook)
December 29, 2023
In this post, we learn about metric spaces, clustering, and the K-Means clustering algorithm. We implement the algorithm in Python and show a couple applications.
- Leading Order Behavior (Jupyter Notebook)
April 14, 2023
In this post, I discuss why it's worth paying attention to the leading order behavior of your algorithms.
- Some Thoughts on Server State in Remix
January 7, 2022
In this post, I talk about how Remix handles server state and why it's so easy to work with.
- Progressive Enhancement in Django vs Remix
December 21, 2021
In this post, I discuss one of my favorite things about Remix: it makes going from full SSR to SSR + client-side JavaScript completely seamless.
- An Intro to HTML Forms
October 7, 2021
In this post, I explain what HTML forms are and how you can use them.
- Stable Forms in Remix
June 15, 2021
In this post, I explain how to make your Remix forms more stable.
- Building a Simple Search UI with Remix
June 2, 2021
This post is a tutorial on how to build a simple search UI with Remix. We build a search bar to filter through a list of tweets using HTML forms and URL search params.
- Improving Your React Code - Custom Hooks
February 13, 2021
In this post, I discuss why custom hooks in React are so tremendously useful
- Inheritance in JavaScript
September 29, 2020
In this post, I explain how inheritance works in JavaScript
- Model Inheritance in Django
August 24, 2020
In this post, I explain two ways to model inheritance in Django, which one we chose for a work project and why, and some thoughts about our decision in hindsight.