Side Project: YouTube Live Stream Scheduler – Part 2

This is the second part of the series where I describe automating the scheduling of each Sunday’s live streams on my church’s YouTube channel. Part 1 – Parsing the Canadian Catholic liturgical calendar Part 2 – Creating YouTube live streams programmatically Part 2 – Creating YouTube live streams programmatically Authentication with the YouTube Data API from Python This is the second project for which I’ve had to go through and figure this out, so I wanted to write this down. There are a couple oddities with the YouTube Data API: Normally, server-to-server API calls to Google APIs without any user Continue Reading

Side Project: YouTube Live Stream Scheduler – Part 1

One great thing about computers is that they can be programmed to do things that are repetitive and boring. I try to look around in my life to see what things I can get a computer to do for me, so that I don’t have to do it myself. Today’s case is scheduling weekly YouTube live streams for my church. Every week someone’s got to schedule the live streams for the upcoming weekend. They look like this: So you might be thinking, this seems pretty trivial, like it’s just a few clicks to schedule this in YouTube. It can’t take Continue Reading

Side Project: Grouse Mountain Skyride Availability

I haven’t had time to work on many side projects lately. I think I generally am most effective at programming when I have a long stretch of uninterrupted time (on the order of a few hours or more at a time), and I have found the same at work. These long stretches of time are difficult to find these days. However this was one opportunity that came up this week. Many of my side projects are born from automating repetitive manual tasks, and this was one of those.

Reducing Database Load using Redis and Batched Insert/Update SQL Queries

I’ve been running my “T-Comm” Bus Locator website for over seven years now. As a quick recap, on the backend, it’s a procedural PHP/MySQL website, kind of a typical thing one would see of PHP development circa 2000s. The high level overview is that every minute or two, the system polls TransLink’s real time information APIs for the locations of the all the buses in the system. The system then calculates some information based on TransLink’s GTFS data, which has the schedule information for the entire system. Then it saves the data into a MySQL database, and some other outputs Continue Reading

Post-summer update

I can’t believe it’s September already.  The weather is starting to become cool and wet, days are becoming shorter, marking the end of what has been an incredible summer (and year to date).  It’s been a while since I’ve written here, so with the changing season I thought I’d share a bit of an update of 2016 so far. Some of these warrant their own blog posts, but until I have time to write the full thing here is a summary.