Running into 2019

Last year wasn’t exactly a stellar one for me in terms of running. The first half was fine, with a normal training session heading into the BMO Vancouver Marathon. The race didn’t go as I had hoped, and so heading into the summer, I dialed back the mileage and took it easy.

Later in the year I did start to get back into the swing of things with Eastbound Run Crew (EBRC) runs on Monday evenings and Downtown Yonge Running Room (DYRR) Sunday runs. I ran 77km in December which is a far cry from what I used to do in the average month.

The break was nice, but it’s time to start getting back to a regular running lifestyle again.

Hair of the Dog

That started today with the Hair of the Dog race. It’s a 9km run from Balmy Beach Club down to the entrance to Tommy Thompson Park and then back. I ran well this morning and did a 44:38 for the 9km with about a 45 second negative split. A shot of schnapps at the 4.5km turnaround likely helped.

2019 Training Plan

Heading into 2019, I’ve set an 1,800km goal for the year. That means 150km a month which is quite doable for me, assuming I get back to my old habits of running four or five times a week. My plan is this:

  • Sunday: run with the DYRR (or EBRC) for about 15-20km to start, and eventually more. I’ll run the marathon training plan until it gets to the 29km and 32km runs which I’ll likely cut short at 23-26km depending on how things play out.
  • Monday: run 8km with the EBRC weekly.
  • Tuesday: rest day.
  • Wednesday: run a steady 6-8km on my own around the neighbourhood or on the treadmill.
  • Thursday: run a steady 8-10km on my own around the neighbourhood or on the treadmill.
  • Friday: rest day.
  • Saturday: run an easy 5km (or take a rest day).

That’s approaching the marathon training plan I’ve done over the last few years, but I don’t intend to run one this spring. Instead, the focus will be on the 30km Around the Bay Road Race and maybe a half marathon in May.

That plan allows for some long runs in Hilton Head in March, but not the really heavy distances I’ve had to do when training for the marathon. I can fit a couple of 20km runs in and still be ready to go 30km on March 31st.

We’ll see how things go from there. By the end of May I should have a 30km and a half marathon done and a good base in place to continue training over the summer and into the fall for a faster half marathon and maybe a run at my personal best.

Getting into PHP

I used to know a fair bit of PHP and could write simple WordPress plugins or basic pages. With the recent interest in Shortcuts, I started thinking it would be easier to do some of the little things I wanted to do with PHP on the web instead of using Shortcuts on my iPhone.

My first little project was a TTC Flexity Streetcar Delivery Tracker. The TTC is getting new streetcars from Bombardier on a regular basis, and myself and other transit users and fans like to track the arrival of new cars.

The TTC API, provided by NextBus provides some clues that a streetcar has arrived and is being tested or has entered service. Using the API, I’m grabbing data about an array of vehicles and then showing them in a table. That wasn’t too difficult to do for desktop, but getting it to look good on mobile was a bit tougher.

A few tutorials later, I got the media queries figured out and I’m showing the table rows as cards on my phone.

I’m really pleased with how this turned out and I’m already thinking ahead to my next little project. While there are a bunch of good apps like the Transit App that will tell you when your bus is coming, they are a little too complicated for Mac to use.

I’m going to make here a special webpage that will show her the next two buses home from Variety Village. It’s just the information she needs in a simple presentation.

Getting into Shortcuts

I’ve been playing around with the iOS app Shortcuts lately to see what types of things I can automate.

Shortcuts app is technically new as of iOS 12 but it’s been around for a few years as an app called Workflows that Apple acquired and integrated more deeply into the system.

I started by going through a tutorial on Apple’s website that took me through getting some data from a weather API and then doing something with it. I used the free OpenWeatherMap API and grabbed the current temperature for Toronto and had Siri speak it out loud.

That got me used to dealing with JSON API’s and also with how you hand data around inside Shortcuts to build more complex automations.

Next up, I decided to see if I could create a Shortcut that would tell me when the next bus was leaving the stop in front of Variety Village heading westbound towards our house.

I used the open Nextbus API and made a Shortcut that gets the time until the next bus is coming (five buses actually) and then speaks that out via Siri.

Once I’d perfected that Shortcut, I decided to try something a bit more complex. Often times the kids will come via transit to meet us in downtown Toronto. The Nextbus API also has an endpoint that provides the location of any vehicle by the vehicle number. I built a Shortcut that asks for the vehicle number, and then gets the latitude and longitude of that bus or streetcar and shows it in Apple Maps.

Limitless potential

I’m just getting started with Shortcuts. There’s so much you can do from grabbing public API data and manipulating it to taking text from one app and using the WordPress API to publish a blog post without ever opening a browser.

If you have an iPhone or iPad, check it out. There’s a lot of neat Shortcuts in the Gallery to get you started and show you what’s possible.

Regular Running

