2016 Cycling Season in Review

Wow, 12 months with no posts. Hopefully I’ll do a bit better than that in 2017, but I think we all know how it will end up.

As I said in my 2015 season review, perhaps my 2015 goals were a touch ambitious, and as a result my 2016 goals were just about incremental on that. They were:

  • 10s. Achievable: 21:xx. Stretch: sub 21:30.
  • 25s. Achievable: 55:xx. Stretch: 54:xx.
  • 50s. Achievable: sub 2-hours. Stretch: sub 1:57:38 (25.5mph average).
  • La Marmotte. Place similarly to the Etape – top 10% or so.
  • Hill Climbs. Retain my Wheelers Club Champion status. Train for them properly.
  • Overall. Plan the season better, with space for specific training between TTs and HCs.

Overall, I hit 4 out of the 6 (if you count 10.2% as “10% or so”…), which isn’t too bad all in all.

Early Season

As usual, my season started with sporting TTs. However, this year I had the added complication of buying a flat, and so my winter and early season was generally consumed with estate agents, solicitors, and decorating. As a result, I only actually made it to a single sporting TT, the Kingston Wheelers Sporting 14. This was the third time I’d completed the event, and progress seemed good. My times have been 37:19 (2014), 35:47 (2015), and 34:43 (2016). Early signs for the season were good!


Open TTs

My season ended up being very light on open TTs: I completed only one 10, two 25s, and two 50s. Life got in the way a bit this year unfortunately. The 25s were little to write home about; I improved my PB from 56:51 to 56:26, but a way off the 55:xx, which I still think should be easily achievable for me.

I had better luck in the other disciplines. At the Charlotteville CC 50 on H50/8, I achieved my 50 goal, stopping the clock in :158:48. To top it all off, the photographer got some cracking shots of me…

James Griffin MA5D3-0355

In my only 10 of the year, I gave it all. Luckily, it was a good day on a good course, and I smashed through my 21:xx target, achieving a 20:51. I almost caught my minute-woman, Julia Shaw, too. Being seeded early meant there was a time at the HQ when I was third on the leaderboard which was nice!

La Marmotte

What a fantastic event. I made the decision to drive down rather than faff with airlines and bus transfers, which meant a pretty stress-free trip down to my AirBnB apartment atop Alpe d’Huez. A fairly easy spin the day before was capped with a ascent of the Alpe which was perhaps too energetic. On the day, however, I couldn’t get in the mindset. Sitting on the start line felt like I was waiting for the Sunday Club Run to start, such was the lack of adrenaline. The stresses of life were getting to me at this point and annoyingly it really affected my performance on the day.

The weather was changeable – warm and dry on one side of the valley, raining on the other. I opted for a Gabba, which whilst uncomfortable in the warmth paid dividends on the descents thanks to being windproof. About halfway through I hooked up with a guy in Matt Bottrill team kit, and figured he’d be a good wheel to follow. Of course, he was a bit too strong for my tiny legs and I let him slide away half-way up the Galibier.

Finishing on Alpe d’Huez was fantastic, and after a quick shower and protein shake I enjoyed a couple of beers on the main street, watching the riders flock in. I’d finished in 7:19 (7:40 if you include the descent of the Glandon), which put me 687th of 6,680 finishers, just outside my 10% target. I feel I have unfinished business on the Marmotte and will be back for sure.

Hill Climbs

One of my biggest learnings from 2015 was from how poorly I adjusted my training between Open TTs and HCs. This year, I started shorter effort work with a month to go before the first Hill Climb. I did the regular Kingston Wheelers climb on Leith Hill, plus the classic Catford & Bec double-header. I PB’d on Leith Hill by a handful of seconds, but nowhere near enough to retain my club award as I was thoroughly smashed by Alex Reid who was a good 15 seconds quicker!

Catford and Bec were fantastic. The atmosphere at these events is just so good – riding through the crowds at the top of the hills is such a rush. I was pleased with my times, both around 2:28, and will definitely be back next year, but hopefully with better pacing strategies!


