Joe Biden and Kamala Harris

Four years ago, I announced my intent to vote Democratic, and humbly suggested that my American readers do the same. Today I repeat this request, but with a little less humility. I aim it specifically at those friends of mine who would never vote for Trump this year, but who view the Biden/Harris ticket — “an old white man and a cop” — with distaste.

Putting the positive assertion first: Joe Biden and Kamala Harris are worthy of your vote. Biden, in particular, has put enormous energy over the summer and into the fall to demonstrate his sympathetic understanding of the country’s most pressing social and environmental issues, including racial justice, pandemic response, and climate-change mitigation. His party acceptance speech, centering on grief, describes the correct place that we will need rebuild from after four nightmarish years of loss and pain. Comprising itself from a broad coalition of American leadership, a diverse Biden administration would represent our best hope for a free future.

Every American of voting age who desires this future must now put a little effort into making it real.

Today calls each of us to lend all the muscle we can into wrenching the levers of power away from Donald Trump and his zombified Republican party. We all know they will very literally stop at nothing to hold onto it, and we know this because they we can see them constructing an anti-democracy machine in broad daylight, right now. To stop this machine, we must make our collective voice as large and as loud as possible, using our votes. The more lopsided we make this election’s results, the better chance we have of destroying Trump’s contemptible machinations against American democracy before they can wreak terrible and lasting damage.

After we do democratically defeat the Republicans through overwhelming numbers, we must scatter them. We have to immediately take steps to buy America time: this might mean dismantling the electoral college, reversing gerrymandering, packing the Supreme Court with uncorrupted justices, or anything else necessary to forever drain the Republican party of its voice and power. With some breathing room thus established, the nation can turn to pass all the social and environmental legislation it needs to survive — and assist the whole world in surviving — the coming global challenges.

From there, the country can proceed to politically redefine itself, perhaps allowing the Democrats to formally split into separate progressive and conservative parties (and allowing the latter to absorb any ex-Republicans showing an ounce of remorse), both willing to face the coming challenges instead of denying them. Try to envision a future national election whose ballot contains more than one viable candidate whose victory you would accept! That’s the future I want us aimed at.

This leads to my negative assertion, which I know some of you will take issue with: Any action other than voting for Joe Biden and other Democratic candidates directly supports permanent white-nationalist minority rule over America.

Yes, this includes abstaining from the vote altogether, or voting third-party.

I sympathize with the frustration inherent with living in a two-party state, today. I understand the drive to vote for one’s heart by ticking the box beside — or even writing in — the name of a candidate who most thoroughly represents you and your desires, even if they have negligible chance of winning. It feels good and fulfilling to listen to your heart, when it comes to political action.

However, the choice you make when voting should come from a different place than the more personal choices you make in political volunteering, donations, or direct action. Voting is a time to show up and do the work cut out for you. In this case, that means selecting which of the two viable candidates serves as the better approximation for the future you wish America to move towards.

I have seen one wise person invite their readership to think of elections as public transportation. You don’t refuse to board a bus just because it doesn’t literally take you right to your doorstep; you still use the route that gets you to the right vicinity. A compromise with all your neighbors, in order to get the most people more or less where they need to go.

And, friend, it’s so important that you get on this bus with me. If we don’t do this together, I’m not sure we’ll ever get home again.

Here is how to register (or check your registration) and vote in your state. Compared to past elections, you likely have an expanded ability to vote early, or by mail. If so, please consider casting your vote as soon as possible.

Here is how to become a poll worker in your state. American poll workers are traditionally elderly retirees — the population most at-risk from Covid-19. With this year’s expected high turnout, your state is likely in desperate need for more help, especially from younger people. Please consider signing up as a poll worker, if you can.

This article was also posted to the “politics” section of

Share or reply to this post on Twitter, or elsewhere.