Just nine days into December and with 37km logged I’ve already out run my November monthly mileage total of 33km. That’s not to say December has been impressive, but more that November was just sad.

I’ve run three days in a row now and 12.6km today which is longer than I’ve gone in a good long time. It felt pretty easy to go that distance and I’m looking forward to getting back into things over the next couple of weeks and then into the new year.

Proof I ran today. Photo “stolen” from Mike Lin. Thanks Mike!

I think I’ll train up with the marathon clinic in January and see where that takes me. I don’t want to run 42.2km this spring, but I do want to get back to running 20km or so without difficulty.

Back to the .com

After a time using a .blog domain with WordPress.com as my host, I decided to head back to my original jameskoole.com domain as my one-and-only domain and website.

The reasons are:

  1. WordPress announced that they aren’t going to provide a domain for free with their personal plans anymore.
  2. I didn’t have a great site up at my .com domain.
  3. My running blog is no more and was folded into this site anyways.
  4. I’m good at SEO now and have the 301 redirects in place to move all the search engine results over to jameskoole.com without issue.
  5. I want to get better at managing a server and doing things myself as I’ve fallen out of practice.

I opted to install WordPress on DigitalOcean in an Ubuntu droplet. That means some command line fun to get things like the Let’s Encrypt certs installed and renewed via cron. It’s pretty cheap to do it this way as the droplet is $5/month and it also gets me a server I can use for things other than the site.

Things went well with the move over (thanks WordPress for keeping data portability alive in an age of silos). Redirects are in place and I’ll be able to kill the .blog site and domain soon.

The Sad State of Journalism

US Senator Lindsey Graham (R-South Caroline) had a nice series of Tweets on today’s quite sickening White House press conference which I’ve embedded below.

In my opinion, Senator Graham nails it. Mainstream media journalists in the US have deluded themselves into thinking that they should be, and are part of the Resistance.

What I saw today was so-called journalists trying to make themselves the story rather than doing their jobs. They have the distinct privilege of being able to ask questions of President Trump and instead of asking questions that everyone might want to hear the answers to, they’ve decided to turn this into their own soap box where they ask loaded, partisan questions that serve only to elevate their own agendas.

You are journalists. Do your job.

Midterms

It’s finally election day in the US. Sadly, in spite of the fact that the campaigns for _this_ election are now over, the campaigning for 2020 is just beginning. The US election campaign is never-ending and a permanent fixture.

Will the Republicans hold onto the Senate and the House? Will Democrats make gains and start the push back against the Trump Presidency? We’ll find out tonight…

No matter what happens, it will be more of the same political games for at least two more years.

Priced out of Apple Stuff

Hey Tim,

Nice updates to the iPad Pro and that Mac mini looks pretty cool (finally). But can we talk about the price of this stuff? I literally can’t afford it and I’m pretty well off. Every single product you announced is hundreds of dollars more expensive than the products they replace. And in many cases, you kept the old one around at the same price as it was selling for yesterday.

That’s just crazy.

Housekeeping

I decided that since I rarely update my running blog anymore, that it would make sense to roll all that content into this blog. Thanks to the WordPress import/export feature, I was able to easily combine the two sites into one.

Posts that aren’t running related (like pics and short posts) will be in the Notes category. All the former runnerjames.com posts are now in the Runner James parent category with the old subcategories underneath.

I’m using Cloudflare’s super cool Page Rules to serve up 301 Permanent Redirects from old runnerjames.com URLs to the new jameskoole.blog URLs.  For example, this post on the old blog – https://runnerjames.com/2016/01/03/getting-the-most-out-of-strava/ automatically redirects to it’s new home here and the redirect alerts the search engines that the URL is moved so they will update those links over time to point to the new URL.

I’ve also updated the theme to handle full posts a bit better. And I added an Instagram widget to the sidebar since I’m using that service a little bit more these days despite the Facebook connection. Request a follow there if you want.

Bikeshare Toronto

I signed up for an annual Bike Share Toronto membership today. The economics make a ton of sense. $69.99 for a year of unlimited rides of 30 minutes or less (with the Presto Card holder discount) is a steal.

The Transit App makes the whole experience unbelievably simple. I can plan my ride on Transit and it’ll tell me which Bike Share station to start and finish at (including how many bikes are at the starting station and how many empty slots are at the finishing station. Plus it provides a route that is bike-friendly and a pretty accurate time estimate for the trip.

I used Bike Share yesterday to go from my office in Liberty Village over to Ginny’s office on the east side of downtown. It took about 25 minutes door-to-door which easily beat the TTC over that route (even with the King St. Pilot Project in play). The bike lanes across Adelaide and Richmond make for a safer trip and there are tons of other cyclists which helps with visibility.

I can’t make it to and from work under 30 minutes so I don’t think a full commute on Bike Share will ever replace the current TTC streetcar ride I take, but for these trips around downtown, it’s a perfect solution.