🚀 ☕ 💻 ⚾ 🌑

hi, i'm matthew

and I'm interested in everything.

Written by Matthew Russell who follows Jesus, studies machine learning at the University of Kentucky, and interns at NASA. Get to know him or check out his projects on GitHub.

Making Sense of the Embedded Landscape

December 25, 2020

The world of embedded hardware and firmware is confusing. If you’re already confused, “firmware” just means “software that runs very close to the hardware.” And “very close to the hardware” means that you have no operating system to work with. The code you run is the only code there is. Nothing’s magic, and that’s important to remember, probably in general. I’d guess the culprit is the variation among manufacturers which becomes accentuated with embedded platforms since you are working so close…

Reviewing the reMarkable 2

December 20, 2020

Back in April I pre-ordered the new reMarkable 2 e-paper tablet. Shipping took several months, but I finally received my tablet back in November. In the days leading up to receiving my unit, I heard mixed, but overall positive reviews for the new device. After working with the device for the last month, I wanted to add my thoughts to the mix. The basics are there: palm rejection is phenomenal since the pen uses different technology than the touchscreen, writing is fluid with no noticeable delay…

Estimating Baseball Event Probabilities With log5

December 03, 2020

In his 1981 and 1983 Baseball Abstracts, pioneering sabermetrician Bill James proposed the log5 method for mixing event probabilities, which is similar to metrics used in other fields. Here are two motivating scenarios: Team A has winning percentage . Team B has winning percentage . What is the expected winning percentage of Team A against Team B? A pitcher strikes out 20% of batters he faces. A batter strikes out 10% of the time. What is the expected strikeout rate in this matchup? Winning…

Disentangling VAEs, KL Divergence, and Mutual Information

September 24, 2020

I’ve recently been reading about the JointVAE model proposed by Emilien Dupont in the paper Learning Disentangled Joint Continuous and Discrete Representations. The paper builds on the development of variational autoencoders (VAEs). As a quick overview, autoencoders are neural networks that take an input, generate some “secret” representation of it, then try to use that “secret” code to reconstruct the input. If it can do that well, then we have found a secret code that summarizes the important…

Markov Chain Monte Carlo Sampling

September 23, 2020

One of my courses recently introduced Markov Chain Monte Carlo (MCMC) sampling, which has a lot of applications. I’d like to dive into those applications in a future post, but for now let’s take a quick look at Metropolis-Hastings MCMC. A Brief Prologue Let’s say we have a probability distribution function (within a mulplicative constant) that is very complex. We have an equation, but maybe it is impossible to integrate. Somehow, we’d like to draw samples from this distribution to estimate…

Belief Propagation

September 16, 2020

Let’s say that you and I are roommates, and I notice you’ve been gone the last two Friday nights. This is not necessarily unusual, and sometimes your Friday night excursion is a date. However, you don’t communicate well, so I have no idea if you had a date or not. As you prepare to go out for the third Friday in a row, I wonder if this Friday you have a date. You won’t spill the beans, but I have a mind-reading superpower — *pause for dramatic effect* — math 🔥. I make an educated guess that if…