Thumbnail image

CANADA FOREVER

I love Canada, and I know that you do too. Now is the time for us to show it. Thomas A. Lukaszuk I never really thought I’d have to say this: I am steadfast in my belief that Alberta should remain in Canada and that Canada should remain strong and free as an independent and proud nation. I find it deeply troubling that in these difficult circumstances, we have a government and Premier in Alberta that seem more interested in finding what divides us and stoking separatism than working to find common ground and building on our shared interests. I share Mr. Lukaszuk’s sentiments that we are weaker and poorer alone than we are in a united Canada.

SYNOD 2019

When I had agreed to go to Synod, I hadn’t planned on how difficult the timing would be. The problem with events with fixed dates is that, well, the dates are fixed. They can’t be moved around to suit the circumstances of the times. I am not in the least sorry that I went, but I do wonder about my cortisol levels in the couple months leading up to it. There’s a tremendous amount of work that goes into it. I had read through the reports and the material before I went, but even then, I didn’t feel as prepared as I’d like to have been. And then, when you get there, the schedule is absolutely packed. From early in the morning until 9pm, you’re on the go. There are breaks, but I often wanted them to take a moment to reflect or to reread something.

DOMAIN MODELLING

There are a lot of different ways to constuct programs. Given that I most often have used something like Perl, mine have tended to rely heavily on hashes, arrays, and scalars to slice and dice through all of the data. That works when you’re writing something that’s maybe a couple of hundred lines, but after a while, I have begun to see the value in more static typing. It’s sort of nice not to have everything blow up at runtime.

SITE REFACTORING

Over the years, I’ve changed this thing quite a bit to reflect the realities of the times. Once upon a time, I actually had all of this in Movable Type, which had to change when they changed their business model. Now this is all static and built with Hugo, which has worked fine, but has also evolved. Up until recently, I built the site using version 0.16, which is really going back there.

SNAPTURE

Like another hundred million people, I saw Avengers: Endgame, which turned out to be a pretty decent movie. I am usually somewhat skeptical of sequel efforts, and something with such a large setup inevitably turns out a bit disappointing. However, in this case, I’d say they did a very respectable job tying together all of the work of the last twenty something movies while still keeping a human face on it. The movie, for a comic book affair, was surprisingly reflective. Since it turned out to be a whopping three hours long, I am less than energized for a long post, so I am going to leave it there.

LATEX AND XETEX

I like LaTeX quite a bit, XeLaTeX specifically, for writing up more formal correspondence that can benefit from better typesetting. XeLaTeX will take care of kerning, ligatures, breaking lines, and all of those things that subconsciously make for a great looking document. In addition, you really just focus on the text, as the formatting is fully handled by the layout engine. That means that all my editing can happen in Sublime Text or Vim, depending on the circumstances. XeLaTeX allows me to use newer OpenType fonts over the original Computer Modern typefaces that come with a TeX distribution and can come off as a little dated. In addition, I don’t usually need heavy math output, which the original set is really tuned for (and does a great job with).

RUST

Most people might think of rust as a bit of a nuisance; I can’t wholly disagree. It’s begun to do a number on my car. However, the more interesting sort is the programming language that Mozilla developed. It’s been used to great effect in Firefox to speeding up rendering, and I quite like a number of the command line tools like ripgrep and bat. I’d like to get the hang of it at some point, if only to really wrap my head around its memory management, which seems genuinely useful. Everything that I’ve used in the past has been garbage collected. Always good to learn a bit more.

DEBUGGING BROWSER BASED AUTHENTICATION WORKFLOWS

Sometimes things break; sometimes I try to fix them. “Try” being the operative word here. Spent most of the evening trying to figure out why the workflow was usable in Microsoft Edge or IE, but doesn’t work in Chrome. The joys of huge enterprise web apps. Some limited discoveries that I made this evening: Chrome/Vivaldi does have a setting to open up the Dev Tools with a new popup window - useful when your site spawns a new window trying to debug SAML workflows is a pain I am pretty behind when it comes to complicated front end development After a good couple of hours of reaquainting myself with the dev tools from a few different browsers, I think I’ve discovered that MS browsers pass on a session cookie to an http site (from https) while chromium browsers do not. Without the session cookie, there’s no access.

PL/SQL FOR SOME EXTRA JUICE

I write a lot of SQL in my 9-5 — it’s an excellent tool for processing a lot of data. That said, at some point, it’s more confusing than helpful to do the analysis in SQL, but it is handy to keep the data in the database for doing the extra set of calculations. I’ve been trying to figure out how to get a set of date ranges for a Benefit Plan in PeopleSoft with a payroll calendar year. That’s trickier than it sounds, because the company has multiple sets of dates in different database tables — company pay calendar, employment, and plan enrollment. Each of those tables contains many rows, the events that I care about contain a variety of different criteria, so I need to select for those.

POWERSHELL

I’ve become a big believer in the past few years in using PowerShell for a whole passel of odd jobs, particularly since it was open sourced. At the time of the strategic shift for the language, some of the principal promoters made the argument that PowerShell was well suited to cloud workflows, because of its native handling of objects. My experience is that this is largely born out — native types for CSV, JSON, and XML along with easy file handling consistent with its origins as an interactive shell mean that it’s very easy to work through all sorts of data slinging. I often use perl, too, but it’s very convenient in PowerShell that I can easily push statements or expressions into the shell, see the results, and iterate or introspect over the returned objects. Makes it straightforward to progressively build out a script.