Thursday, 31 August 2017

Cycling Around Mallory Park, Leicestershire

I spent a pleasant late August evening cycling around the Mallory Park circuit. 





I managed to average 19.7mph over 1hr15mins - 25 miles. I was pleased with this performance as it was entirely solo. There was no one at a similar pace to me - a few really fast people on full aero bling and the rest slower than me.


Here's a video of about the 3rd lap I did - average of circa 20.5mph:


Mallory Park is open for Cycling from 6pm-9pm each Wednesday evening. 

Link is here: https://www.cyclingmallory.com/events-calendar

Rapha Exclusivity or Rapha Tat?

I normally sign up for the Strava Monthly challenges - they are there and it costs nothing

I normally manage the "Grand Fondo" distance challenge (just over 60 miles) and get just over 50% of the monthly distance challenge. The monthly climbing ones are more in my grasp and I probably get 3/4 of them through the year. Having been on holiday to the French Alps and Pyrenees for the past 3 years the climbing challenges have been done and dusted in just over a week.

This year (2017) as well at the normal Strava challenges in July there were additional challenges - the "Eurosport Peaks Challenge (ride)" and the "Rapha Rising" challenge. Given that the Strava Climbing challenge for July was 26,247ft and the Rapha challenge was only 15,092ft (4600m) the latter was a lot easier. I signed up as normal for them and sure enough duly climbed a lot more than required - 54,954ft to be precise - and thought no more about it.

Here is the evidence (Courtesy of veloviewer):


A few weeks ago a small black (and expensive looking) package dropped through the letter box, and when I opened it was a tangible Strava Achievement:



Gone now are the virtual achievements that I was used to, here is something from the Internet that I ca actually touch and feel. I really don't know what to do with it. I think I will put it somewhere safe so in a few years time my sons can get it out and it will have some tangible value. People will reminisce and say - "my I remember when a company could create value by creating an image and this overcharging customers for the same stuff you could get elsewhere!"

Just to prove the pretentiousness these are the words embossed inside:


Lets be honest - I went on holiday somewhere intersting to ride my bike up some "iconic" mountains - its not become part of what I am.

Fair play to Rapha for putting thier money where their mouth is  - but you can see why the clothes cost what they do when you have for factor in making woven bagdes and sending them to members of the public.

I also do have to admit that despite the comments above I have an item of Rapha clothing - but in my defence I was given this. Its a convoluted tale but a supplier to the company I work for is Austrian and a friend of Bernie Eisel. Some discussion later and this arrived:


Personally signed as you can just about see below:



Its a medium and whilst I am normally a medium this is what I guess is called a racing fit - I have to breathe in to do it up but once in and on the bike its OK. It does look great and it is comfortable. Given that it is unique to me I have worn it only a few times - not sure of the value of Bernie vs. say Chris Froome but its pretty valuable to me. Thanks Bernie.

Saturday, 22 April 2017

Mountain Biking Again

At Easter 2016 I used a Red Letter Voucher to go Mountain Biking with MudTrek. It was so good that I chose to go again in 2017 and paid for it myself as well.

Again a really good day. Excellent guiding from Jay and hospitality before and after. A challenging route with a bit of everything mixed in - single track, double track, trails and roads. We ended up doing 33 miles and 4500ft of climbing. This year I was completely done in by about 25 miles. The last hour or so was painful. Every part of me ached and I was totally knackered, but the feeling on completion was fantastic


The ride is on Strava here

It looked like this:


And here's a few photo's of me truly:









Friday, 21 April 2017

100 Climbs No95 - Black Mountain

I went mountain biking in South Wales again over Easter. But I also took my road bike and tried to squeeze in some other hills. It was a holiday with my wife as well so I made just one ride - that of the 100 Climbs No95 - Black Mountain. 

We struggled to find the start of the climb from the description in the book, so we drove all the way to the car park at the top. This meant that the ride would start with the descent and then I'd turn round at the bottom and ride up.

I got the bike out of the car and got changed. It was not cold but the wind at the top was quite brisk so I put several layers on to keep warm. I ended up needing these layers on the descent - I pedalled as hard as I could to try and warm up but the speed ended up faster than I was comfortable with. For this reason I went a lot further "down" the hill than I knew was necessary in order to warm up and be sure of starting the segment properly. In the end I had about 1-1½ miles of warm up which, together with the descent was just about enough.

The bottom of the climb starts somewhere near the small group of houses and the bridge (I think). There's a short kick up which saw me drop onto the smaller front ring. However I felt strong enough to use the 3rd and 4th gears for some time although I needed 2nd (34-25) for a while

There was about a mile of riding to the cattle grid, but once over the grid it levelled just enough to get into 3rd (34-23) and accelerate from ~8 to 9mph and felt quite strong. This was the pattern for most of the climb - I felt strong enough to ride 3rd pretty well all the way apart from a couple of points (one of the hairpins for example) where the gradient kicked up a little. The last ¾ mile or so ease off even more and I got into the 34-15 gear.

There was a tail wind to a degree for most of the climb but all the layers I put on at the start were starting to be 1 too many and I was pretty hot by the end.


I rode past the car park to be sure I had "summitted" and then rode back to the car. The ride was done.

Here's a video of the climb (with the extra bit at the bottom):




The Strava segment is here: OFFICIAL 100Climbs No95 Black Mountain



