Press "Enter" to skip to content

Population: One

Auto-Pause for Zoom

I don’t like wearing headphones all day and since I’m lucky enough to have a spare room for an office, I can play music through my Bluetooth speaker. However, I’m lazy, and I don’t want to fiddle around with my music player just cause I’m starting a Zoom meeting. Thus, automation.

Zoom provides callbacks when meetings start, but that’s aimed at people writing plugin modules. OK, we can go a bit lower level. I can’t just watch for a process, cause Zoom is always running on my laptop. But I can watch for open UDP sockets!

$ lsof -i 4UDP | grep zoom
zoom.us 88028 bryantd 83u IPv4 0xa90f1ce03eca5d5 0t0 UDP xx.xx.xx.xx:57275
zoom.us 88028 bryantd 84u IPv4 0xa90f1ce03eca2ed 0t0 UDP xx.xx.xx.xx:52612
zoom.us 88028 bryantd 90u IPv4 0xa90f1ce09340175 0t0 UDP *:65048
zoom.us 88028 bryantd 91u IPv4 0xa90f1ce0939ce8d 0t0 UDP *:60088
zoom.us 88028 bryantd 95u IPv4 0xa90f1ce0939c8bd 0t0 UDP *:50594

That’ll do, pig. That’ll do.

#!/bin/bash

trap ctrl_c INT

function ctrl_c() {
        stop_music
        exit
}

function stop_music() {
        /usr/bin/osascript -e 'tell application "Music" to pause'
}

while true; do
        zoom_status=$( /usr/sbin/lsof -i UDP | /usr/bin/grep zoom | wc -l )

        if (( $zoom_status > 0 )); then
                stop_music
        fi

        sleep 30
done

I’m catching interrupts because I want a quick keyboard method to stop the music just in case. Right now I don’t think I want it to restart music when I leave a Zoom call, but easy enough to add that if I do.

Canlis Scavenger Hunt 2020

The fine folks at Canlis, the only restaurant in Seattle where you have to wear a tie, ran a scavenger hunt last week as part of their Canlis Community College project. Prize was a $5,000 gift certificate. This attracted the attention of some of my Ingress pals, since driving around the city trying to figure out someone else’s plan is basically our core competency. The first four challenges, we did relatively horribly. But the final challenge, the one for all the marbles, that went differently.

Review: Slugblaster Turbo

Mikey Hamm is Kickstarting Slugblaster, “A tabletop roleplaying game about small-town teenage hoverboarders who sneak into other dimensions.” I’m a sucker for gonzo plus an old pal of mine is editing it plus it’s a Forged in the Dark game, so I backed it. But what’s really interesting to me is the way Mikey released the quickstart rules. I’ll quote him.

“With pandemic-era online play in mind, Turbo is built entirely inside a shared google spreadsheet which includes all the rules, playbooks, dice rollers, shared progress tracks, and monster generators you need.”

So that’s interesting. I don’t know if Mikey Hamm is involved in the Gauntlet, but that sounds like a turbo-charged version of their character keeper concept. What’s it look like?

Tech Note: JournalPress Plugin

This is very obvious in retrospect: the reason my WordPress to Dreamwidth crossposting stopped working is because Dreamwidth made security changes and as a result you don’t get to use your password for the API any more. Good change! If you cluelessly don’t pay attention, though, your WordPress plugin will stop working.

Solution: go to the Mobile Post Settings page and generate yourself a new API key. Easy.

This is a very light excuse for a weekly post but man, this week was kind of disfocused for various reasons.

YKRPG: Boîtenoire Template

The Wars setting in Yellow King RPG includes these sort of portable telegraph machines called boîtenoires. I wanted to generate some prop messages for our campaign, but I couldn’t find any templates, so I whipped up a simple one myself. Then I rang a couple of variations on it. Here they are.

Right-click and save any image for the full sized version. I recommend HPLHS Telegram as a typeface for filling in the body; that’s what I used for the header labels and it’s a free download.

Here’s an example of how I used these:

Boitenoir Message example

Pretty self-explanatory. I fiddled around with the header block (To/From) for a while before figuring out how to make it look reasonably official. I smudged the date because time is very slippery in this particular setting.

In our campaign, I decided that paper is in short supply so I used the faded letter background. Since your campaign may be different, I also made a pair of them with generic vintage paper. For my purposes, I used the Scriptorium’s Lysander typeface as the header typeface. (You can buy it individually but that’s very cost-inefficient, so I linked to the package deal. Or wait for one of his occasional 30% off sales, get the full Display bundle, it’s a great collection of historic-flavored typefaces.) This seemed like it might be a bit frilly for everyone’s tastes so I generated another pair of templates using HPLHS Headline One, also available for free from the H. P. Lovecraft Historical Society.

While I’m getting distracted by talking about design resources: Design Cuts is my go-to source for cheap bundles full of resources. Usually $30 for a bundle, there’s always a bundle available, and they usually cycle through typeface collections, vintage design resources, and product mockup bundles. The quality is not insanely high but for the purposes of me fiddling around with props? Awesome. Would also be very good for sourcing Roll20/Foundry backgrounds.