Front cover of 'A Snowflake in my Hand' by Samantha MooneyAccording to my archived receipts, I ordered a copy of Samantha Mooney’s A Snowflake in My Hand in April of 2013. I cannot remember how I found this particular title, but given the timing I surely purchased it as inspirational fuel for a never-commenced project, a followup to 2010’s The Warbler’s Nest that I’ve long thought of as “the sad cat game”. This also means that it would have shown up at my house right around the time my parents’ health crisis began, kicking off an immensely challenging half-year that reset all my intentions and priorities. So I did not read this book, let alone make the game.

These Covid times, however, have found me dipping into my personal library — specifically, that fraction of it that has traveled with me over the years, sometimes across a dozen house-moves or more, surviving the printed-matter cull that each one involves. Snowflake has racked up four points on this particular board. After I had visited with some much older friends from my bookshelves, this slim volume pulled at in my attention. While I still have no plans to make the cat game, our world’s pervasive melancholy plus the recent passing of Shadow, my brother Ricky’s cat, guided me to read this book at last.

The title comes from a poem framing the book, a verse-memory of the author’s favorite cat: Fledermaus, a runty, harelipped all-black that briefly served as mascot for the New York veterinary clinic where Mooney worked in the 1970s. Her prose is significantly blunter than the book’s evocative title or the haunting watercolor she painted for its cover, depicting little “Maus” gazing out a rainy windowpane, on the verge of fading into the gray air herself.

But the book isn’t really about Fledermaus, or even Mooney’s loving memories of her. Maus’s brief life flickers through the middle pages of a strictly chronological recitation of an eventful year or two in the author’s life. One month follows another, down through the chapters, and for each one she describes all the people and animals that happened to have passed through.

The narrative locks its focus on its cats, both the ones in Mooney’s home and the feline patients at the clinic. The patients’ owners receive secondary attention, and every other human subject — Mooney’s friends, colleagues, and even herself — stay in the background. The author describes her own role so slightly, in fact, that it took some reading before I realized she was not a doctor but a junior technician, taking a half-load of undergraduate courses alongside her clinic work, and moonlighting in a restaurant as well.

Snowflake’s log-book approach offers some tantalizing glimpses of a young woman’s life in New York during the 70s. I squinted to pick out details about the apartment she rented, and the friends who sometimes crashed there. At one point she and Fledermaus vacation at “The Playboy Club” in New Jersey, a detail that reads rather bizarrely today! A minute of online research showed how this was a resort hotel that ol’ Hef did indeed build in the freewheeling 1970s, and which lost its branding at the start of the Reagan era, and has since gone to seed.

The narrative ends when Mooney notices that an emotionally intense period of life, growth, and death among many people and animals dear to her has come to a close, letting her drift into a period of quiet reflection she didn’t realize she needed so badly. This reflection becomes the text of A Snowflake in My Hand, concluding with the latter half of the opening poem: aching to hold a tiny loved one again, a sweet memory that can only melt away when grasped.

For all the workmanlike recollection that comprises most of Snowflake, it does contain a nicely subtle structural turn, opening with a study of what “quality” means to veterinarians, and closing on how the same word applies to their patients and clients.

To the healers, and especially those who focus on often terminally ill animals, “quality” means quality of life: the thing they try hardest to maintain within their patients, and the presence-or-absence of which directs all their actions. Mooney gets quickly into hard decisions that the clinic’s staff and clients must make about the patients — not just when to end an animal’s life, but when and how to extend it. An early scene relates how a client and a doctor surprised one another as they decided together to amputate an 18-year-old cat’s disease-ruined leg, rather than taking the more typical route of euthanasia. An otherwise robust old cat, it rebounded and adapted quickly once the source of its suffering vanished, and it lived joyfully for three more years.

(The book counterweights this happy story with a profound scene some chapters later, where Mooney briefly revives a terribly ill cat with a transfusion, letting it enjoy a single day of comfort and affection after a long misery, and before a peaceful, guided death.)

At Snowflake’s end, Mooney revisits “quality” in another sense, as in the many qualities that make up a personality. The work a person puts into keeping a pet healthy and happy, she writes, becomes energy invested into a long project. Seen this way, a long-lived pet exists largely through the exercise of its human companions’ personal qualities. And in those cases where a pet outlives its owner — as happens in one of the final events of this book’s recollections — it continues to serve as literally living evidence the departed person’s quality, their goodness and care, for the rest of that animal’s time.

