Chris Worfolk's Blog


New Year’s Eve 2018

January 3rd, 2019 | Friends

We saw out 2018 and welcomed in 2019 with our traditional house party. This year, Elina, Venla and I were joined by Chris & Cara, Chris, Kristo, Michelle and Mike.

And oh how we partied. I didn’t get to bed until 4am. So much so, that I had to miss the first Parkrun of New Year’s Day. Luckily, having gotten out of bed at 10am, I did manage to swing my Armley Parkrun to complete the second.

2018 in pictures

January 2nd, 2019 | Photos

Feeding giraffes during Elina’s 30th birthday celebration.

Running my first sub-two hour half marathon at the Canal Canter.

On the bike at Skipton triathlon, my first sprint distance race.

Powering up the hill at the Tour de Yorkshire.

Riding the Up North Yorkshire sportive with Bogdan.

The finish line of Wetherby triathlon, by first standard distance race.

Chris & Cara’s wedding.

Venla meets her cousins for the first time.

Sundowner middle distance triathlon.

Dissertation bound and ready to be handed in.

Yorkshire marathon.

Running the Abbey Dash with my family.

Venla growing up fast.

Family party for Katie’s 30th birthday.

2018 in review

January 1st, 2019 | Life

I started January with a poorly ankle, so, I did what any sensible person would do and bought new running shoes. We welcomed in the new year, enjoyed some blood pancakes, and I went through my first set of exams for my MSc. Worfolk Limited launched our first wearables app.

There were duathlons a plenty in February, with races in Middleton and Bramley Baths. I set a PB at Parkrun #143. Nick turned 40 and Auntie Doreen turned 90. The Eagles beat The Patrics in Superbowl LII and we watched the Winter Olympics from Korea.

I launched two online courses in March: one on Heroku and one on sport psychology. To celebrate Elina turning 30 we went to Flamingo Land, where it turned out we were the only people there. Mostly due to the Beast from the East. We dined at the Star Inn, too. The world said goodbye to Stephen Hawking. I raced the Canal Canter half marathon and York-Leeds-York sportive.

There was plenty of sport going on in April, too. I set a new PB at Parkrun #148 and attended the first ever Middleton Woods Parkrun. I raced the Bramley Baths triathlon (this time outside) and did my first sprint distance race at Skipton. Venla was firmly up-and-running by this point, too.

I spent a lot of May cycling, completing the Up North Yorkshire sportive and the Tour de Yorkshire. We even had chance to watch the pros finish. Chris Froome won a spectacular Giro d’Italia to become only the third man ever to hold all three grand tour titles simultaneously. I went sub-23 for the first time at Parkrun #153. completed my first my first open water triathlon, the Evolve sprint, and my first standard distance at Wetherby. Tesco caved in to my campaign to remove best before dates and I began recruiting for my dissertation.

It was a sport-heavy month in June, too. I rode 106 km in the Flat n Fast 100, and completed the Evolve Quarter and World Series Leeds triathlons. I ran Rothwell Parkrun for the first time. We finished our much-enjoyed Chinese month and our friends Chris & Cara tied the knot. I launched two new courses: Running For Beginners and Digital Marketing for Restaurants.

The big news in July was Leeds Anxiety Clinic opening its doors. We took Venla to Finland for the first time, to attend Henry & Jonna’s wedding. Back home, the Humanist summer socials kicked off and we had the annual Finnish picnic. Geraint Thomas won the Tour de France and football almost came home as England made to the semi-final of the World Cup, even winning a penalty shoot-out. I completed the Allerthorpe sprint triathlon.

Worfolk Anxiety launched its #ThisIsNormalLife campaign in August. There was Pride Parkrun and Allerthorpe Classic triathlon. I began marathon training in earnest. New research suggested alcohol may be bad for you after all and Facebook banned blogging. I launched another two courses: Triathlon For Beginners and Resilient Running.

If you’re sick of hearing about triathlon, you might want to skip September. I completed my first middle distance race and finished the year off with Nidderdale sprint. I set a new PB at Parkrun #169 and completed a full-distance marathon training run. And, after 21 months of waiting, my Parkrun 100 t-shirt finally arrived. Vicky Holland became triathlon world champion, Simon Yates won the Vuelta a España and Eliud Kipchoge set a new marathon world record in Berlin. Michelle moved back to Leeds. Most importantly of all, I finally turned in my dissertation.