I decided late last year to sign up for coaching in order to see how that would progress my cycling. Since November, I’ve been coached by Chris McNamara at Trainsharp, who gave me two solid months of leg strength work following some testing I did with them. I’ve been impressed with how I’ve felt throughout the three blocks we’ve done – I’m being pushed but it’s well balanced with rest, and each training session feels different. Fingers crossed it produces some cracking results this year.

I’ve also signed up for the Maratona dles Dolomites with the gang, so that’s my primary target for the year. Goals, then, are:

  • 10s. A short 20:xx. Stretch goal, 19:xx.
  • 25s. Finally, finally go sub 55:xx.
  • 50s. 1:55:xx.
  • Maratona. Top 7% of finishers, stretch goal of top 5%.
  • 100s. I may give one of these a go this year.

2015 Cycling Season in Review

In 2013, my first season racing, I did 5 races: 4 TTs and a Hill Climb. Last year, 17: 15 TTs and 2 Hill Climbs. This year, I did a much more full season: 21 TTs, 3 Hill Climbs and the Etape du Tour. The year was perhaps too full: I’m knackered. But it’s been a fun year.

Early Season Sporting TTs

February and March herald in the season with Sporting TTs: hilly (or at least rolling) courses of varying length. Being around 61kg, these should suit me, but they’re tough mentally. When I turned up for the SCCU 21, it was 4 degrees and raining, and I had only arm & leg warmers to go with my skinsuit. Still, this race would see me finish 9th – one of two top-ten finishes in the year and my first appearance in The Comic.

Open TTs

All my season goals were in open TTs. As stated on the Wheelers forum, they were:

  • 10s. 21:xx
  • 25s. 55:xx
  • 50s. Complete at least one. Stretch goal: sub 2-hours.
  • 100s. Complete at least one.
  • Overall. Place top 20% in an Open.

Following the sporting courses, I went straight into racing standard distance TTs at the beginning of March, starting with the High Wycombe CC 10 on H10/22. I was treating these early-season races as a build-up, expecting to achieve that goal some time in the summer. This race turned out to have fantastic conditions: not too cold, very little wind, and a touch of moisture in the air (they say the air is more oxygenated after rain). I rode hard and was looking on to achieve my goal – I couldn’t believe it. On a downhill section I tried to shift into my top gear and the chain came off, getting caught between cassette and frame, jamming my pedals at 34mph. Slowing to a safe stop, fixing the issue and getting moving again meant I stopped the clock at 23:58 and was bitterly disappointed, but motivated for the rest of the season.

In my next 10 on the P881 in April, I managed a 22:05. My form went away a bit for the next two, stopping the clock at 22:35 and 23:01 on H10/22 and H10/57 respectively. Then, in June I bettered my PB, again on the P881, to 22:04. It seemed the 21:xx might elude me. I had three 10s left over two courses (G10/57 and G10/42, neither of which are known to be fast), and though I achieved course PBs for both I was unable to hit the goal. However, my power in the final 10 of the season was a best over 20 minutes at 314W, which should see me below the 22 minute threshold next year.

I only raced two 25s in 2015, on G25/54 and H25/2, and was able to PB in both races. The first saw me finish in 58:25, taking almost 30s off last year’s PB. In the second I was able to produce significantly better power and produced a 56:51 – a big chunk of time off my previous PB but some way from my 55:xx goal.

My first 50 was during my taper for the Etape, so I should have been going well. However, the conditions were bad with an awful headwind – a friend and strong tester was barely able to get within 5 minutes of his PB. I managed a 2:04:19, which put me closer to the 2-hour mark than I had expected.

I had been bitten by the bug, and entered the last available 50 of the season for me, which would require travelling to Chester. On the D50/3r, I managed a 2:01:43, significantly closer to my stretch goal and a big chunk off my PB. Promisingly, when reviewing the data from the race I saw that I had averaged the magic 25mph until the 42-mile mark, at which point the course turned into a headwind and headed uphill. This race also saw my second top-10 finish, and saw me achieve my top-20% goal in an open.