I don’t have any good photographs of Shadow, but she’s easy to describe. You’ve met her type, probably: a gray blobby homebody quite content to move very little. This is how she spent the latter seven years of her life, meatloafing in Ricky’s one-bedroom apartment in Bangor.

She had a deep memory, and would bellow a greeting at me every time I visited Ricky for the first time in a while. Ricky felt an especially deep rapport with the cat; he’d often talk to her late into the night.

Before living with Ricky, Shadow was our parents’ cat for more than a dozen years. I came to understand that Ricky saw Shadow as the last living link to them. When middle-brother Pete suddenly died earlier this year, Shadow became the only nearby family that Ricky had left. And now she’s gone, too.

Ricky was close to Pete, and his untimely death upset him as much as you can imagine, but he worked through the pain swiftly. Shadow’s long-expected death, literally in his arms, crushed him. It haunts him still, many weeks later. These days I have two scheduled phone calls per week with Ricky, and he describes every time in his Down East dialect how he misses Shadow “something awful”, in the way he used to talk about missing “maw” and “pop”.

Ricky has singled out a particular large stone on the banks of the Penobscot River, within walking distance of the apartment where he now lives alone, declaring it Shadow’s Rock. He goes there frequently to remember Shadow, and imagine her presence as a little nearer somehow. I know that he means this literally: it really is the departed cat that he turns his mind to. But I understand better, now, all the passed-away he remembers at once via lazy gray cat, that accidental inheritor of all quality from our diminishing family.

Share or reply to this post on Twitter, or elsewhere.

I plan to read this tomorrow afternoon, as my family bids a pandemic-delayed farewell to my brother Pete, who died in January.

A panel from the first Spider-Man story, depicting the title character walking away, into the darkness.I first met Pete when he was fifteen, and I was zero. As an unplanned child, I was given largely into his care by our mid-career parents, and he took up the job with joy. With a pure heart, uncluttered mind, and unerring attention to the people he cared about, he would act as both surrogate parent and playmate through all my single-digit years.

His role model during his own long childhood was Peter Parker, from the comics: an awkward but brave boy who faced his outsized responsibilities with courage, perseverance, and humor. Pete would every day try to emulate his namesake by balancing his roles as a watchful protector and a playful teacher. I felt so lucky to have my own personal superhero in Pete. Whatever foundational love I have for humor, games, and play comes from this time with him.

When I moved on from our home, Pete searched for other ways to fulfill his call to act as a caring protector. After a perhaps over-literal stint as a night watchman, he found his true calling as a caregiver in group-homes for adults with cognitive disabilities, a taxing and thankless career that he willingly poured all of himself into. This work, leavened by following with his whole heart the ups and downs of the Red Sox’s fortunes, defined his life for many years.

When his wife Janice took ill only a short time into their marriage, Pete followed the only path he knew, shifting the entirety of himself into her care and protection. So much of him has gone into the earth already, with her tragic passing six years ago. His superheroics ended alongside Janice. We today lay to rest only that part of him that stayed behind.

In these latter years he found love and support in his Bangor families, both given and chosen. His older brother stepped up to become Pete’s own protector, now that he finally needed one himself. Pete also found understanding and solidarity among his fellow struggling souls at the city’s Clubhouse International chapter, where he rebuilt new friendships. But he left us very suddenly, before he could finish redefining himself.

So, it’s that superhero, his truest nature, I say goodbye to today, as I turn to face my own great responsibility to continue expressing his best virtues into the world. As the first benefactor of his loving, playful selflessness, I will carry an echo of Pete’s amazing spirit within myself for the rest of my life.

Share or reply to this post on Twitter, or elsewhere.

I’m pleased to announce a new guide to installing and using Bise, my simple log-analysis tool for measuring a website’s recurring readership. My thanks to Linode for lending me a platform to share this guide with a wider audience than my writing usually has — and I suppose I can enjoy some fun irony about that, given the subject matter.

