dreadedmonkeygod . net

TextExpander Snippets for TCTP Bike Training

In adding my hacked-up version of the "Time Crunched Training Plan" to my calendar, I realized I'd have to type in a lot of entries in TCTP's abbreviated notation.

TCTP's notation is difficult to read, but balances that by also being difficult to type. So I opened up TextExpander, and created a little library of snippets to do most of the work for me. (Download the snippet file)

Now I can type, say, "oux"1, and TextExpander pops up the following dialogue:

Fig. 1

I fill in the numbers, and hit Return, and TextExpander formats everything thus:

3 x [12OU (2O/1U), 8RBI]

That bit of gibberish denotes three twelve-minute "OverUnder" intervals, alternating between two minutes of "over" intensity and one minute of "under" intensity, with eight minutes at endurance pace between intervals. (You see now why the more terse notation is used.)2

I've created snippets for all the basic workout types, and added another snippet to deal with workouts that require several "sets" of intervals. Typing "rbsx" summons this dialog:

Fig. 2

Which produces:

2 x [] (8RBS)

The trick is that it puts the cursor between the square brackets. So now I type "sepix", enter a few numbers in a dialog, and get this:

2 x [3 x [3SEPI, 3RBI]] (8RBS)

This has made it really easy to transcribe what's in the book to my calendar, and to a text file with the full schedule and notes on target heart rates, etc.

You can download the snippet file here.

More and more, I've taken to creating TextExpander snippets the very minute I realize I'm going to be typing something a bit fiddly more than once. It's paid off huge.


1. I end abbreviations with "x" to help ensure that they don't get mixed up with normal words, etc. See Dr. Drang's discussion of TextExpander abbreviation design for more on stuff like this.

2. This notation differs slightly from what's in the book. I've tweaked it to suit my programmer's sensibilities. Because I am a giant nerd.

The author has disabled comments for this post.