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".
- redraft. Rewriting is not some secret weapon available only to good writers: anyone can do it and more people should
- define "wrong" - or if you prefer to do it the other way around, define "right". Are you writing something that you'll only be happy with if it sways the opinions of everyone who reads it, or is it OK if the Blub programmers "just don't get it", or does it actually not matter very much what anyone thinks of it as long as the editor accepts it and its accompanying invoice?
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
- a long session that stays in the 60-70% MHR effort (can hold a conversation while skating)
- in a London context, usually taken to mean "long slow skate with technique intervals" - while skating at this slow pace, spend each kilometre (or whatever length) concentrating on some aspect of technique such as late setdown, heel carve, sideways push, the fall, or whatever.
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
- 2nd April - Berlin half marathon - [[ 0:39.11, one fall => Ich bin keine jelly doughnut]]
- 16th April - LSST club race - Tatem. [[Missed, illness => Week as I am]]
- 23rd April - LSST Le Mans team selection time trials. [[Rained off => human been]]
- 13-14 May Roller in Lille - [[0:57:35 for 32k, finished in front pack => just a lille bit]]
- 20 May Blenheim Inline Challenge - [[Fourth place or DNF, who do you believe when the chips are down? => Blenheim Inline Mudbath]]
- 28 May Hannover-Celle - [[1:17:06 => Over Hanover]]
- 4 June Preston - [[ not my best race ever => northern waste]]
- 1-2 July Le Mans - team came 12th of 593
- 30 July Goodwood - [[1:25, fourth place => Good Work at Goodwood]]
- 6 Aug LIM - [[8th place, one fall, 4m 37s down on winning time => there are limits, you know]]
- 20 Aug St Gallen 111 [[worst. race. ever. => fallen in st gallen]]
- 23 Sep Berlin - [[1:17:52 and a poor one at that => noch keine doughnuts]]
- 8 Oct Cologne - [[a very upright race, in both the good and the bad sense => Cologne Hyphen Close-paren]]
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.
- Monday off (mostly in Cologne (mostly in Starbucks))
- Tuesday RC for the LFNS which I'm leading tomorrow
- Wednesday short skate around Bethnal Green and then a rather unconvincing dryland session (some of the exercises we did in Sardinia, but too little of any of them to cripple me the following day)
- Thursday crossovers. Now, I'm moderately happy with crossovers turning left - there's still things to do, but they're not going to kill me. Turning right is still a messy business, though: I've got the going-round-in-circles drill licked, but when I actually have to actually go around an actual corner, it just doesn't translate. I can feel my toe wheel scraping at the end of the underpush, which says something is wrong (and I think it's the weight/upper body position).
- Friday will be LFNS leading, so doesn't count as training in any meaningful sense, but good opportunity to work on acceleration.
- Saturday Richmond: hills and bicycle chasing
- Sunday currently planning on some 500m sprints (had intended to do them today/yesterday, but couldn't find a suitable traffic-free 500m) and then ride the bike on the Stroll.
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.
- GPSBabel (note that as of October 2006, the latest released version wouldn't talk to my Forerunner 305: the CVS one is fine, though). The "garmin301" format dumps time+lat/long+hr into a simple text file, which will do for our purposes
- gnuplot (the debian unstable version is OK)
- lashings of Perl
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:
- develop Mad Perl Skillz (to be honest, you don't need much, but there's no documentation other than what you're reading here)
- 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 timeSYNOPSIS
# 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.plpackage 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
- the gpx format is XML-based: GPS's "lingua franca" for tracks, routes and waypoints, but does not support HR data
- the garmin301 format is a very simple CSV format for track data: timestamp, lat, lng, alt, hr.
- the gtrncntr format is a partial implementation of the Garmin Training Center XML format. It does support heart rate, but the files that gpsbabel exports are in other respects presently a bit noddy.
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
- Loads a data file (in gpsbabel garmin301 format)
- Displays graph of speed and HR against time
- Draws the route onto a Google Maps overlay
- The time graph has functional zoom in/out and functional (not pretty) pan left/right
Plans
- chop input file into ranges (e.g. laps) using selectable criteria (time gaps in trace, speed < threshold, time since last lap, distance since last lap, speed > threshold, location within x metres of {some point}, etc)
- better polyline simplification
- simple stats (mean, s.d., yadda yadda)
- histograms: {hr, speed, etc} vs time at that level
- other graphs as we think of them
- GPX import/export (would be more use if GPX had support for cadence data, thobut)
- for privileged users (me, currently), keep the data on the server so that permalinks for published graphs are possible
- some way of saving state between visits (when we have some more state)
- ...
- Profit (this bit's a joke. probably)
Known bugs
- Requires Firefox - very unlikely that it works in IE at all (I'll fix it when I have nothing better to do than swear at the MS Script Debugger thing)
- Only ever tested on Linux - may even not work in Windows (though I've fixed the most likely cause of trouble there)
- "Pan right" button is inexplicably flakey (looks almost like it only sees clicks on the white bit not the blue bits, though the "Pan left" button has no such restriction that I can see.
- generally rather vanilla visuals. I'm a programmer, Jim, not a graphic designer.
Try it!
- go to http://maps.coruskate.net/trainrec/
- download the sample data file (or use your own, if you have the GPS-fu)
- upload it again
- try the zoom and pan
- 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
- goals. Work out what you want to do and when, and assign priorities to them: A rces are season goals, B are important, and C are races-for-training that there's no shame in missing
- periodization, on several scales: both on the annual level (aim for peak fitness one two or three times in a year, training intensity ramps up through the year to each "category A" target, then falls off before building up again to the next), the monthly level (one week in every four is "light"), and the weekly level (make sure the easy workouts are easy so that you're in good shape to make the hard ones hard). Before a "race" period you'd expect two weeks' "peak", 8 weeks "build" and a 12 week "base" - prior to that is "preparation".
- know your limiters. These are not necessarily all your weaknesses, just the ones that are "critical path" to achiving your goals. They may be race-specific, even - if your climbing performance sucks, that doesn't necessarily matter much if all your events are flat.
- force - how hard you can push the pedals
- endurance - how long you can push them for
- "speed skill" - whether you're pushing them efficiently
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
- there are difference between skating and cycling
- technique plays a far bigger role: the Speed Skills workouts are not really relevant, but they can be replaced with technique sessions. Will need to define exactly what goes into those sessions to make them useful
- races are mostly a lot shorter: a 1:15 event is going to be over faster than most bike races. This may have a bearing on training duration and intensity
- Intention is currently (a) find a fast German marathon in early season, (b) another one at the end of the season - such as Berlin if I can get a decent start, and (c) the LIM, becase it's the home race. Maybe also Le Mans: I still have to think about how I can do a better job of it than last year and maybe even enjoy it. So that's three peaks and if the first is mid-May, that means Base 1 starts more or less when the year does. (Also need to find out when Prezelle and the One Eleven are, and see how they fit in)
- I need to work out how much of the non-training skating I do (which is approximately all the skating I currently do, yes) qualifies as training and what kind of training it is. In this regard it would really help to find my lactate threshold.
- my biggest weaknesses right now are technical and mental, and I'm reasonably sure they'll be limiters in any event that's not "skate in a straight line on a completely traffic-free road". Which is most of them. Oh yeah, and diet, but I have very little idea as yet on how to fix that without actually, y'know, cooking.
- Although the timetable doesn't actually require starting Base 1 until January, an eight week Preparation phase does seem like overkill, so I think I'll be bringing some of the Base workouts forwards to this year if only for the variety. And let's not forget that things will probably stop for a week over Christmas. For the moment, though, it's pretty straightforward: get the miles in on easy aerobic workouts, and learn to go round corners.