This article also represents my first piece of paid freelance technical writing for a commercial publication since I announced my intent last summer to focus more on writing professionally. I actually began my conversation with Linode way back in February, but the world got in the way for all parties over the next half-year. Seeing this article published at last reignites my desire to make a habit of this, even though my life has turned wholly upside-down from a year ago. (Because, y’know: so’s yours.)

Admittedly, it’s a little funny that my first article for this particular publisher is about software that I myself wrote! But I found the Linode editorial staff to welcome proposals to document creative tools developed on Linode-developed servers — a tidy descriptor for nearly all my personal projects for the past several years. I do plan to pitch more guides for technology important to me, and promise that at least some of these will cover stuff created by people other than myself.

Share or reply to this post on Twitter, or elsewhere.

Last week, after a period of introspection, I began work on the next revision of Bayamo, the “braided chat-stream viewer” that I first prototyped in 2017. A conceptual breakthrough last night directed me to work in aspects from one of my favorite recent IndieWeb-adjacent applications, and the results bring me such immediate delight that I thought I’d indulge in a “developer’s notebook” post, even while this project remains on my workbench, some distance from any public release.

I have lately felt shipwrecked, separated from my many excellent friends and peers via the terrible pandemic and the way that isolation, if left unchecked, can become self-reinforcing. I first toyed with Bayamo years ago because my friends have long been scattered across a hundred chat channels, and I once again longed for some way to keep tabs on their activity without — well, wihout tabs.

Then as now, I hate the typical chat-app interaction of having several windows, each dedicated to one chat network, and each filled with tabs with their “unread messages here!” lights on. What could the messages be? Won’t know until you click them! Each and every lit-up tab asking for my attention, and by extension asking me to spend much of my day just clicking around my windows, always wondering if any of the conversation will be interesting, or anyway more interesting than the current tab’s content.

Because if I don’t, then why do I bother at all, right? And so, tired of walking in tab-chasing circles through my chat-window stack, I end up reading nothing at all and feeling lonely and miserable — despite being literally surrounded by all my friends having brilliant conversations about every topic, hidden away in their own alcoves.

As I wrote in 2017:

I wanted a flow, letting me monitor the tone and tenor as much as the content of online conversations, and from various trusted sources, whenever I felt like dipping in with just a little background attention. I would otherwise feel free to it let drift on by, with no sense of missing something. This is what Bayamo angles at. For a prototype, I think I works okay, especially when allowed to babble away on a secondary display.

At the time, I based Bayamo on the ancient, much-maligned, but open and flexible chat protocol of IRC. While I continue feel the same atavistic pull to using IRC, I have switched my favored vehicle from a Mac app — which Bayamo required — to IRCCloud. For fifty bucks a year, you get a handsome and stable web-based IRC client with the “always-online” presence expected in our Slack-spoiled world. (It features its own Slack bridge, too, long after that chat company finally cut away its own threadbare IRC support.)

And, most relevant to my eternal grouse against clicking lit tabs, it lets every paying customer use its full API. Aha.

So, last Wednesday, my mind clear after an especially intense (if topically unrelated) therapy session, I tucked in. By evening I had remade a better Bayamo, using new skills I’d picked up earlier in the year, and running much more efficiently than my last CPU-chomping prototype. I boasted about the achievement to my friends on ifMUD, who had not seen me in a long time, but whose conversations I once again felt I had a chance to follow.

An aside about ifMUD: Even though I did invoke the MUD’s name in my 2017 article, I did not clearly see that Bayamo’s original mission could have been expressed as “Make all of IRC work like ifMUD”. The MUD’s own multi-channel chat pushes everything into a single stream, with every utterance prefaced by the name of the channel as well as the speaker. It gives you a bevy of special commands and keystrokes to deftly switch between which channel you yourself are speaking to, as well as fine-tuned controls for temporarily muting chatty channels, recapping past conversation, or quietly slipping in and out of their membership rosters.