I didn’t manage to enter a 100 this season, since scheduling conspired against me. It’s still on my list to do, but perhaps a target for 2017.

At the Wheelers end of the season awards night, I received a nice surprise – I had won the Club Time Trial Series, a points-based tournament held over a number of races. Although I was quite far from being fastest in any of the disciplines, consistency saw me place highly and I was chuffed to win. It’s not something I expect to repeat – there are significantly quicker testers in our club than myself.

Etape du Tour

A bucket-list event, I signed up after some friends told me they were doing it. I love riding in that region and couldn’t wait to test myself on the Tour climbs. After a yo-yo’ing weather forecast, and a thunderstorm the night before, the day of the event was incredibly hot. Although we started relatively early whilst it was cool, it soon heated up, with the final climb on La Toussuire being particularly sweaty – south facing and exposed, with fresh tarmac reflecting the heat. Kind families in their motorhomes were handing out water, and a man sprayed riders with a hose at one of the feed stations. As I passed one spectator holding a bottle of water, I motioned for her to pour it on me. “C’est froid”, she warned. I wished I’d known the French for “I fucking hope so”.

I’m more a hot than a cold weather guy, and I loved the event (I even managed to not get sun-burnt). The first pint of lager (and the second and third…) whilst I waited for my room key to turn up was brilliant. I finished in 6:36, the quickest of our group and 759th of 12,092 starters. The slowest rider on the Tour de France finished in around 4:55. So, they’re just a bit better than me.

We followed up the Etape with a week in the Vercors and I felt fantastic. I didn’t hit many PBs but I was loving riding my bike and couldn’t wait to get back to racing.

Hill Climbs

The traditional British Time Triallist’s end of season, I only managed three hill climbs this year. I made the mistake of going straight from racing open TTs to racing hill climbs, without any specific training in between. As a result, my performances weren’t as good as I’d hoped.

I returned to Denbies Wine Estate for Dorking & Redhill’s Denbies Duels. I improved my time by 12 seconds, despite being partner-less, but was still outside the cut-off to progress to the later rounds. As a result, I was able to head over to Staple Lane for Charlotteville’s club race. Staple is a climb I know quite well, and was able to place 5th and only a few seconds behind my friendly rival Mark Gray.

My biggest success of the season was at my own club’s race on Leith Hill. I didn’t improve my time on last year thanks to a headwind, however I was the quickest member of the Kingston Wheelers, making me club Hill Climb Champion 2015.


Perhaps I was a bit ambitious in 2015. As a result, a lot of my targets will move over to 2016.

  • 10s. Achievable: 21:xx. Stretch: sub 21:30.
  • 25s. Achievable: 55:xx. Stretch: 54:xx.
  • 50s. Achievable: sub 2-hours. Stretch: sub 1:57:38 (25.5mph average).
  • La Marmotte. Place similarly to the Etape – top 10% or so.
  • Hill Climbs. Retain my Wheelers Club Champion status. Train for them properly.
  • Overall. Plan the season better, with space for specific training between TTs and HCs.

Riding 315 miles for CALM

In 2012, my brother John sadly took his own life. In 2013, to mark the year anniversary, I rode from Cornwall, one of his favourite places, to Walsall over two days, raising money for The Campaign Against Living Miserably, who aim to raise awareness of male suicide and support those in need. To mark the occasion in 2014, I decided to do the same route but in a single ride, again raising money for CALM.


I always worry about the bike on trains – perhaps more so than on an airplane. The bike racks in the First Great Western trains seem quite bike-unfriendly. They’re mainly a channel for the front wheel, coupled with a slot for the tyre and a piece of material to hold it in. The guide, though, pinched the spokes on my front wheel, which made me a little nervous.

I’d booked a table at a nice pub just outside Truro, and managed to sit on their terrace overlooking the valley which was nice and relaxing ahead of the ride. Unfortunately, cycling shoes on their polished wooden floor had me on my arse more than once – fortunately no damage done to either myself or the floor.

