A blog about skating and cycling, or vice versa

Blank verse, blank mind#

Mon, 02 Oct 2006 23:41:24 +0000

I found this in a notebook while I was tidying up. Judging from the reference to Newfoundland, I assume I wrote it in the summer of 2000 when I flew there on holiday.

I'm not proud (if I were, obviously I wouldn't be posting it). I just think some of the puns are bad enough to be worth preserving

SCENE 1 : A plane, somewhere near Newfoundland

|Prologue: Hail, Gentles all, and welcome to our flight. We respectfully commend our safety video to your sight.|

|1st Passenger: Have we not armrests and seatbacks? And digit may prevail against digital TV| |2nd Passenger: Tis true. Mayhap it showeth Frasier, or cartoons purchased from the BBC| |3rd Passenger: On Channel 2 the film is dross| |2nd Passenger: The rest also; to miss it is no loss| |Omnes: Twice around the video spool / Can any of't be watched at all?|

|2nd P: By the pricking of my thumbs, plastic chicken this way comes| |1st P: Dinner calls | |2nd P: Who wrote this anyway?| |3rd P: anon| |Omnes: There is fowl, and foulest fare, Ascend the broken cloud - attain thin air|

|Pilot: Once more we set ablaze the seatbelt light: rejoin your pews, enfold yourselves in clasps of metal bright| |Be not afright: for tho' we pass through turbulent fields, our radar speaks sooth - all this will pass in a moment|

...

|I must arise and do those things that are needful. I guess I drank too much orange juice|

The Lords sit in their thrones in Business Class
Accustom'd to command as troops to drums, they bid the flight attendants with their thumbs
And ruminate on State affairs, foretold by complimentary newspapers
I wish I'd brought a book
Yet e'en we the commoners are plyed
With shortbread (French) and cups of plastic and of iced water
I still wish I'd brought a book
Maybe I could read the inflight magazine again.

Stupor Tuesday#

Wed, 04 Oct 2006 11:12:27 +0000

Suddenly it's not summer (read: shorts weather) any more. When the official route check for this week's LFNS was postponed due to wet ground, I decided to put a draft route together for my lead next week and then go and have a look around to see if it was any good. The other week I'd noticed a road in Camden that seemed long and straight and well-surfaced, so all I needed to do was figure out how to get to Camden and back again - not terribly challenging, really.

In the event it was shorter and not as well-surfaced as I remembered it being (one of the perils of walking around without wheels on is that you get a tremendously distorted perception of distance which leads you astray as soon as you get back into proper footwear). But a lot of the roads on the way to it and on the way back are quite nice. Whoever rides the music bike is going to kill me for it, though: lots of up and down.