Like any purely text-based system, ifMUD’s learning curve poses a challenge to new users. I had reason, many years ago, to put the work into learning its unique channels system — and once I understood it, I loved it. I quickly got comfortable with letting a single MUD client window stay open while dozens of conversations among dozens of people flow by without any input needed from me. And so, when subsequently facing the more typical Slack/Discord/IRC/what-have-you setup of endless clicky-clicky tabs, I felt blocked and frustrated. I want that ifMUD-style stream everywhere! And with everything in it!!

And as my friends on ifMUD gently told me yesterday, this idea is utter nonsense. It cannot possibly scale beyond membership in more than a handful of moderately active channels; anything more and the comfortable flow would turn into a Matrix-style blur of tumbling text, pouring down one’s screen far too fast to offer any meaning. Giving the problem some thought in the subsequent days, I made the natural next steps of re-implementing even more of ifMUD in my silly invention, porting over its smart channel-muting features. But, of course, the real solution involved thinking in new directions entirely.

Yesterday the idea struck me to try infusing Fraidycat’s DNA into the prototype. I have already sung Fraidycat’s praises on Fogknife, and my love for this application has not dimmed in the months since. This feed reader continuously collects news from sources across the web and quietly updates its own list of the more recent items, grouped by source and ordered by recency. It holds all items with a feather-light grip, quick to let outdated items — whether read or not — scroll out of view and out of mind.

Well, that sounded applicable. So now, the Bayamo-followup prototype looks like this (with names and other sensitive text blurred out for propriety’s sake):

A screenshot of software running in a text terminal emulator.

This screenshot from an iPad (running Panic’s Prompt terminal emulator) shows the prototype displaying the most recent five messages from the most recent four channels of the many that IRCCloud keeps me connected to. From the top, there is one of Freenode’s IRC channels about the IndieWeb, a Slack channel for sharing silly images, some chatter from ifMUD, and a political discussion from a different Slack.

These four channels appear in the order of recent activity. In this case, #indieweb-dev has seen the most recent new conversation. Each time a new message comes in over the API, the screen redraws itself, reordering the channels as appropriate. And as with the original Bayamo, nothing displays timestamps, because I do not care. If the program displays a channel at all, I know that I must be looking at fairly fresh conversation; no need pinpoint anything with to-the-second granularity.

So, like Fraidycat, it doesn’t grow and grow a backlog whose tip drifts every more unattainably into the past. Everything that the program wants to show you, at any given time, fits on a single screen. Channels that haven’t seen any activity for a while drift “below the fold” and out of sight, until they happen to pick up again. More active channels stay in-view, but display only the most current conversation — as if you’ve just rounded the corner and came across your friends discussing something. Enough to give you the gist, goes the theory.

And to this theory I have added another twist: next to each channel label is collection of five “keywords”, the output of a third-party text-summarizing code library whose input is the last several dozen utterances seen within that channel. Does this actually work? Sorta! The words do gradually change over time as the conversation shifts; you can tell, for example, that my friends on the MUD had been discussing home renovation for some time. And coincidentally, my separate friends in that Slack “dumb-pix” channel had shared photos of some deck repairs, explaining the presence of “frame” and “floor” there.

At any rate, the program — like the original Bayamo — remains a strictly read-only affair. To actually participate in a conversation, you need to pull up your “real” chat-client of choice and join the channel that piqued your interest — which will have the side-effect of filling you in on all the chatter that preceded the five lines that this program shows.

I feel like there’s something here. This project appeals to me in ways that it didn’t quite hit in 2017, and much of that comes from my explorations since then of IndieWeb’s philosophy: mixing a stubborn insistence to use the web on one’s own terms with the acceptance that everyone else will use it however they wish as well, and reconciling the two through both an open heart, open standards, and clever tooling that draws the two together.

All I can do for now is run this foolish program for a while and see where it wants to go. I can say it felt pretty good to very literally dust off and charge up my shelved circa-2013 iPad (which I otherwise keep around, running an outdated OS, to prove to my disbelieving self that I used to make games) for the sake of this project. The prototype now treats the old iPad as a dedicated device, and they get along swimmingly so far, propped up in the corner of my desk and running continuously. Let them both be beautifully ridiculous together for a while, and let’s see what happens.

Share or reply to this post on Twitter, or elsewhere.

