Aart Goossens
@aartgoossens.bsky.social
📤 128
📥 86
📝 91
Founder and Developer of
@sweatstack.bsky.social
.
reposted by
Aart Goossens
DC Rainmaker
about 19 hours ago
Exclusive: Strava just sued Garmin, demanding the company stop selling all their fitness devices (watches and bike computers), due to infringing on a patent. I dive into what's being said, a whole lot of history, what it means, and much more:
www.dcrainmaker.com/2025/10/stra...
10
60
19
reposted by
Aart Goossens
Mark Burnley
2 days ago
100 years ago this month, AV Hill published 3 papers summarising a lecture on the physiology of athletic records he gave at the British Association for the Advancement of Science. They gave birth to exercise physiology as we know it today.
physoc.onlinelibrary.wiley.com/doi/10.1113/...
loading . . .
Blue plaque review series: A.V. Hill, athletic records and the birth of exercise physiology
Abstract figure legend Depiction of the world running records from 1925 studied by A. V. Hill and those of 2025 up to and including ultradistance events on a semi-logarithmic plot. These records, in ....
https://physoc.onlinelibrary.wiley.com/doi/10.1113/JP288130
0
0
1
Apparently Garmin added OAuth2 to their Connect API: New apps can already use it, existing apps can't migrate yet. More info "this fall". As a developer, this makes me very happy (maybe more than it should, but OAuth1 really is a pain to work with). Docs:
developerportal.garmin.com/sites/defaul...
8 days ago
1
0
0
reposted by
Aart Goossens
Mark Burnley
15 days ago
You can see exactly where Wightman’s tank emptied, about 5-10 m from the line (by the Honda sign). If you calculate his critical speed and D’ from his outdoor PBs, D’ was gone 6 m before the line.
loading . . .
0
5
2
reposted by
Aart Goossens
David Tinker
16 days ago
Intervals.icu
uses pretty much the same method to find max efforts. Doesn't do any pre-smoothing of the power data. I never tried smoothing.
1
3
1
reposted by
Aart Goossens
James Spragg
16 days ago
So there you have it. This was our proposed solution to interrogate real-world (messy) MMP data, identify maximal values in that data, and use (only) those to derive CP.
1
3
1
@james-spragg.bsky.social
Hey James. Is it possible to share the code or detailed explanation of the "shoulder method" in your "An improved methodology..." paper from 2023? I'm considering making a paper playground (
paperplayground.app
) for it.
add a skeleton here at some point
17 days ago
1
2
0
This comment/thread made me realize I had some gaps in my intuition around regression methods for power-duration models. New blog:
gssns.io/posts/same-m...
add a skeleton here at some point
17 days ago
1
2
0
I'm building a new Paper Playground for this paper:
arxiv.org/abs/2503.14841
This gives me a chance to revisit asymmetric loss functions for fitting the 3-parameter CP model (following up on my earlier blog here:
gssns.io/posts/asymme...
)
loading . . .
The three-dimensional impulse-response model: Modeling the training process in accordance with energy system-specific adaptation
Athletic training is characterized by physiological systems responding to repeated exercise-induced stress, resulting in gradual alterations in the functional properties of these systems. The adaptive...
https://arxiv.org/abs/2503.14841
20 days ago
1
2
0
New blog: Mean-max sampling
gssns.io/posts/mean-m...
loading . . .
Mean-max sampling
Mean-max sampling tl;dr: Mean-max downsampling can significantly reduce computation and storage requirements for mean-max curves. Mean-max curves show your best sustained efforts across different dura...
https://gssns.io/posts/mean-max-sampling/
21 days ago
0
2
0
reposted by
Aart Goossens
SweatStack
23 days ago
New tutorial: "One-Off Analysis Scripts: Cycling Torque Example"
developer.sweatstack.no/tutorials/on...
0
0
1
Friday Vibe Coding
loading . . .
28 days ago
1
0
0
New blog: Asymmetric loss for power duration models
gssns.io/posts/asymme...
loading . . .
Asymmetric loss for power duration models
Asymmetric loss for power duration models Most applications of power duration models apply least squares regression to find the best fit through your data. This seems reasonable: take your best effort...
https://gssns.io/posts/asymmetric-loss/
30 days ago
1
3
0
reposted by
Aart Goossens
Cap
about 1 month ago
Amazing!:
fpca.paperplayground.app
From
@aartgoossens.bsky.social
a Paper Playground
paperplayground.app
implementation of the FPCA model. It's a great concept to interactively showcase research results. cc
@drphilipskiba.bsky.social
1
7
4
reposted by
Aart Goossens
Cap
about 1 month ago
New paper with
@drphilipskiba.bsky.social
is now out:
journals.humankinetics.com/view/journal...
We took a new approach to modeling the power duration curve in cyclists using functional principal component analysis.
loading . . .
https://journals.humankinetics.com/view/journals/ijspp/aop/article-10.1123-ijspp.2024-0548/article-10.1123-ijspp.2024-0548.xml
3
12
7
reposted by
Aart Goossens
Simon Willison
about 2 months ago
GitHub Codespaces provides a free web-based development environment backed by a Linux container... and it turns out it also includes a GITHUB_TOKEN environment variable that provides free API access to the GitHub Models collection of LLMs ... here it's running my LLM CLI utility
4
149
24
reposted by
Aart Goossens
DC Rainmaker
3 months ago
COROS has confirmed a substantial set of security vulnerabilities, impacting not just the watch, but COROS online account as well. These were initially spotted by security researcher Moritz Abrell, and I've confirmed they impact all devices. Full details:
www.dcrainmaker.com/2025/06/coro...
0
15
12
reposted by
Aart Goossens
Simon Willison
3 months ago
If you're interested in the nascent field of context engineering (the new, more cromulent alternative to prompt engineering) Drew's piece here provides some excellent nomenclature for some of the challenges you might face...
add a skeleton here at some point
5
107
12
reposted by
Aart Goossens
Armin Ronacher
3 months ago
Feature request for sonnet/claude 5: please unlearn everything about pip, pipenv, requirements.txt. Go all in on uv :P
3
68
6
Apparently I'm adapting to my 3-year-old's sense of humor a little too well 😅 ``` git stash poop fatal: subcommand wasn't specified; 'push' can't be assumed due to unexpected token 'poop' ```
3 months ago
0
0
0
reposted by
Aart Goossens
Armin Ronacher
3 months ago
Agent says no.
7
26
5
reposted by
Aart Goossens
Janis Fiedler
3 months ago
📊 New Publication! We analyzed 5000+ cycle ergometer tests (ages 14-64) to create reference standards of lactate thresholds for health studies and clinical practice. Full text:
doi.org/10.1080/0264...
#Exercise
#SportsScience
🧪
1
14
4
reposted by
Aart Goossens
Michael Friendly
3 months ago
📊Looking to re-decorate your
#dataviz
office? Y ou need Boxplot Shelves!
6
189
23
reposted by
Aart Goossens
Cap
4 months ago
FPCA paper with
@drphilipskiba.bsky.social
accepted at IJSPP so that’s a nice way to start the week.
1
10
2
This is one of a few demo projects I'm working in preperation for the Science & Cycling 2025 conference. (anyone else here going?...)
add a skeleton here at some point
4 months ago
1
0
0
reposted by
Aart Goossens
Michele Zanini
4 months ago
New paper out in Scand J Med Sci Sports! We tested the reliability of running economy (RE) and other physiological parameters during 90 min of running. ➡️ Running economy is highly reliable in a fatigued state, a 👍🏼 implication for testing durability 🆓📄
onlinelibrary.wiley.com/doi/10.1111/...
🧵1/8
1
8
6
Thoughts? 🤔
loading . . .
4 months ago
1
0
0
Building the sports data app you've been dreaming of just got way easier! ⚡🤓
add a skeleton here at some point
5 months ago
1
1
0
reposted by
Aart Goossens
SweatStack
5 months ago
New: SweatStack Express Login lets you register by simply connecting a data source - no account setup needed. This drastically improves onboarding for 3rd party applications that are powered by SweatStack.
loading . . .
1
1
2
reposted by
Aart Goossens
Sebastián Ramírez
5 months ago
This is so cool! 🤯 Those mind-blowing ChatGPT images we're all generating have a bunch of
@fastapi.tiangolo.com
underneath 😎🚀 Check this interview with Sulman Choudhry and Srinivas Narayanan from ChatGPT/OpenAI by The Pragmatic Engineer
newsletter.pragmaticengineer.com/p/chatgpt-im...
loading . . .
Building, launching, and scaling ChatGPT Images
ChatGPT Images is OpenAI’s biggest launch yet, with 100 million NEW users generating 700 million images in the first week. But how was it built? A deepdive with OpenAI’s engineering team
https://newsletter.pragmaticengineer.com/p/chatgpt-images
0
11
2
reposted by
Aart Goossens
Simon Willison
5 months ago
I'm glad somebody out there is brave enough to push back against the "personal ChatGPT usage is terrible for the environment" message
andymasley.substack.com/p/a-cheat-sh...
loading . . .
A cheat sheet for why using ChatGPT is not bad for the environment
Arm yourself with knowledge
https://andymasley.substack.com/p/a-cheat-sheet-for-conversations-about
18
235
60
reposted by
Aart Goossens
Grace
5 months ago
MCP has the same hype signature as GraphQL tbh
8
99
13
Yearly reminder that sports science is not limited to humans: "The Application of the Pyramidal Training Model for conditioning Thoroughbred horses" 🏇
www.sciencedirect.com/science/arti...
loading . . .
The Application of the Pyramidal Training Model for conditioning Thoroughbred horses
The purpose of this review was to analyze the scientific background and practical application of a very successful human training methodology, the pyr…
https://www.sciencedirect.com/science/article/pii/S0737080625002254
6 months ago
0
3
0
ASCII art plots of your activity data, using Python, directly in your browser: 🤓
add a skeleton here at some point
6 months ago
1
3
0
This has been on my want-to-build-list for a long time. 🤓
add a skeleton here at some point
6 months ago
1
0
0
reposted by
Aart Goossens
Pydantic
6 months ago
Pydantic Evals is a powerful evaluation framework designed to help you systematically test and evaluate the performance and accuracy of the systems you build, especially when working with LLMs. More info here:
ai.pydantic.dev/evals/
loading . . .
Evals - PydanticAI
Agent Framework / shim to use Pydantic with LLMs
https://ai.pydantic.dev/evals/
0
18
4
reposted by
Aart Goossens
DC Rainmaker
6 months ago
Garmin Connect+ is here. This new paid subscription offering adds a boatload of features. But are those features actually worth it? I dive into it all hands-on, to see how everything works (or, doesn't):
www.dcrainmaker.com/2025/03/garm...
9
40
8
Question to the Pythonistas here: What is your go-to way for automatically generating Python API documentation? My requirements: - Generated from docstrings - Separate from the library repository (because it also contains other types of documentation) - Compatible with MkDocs.
6 months ago
1
0
0
reposted by
Aart Goossens
Simon Willison
7 months ago
Here's the table of contents for my lengthy new piece on how I use LLMs to help me write code
simonwillison.net/2025/Mar/11/...
14
341
82
reposted by
Aart Goossens
Jem Arnold
7 months ago
A good editorial attempting to reconcile expert opinions from a physiological & academic perspective on the popular meme of "zone 2" training What Is “Zone 2 Training”?: Experts’ Viewpoint on Definition, Training Methods, and Expected Adaptations.
journals.humankinetics.com/view/journal...
0
8
3
reposted by
Aart Goossens
Mark Burnley
7 months ago
A.V. Hill was a hero, a genius, and the most upright person Bernard Katz ever met. He helped bring exercise physiology into being. Here’s our review of that story, published in
@jphysiol.bsky.social
.
physoc.onlinelibrary.wiley.com/doi/full/10....
loading . . .
Blue plaque review series: A.V. Hill, athletic records and the birth of exercise physiology
Abstract figure legend Depiction of the world running records from 1925 studied by A. V. Hill and those of 2025 up to and including ultradistance events on a semi-logarithmic plot. These records, in ...
https://physoc.onlinelibrary.wiley.com/doi/full/10.1113/JP288130
1
25
17
reposted by
Aart Goossens
DC Rainmaker
8 months ago
TrainerRoad & Zwift integration is now finally live! I dig into how it works after a bit of usage, including some of the new features being debuted here. Full details:
www.dcrainmaker.com/2025/02/trai...
5
38
5
reposted by
Aart Goossens
Simon Willison
8 months ago
A trio of SQLite nerdery on my blog today: -
simonwillison.net/2025/Feb/6/s...
about a neat tool for exploring SQLite's binary file format -
simonwillison.net/2025/Feb/7/a...
is a tool I built for playing with APSW via Pyodide -
simonwillison.net/2025/Feb/7/s...
lets you back a SQLite DB with S3
2
56
4
Playing around with the data from this paper about running economy:
link.springer.com/article/10.1...
9 months ago
2
9
1
reposted by
Aart Goossens
DC Rainmaker
9 months ago
It's been a while since we've had a solid Garmin Connect platform outage. Seems like it's been about two hours thus far. Without GC, you can't seamlessly sync workouts to Strava, get routes to your watch, or do any of the other features listed on Garmin's status site. Hopefully it's fixed soon.
4
34
7
reposted by
Aart Goossens
Sophie Herzog
10 months ago
How can an energy budget be used to inform a training process? Smart training starts with understanding the demands of your race & thinking of the specific capacity you need to build! The key is knowing what you need to WORK (😉) on! Read more👇
open.substack.com/pub/sherzog/...
loading . . .
Smarter Training Budgeting: Using Categorized Workloads to Build Specific Capacity
Training is like managing your bank account - you can’t spend more than you have. Smarter training starts with understanding the demands of your race and categorising workloads to build the specific c...
https://open.substack.com/pub/sherzog/p/smarter-training-budgeting-using?r=1z4sc8&utm_medium=ios
0
2
1
reposted by
Aart Goossens
Simon Willison
10 months ago
Finally got around to dealing with one of those "DeprecationWarning: datetime.datetime.utcnow() is deprecated" warnings, so I wrote it up as a tiny TIL:
https://til.simonwillison.net/python/utc-warning-fix
loading . . .
Fixes for datetime UTC warnings in Python
I was getting the following warning for one of my Python test suites:
https://til.simonwillison.net/python/utc-warning-fix
1
4
2
reposted by
Aart Goossens
Simon Willison
10 months ago
Wrote up some notes on Limbo, the newly announced rewrite-it-in-Rust fork of SQLite
simonwillison.net/2024/Dec/10/...
loading . . .
Introducing Limbo: A complete rewrite of SQLite in Rust
This looks absurdly ambitious: > Our goal is to build a reimplementation of SQLite from scratch, fully compatible at the language and file format level, with the same or higher …
https://simonwillison.net/2024/Dec/10/introducing-limbo/
9
134
26
reposted by
Aart Goossens
Simon Willison
10 months ago
This is a neat new variant on RAG - no vectors, not even full-text search, instead showing the model a header hierarchy and giving it a tool to read the relevant sections My notes here:
simonwillison.net/2024/Dec/6/r...
add a skeleton here at some point
12
161
21
reposted by
Aart Goossens
Samuel Colvin
10 months ago
PydanticAI is here! An Agent Framework designed for production, from the team who created and maintain
@pydantic.bsky.social
. As some of you will know, I've been working on this for some time, can't wait to see what people build with it.
ai.pydantic.dev
loading . . .
Introduction
Agent Framework / shim to use Pydantic with LLMs
https://ai.pydantic.dev
3
49
17
Load more
feeds!
log in