500 Mile Challenge – Half Way

This year I set myself a challenge, to run 500 miles within the calendar year, 2017. I’m now about half way through the year so thought it was time for a quick update and review.

When exactly is the half way point of the year? With February being short it’s probably around the second of July. Near enough for this post anyway.

So, half way through the year and a touch over half the miles covered. Today, 3rd July, I’ve done 256.9 miles. I’m now in training for Cardiff Half Marathon at the start of October so will start doing longer distance runs and should hopefully pull comfortably ahead in the next couple of months.

It might not seem like the most difficult challenge, and in truth it probably isn’t, but having it there has made a big difference. There have been many times where I might have not bothered going out but the idea of falling behind in my miles has kept me going. It also helps keep it regular, rather than doing nothing for 3 months then going nuts it keeps it steady and means I never get too unfit.

I’m logging each run in Airtable and am using the API data in a CodePen project to plot it on a graph using Chart.js. You can see the chart here:

graph of runs vs target

What I Learned in 2016 (Part 2)

This is the second part of a three-part post about the new things that I picked up through the course of 2016.

I (finally) took some big steps in CSS this year, picking up some of the things I’d been putting off for a while.


I’d heard a lot of good things about Flexbox but having to support older browsers I’d never really bothered with it. Finally, this year, with support for older IE getting dropped I decided to dive in. It’s amazing. It can handle just about anything you would need for layouts. I’m sure there are now loads of great resources for learning it but the two I used were Wes Bos’s Flexbox.io¬†videos and Chris Coyier’s A Complete Guide to Flexbox.


The really big one for me this year was learning Sass. I know I’ve come to this very late. I was never that keen on the idea of adding another layer of complexity for my own convenience rather than for any actual user benefit. I still don’t think it’s really needed, it’s a just a nice convenience. That said, it does make writing CSS, particularly modular CSS a lot easier. Nesting, variables and mixins make it much easier to keep things consistent and manageable. CodeSchool’s Assembling Sass course was very good.


I’ve used Bootstrap on and off for a while but only recently did a course in it. It turns out that there are loads of little utility classes built in to handle all sorts of variations of the basic components. It’s well worth learning properly rather than just diving in and grabbing bits and pieces. Like with Sass I don’t think you really need a CSS framework but it can certainly speed things along nicely once you know your way around. Our friends at CodeSchool came up trumps again, Blasting Off with Bootstrap.

(Angular) Material

I didn’t go deep into this, just had a bit of a play. Angular Material is very nice and fairly easy to use but I came unstuck as I was trying to use parts of the framework within an existing page layout. It got messy pretty quickly. I think Material is a bit “all or nothing” – you use it fully or not at all.

And now for something completely different…

Being a front-end guy I rarely (never) touch the database world.¬†Writing a request to an API is about as close as I get but recently I’ve poked about with a couple of things.


I liked the name. I got curious. I’ve done some stuff with SQL many moons ago so I was interested to see how a database could work without it. If you’re used to JavaScript objects and JSON it’s actually really nice to use. You just push and pull objects, query by properties, that kind of thing. I didn’t go deep into it but was very impressed. It’s very much sticking with JavaScript thinking. I think it’s got a bit of a bad reputation but I’m inclined to think that was some early teething trouble and mud sticking rather than a serious issue. Glass half full. I might be wrong.


Another play thing. Airtable lets you build databases and views, query, filter, sort, run formulae, rollups, lookups, etc. It also gives you forms, galleries where you can show your data in a card format, calendars and a whole lot more. It’s free for the basics and is lovely to use mainly down to some very good UI design. It also has an API for sharing the data with applications.


More in the next part…


500 Mile Challenge

I’ve set myself a challenge this year. In 2017 I’m going to run (a minimum of) 500 miles.

I generally do go out running quite regularly and even do the odd event but I tend to go through phases of not going out for 3 weeks then going out lots. I thought that if I set a total to aim for then I can see how I’m doing against where I should be if runs were evenly distributed¬†– if I’m ahead of schedule or falling behind.

So, how does 500 miles break down? Well, 52 weeks a year, it’s roughly 10 miles a week with a couple of weeks off for good behaviour. I could calculate it further but that’s good enough for me to get the extra motivation I need.

I’m using a free online database tool called Airtable to record my progress against my target. Here’s the embed which will update with my progress as I record it. Good luck me!