I posted the following note to my LinkedIn page earlier today, where I also linked to this Daring Fireball article.

A note to my friends who still work at Facebook:

You are at the top of your career. The very fact of your job at Facebook demonstrates a level of technical acumen that would allow you to work anywhere you wish within the technology sector.

The time has come for you to take advantage of this. Your employer has become unworthy of your talent. Please quit. Work for a company doing literally anything else.

From promoting hateful conspiracy theories to favoring Trump’s re-election, Facebook’s drive for emotionally fueled “engagement” over all else steals the light from our shared human future in order to enrich a handful of people.

I know that you do not identify as a white supremacist. Facebook, however, funnels most of your talent directly into growing and empowering white supremacy’s most significant technological ally in spreading hate.

I urge you to think of your own career prospects, as well. The peak of Facebook’s positive reputation already lay in the past. After this year, employers will justifiably assume that hiring someone from Facebook would risk bringing in a culture of division, deception, and algorithmically optimized racism.

Please, for your own sake, if not for the sake of the future: leave Facebook. Do it today, before it ruins you.

This article was also posted to the “politics” section of

Share or reply to this post on Twitter, or elsewhere.

Detail of a photo from the article: lush, green grass.I love this wonderful NYT feature about Freshkills park on Staten Island, written by Robert Sullivan and beautifully illustrated with Jade Doskow’s photogrpahs.

The park, I learn, used to be one of the world’s largest garbage dumps, a city unto itself with piles of stinking refuse 20 stories high. It made an even larger swath of New York City unlivable through its byproducts of poisons, vermin, and indescribable miasmas.

In early 2001, after over fifty years of operation as a dump, Freshkills received its last shipment of trash. It then began an amazing and carefully planned transformation, a true geo-engineering project. Next year — twenty years on — it will open to the public as a lush, beautiful park.

The rotting garbage from generations past remains at the core of these grassy new earthworks. Through waste-recapture technology, the park represents not just a single act of transformation, but a continuous one, turning the garbage’s limitness methane into heat and energy, and making that available to the nearby grid. What was once a monumental eyesore has become both a place worth visiting and the source of some New Yorker’s next hot tea.

The story makes me feel amazed and impressed and a little sad. This reads like someone’s fantasy for how things ought to be, or could have been, and not a real project of successful long-term thinking that has actually succeeded. Reading the same newspaper’s front-section headlines day after day, one can’t help but see any possibility for a greener future, one that requires more than a little bit of work and patience, inexorably slipping away — the victim of a civilization-wide focus on tomorrow only, and seldom the day after.

Does this story give me hope? I don’t know about that. It certainly does compel me to stop and reconsider the possible, in light of this new evidence of the actual.

Share or reply to this post on Twitter, or elsewhere.

Following yesterday’s post about Subcutanean, a couple more thoughts on procedurally-generated entertainments:

Subcutanean intentionally exposes enough of its own process to the reader — just in its “on-board” preface and appendix material, and apart from the author’s online deep dives into the book’s producton — that one gets a sense of the scale of the entire project, the scope of all its possibilities, and most importantly the intention behind it all. Subcutanean openly limits the scope of its procgen-engine’s meddling to two characters and one setting, keeping the broader story contained within an author-defined envelope of theme, plot, and purpose.

At risk of over-using the comparison (since I invoked a similar one just days ago, writing about Sayonara Wild Hearts), the novel’s epilogue that lists how one’s own uniquely generated copy of Subcutanean differs from others gave me a very similar pleasure to the end of a Telltale game’s chapter, when you see a recap of the major binary decisions you made during play, and how your choices compared to the rest of the playing audience. Just as I thrill when I see that I made an unpopular Telltale choice, I felt a strange but real pride to see that “my” protagonist’s home boasted a conversation pit in its shag-carpeted basement, an element that came up a handful of times in the telling and which — the epilogue assured me — featured in very few Subcutanean copies.