The data is:
Climb Length: 4.4 miles
Height Gain: 1246ft
Average Gradient: 5% (Strava Cat 2)
My time: 27:52
My position: 831 of 5316

With the time and overall position I was ecstatic - it was a great performance and I felt there is another minute in there - not getting too hot with the one too many layers I had on and knowing how to pace better could easily get a minute out of the climb - roll on next attempt!

Saturday, 8 April 2017

"Retro" Cycling Jersey

I am not over keen on personal photos but I got a "retro" Peugeot cycling jersey for Christmas and today was the first day of the year the weather was good enough for short sleeves

I think its an iconic (risk of overused word) jersey and looks great:

Not Tom Simpson

Whether I do it justice compared to the originals I'll leave it to you:

Tom Simpson


Sunday, 12 March 2017

Star Hill and Rowdow Lane

A sunny ride saw me attempt for the 3rd time the climbs of Star Hill, near Dunton Green, Kent and Rowdow Lane, near Otford.

I have done these twice before but earlier in the year when it was colder and I was on a heavier bike. The warmer weather meant  was on my much lighter Scott and partly as a result set PB on both climbs

I also had my Garmin Virb running so here's a couple of videos of the ascents:

Star Hill:


Rowdow Lane:


Both climbs feature in the Cycling Climbs of the South East, part of Simon Warrens' 100 Greatest Cycling Climbs series of books

Saturday, 11 February 2017

Strava Data Analysis - A PC Based Visual C# Solution - V1.1.0.8 - Updates Feb 1017

Updates of Note Dec 2017

Please see the latest version here: http://midlandscyclist.blogspot.co.uk/2017/12/strava-data-analysis-pc-based-visual-c.html


This post has some useful information but refer to the latest version above

Updates of Note Feb 11 2017
  • Detailed instructions on how to read data that was collected in your privacy zone (if you have set one)
  • Now reads power, temperature and smoothed gradient values in the stream data
  • Small other changes
Version 1.1.0.8 can be downloaded here: link

See other posts here: Post 1 and here: Post 2

After several internal versions and having got to the point to being able to extract and export "stream data" which I then viewed in Excel I realised that I was always missing the beginning and end of the data when I was looking at rides when recorded starting from home. It took a a while to realise that this was because I have set a privacy zone and the default Access Token only gives access to my public data. A lot of research and coding has so far failed to address this in any meaningful way. However I now understand the process and and have been able to get a method to give an Access Token for the full stream data. Its quite involved and is laid out as follows.

The first step is to go the the Authorisation page of your application:



In my case I have set the Authorisation Callback Domain as "localhost":


When I select the Authorise button Strava tries to open a  web page on localhost. This however causes an "404 - Not Found" error page to be opened as there is no server/application to respond:


However you do get back the interim token you need. This is shown in the page address bar of your browser:


You need to copy and keep this code - all the text after "&code=".

Next we need to send this code, together with the application ID and the"Client Secret" Token to Strava to get another Access Token which will be the one that we need.

The Strava API help pages describe this method using techniques I am not familiar with. It seem to use "CURL" which appears to be a means of sending web requests without a browser. I failed to achieve this with many iterations and trials.

I then found another method which was to create a small web page (local file) and open this page in your browser.

This is the code for the webpage:

<html>
<body>
<form action="https://www.strava.com/oauth/token" method="POST">
Client Id
<input type="text" name="client_id" value="YOUR_CLIENT_ID">
<br><br>
Client Secret
<input type="text" name="client_secret" value="YOUR_CLIENT_SECRET">
<br><br>
Code
<input type="text" name="code" value="CODE_FROM_PREVIOUS_STEP">
<br><br>
<input type="submit" value="Submit"></form>
</body>
</html>
 
You can dowload it from here: link

You then enter your client ID, Client Secret and the interim token above (I have obscured my private data in the screen shot below. Also as I iterated several times and then created the screen shots for this Blog later, the access token below is not the same as the screen shot above - but normally it would be)
   
 Paste in the access token and press Submit:
  
You'll then get a file back from Strava - save this file and then open it. In this instance it opened in Visual Studio so I assume that the ".json" extension is associated with this application:



The first response is a new access token (obscured in the screen shot above) which is for this user and allows access to their private data - its persistent so there's no need to repeat the process more than once as long as you keep the key (and in fact my application will store this in an .ini file). Copy and paste in to my application next time you run it.

I am looking at how to do this programmatically as this method is pretty user unfriendly.

Once I had the stream data I also found that 3 of the data streams for power, temperature and smoothed  gradient were not being acquired. Further analysis between the Strava documentation and the StravaDotNet packaqe suggested that Strava had altered the descriptive names of these 3 streams, namely from Watts to watts (power), from Temperature to temp and from GradientSmooth to gradient_smooth. I was using StravaDotNet as a "package" so it was a "black box" and I could not edit the code.

Whilst the source for StravaDotNet is supplied I did not know how to rebuild it as a package.

Some considerable iterations later I have worked out how to stop using it as a package and use the source files "as is". Once I had worked this out I could run through the source files and rename "Watts" to "watts" etc. Once I had made these relatively small changes (although a lot of work was required to get to that point) I could then get this previously missing data into the application. 

In this case I had written the code relatively well (I used a few classes) so extending the code to process 3 more streams was actually quite quick. Whether its well written code or could be better is a different matter of course

Further work:
Get the application to authorise directly without needing to do all the above
Filter data by activity type
Error checking
Some graphics
Get segments from an activity and segment data