Why I Run
A reflection on ambition, escape, endurance, and why running has come to mean more to me than simply putting miles on a clock.
A reflection on ambition, escape, endurance, and why running has come to mean more to me than simply putting miles on a clock.
My ongoing project to run a half marathon in every state, with race results, travel notes, and lessons from the road.
2024 has turned into a surprisingly consequential year for my running.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
2024 has turned into a surprisingly consequential year for my running.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
Winter Thoughts on Return
One snowed-in night, I gave my blog a full makeover. What started as boredom became a reset — and maybe, a quiet little revolution.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
My ongoing project to run a half marathon in every state, with race results, travel notes, and lessons from the road.
2024 has turned into a surprisingly consequential year for my running.
A Python + Selenium tool to automate GMU daily parking permits. It’s open source, semi-automated with Duo Mobile 2FA, and saves me from last-minute stress.
How I automated turning off Wi-Fi and Bluetooth on my Apple devices at night to reduce distractions and improve sleep quality — step by step.
A Python + Selenium tool to automate GMU daily parking permits. It’s open source, semi-automated with Duo Mobile 2FA, and saves me from last-minute stress.
How I automated turning off Wi-Fi and Bluetooth on my Apple devices at night to reduce distractions and improve sleep quality — step by step.
Hooray 🎉 — it’s finally live!
Hooray 🎉 — it’s finally live!
One snowed-in night, I gave my blog a full makeover. What started as boredom became a reset — and maybe, a quiet little revolution.
One snowed-in night, I gave my blog a full makeover. What started as boredom became a reset — and maybe, a quiet little revolution.
One snowed-in night, I gave my blog a full makeover. What started as boredom became a reset — and maybe, a quiet little revolution.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
Two sub-5:00 miles, one treadmill, and legs that barely survived — my most intense fitness challenge yet.
A how-to (with lessons learned) on Ruby versioning with Jekyll and GitHub Pages.
A how-to (with lessons learned) on Ruby versioning with Jekyll and GitHub Pages.
A how-to (with lessons learned) on Ruby versioning with Jekyll and GitHub Pages.
A how-to (with lessons learned) on Ruby versioning with Jekyll and GitHub Pages.
A how-to (with lessons learned) on Ruby versioning with Jekyll and GitHub Pages.
Learn how to obviate the need to rebuild a Docker image every time an local file in the host’s current directory changes, with the power of Bind mounts!
Learn how to obviate the need to rebuild a Docker image every time an local file in the host’s current directory changes, with the power of Bind mounts!
Learn how to obviate the need to rebuild a Docker image every time an local file in the host’s current directory changes, with the power of Bind mounts!
Learn how to obviate the need to rebuild a Docker image every time an local file in the host’s current directory changes, with the power of Bind mounts!
Learn how to obviate the need to rebuild a Docker image every time an local file in the host’s current directory changes, with the power of Bind mounts!
Leverage the Medium API in JavaScript to publish a post to medium.com, and retrieve a list of all (published) posts for a user.
Leverage the Medium API in JavaScript to publish a post to medium.com, and retrieve a list of all (published) posts for a user.
Leverage the Medium API in JavaScript to publish a post to medium.com, and retrieve a list of all (published) posts for a user.
Leverage the Medium API in JavaScript to publish a post to medium.com, and retrieve a list of all (published) posts for a user.
Leverage the Medium API in JavaScript to publish a post to medium.com, and retrieve a list of all (published) posts for a user.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
My first half marathon: hills, hydration mishaps, and a finish line I almost missed — but somehow, I still placed first in my age group.
2024 has turned into a surprisingly consequential year for my running.
2024 has turned into a surprisingly consequential year for my running.
How I automated turning off Wi-Fi and Bluetooth on my Apple devices at night to reduce distractions and improve sleep quality — step by step.
How I automated turning off Wi-Fi and Bluetooth on my Apple devices at night to reduce distractions and improve sleep quality — step by step.
How I automated turning off Wi-Fi and Bluetooth on my Apple devices at night to reduce distractions and improve sleep quality — step by step.
A Python + Selenium tool to automate GMU daily parking permits. It’s open source, semi-automated with Duo Mobile 2FA, and saves me from last-minute stress.
A Python + Selenium tool to automate GMU daily parking permits. It’s open source, semi-automated with Duo Mobile 2FA, and saves me from last-minute stress.
A Python + Selenium tool to automate GMU daily parking permits. It’s open source, semi-automated with Duo Mobile 2FA, and saves me from last-minute stress.
My ongoing project to run a half marathon in every state, with race results, travel notes, and lessons from the road.
My ongoing project to run a half marathon in every state, with race results, travel notes, and lessons from the road.
Winter Thoughts on Return
Winter Thoughts on Return
Winter Thoughts on Return
Winter Thoughts on Return