I felt, in short, like I comprehended the whole possibility-space of the novel, even though I’d “seen” only a single thread running through it. I feel the same way after completing a Telltale game’s chapter. Admittedly this seems a little unfair to the book, since I gather its entirely textual procedural space as far “bushier” than that of a fully animated and voice-acted Telltale episode. And yet, I finished the novel with the same pleasant sense of ownership and familiarity with the choices made within, even though I myself hadn’t made a single one! In both cases, I enjoyed similar recognition of a multi-dimensional structure, and the satisfaction of winding a complete passage through it.

Compare to a famously super-duper-procgen video game like No Man’s Sky, which does try to simulate all of existence in a single grand subroutine — and so gives you an infinity of stars and planets and aliens and buildings that are all more or less the same, spread out across the galactic plane like butter on toast. This planet might have a green sky instead of a blue one, and that one might have acid rain and 30% more silver deposits, and this star system has double the space-piracy than that one. It provides an ocean-wide and ankle-shallow possibility space, and the game’s expectation that you revel swimming in it exposes a mismatch, somewhere.

For all these grumbles, though, I have No Man’s Sky on my mind because I just rolled up a new hapless astronaut within it. I’d tried the game a couple years ago, and lost interest after six hours or so playing alone. This time — given courage by my wonderful vacation last year in Subnautica’s dangerous shoals — I began on the game’s somewhat more attention-demanding “survival mode”, with stiffer (if not exactly catastrophic) penalties for dying. The game’s received a bunch of significant updates since I last visited, as well, and I look forward to trying its multiplayer modes.

Most importantly, my wife joins me as a co-pilot for this round, making the thought of a flight to my goal in the galaxy’s core more of a pleasant household diversion than a lonely and time-consuming grind. She’d lately been expressing some curiosity about the game, and this short Twitter thread by Laralyn McWilliams inspired me to give the flawed but earnest work another try. I intend to stick to it at least through the completion of its story mode, which I expect to be a much less compelling but a far more attainable goal than finishing Subnautica.

This article was also posted to the “games” section of

Share or reply to this post on Twitter, or elsewhere.

Cover of the novel 'Subcutanean'Owning a copy of Aaron Reed’s Subcutanean means possessing one vertex of a vast textual sculpture that encompasses its entire print run, past and future. What appears at first a technological gimmick becomes, in the act of reading, something far more impressive: a twisty horror novel that folds back not just on its own structure, but the entirety of its own presence in the world, realized across many published copies.

Subcutanean wears its gimmick on its cover: a procedurally generated novel, printed on demand, with no two copies alike. All the books nevertheless tell the same story, a meditation on the terrible uncertainties intrinsic to an intimate two-person relationship. The procgen-engine that knits each copy together, based on a unique random-seed number (mine used 36619, according to its spine), twiddles with various story-details. According to the end-notes of my copy, for example, “my” protagonist had a troublesome predilection for booze not present in all of his iterations. He made a few decisions differently, for this reason and others, and this affected the mysterious geography he explored, and the path taken by his thoughts therein. But the overall arc of his story remains broadly similar to that experienced by all his namesakes across every printed copy.

A work of fantasy-tinged horror, Subcutanean deals with metaphors of parallel universes and mazes of possibility made real on two levels: in the fiction the lost characters inhabit, and in the reader’s world, which contains indefinitely divergent copies of the same book. And I found it a good, creepy story — a real page-turner that I soaked up in just a couple of sittings! I often feel that I lack the fascination for procedurally-generated or emergent-narrative systems that so many of my friends and colleagues have, so it took some months of observing other folks’ reactions to this novel, all hinting at its uniquely, impressively self-descriptive nature, before I finally joined Orion in the unnerving task of exploring the maze of twisty little passages under his house.

Reed’s background as a text-adventure game designer shines through as much as his scholarly devotion to procedural-narrative experiments. Prior to this novel, the Reed work I had the most familiarity with was 2009’s Blue Lacuna — among the largest traditional parser-driven adventures ever published. (And a damn good game that I spent at least a week or two with, if memory serves.) The bulk of Subcutanean takes place in a fantastic space that quite clearly comes from a mind used to envisioning vast underground spaces divided up into discrete rooms, connected by doors and corridors of every description, and setting up all sorts of puzzles involving darkness, quantities of rushing water, and various lengths of rope. I certainly don’t think one need be an aficionado of Zork-likes to appreciate the correspondence, but the glimmer of recognition amidst all the strangeness made the journey a little more fun for me.

