Profile Picture

2022 Track Season Retrospective

August 17th, 2022
2022 Track Season Retrospective

Track has been the most constant part of my life these past few years—through job changes, moves, and a global pandemic, I’ve hit the track and competed. This year, my preseason started all the way back in September of last year, and I didn’t run my last race until the last day of July.

And I had a great season! I shaved two tenths off my wind-legal 100m (10.92->10.71) and more than a half second off my 200 (22.10->21.55)—these results, especially the 200, are well beyond my expectations for the year. I also managed to stay healthy during the competitive season (with one minor hamstring injury in October) for the first time in about a decade.

Read More →

Visualizing and Deleting Entity Hierarchies in EF Core

August 16th, 2022

At Vesta, we have a multi-tenant application where tenant data is logically separated in our Postgres instance by a tenant_id column on entity tables. As we’ve grown, we’ve had to delete some tenant data. Although I’ve done it manually a few times in psql, manually deleting rows is dangerous, so I decided to write a script to delete tenants for us.

We use EF Core for all of our database interactions at Vesta, so our entire database schema is represented in our DbContext. Because DbContexts contain entity metadata, I wrote the script against that data.

Read More →

Calculating World Athletics Scoring Table Coefficients

April 26th, 2022
Calculating World Athletics Scoring Table Coefficients

I’m often asked by non-athletes what my mile time is when I tell them I’m a sprinter. Although there’s no true comparison, I’ve typically used World Athletic’s scoring tables to get a relatively close mark. For example, my 100m PR of 10.71 and a mile time of 4:08.41 are both worth 974 points. I’ve used this calculator based off of the 2017 tables for a long time, but the calculator hasn’t been updated with the 2022 data.

So, naturally, I built my own. Check it out if you haven’t already; the remainder of this post will dive into my methodology for parsing the World Athletics PDFs and fitting a curve to each category/gender/event tuple.

Read More →

Effect of Lane Draw in 200m Sprinters

January 25th, 2022
Effect of Lane Draw in 200m Sprinters

There’s a growing consensus within the sprinting world that 200- and 400-meter sprinters have an advantange in the outer lanes. Famously, Wayde van Niekerk ran his world record 400m out of lane 8, and Karsten Warholm is known for preferring lane 7.

Surprisingly for such a data-driven culture, there’s almost nothing in the current literature to back this up. So, using data from Diamond League results from 2015-2021, I estimated the effect of lane assignment on elite male sprinters in the 200m, and found that the advantage per lane was about 0.018 seconds—meaning that outdoor 200m sprinters in lane 9 have an advantage of 0.14s over those in lane 1.

Read More →

2021 Predictions Review

January 4th, 2022

Now that it’s 2022, I’ve scored my 2021 predictions. To get slightly bigger samples, I inverted the prediction and predicted probability of <50% predictions—e.g. “Democrats win both Georgia seats: 25%” became “Democrats do not win both Georgia seats: 75%” for scoring purposes.

Read More →
← PreviousNext →