Capture all user activity in a Firestore collection using Audit Logs, Pub/Sub, and Cloud Functions.
Cleanup repositories on GitHUb by deleting old forks.
Race report for the 2022 Mogollon Monster 100 mile ultramarathon.
Race Report for the 2022 Moab 240. I had a DNF at the midpoint, Shay Mountain.
A basic pattern for strongly typing Yup schemas in TypeScript using conditionals.
Using Google Container Registry, Docker Buildx, and GitHub Actions Using Google Container Registry, Docker Buildx, and GitHub Actions
A pattern for authenticating to gcr.io from docker/build-push-action.
Environment Variables in GitHub Docker build-push-action Environment Variables in GitHub Docker build-push-action
A basic pattern for passing environment variables to the docker/build-push-action from a GitHub secret.
A simple strategy to effectively speed up use of Playwright in GitHub Actions with caching.
Planning and splits for the 2022 Mogollon Monster 100
Race Report for the 2022 Creede 100 mile ultramarathon. I finished 2nd in 29:16:01.
Get the RSS feeds: All, Run, Code.