Back home now, and I have decided on an almost entirely non-technical workaround for my [[xbox trouble => Huge wastes of money, #1: the XBox]]: move the furniture around so that I can put a computer I already own next to the stereo, thus (1) sidestepping the entire need for another machine as "media centre"; (2) meaning I can watch DVDs with hifi sound. Did mean fitting a telephone extension to get adsl over on this side of the room, but that's about the limit of any wiring involved.

On another topic completely, I had a good look at my helmet this evening and - I don't know whether I've crashed it or whether it's suffered at the hands of baggage handlers, but it has a big split in it. It's only the plastic coating that's keeping it intact. Clearly it must have saved my life sometime. I still put it on to go out this evening, which one might consider a bit silly, but given that it still does a perfectly good job of keeping my head warm and providing somewhere to attach a small red LED, it's probably still almost as much use as it ever was. Perhaps I should get another before the weekend, though.

Race strategy for Köln: take it easy, avoid getting into fights, finish without another blood offering to the Tarmac Gods. That's about it, really. I'm not training for it, this is off-season as far as I'm concerned.

Why failing to define your goals is harder than hacking#

Thu, 05 Oct 2006 13:26:35 +0000

I don't know why I continue to read Paul Graham's stuff, really. In his latest essay he claims that writing is harder than hacking because "an essay can come out wrong".

Any task with clearly defined success criteria is going to be easier than one that hasn't. Like, duh.

Google eyes#

Thu, 05 Oct 2006 16:51:27 +0000

Mildly amused to find that this site is now number 2 in Google for "xbox huge waste of money".

I think there are more robots reading it than people.

Word(s) up#

Fri, 06 Oct 2006 18:02:24 +0000

Arrived today from Amazon: Anatomy of Movement and Fragile Things It didn't occur to me when I ordered them that there seems to be a common theme in the titles, but the contents, I am sure, are entirely unrelated. Something to read on the way to Köln.

In the meantime: RC Wednesday was mostly a [[long slow skate]], though with a couple of (short) intense intervals on the steep bits up to Hampstead Hill. Thursday night I spent watching a Talking Heads DVD while bouncing up and down balancing on my [[swiss ball=>Ball to the wall]]. Which may or may not be doing anything for my core stability, but is entertaining if nothing else.

Long Slow Skate#

Fri, 06 Oct 2006 18:10:58 +0000

If you've got long frames and respectable technique most group street skating probably qualifies on the first criterion - or at least, would do if it weren't also less than half the length of the typical race ...

See also http://www.joehenderson.com/lsdbook/forum.html

Skates for your Diary#

Wed, 11 Oct 2006 13:11:23 +0000

Being an approximate list of events which (1) I have already said I would do, or (2) are in the UK. This list gets updated periodically either with cryptic notes about booking status or (after the event) to a report of how it went. When I write a report, anyway

Cologne Hyphen Close-paren#

Wed, 11 Oct 2006 15:40:05 +0000

That's :-) if you were wondering

Platz AK Startnr. Name                 AK  1. Hälfte 2. Hälfte Brutto   Netto
58  (22) S155     Barlow, Daniel (GBR) M30 00:41:09  00:41:18  01:22:39 01:22:27 

Not my fastest race, nor my most strategic. But my goals were "take it easy, avoid getting into fights, finish without another blood offering to the Tarmac Gods", and I have to report success on all three. Clearly there is a happy medium to be found somewhere between all-out (a number of this year's previous races) and slacking completely (today's) which I have yet to find. Hopefully next year it will be much closer to the "all out" end of the spectrum, too. But it's good to have a baseline.

Had I been taking it seriously, my prime mistake was to start too far back (you can see the difference between my gross and net times). As a result, I spent the first 5k overtaking people and eventually chasing a line that wasn't getting any closer, before deciding to give up while I still had some energy left, and wait for the next one to arrive.

Stayed on that line for the duration: speed was far too slow in the first half but picked up a bit in the second. At 40k or so I started randomly overtaking and tarting around in front in the vain hope of persuading anyone to follow me, but nobody else seemed to want to break free of the pack, so I fell back into it after a while. Then in the last 500m or so (on the bridge just before the end) there was a proper attack, so I got down a bit lower and overtook everyone again. Which was fun. I like overtaking people.

Gadget Purchasing Syndrome#

Fri, 13 Oct 2006 16:01:48 +0000

New toy: my Garmin Forerunner 305 arrived this morning. Despite already owning and rarely using a (cheap) HRM (which is probably still somewhere around the place, for all that I haven't seen it in months) and having previously owned a GPS unit - broken in the One Eleven, where I found it didn't work too well as a wrist guard - which I also rarely used, I'm hoping that the new unit will come out more often.

Initial notes on getting training data out of the Garmin and into a computer will follow when I've actually achieved same, but they don't make it easy for non-Windows users.

Cardio Graph#

Wed, 18 Oct 2006 02:24:41 +0000

The hack described on my new page [[Garmin and Linux]] is not exactly what I used to generate the graphs in the previous entry, but it's insufficiently different that you'd notice. Anyway, I said I'd write something when I'd got Linux to talk to it, and there it is.

Garmin and Linux#

Wed, 18 Oct 2006 02:27:25 +0000

The first thing to note is that none of the bundled Garmin software or MotionBased or Sporttracks support Linux. It may be possible to make them run under VMWare (I had no joy with Wine: the Garmin stuff needs USB and MB needs complicated MSIE stuff), but my attempts to do so with the evaluation version of VMWare Workstation were hampered by not having any version of Windows in the house more recent than Win 98, and apparently nothing works with 8 year old technology any more.

Basically the idea is to sling all the data into one directory, then extract sessions out by date range. It's a bit like this -

$ sudo gpsbabel -t -i garmin -f usb: -o garmin301 -F ~/training/data/`date +%s`
$ perl ~/training/extract.pl
No --start argument: choose from:
 Sat Oct 14 10:10:00 2006 : 1160817000 (100 minutes)
 Sat Oct 14 14:10:00 2006 : 1160831400 (70 minutes)
 Sat Oct 14 16:10:00 2006 : 1160838600 (20 minutes)
 Sun Oct 15 13:50:00 2006 : 1160916600 (20 minutes)
 Sun Oct 15 14:20:00 2006 : 1160918400 (60 minutes)
 Sun Oct 15 15:30:00 2006 : 1160922600 (50 minutes)
 Sun Oct 15 18:20:00 2006 : 1160932800 (30 minutes)
 Mon Oct 16 08:10:00 2006 : 1160982600 (40 minutes)
:; perl extract.pl --start 1160817000
gnuplot> call "png.gp"
gnuplot> quit
$ ls *.png
Running extract.pl also brings up an X11 gnuplot window showing the graph. If it's the right one, you call png.gp (as above) to produce PNGs - in this example, this leaves you with files 1160817000-1160823000-big.png and 1160817000-1160823000-small.png .

If I develop this stuff further I'll set up a darcs project for it, but for the moment, download and installation instructions are as follows:

  1. develop Mad Perl Skillz (to be honest, you don't need much, but there's no documentation other than what you're reading here)
  2. get http://ww.telent.net/tmp/extract.pl and http://ww.telent.net/tmp/png.gp and put them in ~/training

Standard lack of warranty applies: if it breaks, you get to keep both pieces. Feedback to comment@coruskate.net

No thanks for the Memoize#

Wed, 18 Oct 2006 17:36:03 +0000

NAME
       Memoize - Make functions faster by trading space for time

SYNOPSIS # This is the documentation for Memoize 1.01 use Memoize; memoize('slowfunction'); slowfunction(arguments); # Is faster than it was before

This is normally all you need to know.

To the extent that I failed to fully consider the implications of the rest of the Memoize manual page (i.e. the bits I wouldn't normally need to know - and in particular the section describing the "default normalizer") the strange and apparently intermittent bug in $WORK-related code I have just spent the last week chasing could be considered my own damn fault. Here's the short summary, though: the wrapper for the memoized function stringizes and concatenates the arguments together and then uses that as a key into a hash table to see if it's been called with those arguments before. This does not work when the arguments are objects.

:; cat test.pl

package Test; sub new { my $o= bless { HELLO => 'goodbye', DATA => "0" x 2048 }, "Test"; return $o; }

package main;

my %seen; for(my $i=0;$i<10000;$i++) { my $obj=Test->new; warn $obj; die "$obj repeated at iteration $i" if($seen{"$obj"}); $seen{"$obj"}=1; }

:; perl test.pl Test=HASH(0x814ed9c) at test.pl line 15. Test=HASH(0x814f7bc) at test.pl line 15. Test=HASH(0x814f5e8) at test.pl line 15. Test=HASH(0x814ed9c) at test.pl line 15. Test=HASH(0x814ed9c) repeated at iteration 3 at test.pl line 16.

Won't be making that mistake again.

Mercy is for the week#

Mon, 23 Oct 2006 00:52:12 +0000

Training this week. Intended: Monday 10x500, Tuesday RC plus some techniquey stuff, Wed dry land, Thu rest, Fri LFNS bike riding, Sat: endurance (Richmond or maybe Hillingdon). Actual: Monday 10x500, Tuesday RC plus a knock to the knee, Wed/Thu resting knee, Fri LFNS bike riding (knee seems ok with limited range of motion involved in pedalling), Sat/Sun more resting knee. Grr. The only point of note, perhaps, is how close I felt to dying when trying to pedal the music bike while dehydrated (cockup on scheduling front meaning that I didn't have my bottle with me for the first half of the skate)

Also this week I have been reading and making notes based on Joe Friel's "Cyclist's Training Bible", as recommended by several LSST people. More on this to follow when I've got a better handle on what it says anyway, but (superficially, anwyay) it looks like a good basis for setting up an annual training plan. Which is what I need to do next.

Taking the broader view#

Tue, 24 Oct 2006 18:17:21 +0000

Busily breaking Google Maps... I'm sure the fault here is with my code, but I still found the error message amusing. Zoom out where? What's not my fault, and about which I shall rant later (if I still feel wound up about it later) is that it's apparently still not possible to use Google Maps with an XHTML document, forcing me to use a totally unnecessary IFRAME for the map just because I don't want to use one for the SVG.

In the meantime, I have an unsightly collection of HTML and Javascript (mostly the latter) plus a small CGI script which together let me submit GPSBabel CSV files ("garmin301" format, for anyone following along at home) to a web page and produce graphs of my speed and heart rate against time. And as soon as I can persuade it to zoom and center on a sensible point, it will show the track too.

(The knee is better but still not actually better, as it were)

Virtue is its own reward#

Thu, 26 Oct 2006 15:52:22 +0000

If true, this is not good news, because after the "my gosh, aren't I good" effect of having got up early to do intervals in Victoria Park before work wore off (about lunchtime), I'm left with the realisation that the speeds I reached over 500m probably wouldn't even get me into cat 3 and frankly I'd like a little more reward than that. On the other hand, if my MaxHR is around 188 (let's assume 220-age despite its general inapplicability, given a lack of any better figure) it doesn't look as though I was trying too hard either. Whatever it is that's limiting my sprint speed[1], it's not cardio.

Images brought to you using a convoluted combination of gpsbabel and gnuplot:

The good news, if there is good news, is that I'm actually swinging both arms and it feels natural. Some more care and attention needed to swing them in directions that don't make me look like a gorilla, but that's just practice.

fn1. If I'm looking for excuses then I'll blame the surfaces in Victoria Park, which are on the whole not unlike the manky three quarters of Battersea Park, and/or doing the whole thing before eating breakfast. But it's more likely actually that I'm in too high a gear and should be toeing out a bit more.


Paul Makepeace wrote:
> Pity you don't have real comments on your quasi-blog.

Yes, it's on my list to do something about when I get bored of playing with SVG and DOM. The number of comments has definitely dropped (to, er, 1) since I moved from blogspot.

> Anyway, that graph might be quite interesting plotted as a scatter > graph with speed against heart rate, see where the "knee" in the curve > is and find your anaerobic point.

Conconi style? I bunged the data into gnuplot, but there's so little of it (many of the points below about 25km/h are GPS noise or from deceleration during the "rest" interval) and so much noise by comparison that if I squint hard enough I think can make it say anything I feel like.

Nice idea, though, and one to try with a data from a slightly steadier-paced workout.


Knee'd for speed#

Sat, 28 Oct 2006 02:11:44 +0000

After a week of no skating (and in fact, no exercise of any kind worth speaking of - Bad Dan) my right knee is again indistinguishable from its counterpart (except for still being a funny shape, but I think that's from a previous injury), so tomorrow I shall be doing things on wheels again. Sunday's Route Check, for a start.

In the meantime I have been keeping busy with this javascript lark: I present to you Trainrec, which will (some day) be a useful tool for slicing and dicing gps tracks and getting interesting performance data out of them. Interesting to me, that is - I make no similar claim for the rest of the world.

Also been sleeping too little. It's possible that having had my thyroxine dose changed recently isn't helping there, but I think that's more about staying up late hacking and not ever going out...

GPSBabel#

Tue, 31 Oct 2006 15:32:20 +0000

GPSBabel is a free software command line application that can talk to many GPS devices (including my Forerunner 305), and convert a zillion GPS data file formats to and from each other. Relevant points for my use

http://www.gpsbabel.org/

Trainrec#

Tue, 31 Oct 2006 15:34:21 +0000

Trainrec is my work-in-progress Javascript/SVG/GoogleMaps hack to get interesting stuff out of my GPS/HR traces.

Current state

Plans

Known bugs

Try it!

  1. go to http://maps.coruskate.net/trainrec/
  2. download the sample data file (or use your own, if you have the GPS-fu)
  3. upload it again
  4. try the zoom and pan
  5. drag the markers around and watch the route map update

Impressive, isn't it? No, I agree, not very.

Feedback, if you feel the urge, to dan at coruskate.net. Any email saying "sporttracks does all this and more" will not be responded to: I don't use Windows, and I don't want to use Windows.

:article

Life is what happens ...#

Wed, 01 Nov 2006 00:10:33 +0000

while we're making plans. So I've been dipping in and out of Friel lately and am going to make some fairly random notes about it that I will come back and clean up later.

Take-home messages

So far, these would appear to be

and then introduces "muscular endurance", "anaerobic endurance" and "power" as being combinations of each of them, which I find oddly reminiscent of Aristotle combining "earth" and "fire" to get "dry". But maybe that's just me. Anyway, there are a whole bunch of suggested workouts designed for each of these areas, and a chart which says "if you plan to train 300 hours this year, you should be doing 8 hours a week in week n, and it should be x% on this area and y% on that", and then you just slot things in as appropriate.

h2. Random musing