There was no triathlon in October, apart from the Ironman world championship. There was lots of running, though. I ran Armley Parkrun for the first time and set a new half marathon training PB. I completed the Yorkshire Marathon in under four hours and, two weeks later, completed the Hubble Hubble ultramaraton. I had a birthday and so did Venla.

By November I was ready for a break. So, aside from completing the Abbey Dash with my family and trying out the new Potternewton Parkrun, I took it easy. There was plenty of work going on, anyway: Leeds Anxiety Clinic held its first public talk, I launched my first cycling app and a brand new course, Mental Health Ambassador training. The best news of the month, though, was learning that I had earned a distinction in my MSc.

Finally, in December, I launched one more new course: Digital Marketing for Therapists. There was plenty of family time as my sister turned 30 and we celebrated Christmas. This year’s ham was a family record of 8.67 kg. Temple Newsam held its 300th Parkrun and I rounded out the year by riding the Festive Fifty with Bogdan.

2018: A good year for fitness

December 31st, 2018 | Life, Sport

It’s been a great year for my personal fitness. I’ve always considered myself reasonably fit anyway, but this year I made an extra effort to take it to the next level. I had three goals at the start of the year:

  • Run a sub-2-hour half marathon
  • Complete a standard distance triathlon
  • Run a marathon

I could have knocked one of the goals off within the first week of January as I was registered for the Sir Titus Trot half marathon. Unfortunately, I picked up a nagging injury in November that didn’t disappear, so I had to do the sensible thing and sit it out.

No worries, as in March I ran a 1:52:24 at the Leeds Liverpool Canal Canter. I also accidentally ran a much faster 1:45:25 in training in October.

Next on the list was a triathlon. I knocked my first race off in April with Skipton, but that was only a sprint. My first standard distance was Wetherby, closely followed by World Series Leeds.

Finally, the marathon. I completed my first marathon-length run in September, and still can’t really work out whether that counts or not. But, in any case, I completed the Yorkshire Marathon three weeks later. Sub-4 hours you say? Why yes, yes I did.

So, all three goals knocked off. But wait, there’s more…

I originally told myself I would stick to those and look at longer events, like a middle distance triathlon and ultra-marathon in 2019. But, having the flexibly to train while I completed my MSc proved too alluring.

In September, I completed my first middle distance (half Ironman) triathlon when I raced Sundowner, finishing comfortably within seven hours, and well before the eight-hour cut-off.

And, two weeks after the Yorkshire Marathon, I completed the Hubble Bubble ultramarathon. Mostly because the idea of going through another marathon training programme did not seem too appealing when I could piggyback of the training I was already doing for the Yorkshire Marathon.

What will 2019 bring?

Probably some more middle distance triathlon. But I’m waiting for the club calendar to come out before I decide. I’ve already signed up for Leeds and Skipton. And my 10km PB is currently the run segment at Wetherby Triathlon so it would be nice to move the chains on that. But, at the moment, I’m enjoying some time off.

Festive Fifty 2018

December 30th, 2018 | Sport

My first ever sportive was the Festive Fifty on New Year’s Eve last year. So, it was fitting to close out 2018 by taking part in the Festive Fifty this year to raise money for Children’s Heart Surgery Fund at the Leeds General Infirmary.

It was great to be riding with Bogdan again, as we haven’t had a spin since August. It felt easier than last year. Last year there was a hill. This year, I wouldn’t even call it a hill. It was over before I realised it. The long road back home was once again a massive headwind but didn’t feel quite as long, either.

Doing the 50-mile route was certainly an option this year, but I haven’t dialled in my position on the Bianchi just yet, and with Venla being rather unwell at the moment, I wanted to get back to her as soon as possible. So, I settled for the 50km route, which was nice as it meant my toes stayed warm the whole way around.

Temple Newsam’s 300th Parkrun

December 30th, 2018 | Sport

Yesterday, Temple Newsam held their 300th Parkrun. With it being a big round number, I decided to head across to test my legs.

It’s been a year since I’ve run Temple Newsam. The last one I did, which was my course PB, was part of the New Year’s Day double at the start of 2018 before I had started my triathlon training in earnest. So, the 27:12 I set there was inevitably going to fall.

In the end, I ran:

23:17

Really happy with that. I’ve only gone sub-23 twice at Woodhouse Moor, so once you factor in the hills of Temple Newsam, that feels like an excellent result. I knew I wasn’t running quite as fast as when I was marathon training, but I’m not far off.