The novel’s horrific aspect keeps one from getting too comfortable, of course, and I felt especially interested in the particular interpersonal tension it explores, one I don’t recall seeing explored much in recent fiction: the imbalance inherent in a deep friendship between two men, one openly gay — the protagonist, Orion — and the other nominally straight. (And, of course, both young enough to make believably cringeworthy decisions.) Through the serpentine labyrinth of criss-crossing realities that Orion finds under his basement, and before we can arrive at a graceful ending, the novel examines the rewards and the risks of the main characters’ relationship by exploring some shatteringly extreme ways it can go awry.

I always appreciate the use of horror to show the best of human nature by casting it against worst-case (and sometimes supernatural) counterfactuals, and I have seen this applied with great effect to various family and friend structures in other work. The nature of Nico and Orion’s intimate friendship, and the electric current that both powers it and threatens it like an ever-present third rail, also drives this novel and its many-worlds hook. I completed my journey through Subcutanean’s subterrarium feeling like I’d been allowed to see at least two explorations in text I’d ever experienced before. I have read only one iteration, and feel quite satisfied to leave it there for now. I can easily recommend this novel to anyone who enjoys a meaningfully creepy read.

This article was also posted to the “books” section of

Share or reply to this post on Twitter, or elsewhere.

After bouncing off it a couple times some months ago, I restarted Sayonara Wild Hearts from the top on Sunday evening, at the end of a very difficult and emotionally draining day. It was just the balm I needed, and I played through most of it in one sitting. More than once, it occurred to me I was playing something like “Dragon’s Lair, except good”. And that’s not bad!

I finished it tonight while waiting for my dinnertime rice to cook. The ending re-teaches the lesson that when an only-pretty-good game wraps up with a great ending, that can retroactively stamp the player’s memory of the whole experience. In Sayonara’s case, it leaves you with a lightweight variant of a typical game’s “boss rush” finale, where you face all the masked biker-dancers that you defeated earlier — but now ending every fight with a big ol’ smooch, rather than a second beatdown. I’ll remember this surprising and genuinely warm farewell for a long time.

Despite its arcade-game visual language, Sayonara offers such minimal interactivity that it seems more akin to one of Telltale Games’ engaging but low-challenge adventure games. Watching a playthrough may give it the appearance of a tricky obstacle course with the graceful heroine wholly under the player’s control, but it actually presents an album’s worth of beautiful, animated music videos to enjoy, asking for only a modicum of attention to keep the film rolling forward. You may have to press a button from time to time, when prompted, to have the motorbiking heroine leap over a gap, or use the joystick to steer her between onrushing walls. You usually have generous room for error, and receive negligible penalty for messing up, rewinding a few seconds and losing some points.

And there are points: most of the time, you can slide the ever-rushing heroine left or right to keep her on a trail of heart-shaped score-pickups. Straying results only in a stage-end animation that tells you how far you fell short of an optimal path. In fact, I didn’t get the target score in any level, except for the one that plays like Rez instead of Kaboom. I could hear the disappointment in narrator Queen Latifah’s voice every time she sighed “Bronze Rank…” as my poor fool-heroine limped to the next stage. That feeling of high-speed ineptitude made Sayonara not stick with me, the first couple of times I tried it.

But on Sunday, with Switch in hand and headphones in ears as I reclined in darkness, the game’s electroclash mood soothed enough to overcome this little, repeating sting. And that led me to discover how, if you eat the pavement enough times, Latifah comes back on the mic to gently ask if you’d like to skip that particular challenge — an accessibility affordance that far too few games offer. This unexpectedly respectful attitude helped carry me right through the embrace of that ending, and I’m glad that it did. This is a good game!

This article was also posted to the “games” section of

Share or reply to this post on Twitter, or elsewhere.

Previous post: I like date-based version numbering