41554 blogs · [ { "id": "01a0878c-75be-70dc-8b7d-02b977d160bd", "title": "\"No true science\"—altitude, venue effects, and the fastest indoor track in America", "url": "https://jeffchen.dev/posts/The-Fastest-Indoor-Track-In-America", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef532e8e2", "title": "InstantDB & Tanstack Router Loaders", "url": "https://jeffchen.dev/posts/Instant-DB-Tanstack-Router-Loaders", "published_at": "2025-07-24T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97a3ebec9", "title": "Volume Is All You Need: 2024-25 Season Recap and Technical Notes", "url": "https://jeffchen.dev/posts/Volume-Is-All-You-Need-24-25-Recap", "published_at": "2025-07-06T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96ea80b25", "title": "Monotonic Last Modified Columns in Postgres", "url": "https://jeffchen.dev/posts/Postgres-Monotonic-Last-Updated-Columns", "published_at": "2024-12-02T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97633ee93", "title": "Temperature and Speed—Redux", "url": "https://jeffchen.dev/posts/Temperature-And-Speed-Redux", "published_at": "2024-11-18T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96ede8169", "title": "Predicting 100m from Practice Results", "url": "https://jeffchen.dev/posts/Predicting-100m-From-Practice", "published_at": "2024-11-03T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8f00eddc16", "title": "Next Season", "url": "https://jeffchen.dev/posts/Next-Season", "published_at": "2023-08-17T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef1bec43e", "title": "Failure", "url": "https://jeffchen.dev/posts/Failure", "published_at": "2023-07-24T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b79280919", "title": "Alpha GPC for Athletes: More Than You Wanted to Know", "url": "https://jeffchen.dev/posts/Alpha-GPC-For-Athletes-More-Than-You-Wanted-To-Know", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b76303ae2", "title": "2022", "url": "https://jeffchen.dev/posts/2022", "published_at": "2023-02-14T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8eef7e22a2", "title": "Cold Weather Sprinting", "url": "https://jeffchen.dev/posts/Cold-Weather-Sprinting", "published_at": "2023-01-24T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b78747e59", "title": "The Everyman's Superspike: Adidas Prime SP2", "url": "https://jeffchen.dev/posts/Adidas-Prime-SP2-Review-Everymans-Superspike", "published_at": "2022-10-07T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b9720c3b8c", "title": "Seamless Migration Squashing for EF Core 6 Migration Bundles", "url": "https://jeffchen.dev/posts/Seamless-Migration-Squashing-for-EF-Core-6-Migration-Bundles", "published_at": "2022-08-22T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b757d901b", "title": "2022 Track Season Retrospective", "url": "https://jeffchen.dev/posts/2022-Track-Season-Retrospective", "published_at": "2022-08-17T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b979b489dd", "title": "Visualizing and Deleting Entity Hierarchies in EF Core", "url": "https://jeffchen.dev/posts/Visualizing-and-Deleting-Entity-Hierarchies-in-EF-Core", "published_at": "2022-08-16T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7fc54e17", "title": "Calculating World Athletics Scoring Table Coefficients", "url": "https://jeffchen.dev/posts/Calculating-World-Athletics-Coefficients", "published_at": "2022-04-26T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef10c199f", "title": "Effect of Lane Draw in 200m Sprinters", "url": "https://jeffchen.dev/posts/Effect-of-Lane-Draw-In-200m-Sprinters", "published_at": "2022-01-25T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b739fbd5d", "title": "2021 Predictions Review", "url": "https://jeffchen.dev/posts/2021-Predictions-Review", "published_at": "2022-01-04T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8f0214ed41", "title": "November 2021 Review", "url": "https://jeffchen.dev/posts/November-2021-Review", "published_at": "2021-11-30T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97517d997", "title": "Taking a Break", "url": "https://jeffchen.dev/posts/Taking-a-Break", "published_at": "2021-11-08T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96d00e66a", "title": "October 2021 Review", "url": "https://jeffchen.dev/posts/October-2021-Review", "published_at": "2021-10-31T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7edeebbe", "title": "Brick by Brick", "url": "https://jeffchen.dev/posts/Brick-by-Brick", "published_at": "2021-10-24T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef3ff361e", "title": "Hello, Vesta", "url": "https://jeffchen.dev/posts/Hello-Vesta", "published_at": "2021-10-17T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7b68666a", "title": "Automatically Fixing Relative Imports with ESLint", "url": "https://jeffchen.dev/posts/Automatically-Fixing-Relative-Imports-with-ESLint", "published_at": "2021-10-10T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b9737978fb", "title": "September 2021 Review", "url": "https://jeffchen.dev/posts/September-2021-Review", "published_at": "2021-10-01T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b978652346", "title": "Am I Getting Faster Over Time?", "url": "https://jeffchen.dev/posts/Tracking-Fly-Times", "published_at": "2021-09-26T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef65c07e3", "title": "JOTA: syncing MFA app for Apple devices", "url": "https://jeffchen.dev/posts/JOTA-Syncing-MFA-App-For-Apple-Devices", "published_at": "2021-09-19T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96de12f49", "title": "Postgres 13 Row-Level Security Performance", "url": "https://jeffchen.dev/posts/Postgres-13-Row-Level-Security-Performance", "published_at": "2021-09-12T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef3f9760f", "title": "Get a Hobby", "url": "https://jeffchen.dev/posts/Get-A-Hobby", "published_at": "2021-09-05T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7b17cf1c", "title": "August 2021 Review", "url": "https://jeffchen.dev/posts/August-2021-Review", "published_at": "2021-08-31T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef901f967", "title": "Legibility in Software Engineering", "url": "https://jeffchen.dev/posts/Legibility-in-Software-Engineering", "published_at": "2021-08-28T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b76ece33c", "title": "A Taxonomy of Software Engineering Taxonomies", "url": "https://jeffchen.dev/posts/A-Taxonomy-of-Software-Engineering-Taxonomies", "published_at": "2021-08-22T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef5776b46", "title": "Interview More", "url": "https://jeffchen.dev/posts/Interview-More", "published_at": "2021-08-14T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b74bcaf6f", "title": "2021 Track Season Retrospective", "url": "https://jeffchen.dev/posts/2021-Track-Season-Retrospective", "published_at": "2021-08-07T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef88d5bd8", "title": "July 2021 Review", "url": "https://jeffchen.dev/posts/July-2021-Review", "published_at": "2021-07-31T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef441276a", "title": "How Much Do Genetics Matter in Sprinting?", "url": "https://jeffchen.dev/posts/How-Much-Do-Genetics-Matter-in-Sprinting", "published_at": "2021-07-17T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b974ad8cf7", "title": "Super Spikes? New Balance FuelCell Sigma SD-X Impressions", "url": "https://jeffchen.dev/posts/Super-Spikes-New-Balance-Fuelcell-Sigma-SD-X-Impressions", "published_at": "2021-07-10T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7d68da91", "title": "Bitrot", "url": "https://jeffchen.dev/posts/Bitrot", "published_at": "2021-07-04T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef89bb1ea", "title": "June 2021 Review", "url": "https://jeffchen.dev/posts/June-2021-Review", "published_at": "2021-06-30T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7a502ed3", "title": "Atlanta: First Impressions", "url": "https://jeffchen.dev/posts/Atlanta-First-Impressions", "published_at": "2021-06-27T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8eff912be1", "title": "My Sleep Stack", "url": "https://jeffchen.dev/posts/My-Sleep-Stack", "published_at": "2021-06-19T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97aff595c", "title": "Where Are The Asian-Americans In Track?", "url": "https://jeffchen.dev/posts/Where-Are-The-Asian-Americans-In-Track", "published_at": "2021-06-13T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efb53f504", "title": "May 2021 Review", "url": "https://jeffchen.dev/posts/May-2021-Review", "published_at": "2021-05-31T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef931b2b1", "title": "Listen More", "url": "https://jeffchen.dev/posts/Listen-More", "published_at": "2021-05-29T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97884dece", "title": "Two Meet Reports", "url": "https://jeffchen.dev/posts/Two-Meet-Reports", "published_at": "2021-05-17T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efc20da8f", "title": "Measuring Bundle Sizes with Next.js and GitHub Actions, Part 2", "url": "https://jeffchen.dev/posts/Measuring-Bundle-Sizes-With-Next-js-And-Github-Actions-Part-2", "published_at": "2021-05-15T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b973e6efdf", "title": "Some Notes On Solo Training", "url": "https://jeffchen.dev/posts/Some-Notes-On-Solo-Training", "published_at": "2021-05-08T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97b85d92a", "title": "Why Atlanta?", "url": "https://jeffchen.dev/posts/Why-Atlanta", "published_at": "2021-05-01T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b799c3ecf", "title": "April 2021 Review", "url": "https://jeffchen.dev/posts/April-2021-Review", "published_at": "2021-04-30T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b976fbd70e", "title": "The Buck Stops With You", "url": "https://jeffchen.dev/posts/The-Buck-Stops-With-You", "published_at": "2021-04-24T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8eeed1b8d2", "title": "Co-opting addictive media for good", "url": "https://jeffchen.dev/posts/Co-opting-Addictive-Media-For-Good", "published_at": "2021-04-17T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b778ccf71", "title": "A Week of Self-coached Sprint Training", "url": "https://jeffchen.dev/posts/A-Week-Of-Self-Coached-Training", "published_at": "2021-04-10T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7d055fec", "title": "Be a Tryhard", "url": "https://jeffchen.dev/posts/Be-A-Tryhard", "published_at": "2021-04-03T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef9f0de14", "title": "March 2021 Review", "url": "https://jeffchen.dev/posts/March-2021-Review", "published_at": "2021-03-31T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b978b49531", "title": "Unconventional Productivity", "url": "https://jeffchen.dev/posts/Unconventional-Productivity", "published_at": "2021-03-27T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef4da9b3c", "title": "Infrastructure & Business Monitoring", "url": "https://jeffchen.dev/posts/Infrastructure-And-Business-Monitoring", "published_at": "2021-03-20T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efff002ff", "title": "My Track Progression", "url": "https://jeffchen.dev/posts/My-Track-Progression", "published_at": "2021-03-12T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efe43256f", "title": "Most Decisions are Reversible", "url": "https://jeffchen.dev/posts/Most-Decisions-Are-Reversible", "published_at": "2021-03-05T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef2b4daa5", "title": "February 2021 Review", "url": "https://jeffchen.dev/posts/February-2021-Review", "published_at": "2021-02-28T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efce73235", "title": "Measuring Bundle Sizes with Next.js and GitHub Actions", "url": "https://jeffchen.dev/posts/Measuring-Bundle-Sizes-With-Next-js-And-Github-Actions", "published_at": "2021-02-26T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96f9cfc33", "title": "Programming Like a Pianist", "url": "https://jeffchen.dev/posts/Programming-Like-a-Pianist", "published_at": "2021-02-19T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efd87893d", "title": "Midlife Crises", "url": "https://jeffchen.dev/posts/Midlife-Crises", "published_at": "2021-02-12T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7e2c4a78", "title": "Boise", "url": "https://jeffchen.dev/posts/Boise", "published_at": "2021-02-05T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef736bc6a", "title": "Monthly Review - January 2021", "url": "https://jeffchen.dev/posts/January-2021-Review", "published_at": "2021-01-31T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b973e249b0", "title": "Shared Vulnerability", "url": "https://jeffchen.dev/posts/Shared-Vulnerability", "published_at": "2021-01-29T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b976c3e767", "title": "Temperature And Speed", "url": "https://jeffchen.dev/posts/Temperature-And-Speed", "published_at": "2021-01-22T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b76a50506", "title": "63 Tips for Better Workplace Communication for Software Engineers", "url": "https://jeffchen.dev/posts/63-Tips-For-Better-Workplace-Communication-For-Software-Engineers", "published_at": "2021-01-15T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b73580c73", "title": "2021 Goals", "url": "https://jeffchen.dev/posts/2021-Goals", "published_at": "2021-01-08T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7f17481b", "title": "By the Numbers: My 2020", "url": "https://jeffchen.dev/posts/By-The-Numbers-My-2020", "published_at": "2021-01-01T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8eefb44c33", "title": "Monthly Review - December 2020", "url": "https://jeffchen.dev/posts/December-2020-Review", "published_at": "2020-12-31T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b74616907", "title": "2021 Predictions", "url": "https://jeffchen.dev/posts/2021-Predictions", "published_at": "2020-12-27T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b9712adc74", "title": "Rising Early", "url": "https://jeffchen.dev/posts/Rising-Early", "published_at": "2020-12-25T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b979b7c721", "title": "Vitamin D and Heart Palpitations", "url": "https://jeffchen.dev/posts/Vitamin-D-And-Heart-Palpitations", "published_at": "2020-12-19T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef3d2a650", "title": "Garmin Watch Faces: Custom Fonts", "url": "https://jeffchen.dev/posts/Garmin-Watch-Faces-Custom-Fonts-On-MacOS", "published_at": "2020-12-18T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b975bf588c", "title": "Technical Interviewer's Checklist", "url": "https://jeffchen.dev/posts/Technical-Interview-Checklist", "published_at": "2020-12-11T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7de40790", "title": "Body Composition For Sprinters", "url": "https://jeffchen.dev/posts/Body-Composition-For-Sprinters", "published_at": "2020-12-05T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8f014602cb", "title": "Monthly Review - November 2020", "url": "https://jeffchen.dev/posts/November-2020-Review", "published_at": "2020-11-30T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8efa5a2d8d", "title": "Markdown Image Captions", "url": "https://jeffchen.dev/posts/Markdown-Image-Captions", "published_at": "2020-11-25T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97a73baac", "title": "Warmups For Sprints", "url": "https://jeffchen.dev/posts/Warmups-For-Sprints", "published_at": "2020-11-22T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b781e6c09", "title": "Activation Energy and Productivity", "url": "https://jeffchen.dev/posts/Activation-Energy-And-Productivity", "published_at": "2020-11-14T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7c53b8d7", "title": "Bay Area Open Tracks", "url": "https://jeffchen.dev/posts/Bay-Area-Open-Tracks", "published_at": "2020-11-13T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b72b2cd97", "title": "2020 Track Season in Review", "url": "https://jeffchen.dev/posts/2020-Track-Season-Retro", "published_at": "2020-11-11T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b96f5648bc", "title": "Principles for Athletic Performance", "url": "https://jeffchen.dev/posts/Principles-For-Athletic-Performance", "published_at": "2020-11-02T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8f0290171d", "title": "Monthly Review - October 2020", "url": "https://jeffchen.dev/posts/October-2020-Review", "published_at": "2020-11-01T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97089ac35", "title": "Recovering Lost Roam Notes", "url": "https://jeffchen.dev/posts/Recovering-Lost-Roam-Notes", "published_at": "2020-10-30T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b97c749193", "title": "Why Clojure?", "url": "https://jeffchen.dev/posts/Why-Clojure", "published_at": "2020-10-29T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8eff2b078d", "title": "My 2020 California Ballot", "url": "https://jeffchen.dev/posts/My-2020-California-Ballot", "published_at": "2020-10-23T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7f6b318b", "title": "Estimating Gym COVID Risk", "url": "https://jeffchen.dev/posts/COVID-Gym-Risk", "published_at": "2020-10-22T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef3a141b1", "title": "Freelap Tips", "url": "https://jeffchen.dev/posts/Freelap-Tips", "published_at": "2020-10-14T00:00:00+00:00" }, { "id": "01a0878c-75be-70dc-8b7d-02b972d54bbe", "title": "Monthly Review - September 2020", "url": "https://jeffchen.dev/posts/September-2020-Review", "published_at": "2020-10-01T00:00:00+00:00" }, { "id": "01a0878c-75bc-71fa-8dae-4e6b7a720652", "title": "Monthly Review - August 2020", "url": "https://jeffchen.dev/posts/August-2020-Review", "published_at": "2020-08-31T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef8180531", "title": "Monthly Review - July 2020", "url": "https://jeffchen.dev/posts/July-2020-Review", "published_at": "2020-08-01T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef01fca02", "title": "Detecting Widows in React", "url": "https://jeffchen.dev/posts/Detecting-Widows-In-React", "published_at": "2019-08-08T00:00:00+00:00" }, { "id": "01a0878c-75bd-7290-8964-0d8ef0ac1ec0", "title": "ETL from Datomic to BigQuery", "url": "https://jeffchen.dev/posts/ETL-From-Datomic-To-BigQuery", "published_at": "2019-08-05T00:00:00+00:00" } ] posts Claim your blog
Back to jeffchen.dev
Blog · corpus.blog/blogs/jeffchen.dev/posts

jeffchen.dev

jeffchen.dev

2026

2025

2024

2023

14 Feb 2023

2022

2021

2020

2019