Profile Picture

Next Season

August 17th, 2023

After a disappointing end to my season, I spent some time reflecting on what went wrong and what I can do better this year. The obvious acute answer is the back injury I suffered in March; the other obvious answer is the lack of racing between May and July to keep me sharp.

Although I didn’t have to miss too much time after my back injury, I wasn’t able to train at full intensity for several weeks, and never really returned to full strength in the weight room. I also had to change my training plan significantly; I missed a couple cycles of max-velocity and speed endurance development.

The back injury wasn’t my first injury this year, either—I dealt with minor gluteal issues in the fall and winter, and fairly severe hamstring tendinopathy throughout the year.

So what can I do differently to avoid injuries next year and achieve my goals? Here’s my plan:

Training

  • I’m going to be more careful about my training volume and intensity, especially in the fall and winter.
  • I’ll be going to the indoor track much earlier in the season instead of trying to tough it out as temperatures drop in October.
  • I’d like to do more max velocity work earlier in the season. I spent a ton of time working on acceleration this year, and I’m happy with where I am there—but I have a lot of work to do on my top speed.
  • I’ll be doing more unilateral and accessory work in the gym to address imbalances and weaknesses.
  • I’m going to invest in new blocks and a Freelap e-starter to make sure I can get quality starts (and reaction time practice) in training.

Recovery

  • I need to be more proactive about recovery and injury prevention. In particular, I need to bulletproof my core and low back, which have caused the last few issues I’ve had.
  • I’m going to work on thoracic and shoulder mobility, especially my right shoulder. Based on some videos I have, this should help reduce the load on my low left back, especially out of blocks.
  • I’ll have a standing appointment with my PT to make sure I’m staying on top of any issues that come up.
  • In general, I’d like to decrease my stress levels and improve my sleep quality. I’ve had issues waking up well before I should, which must be impacting my recovery.

Racing

  • I need to have fewer breaks in my season. I’ll have to seek out a couple meets in June and July to make sure I’m staying sharp.
  • I’d like to race in a few higher-level meets this year. That’ll probably involve traveling, but I think it’ll be worth it.
Read More →

Failure

July 24th, 2023

Most of the posts on this blog are about success. I write about my PRs, my wins, and my accomplishments. I write about the things that I’m proud of.

When I write about my failures, I write about setbacks. I write about how they are just temporary roadblocks that make my eventual success that much sweeter.

But sometimes failure is just failure.

Read More →

2022

February 14th, 2023
2022

At some point in our lives, as the story goes, the years start to blur together. As we get more settled in the rhythm of life, as our milestone events recede behind us, the distinction between any two years becomes less and less clear. And one day, we blink, and realize we’ve spent decades on cruise control.

I’m staving off this future as long as I can—and I did so successfully in 2022. Here’s some of my highlights of the year:

Read More →

The Everyman's Superspike: Adidas Prime SP2

October 7th, 2022
The Everyman's Superspike: Adidas Prime SP2

This year, Adidas entered the superspike game with their Prime SP2. Their athletes found immediate success with the new spike, most notably 2022 world champions Noah Lyles and Shaunae Miller-Uibo. I recently managed to get my hands on a pair of SP2s and put them to the test.

Read More →

Seamless Migration Squashing for EF Core 6 Migration Bundles

August 22nd, 2022
Seamless Migration Squashing for EF Core 6 Migration Bundles

EF Core generates and stores a full snapshot of the database for every migration. For a large data model, like we have at Vesta (come join us!), every migration adds ~15k LOC. Over time, we end up with more migration than application code—in 10 months, we generated over 2 million(!) lines of migration code.

All these snapshots significantly impact compile time, and without configuration, makes interacting with the codebase more tedious and slower. These snapshots also aren’t useful—after enough time has passed, it becomes prohibitively difficult to actually revert N migrations back.

Ideally, we’d be able to “squash” old migrations into one, removing the old snapshots and migration logic while preserving the ability to spin up a fresh database. In the following, I’ll describe how we achieved this at Vesta.

Read More →
Next →