It wasn’t much bigger than usual: 199 runners in total. They did have a photographer there, though, so at the start, I sprinted up the front to be in the photo. And, as you can see below, I made it! (Light blue Go Tri t-shirt on the far left, in case you can’t spot me). Thanks to ‎Phil Bland‎ for taking the photos!

Christmas ham

December 28th, 2018 | Food, Life

We’ve outdone ourselves this year. Usually, when we make our annual pilgrimage to buy the Christmas ham, they top out at about 6kg. But, this year, we found them all of the way up to 9kg.

We weren’t sure 9kg would fit in the oven. Or in the fridge. So, we went for a conservative 8.67kg ham. Which still beats our record by over two kilograms. Venla seemed pretty pleased with it.

Get captions working on Facebooks ads

December 27th, 2018 | Business & Marketing

If you’ve tried uploading an SRT file to a video on Facebook, you may encounter an error like this:

The captions file you selected is in a format that we don’t support.

What’s wrong? You cry, not that you’re using the standard format for SRT files. It could be that Facebook is throwing an unnecessary hissy fit because you’re using zero-indexing in the blocks, but more likely to be something even simpler: the filename.

Facebook insists that the files are named filename.en_GB.srt, or whatever language combination you are using (for example, filename.en_US.srt. If you don’t include the “.en_GB” bit, Facebook will reject the file, even though it’s a valid SRT file.

As soon as you add that the filename, it works!

Happy advertising.

Team Sky unveil 2019 bus design

December 26th, 2018 | Distractions

Pro cycling outfit Team Sky have unveiled their design for the 2019 team buses. 2019 will be the last year the time exists in its current form, with Sky announcing that it will end its sponsorship deal with the team after the 2019 season.

Sky as recently acquired by US media giant Comcast, after a bitting war with 21st Century Fox, who owned 40% of Sky’s shares prior to the takeover. Sky’s takeover was, ironically, partly made possible by the collapse of the pound after the Brexit vote.

Surviving the JavaScript ecosystem updates of 2018

December 18th, 2018 | Programming

When I first launched the WAM website it was built using a reasonably straightforward stack of React + Babel + Webpack. That was a year or two ago and a lot has happened since then. Notably, there have also been some JS security issues, too, so we’re going to start upgrading the stack on a regular basis.

As anyone who has worked with JavaScript knows, though, that is a massive pain in the ass. Here are some notes on the upgrade process.

Upgrading Gulp

Gulp has now moved to version 4. First off, you need to uninstall any previous versions of Gulp. You then install the Guli CLI globally, and the latest version of Gulp locally.

npm install -g gulp-cli

This was a massive hassle. The uninstalls did not work and I had to manually go through the file system to get rid of the thing.

There were also some changes to the config itself. Any paths such as dest('') had to be changed to dest('.'), and all of the functions that defined the Gulp tasks had to now return, rather than just being called.

return gulp.task('name', () => { });

The way tasks were run within them has also changed. So, anywhere that used tp be ['sass'], for example, now needs to be:

gulp.series('sass')

Ugrading Node

You’ll want to upgrade Node to the latest LTS version. This includes editing the engine in your package.json file, especially if you are using Heroku.

Upgrading React

This was as simple as updating the versions in package.json and running an update. However, I did run into a problem with the React CSS Transition group, where I had to update to a drop in replacement.

npm install --save react-transition-group@1.x
npm remove react-addons-css-transition-group

And then change the import statement to import from:

react-transition-group/CSSTransitionGroup

Upgrading Babel

This was mostly a case of bumping the version numbers, but I also had to update my .babelrc file. I think the spread operator was previously a different package, and I had to change the name.

{
    "presets": ["@babel/react", "@babel/preset-env"],
    "plugins": ["@babel/plugin-proposal-object-rest-spread"]
}

Upgrading Webpack

Again, this started with bumping all of the versions. There were also some config changes. Most notably, Webpack now has an environment property.

config.mode = 'production';

It has also changed the way that UglifyJS is brought in if you’re using that to minify your code. You’ll need to install the new package.

npm install uglifyjs-webpack-plugin webpack-cli --save-dev

And then update your Webpack config, too.

config.optimization = {
  minimizer: [
    new UglifyJsPlugin({
      uglifyOptions: {
        output: {
          comments: false
        }
      }
    })
  ]
}

Hopefully this will come in handy if you are upgrading a similar stack and wondering why everything has exploded.