January 14, 2024

House of Reps

House of Reps is a project that explores apportionment in the U.S. House of Representatives.


January 13, 2024

Flipping House votes with apportionment data

How changing the method for seat apportionment in the House would reshape voting.


December 15, 2023

Metal shaders with PyTorch from end to end

Learn how to speed up PyTorch code with custom Metal shaders to take advantage of MPS support on Apple silicon.


December 15, 2023

Chamfer distance visualization in Python and JS

Exploring how Chamfer distance works in both Python and JS using `dash`.


November 23, 2023

The impact of 25 people on Congressional voting

This is the story of how Minnesota was just 25 people away from losing a representative.


November 12, 2023

Sorry, Delaware, America's most underrepresented state

Congratulations for losing the state population lottery, 70 years and counting.


October 22, 2023

Is MOT piecewise linear?

How linearly do people walk?


October 20, 2023

Track your reading list with the safarireadinglist package

A little bit later, a little bit less reading done.


October 03, 2023

Effortless computer vision annotations in Dash with dash-annotate-cv

Unleashing the power of dash for effortless annotations.


August 30, 2023

Skimming through recommendation systems

My notes from a quick read of some background on recommendation systems


August 29, 2023

A quick dive into search system metrics

From precision & recall to nDCG


December 31, 2022

Yōuyǎ Jekyll theme

My own Jekyll theme - Yōuyǎ is an elegant profile theme for the static site generator Jekyll.


August 23, 2022

Windows 11 Setup for Mac Users

How I set up my Windows machines for productivity.


June 26, 2022

2 quick lessons from a C# coding exercise

This simple problem reminded me not to overthink — unless you have to.


April 12, 2022

The missing manual to SwiftUI animations

Time to get those animations working.


December 27, 2021

Convolution calculator for neural networks

Easily choose parameters for convolution layers it neural networks.


December 16, 2021

Export Safari reading list using Python

Clean up your teeming reading list.


November 12, 2021

Improve your Swift unit tests with async-like helpers

Take away the ugliness of expectations for dealing with completions using async-like helpers and lambda functions.


November 3, 2021

The magic of RawRepresentable in Swift

Extensions I keep coming back to.


October 19, 2021

Flash larger SD card image onto smaller card on Mac for your Raspberry Pi

Finally, something that works.


October 2, 2021

Estimating constrained precision matrices with TensorFlow

Gaussian graphical models are defined by the structure of the precision matrix. From a fixed structure, how we estimate the values of the…


September 20, 2021

Swift documentation without long CI pipelines

The awesomeness of CI is that docs and tests run automatically. Requiring that tests pass on merges is probably the most critical CI…


July 8, 2021

A cheat sheet for custom TensorFlow layers and models

How to redefine everything from numpy, and some actually useful tricks for part assignment, saving custom layers, etc.


June 16, 2021

Saving nested layers in TensorFlow

How to serialize nested layers in TF 2.5.0.


February 16, 2021

How to differentiate noisy signals

Without amplifying the noise!


December 28, 2020

You've probably missed one of the greatest ML packages out there

And no, it’s not in Python. Or C++.


December 26, 2020

The simplest generative model you probably missed

A tutorial on probabilistic PCA.


November 30, 2020

The Masked Manual

Open source iOS app for referencing face mask data


November 9, 2020

What's my vote worth?

Your state’s voting power in the electoral college.


October 26, 2020

Line search methods in optimization

And where are they in machine learning?


October 9, 2020

Share to social media on iOS with UIActivityViewController

From UIViewController to screenshot to social media.


October 2, 2020

RBMs revisited in TensorFlow 2

Back to the bulk of the cake — unsupervised learning — with the latest tools.


September 29, 2020

From minimize to tf.GradientTape

A simple optimization example with Tensorflow 2.0.


September 21, 2020

Regular backups for your Cloud Firestore database and Storage

How close do you have get to deleting everything in your database before you set this up?


August 29, 2020

Docker - my questions from the first day

What, when, where, why, and how?


August 25, 2020

Set up GitLab CI/CD for testing your Firebase functions

It’s all about those “pipeline: passed” badges.


August 22, 2020

Lost in Xcode land

A travelers guide.


August 18, 2020

Two ways to do regression with neural networks

Neural network have so many hidden tricks. Here are some practical tips for using neural networks to do regression.


August 1, 2020

5 things I wish I knew sooner about Swift

The places where Swift isn’t so intuitive.


July 30, 2020

Documenting your Python library, from zero to website

Documentation is quite a project, but your project is already a project, and who wants another project?


July 25, 2020

Grover's quantum algorithm in Python

Breaking down the magic of quantum algorithms.


July 20, 2020

Turing machines in Python

How to make your computer emulate a computer.


July 15, 2020

7 tricks for beautiful plots with Mathematica

Why are the simple things so non-intuitive?


July 12, 2020

Speed up Python code with CARMA

Python is lovely, but what if you want something both lovely and fast?


July 11, 2020

An intro to Mender -- Part 2

Setting up a Mender server all your own.


July 11, 2020

An intro to Mender -- Part 1

The modern way to update IoT devices.


July 9, 2020

Headless setup of Raspberry Pi -- once and for all

How to reduce headaches when configuring all those million options.


July 7, 2020

5 things the design of your keyboard got wrong

Your keyboard isn’t designed for you, and that’s bizarre.


July 5, 2020

Three advanced pybind11 features for wrapping C++ code into Python

Elegant features from a more civilized language.


July 3, 2020

Stop using Python's print for your library

A short guide to getting starting with Python’s logging module.


July 2, 2020

Setting up a C++/Python project with pybind11 and CMake

This tutorial shows how to set up a pybind11 project with CMake for wrapping a C++ library into Python.


July 2, 2020

C++ documentation with Doxygen/CMake/Sphinx/Breathe for those of use who are totally lost -- Part 3

Part 3, where your monstrous creation reaches the world.


July 1, 2020

C++ documentation with Doxygen/CMake/Sphinx/Breathe for those of use who are totally lost -- Part 2

Part 2 of the series where I’m the fool discovering how docs work.


July 1, 2020

C++ documentation with Doxygen/CMake/Sphinx/Breathe for those of use who are totally lost

It’s me. I’m the one who is totally lost.