Skip to main content

Exporting WKO files to CSV

Phew.

I've spent *far too long* decoding the WKO+ binary file format. I'm still not there yet. But close enough that all my WKO files (wow, I have so many) can be exported to CSV and played with in MS access and MS excel.

It was freakin' difficult.

Put it another way, I had to give up decoding via hexdump and hexcmp tools in the end and wrote a tool of my own to compare and examine in binary (!?). But anyways, now all my data is as free as a bird and I'm already creating lots of pointless analysis to explain why I'm so crap! :-)

If you're at all interested the project is hosted over at sourceforge and you can download the convert, it's source code and a document that describes the WKO binary file format. You will also find an older project of mine that converts binary data files from my beloved HAC4 into Polar harm format too.

I can get back to concentrate on riding my bike now!

Edit: Oh, and today I just had my code to support WKO import into Golden Cheetah committed to the repository. Oh and Raceday now supports WKO import too.

Cool.

Popular posts from this blog

W'bal its implementation and optimisation

So, the implementation of W'bal in GoldenCheetah has been a bit of a challenge.

The Science I wanted to explain what we've done and how it works in this blog post, but realised that first I need to explain the science behind W'bal, W' and CP.

W' and CP How hard can you go, in watts, for half an hour is going to be very different to how hard you can go for say, 20 seconds. And then thinking about how hard you can go for a very long time will be different again. But when it comes to reviewing and tracking changes in your performance and planning future workouts you quickly realise how useful it is to have a good understanding of your own limits.

In 1965 two scientists Monod and Scherrer presented a ‘Critical Power Model’ where the Critical Power of a muscle is defined as ‘the maximum rate of work that it can keep up for a very long time without fatigue’. They also proposed an ‘energy store’ (later to be termed W’, pronounced double-ewe-prime) that represented a finit…

Polarized Training a Dialectic

Below, in the spirit of the great continental philosophers, is a dialectic that attempts to synthesize the typical arguments that arise when debating a polarized training approach.

It is not intended to serve as an introduction to Polarized training, there are many of those in-print and online. I think that Joe Friel's blog post is a good intro for us amateurs.

For Synthesis Against A Elite athletes have been shown in a number of studies to train in a polarized manner [1][2][3] There is more than one way to skin a cat. Elite athletes adopt plans that include high-volumes of low intensity and low-volumes of high-intensity. Elite athletes have also been shown to train in a pyramidical manner
[13] B Polarized Zones are between LT1/VT1 and LT2/VT2 [1]
LT1/VT1 and LT2/VT2 can be identified using a number of field based approaches [4][5][6][7]

You can follow guidelines on mapping LT1/LT2 to cycling power to make it useful for amateur cyclists. Polarized zones are har…

Finding TTE and Sustained Efforts in a ride

Defining the problem
Any given training ride or race will contain periods of sustained effort, sometimes to exhaustion. Perhaps during the last sprint, or over a long climb, bridging a gap or chasing on after a roundabout or corner.

Being able to identify these efforts is rather useful.

The trouble is, deciding what represents a maximal or sustained effort is often discussed, and generally has fallen into discussions about intensity and FTP or Critical Power. These discussions have tended to then focus on trying to account for the interval duration, periods of freewheeling and applying smoothing etc.

But we already have an excellent description of what constitutes a maximal effort. It is the primary purpose of any power duration model.

Power duration models estimate the maximal effort you can sustain for any given duration through to exhaustion. So if you want to identify maximal efforts its your friend.

Using the model below we can see, for example, that the athlete it represents co…