Chris Worfolk's Blog


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.

Digital Marketing for Therapists

December 12th, 2018 | Business & Marketing, News

In June, I launched my course Digital Marketing for Restaurants to help restaurant owners and managers access new customers via digital media. Since then over a thousand people have enrolled on it and it has achieved a 5-star rating.

I’m now pleased to announce that I have launched a brand new digital marketing course, this time for therapists and counsellors.

It covers building websites, using Google Ads, using Google My Business, Facebook pages, posts and ads, and using Eventbrite. It’s available now on Udemy and you can preview it here.

Here’s the preview video:

Become a Mental Health Ambassador

November 30th, 2018 | Business & Marketing, News

Last week, I launched my new course Mental Health Ambassador Certificate. It offers you the chance to become a qualified Mental Health Ambassador, allowing us to improve mental health across society and help those in need.

My previous courses in mental health have predominantly been around self-help, so I’m excited to launch something that can help people help others. It teaches the fundamentals of a range of conditions, how to assist others using the Real Support Framework (REAL-SF) and how to speak confidentially about mental health.

So far, over 600 people have enrolled and the first wave has already begun to earn their certificates.

You can find the course on Udemy.

Mindful Ride Garmin app

November 29th, 2018 | Life

In January, Worfolk Limited launch our first Garmin app: Mindful Moments. It gives you timely mindfulness reminders on your watch. Today, we’re pleased to announce our brand new app for bike computers: Mindful Ride.

It’s a widget compatible with the Garmin Edge 1030 models. Once installed, simply pull down on the home screen to reveal the widgets and swipe until you find Mindful Ride. It delivers a short mindfulness instruction every 30 seconds.

Simple, but effective. The app contains eight specially selected messages, all set on the Worfolk Anxiety blue that we developed for our wristbands to be the most calming colour possible.

You can download it from the Garmin Connect IQ Store.

Potternewton Parkrun

November 28th, 2018 | Sport

Last Saturday, I headed down to Potternewton Park to try the new Parkrun there. Parkrun like to soft launch their events to work out any bugs, so many of us had avoided event #1. But, now that that was out of the way, 199 of us headed down to give it a go.

Leeds now has a total of nine Parkruns: Woodhouse Moor, Cross Flatts, Middleton Woods, Temple Newsam, Roundhay, Bramley, Armley and Rothwell being the others.

Potternewton Park is hilly. It doesn’t have the endless drag of Temple Newsam, or maybe even Roundhay, but it goes up and down quite a bit. It’s three laps, mostly on tarmac with a bit on some matting. You could get a buggy around the course if you fancied hills but dogs are currently not allowed.

My time was okay. I ran:

23:46

Ten seconds slower than I did at Middleton Woods last week, and a minute and a half off my PB, but you can’t compare the flats of Woodhouse Moor to a hilly course and I ran most of the last lap with Graeme, and it’s very difficult to chat and get enough air in at the same time (worth the trade, though).

ROKA SL-1 sunglasses

November 27th, 2018 | Reviews

ROKA has gained a lot of traction in the triathlon world. Until now, their products have been out of reach to many European customers because of the prohibitive shipping costs. But those dark days are over and ROKA is now doing UK and European distribution.

Following on from my recent review of the ROKA Phantom sunglasses, I’ve also been testing the ROKA SL-1s. ROKA offer frames along the top, bottom or all around, but who needs frames when you’re living in the future? My personal preference is to do away with them, and the SL-1 does, putting it squarely in competition with the Oakley EVZero.

Here’s the unboxing:

The glasses are supplied with a hard case, filled with foam on the inside. This is perfect for stuffing into the bottom of your kit bag without worrying it will get crushed or shaken about. It’s not unusual for high-end sunglasses to come with a hard case, but most are empty, allowing the glasses to be shaken around, so the foam is a nice touch.

The frames represent what you would expect from performance sunglasses: rubber ends to hold them against your face and a satisfying click as they open or close so you won’t end up with the frames being stuck half open. They’re flexible enough that you can still slide the arms into your helmet when racking them in transition.

Coverage is wide, offering near perfect side to side and lower vision. Upper vision is fine on the hoods of your bike but I found I could see over them slightly when I got down on the drops. If that annoys you, you may want to opt for the SL-1X instead, which rises over the top to give you that extra vision while in the TT position. The nose bridge is noticeable in a way that it isn’t with the Phantom, but arguably that is a tradeoff you accept when you choose frameless glasses.

These things are absolutely glued to my face. I could get a bit of movement on the Phantom when I deliberately tried to invoke it. But even when rocking out to Lordi, the SL-1 remained exactly where I had put them.

The dark artic mirror lens make a good choice in the sun, and most importantly, they’re mirror lens and mirror just looks cooler than anything else. It’s the lowest light transmission ROKA do for the SL-1, so if you’re going to be out in other conditions, you might want to look at some of the other lenses (some of which also come in mirror). That said, they can still hold their own against other sunglasses I’ve tested in lower light conditions.

Summary

There is a lot to like about the ROKA SL-1. Other sunglasses are often hard to put on or don’t stick in place, but the SL-1 is both flexible enough to slide on easily and glued to your face. They look cool and they’re comfortable to wear, although the nose bridge is a little annoying. If you’re running or road cycling, these make a great choice. If you spend most of your time in the TT position, I would recommend checking out the SL-1X instead, as you’ll appreciate the extra vision at the top.