A slightly different approach: I was doing the hacker&#x27;s diet exercise ladder (<a href="https:&#x2F;&#x2F;www.fourmilab.ch&#x2F;hackdiet&#x2F;e4&#x2F;exercise.html" rel="nofollow">https:&#x2F;&#x2F;www.fourmilab.ch&#x2F;hackdiet&#x2F;e4&#x2F;exercise.html</a>), which is supposed to be completed in 10-15 mins; if you can&#x27;t complete it in that time, move down a rung. But keeping track of the numbers at each level got annoying, and it was unclear if you were on track to complete things fast enough.<p>So, I wrote code to take those lists and a number of beats for each exercise, with a gap between to change position, take the completion time and calculate a bpm to make this fit. I then processed the output using the built in voices on the mac to read instructions in the gaps, count down reps and so on, and set up the metronome, so I never had to look at the screen. Now I could just type a command to kick off the whole thing.<p>I ended up not using it so much, I got sidetracked into the yak shave of making it play generative music in time with the plan, and just went running more.<p>One I did use more was a simple timer for cycling on the turbo, for eg watching movies instead of using a planned session like The Sufferfest. All this did was, you pick how long to ride, and then at decreasing random intervals it would read out the remaining time, then add a robot-based insult for encouragement (movie quotes and suchlike)