Tak Beginner’s Tournament, 2020

I should separately introduce what Tak is, and why I have come to love it, but that’s a longer story to tell.

I’ve been playing Tak for almost five years now, about as long as it’s been around publicly. The 2019 Tak tournament at Gen Con ended up being the highlight of the trip for me (surprising myself coming in at sixth place, cash prize and everything), and after that, I joined the US Tak Association, who put on tournaments both live and online.

At the tail end of 2020 I competed in the 2020 Open and didn’t do particularly well, but enjoyed my time getting better playing the 6×6 game, and quickly signed up when a beginner’s tournament was announced— Despite playing the game for as long as I have, the road to getting that much better has been a slow one.

This week I played two of my pairings, one of which was recorded with commentary. I lost both games to not taking in the state of the board well or quickly enough— on the first, I missed my opponent’s threat, on the second I missed both my own win as well as my opponent’s win that quickly followed.

I’ve taken a note from another player and started reviewing every game I play, win-or-lose, so you, too, can watch both matches with step-by-step commentary by other players from the community.

I also reviewed game 2 on ptn.ninja, which includes a few comments, as well as playing out alternate branches the game could have taken.

Multiple Aliases in SSH Config

I used to use Text Expander to shortcut ssh hostnames, but as I setup a new laptop this last year, got into doing it all more “properly” with my ssh config file and wanted a fresh start.

If you’re unfamiliar with the practice, you can store an alias at ~/.ssh/config, with an entry like this:

host <alias>
    hostname <IP or FQDN>
    user <user>
    port <port>
    IdentityFile <path/to/private/key/file.rsa>

I’d gotten into the bad habit of using “old” names for a couple of our StagingPilot instances, relying on the muscle memory of an old name, even as we had migrated workers and services to new servers with revised names, and just redirected those old names with Text Expander. I was excited to discover I could add multiple aliases for a host in my config file, meaning I could use either interchangeably.

host spapp spserver
    hostname app.stagingpilot.com
    user ptyler
    IdentityFile ~/private/key/file

Now it no longer matters if I remember ssh spapp or ssh spserver, both resolve immediately.

Fixing Cloudway’s WP-Salt + WP-CLI Conflict

I discovered Cloudways hosting after seeing a client host a number of sites there, and enjoy the flexibility of their managed system as well as an extensive API to interact with and speed up both our StagingPilot integration as well as hosting a handful of my own sites.

One interesting quirk I’ve discovered is, they “offload” wp-config’s keys and salt constants to a separate file, wp-salt.php. This is fine, except that the require()statement in wp-config.php causes WP-CLI to throw a fatal error when run in any directory other than public_html/. Adding the directory magic constant __DIR__ to the file path (assuming you’re running PHP 5.3.0+ which… you truly have no excuse not to be) allows wp-config to read that salt file when called from anywhere, giving you free reign to work with WP-CLI wherever you need.

The following sed command will do the trick in one line.

sed -i "s|require('wp-salt.php')|require(__DIR__.'/wp-salt.php')|g" wp-config.php

Bard Me

I threw together this Heroku app a couple years ago when I was exploring how setting up and deploying a basic app on heroku worked. Given that this is nothing more than a handful of php files I should probably drop everything into a plugin and re-host on a (this?) WordPress blog, but until then, here we are. It made for a fun afternoon, and I can claim I learned something, I suppose.

In September we started a new D&D game, and I sent the link to my friend who started playing a bard. Doubling my user base from self to self + 1 was a pretty exciting moment.

On my //TODO:  list: rebuild in Javascript since I hear that’s what I’m supposed to be learning deeply these days.

I re-used the tool to build a different generator off the same skeleton when I started running my Curse of Strahd D&D game, and needed to come up with appropriate NPC names on the fly.

I’ve yet to get any pull requests, but the repo is open and waiting on GitHub.