I’d planned to split the ride into three legs, each around 100 miles. Each leg would end somewhere I knew I could have a rest and get some food – the first at a 24 hour Tesco and the second at a friend’s house. It would also help me mentally chunk the ride – three 100 mile rides seems oddly easier than one 300 mile ride.

Continue Reading..


A site refresh & Porsche Challenge

A new website. Why not? It’s been a while. Who knows, I may even update it more now.

Another thing that’s coming out today is a new game I’ve made called Porsche Challenge. This is a game my colleague Andy & I play (or at least, used to play) in the office. Basically, we would each choose a side of the A40, and the first to see a Porsche won. A fairly simple game, but surprisingly addictive!

The online versions works as follows: You are given a unique URL which you share with whoever you want to challenge. Once your opponent has joined the game, you are both dropped in the same random location on Google StreetView somewhere within the M25. The first to navigate around & find a Porsche, wins. Easy! Try it – it’s better than it sounds!


DoodleDesk 1.2 Released

Version 1.2 of DoodleDesk is now available on the Mac App Store. This update fixes a few bugs and adds the following features:

  • Adds export to JPEG, PNG, GIF & TIFF formats
  • Improves line smoothness
  • Variable pen size (We’re aware of a minor bug with this – we’re aiming to push a fix as soon as possible)
To celebrate, DoodleDesk is available at a special sale price of £1.99 ($2.99) for a limited time. Exciting!
DoodleDesk, the Whiteboard for your Desktop, is the best application for drawing literally on your desktop. It’s perfect for engineers, designers, teachers and presenters. What have you doodled on your desktop today?

An Autonomous RC Car

A while back, I posted about Autonomous Robotics and how I’d love to do an autonomous racing series. Last week, I attended the inaugural London Machine Learning Group meetup (which was fantastic, by the way), where David Singleton gave a presentation on his self-driving RC Car. My interest was piqued. How much fun does that sound?!

Today, I did some more thinking about it, and I’ve put together the beginnings of an equipment list for the project.

  • Aston Martin V8 Vantage RC Car. I’ve already got one of these, and I don’t think I’ve played with it in ages. Might as well hack it apart, then! (Also, Aston Martins are awesome.)
  • RaspberryPi. This isn’t out yet, but boy am I excited. It looks like it should have the processing power required to perform all the calculations locally, and should be small enough to fit in the RC car itself.
  • Minoru 3D Webcam. In my fourth year, a friend was using this as a range finder (and it looks like there’s some open source code to do this), so this camera could perform two great functions: firstly, the “basic” self-driving task using images; and second, potentially acting as a range-finder for some more advanced mapping.

The ultimate aim for this would not only be for the car to drive itself, but for the car to learn the course in the same way racing drivers do. For example, the car may drive itself around the course, producing an internal map. The car could then use some kind of genetic algorithm to attempt to define and follow a route around the course for the aim of getting the fastest lap time.

Ambitious, hey?

There are a few immediate issues I can foresee:

  • Power. The RaspberryPi will require around 4xAA batteries to power it, and the camera may require the same again. I could end up with an RC Car full of batteries that won’t move anywhere because it’s too heavy…
  • Control. David Singleton used an Arduino board wired into the car’s controller to pass instructions to the car, but if I want to keep everything onboard then I’ll need to do something else. Ideally, this should work alongside the standard wireless controller so I can still retain some ability to control the car.
  • I’m being a bit ambitious. One step at a time, Griff…

A Week (& a bit) on the Mac App Store

11 days ago, I launched my first app, DoodleDesk, onto the Mac App Store. I had realistic expectations – I’d set my sights at a few hundred pounds profit over the year, enough to pay for a nice meal out or something. Nothing fancy. Of course, all app developers dream of App Store Success, and I was one of them, but I didn’t think I had a chance of coming anywhere near close to that.

The first few days of sales were encouraging. I did very little marketing and was selling 10-20 a day – one day I got a review on a French website and sold almost 40! I was pretty chuffed with that.