Five Nice Things

This seems like a good game to play. I’ll go!

  1. Miso paste. I’ve been cooking more during the pandemic and because food gets dull, I’ve been making myself branch out from the usual. Miso paste is the latest ingredient I’ve added. It’s just awesome for a burst of umami. I’ve put it in eggs, S. has put it in vegetables, it’s great.
  2. Criterion Channel. I have a lot of streaming services; this is the one I’d keep if I had to cut it down to one. It’s not just classics; they’re running a New Korean Cinema program right now that’s full of great movies. They’re (slowly) getting better at Black representation. And I’ve seen at least two movies on there this year that took my breath away.
  3. My local community Discord. A pal of mine set this up, it’s got something like a hundred active people, and it’s well filtered into categories so I don’t have to pay attention to the Among Us players if I don’t want to. It serves as a social center, link exchange, and support nexus. We’ve crowd-funded a couple of urgent needs for people. It’s great.
  4. Grant Morrison’s Batman comics. I read the first third of these a while back; a month or so ago I noticed that the complete run was collected in those big heavy omnibus volumes. I am in the middle of the second volume now. It’s very Grant Morrison with these jagged edges of sincerity poking through the glossy madness from time to time.
  5. Online tabletop gaming and every pioneer who spent time figuring out what works and what doesn’t work. Right now I’m involved in two ongoing campaigns, and I manage to keep a decent stock of one-shots going as well. It’s the only thing that brings me new human faces during the pandemic, plus I love gaming.

BitD: One-Shot

I ran a Blades in the Dark one-shot for some old gaming pals, S., and one person I hadn’t gamed with. Totally fun, unsurprisingly. Ginger wrote up the session here.

There are seven playbooks in Blades, and each of them has five potential friends/rivals. So that’s, what, a 45% chance that someone will choose Slide in a four player game, and then if the distribution is truly random, that someone has a 20% chance of picking Bazso Baz as their rival? So maybe around 10% of the time you kick off a Blades campaign using the book’s starting situation, you’ll get the fun of the crew already hating Bazso Baz? I was an English major, be kind.

But man, it was so great that Michael said Bazso Baz was his brother! That’s a lot rarer.

Also fun: both Michael and S. said that Nyryx was their friend. Except the Slide has Nyryx as a prostitute, and the Whisper has them as a possessor ghost. That is the best plot point right there. If this was a campaign, Nyryx would have pulled all the strings to get the crew together.

Politics, Gaming, Modern Times

In a recent Monster of the Week mystery, I made the Big Bad an incel. I thought about it a bit before making the decision to go for it. I was careful to humanize him; he had family who loved him, and I explicitly didn’t make him a killer. But I didn’t mask his motivations and I gave him a couple of alt-right tropes.

The players were definitely a touch taken aback. Nobody objected, and while they were careful not to kill him, that’s generally how they deal with human threats. I think the momentary uncertainty was more because it’s a pulpy game that got a touch serious all of a sudden — it was the reality of the Big Bad, not the specific fact that he was an Intel.

I also have a Delta Green campaign percolating, set in the PNW, that revolves around white nationalist movements. That feels safer, since most Delta Green players are expecting some dark material.

I think all this is appropriate gaming fodder. I mean, you’re not obligated to stuff political extremism front and center in your games. However, I also think that a lot of these slimeballs get a lot of milage out of secrecy. I’ve had so many fruitless online arguments with people who just aren’t convinced white nationalism is a problem. Gaming is a way to tell stories to each other, and some stories are worth telling.

Conversely, in the same Monster of the Week game, COVID-19 doesn’t exist. That was an explicit decision at the start of the game; we don’t need to be reminded of it and we wanted to escape that aspect of reality. I can easily imagine a modern game in which it does exist, but it doesn’t feel dangerous to avoid it.

Which is interesting, since there are certainly people who deny how serious it is. But I’m not gaming with any of them, and that’s a matter of denial rather than lack of awareness.

Parenthetically, while I was writing this, the back of my brain spit out a campaign frame for Monster of the Week in which the group is an anarchist mutual aid group, and I really want to play in that. So if someone could run it for me that’d be great.

Saint Freeman’s City: Concept & Mapping

I’m really deeply thrashed this weekend. Pets with digestive problems, G1 Climax wrestling tournament, and a fun online gaming convention. Nevertheless.

In my copious spare time I’ve been kicking around an idea for a West Marches style Electric Bastionland game. Short explanation: Electric Bastionland is a deeply weird minimalist urban exploration fantasy game; West Marches is a campaign style in which there’s a large pool of players who self-organize self-directed game sessions, designed to lessen the load on the GM. The driving motivation for Bastionland PCs is paying off crippling debt (oh, so it’s a reflection of 2020!) which works just fine for a player-driven game.

Since I’ve been wanting to play Bastionland for a bit, and since West Marches is an intriguing campaign style, I was pleased to realize I had a good match on my hands. Here’s how I put them together and started fleshing the idea out.