Category: Uncategorized


2017 Season in Review

Ok so I’m super late posting this. Yes, it’s September, and the 2018 season is not far from over, but I realised I hadn’t done this post and can’t skip a year, so here we go. Let’s see how much I remember.

I helpfully documented my 2017 goals in the 2016 review, and they were:

  • 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.


I started as is traditional with the Kingston Wheelers Sporting 14, going 1 second slower than in 2016, but placing better at 13th vs 20th. I always find this a tough opener (and 2018 has proven no different). Perhaps it’s the cold, meaning I can’t get warm, or perhaps it’s the crappy road surface on the course meaning I never get comfortable. Whatever it is, I don’t go well on this course.

Following a disappointing start, I went to the Redhill 18, which I’d previously done in 2015, and took just over 4 minutes off my previous time. It’s always nice to have a good race following a poor one to boost the spirits.

When April rolled around I did a couple of 10s, the second giving me my best TT placing of 7th (out of a decent field in the 70s). It wasn’t the PB I wanted – that would have to wait until P881 at the beginning of May, where I clocked a 20:31 in what would be my last 10 of the season. This Hampshire Roads event was the first TT I ever did back in 2013, and I look forward to it every year. The course is great, if perhaps not as fast as the lesser-used P881r.

Later in the season I got PBs at both 25 & 50 miles, clocking 55:15 (so not quite hitting my goal) and 1:55:23 (hitting my goal, yay!). I seem to be mostly devoid of photographs from this season, but here’s one from the Charlottesville 50.


My main ride of the year was planned to be the Maratona, which me and my mates had agreed on in late 2016. I wasn’t planning anything else, but fate had other ideas…

Around May, I entered a competition in Cyclist magazine to win entry to a new Marmotte event in Austria. I thought it might be fun, and rarely win these things, so put my name down. Of course, I won my entry (though not flights, transfers, accommodation, etc., which I hadn’t taken into consideration), and headed to a rainy Salzburg with my Aeroad for 107 miles & 3,400m of climbing.

First off: those climbs are steep. I was cursing not putting a 34 on the bike when I got to the final climb. Although, I had gotten there in the company of the lead group which contained one Laurent Jalabert (who at one point gave an unforgettable demonstration of on-the-bike urinating), which could also explain why I was utterly buggered. Still, after a rainy start, the sun eventually came out, and the scenery was absolutely stunning. I was disappointed to see it didn’t get onto the calendar this year as I would have loved an excuse to go back.

In July, we headed to Italy for the Maratona, an event so highly regarded amongst previous participants it’s a wonder it isn’t a compulsory MAMIL ride. First things first: the Dolomites are incredible. Seriously, pant-wettingly beautiful rock formations the likes of which I’d never seen before. The Maratona is worth it for those alone.

The event itself, if I’m honest, I can’t make my mind up about. Perhaps my expectations of it, and of myself, were too high; perhaps I had a bad day. The first four climbs were a procession of Lycra, with everyone travelling at the speed of the lowest common denominator, and only a few picking their way through the crowd. I squeezed into a number of gaps but was still frustrated by the pace, being over a whole W/kg down on my target for those opening short climbs. I was 552nd, which just about amounted to top 10% of long-course finishers.

Would I do it again? Definitely. But only because return visitors get a start time closer to the front. Otherwise, I’d be travelling to the Dolomites out of season for a mix of cycling and walking with my camera.

Fate had more in store for me, though. The Marmotte Austria, it transpires, was a qualification event for the UCI Granfondo World Championships, and I qualified. I couldn’t turn this down.

Allow me to address some of the controversy around this event. In order to race, you need to wear country-specific kit, meaning my compatriots and I would be in GB kit. There was kit available specifically for this event, but you could of course buy replica Team GB kit and wear that. For some people this amounted to being a member of Team GB, an honour which can only be bestowed upon those selected as Olympic or World hopefuls and coached by British Cycling staff. Certainly I was excited that I would be flying the GB flag in a peloton riding through the French countryside, but ultimately I had been lucky enough to finish to 20% of my age category in an event with a fairly small start list. This was no validation of my quality as a cyclist.

Almost 200 people started in my age category (and almost a quarter of us were Brits), and the first 30km or so reflected everyone’s nervousness. 200 mixed-ability amateurs speeding along open French highways was both terrifying and exhilarating in equal measure. I count myself firmly in the lower end of the ability range, being as I was, up until this point, primarily a time-triallist. This showed on the first climb, something which should have given me no trouble at all, where I was poorly placed and found myself the wrong side of a split. Chasing back on along the flat took a lot out of me, and I couldn’t hold the leader’s pace on the second climb.

Still, I finished the 98 mile course (with 2000m of climbing, no less) in 4:24, in the company of a nice Canadian guy and a couple of other Brits who were stingy on the front. I was decidedly mid-pack in the overall result, but 11th out of the 50-odd Brits in my age group, which can’t be too bad.

This gave me a serious appetite to finally make use of the BC license I’ve been renewing each year, so on the drive home I booked up a crit at Cyclopark in Kent for the next weekend. Fate had one to get back, and I punctured on the first lap.

Hill Climbs

I always wonder, as I await the timekeeper’s 5-second countdown, why I enter hill climbs. A feeling of dread fills me, and I tell myself that I never go as well as I think I should in these races. I wonder what would happen if, for the first time since my first foray into the hills some years prior, I would need to put a foot down on the climb. Perhaps because of this, I don’t go as well as I’d hope. The cycle repeats itself.

This year I entered four events: Denbies Duels, Catford, Bec, and the Sussex Nomads event on Ditchling Beacon. At Denbies, I succeeded in making the second round for the first time, at my third attempt. I was thoroughly out-sprinted by a junior in our head-to-head, of course, but I was pleased to be there after many years being on the cusp.

At Catford and Bec I was decidedly average, clocking 2:30 and 2:25 respectively. Nothing much to write home about, except of course the ever fantastic crowds these events attract, which make them worthwhile.

For Ditchling Beacon I decided to do something different and rode with my Garmin tucked away. I wondered whether the numbers were validating my inner gremlins, so I decided to take them out of the equation. As well, the climb was one I was reasonably unfamiliar with, having done it only once before. I caught my minute man and took 9th, a result I was incredibly pleased with. Not quite enough data to prove the numbers are bad for me, but it’s showing promise.

Photo courtesy of Claire Goldsmith


By December I’d had enough of the turbo and decided to enter some of the Cyclopark Winter series, to see if I could develop my taste for bunch racing. I managed two races before the year was out, placing 9th and 4th respectively. In the second race I surprised myself by coming 2nd in the bunch sprint (behind two leaders who were way ahead). I’d never considered myself a sprinter, but there I was overtaking guys almost twice my size. More crits were solidly on the plan for 2018.

Looking Ahead to… Now

Overall 2017 was a really interesting season for me. With 9 TTs, 4 Hill Climbs, 3 Crits, and 3 Gran Fondos, I did more than I’d intended; both from a quantity of races and from a variety of riding styles. It helped me realise that bunch racing is really good fun, and that perhaps next year I need to focus a bit more on the mental side of riding.

Writing about my goals for a season which is almost over is risky. There’s too much confirmation bias in the numbers entered neatly on my race results spreadsheet for me to confidently say what my goals at the beginning of the season actually were, but I can tell you this: it’s been a mixed bag. Thankfully it won’t be long before that season review can be written.


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.

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.