Then, on the 19th, Apple decided to put DoodleDesk on the front page of the Mac App Store in the “New & Noteworthy” section. I was absolutely amazed. My app was now surrounded by a collection of really superb applications, and was right up there for everyone to see. Incredible. At around the same time, the press release I’d put together was released, and a number of sites re-printed it. Suddenly, 10-20 a day looked a bit meagre.

I shan’t go into precise figures, but it’s certainly a lot more than I had expected. In one day over the weekend I surpassed what I’d hoped to make over the year. Because I’m quite anal about these things, I kept an eye on the app’s position in the charts. The peak values were:

  • Top Paid: #19
  • Top Grossing: #48
  • Top Paid (Productivity): #6
  • Top Grossing (Productivity): #14

At one point, DoodleDesk was higher in the Top Grossing chart than Angry Birds. Angry Birds!! As you’d expect, things are starting to tail off now the initial excitement is over, but it’s still surpassing expectations daily.

Whilst all this has been incredibly exciting, the most exciting part has been the emails and tweets I’ve had from people who are enjoying the app. I knew there were people out there who wanted something along these lines, but to hear from people who are actively using and enjoying the app has really made the whole experience. Some of the users have found fantastic use-cases for DoodleDesk – such as one man who intends to use it for tutoring his grandson over screen share. Superb. I couldn’t ask for any more.

Of course, the flip side to this is the people who aren’t enjoying your application, and I’ve had a good few of those as well. What has been frustrating for a first-timer on the App Store is how people will prefer to vent their annoyance at the app publicly by reviewing it, rather than emailing me with suggestions or constructive criticism. Similarly, only a few people have given positive reviews (though this has improved over the last day or so), although I’ve had plenty of positive messages from people personally.

Ultimately it’s not an issue – some of the negative reviews border on the ridiculous, and the app is simple enough to speak for itself. Public criticism is something I was worried about before I launched the product, but in my experience it’s far outweighed by the personal messages you receive from genuinely happy users.

What next? The difficult second album. So many ideas of my own, and many more wonderful feature requests from users. The trick will be making the app as useful as I can for everyone, whilst retaining the simplicity and ease of use. Watch this space…


DoodleDesk is New & Noteworthy

Just a quick one to say that DoodleDesk has been featured in the New & Noteworthy category – very exciting! We’re looking forward to some exciting times ahead as the app gains a bit more widespread knowledge.


DoodleDesk 1.1 Released

Version 1.1 of DoodleDesk is now available on the Mac App Store. This update fixes numerous minor bugs from the first release, including:

  • Issues with edit menu items
  • Copy issues on the save dialog
  • Hiding of the “Show desktop” hover
  • Restricting the open file dialog to only DoodleDesk files
  • Issues with the eraser path changing once drawn
  • Issues with save prompt when creating new documents
  • Issues with creating new files when the current file has been edited
DoodleDesk, the Whiteboard for your Desktop, is the perfect application for people who diagram, design, ideate or doodle. It has been endorsed by most of my family, and was given special mention in my primary school’s weekly newsletter. Have you doodled on your desktop yet?

DoodleDesk 1.0 Launch

After much procrastination on my part, I am pleased to announce that DoodleDesk is now live on the App Store. DoodleDesk is a Mac App that replaces your desktop background with a whiteboard, allowing you to draw freely over your desktop, as well as adding text notes. It’s perfect for sketching out ideas, plans, diagrams, or simply wiling away some time idly doodling. But don’t take my word for it, check out these glowing reviews:

DoodleDesk App Icon

This app could single-handedly save the rain-forests.

– Bob Geldoff

One minute I was making bacon, the next minute my world had changed.

– Pork & Apple Magazine

If there’s any silver lining in today’s depressive society, it’s the ability for small companies to post fake reviews of their latest products.

– Ed Balls, Shadow Chancellor of the Exchequer

DoodleDesk is available on Mac OS X for £3.99 ($5.99) through the Mac App Store. Click here to launch the App Store.