Did I watch a movie just so I'd have something to automatically repost to my blog with my new automatic letterboxd reposting tool? Yes.
I'm Bruno Dias, a São Paulo-based designer (systems, narrative, mechanics) and writer working in video games. Azhdarchid (named after the family of large pterosaurs) is my personal blog; I also have a more professional landing page at brunodias.dev.
You may know me from such video games as Where the Water Tastes Like Wine, Neo Cab, Pathologic 2 and 3, or Fallen London—you can see my full credits on MobyGames. I also edit the Game Narrative Reader, a link anthology of great essays about video game narrative design on the web.
For my sins, you can find me on Bluesky (@brunodias.dev) and on the Fediverse (@bruno@azhdarchid.online). For my cinema sins, I'm also on Letterboxd (notbrunoagain).
Recent Posts
A ★★★ review of Infinity Pool
A fun little romp through a psychosexual hall of mirrors. Written, essentially, like an episode of Star Trek: the Next Generation but with significantly more nipple play than usual.
I wish this picked at its scabs more? It's one of those horror movies where there's no first-act normalcy; we go from zero to unsettling immediately, and from there pretty soon to horrific. But it feels like it's missing that final step, that last rung down the ladder. Absent that it ends up just being a pretty good movie about, largely, an evil pack of feral rich people.
I did end up building a (very dumb) solution to making it faster to write small posts.
I did end up building a (very dumb) solution to making it faster to write small posts. It's a shell script called posthog.sh which:
- Opens a temp file in vim
- If I saved the file, asks if I want it to be a note or a full post and auto-generates some basic front matter
- Opens the front matter as a temp file in vim so I can edit it if to add tags, etc
- Generates the actual post as a file, commits it, and pushes the commit so the site gets rebuilt on the server.
In my imo you should never do something smart when something stupid will do.
A ★★★½ review of Lights in the Dusk
At one point in this movie, Kati Outinen—the star of some of Kaurismäki's early films back in the late eighties, including the incredible and incredibly depressing Match Factory Girl—shows up for a brief cameo playing a glowering cashier at a miserable Helsinki supermarket. This is such a feel-bad movie that seeing her felt like a ray of goddamn sunshine.
A recurring theme for Kaurismäki is characters trying to scrape away the subtext of their relationships; approaching what they want with complete bluntness, as if they don't have time for flirting or skirting the issue. Here, this dynamic is a weapon. It's a noir without the ambiguity; you see exactly what Maria Järvenhelmi's reluctant femme fatale is doing, the entire way.
And on the other side of that, the sad-sack protagonist (Janne Hyytiäinen) sees it too. No one in this movie has any illusions about it; it's like they've seen the movie before, and they're living through a recurrence that reduces the events of their lives to mere facts.
Real brick of a movie. Three and a half stars.
A ★★★½ review of I Hired a Contract Killer
This feels like a difficult transition; whereas before in Match Factory Girl, Ariel, and Shadows in Paradise, Kaurismäki was working with a group of actors who seemed so perfectly and completely in tune with his sensibilities, here everyone seems to be coming at the challenge from a slightly off-kilter angle.
Kaurismäki is stretching in a lot of ways; he's depicting a setting that's new to him, he's casting actors who are new to him, he's working in a language he hadn't done a full feature in before. It's all ultimately in service of watching Jean-Pierre Léaud build a character scene by scene, slowly finding things for his shattered salaryman to hold on to for (very literally) dear life.
Still a great watch; Léaud is of course incredible here, but so is relative unknown Margi Clarke and long-tenured English character actor Kenneth Colley (you may recognize him as one of sundry imperial officers in Star Wars). And as always, Kaurismäki has this incredible property of holding your attention with a movie that feels almost unyielding in its quietness so that he can catch you entirely off-guard with a joke or a moment of unexpected tenderness.
Very glad to have seen this in a theater!
Better microblogging and mesoblogging.
In my last couple of posts I've talked about my desire to support "micro" and "meso" blogging more effectively; ie make it easier for me to post things that aren't necessarily full essays.
I've gone ahead and added a new class of content to Azhdarchid that I call "notes"; notes are like posts, except they're untitled by default and shown differently on the front page. I'm still feeding them into the RSS feed, and I've built a little automated tool to make writing and publishing these more easy.
Reinventing a Fourth Website Piecemeal and from First Principles Using Junk Found Lying on the Side of the Road
Obviously I've been thinking about blog and the IndieWeb a lot these days. We are not very far from the two year anniversary of Cohost shutting down; maybe I'm thinking about how to build some of that social experience up again brick by brick, using the web as a substrate rather than a silo (or a federation of silos, which is the approach some others have been taking).
For me personally, the core design that made Cohost so valuable was a particular mix of features that enabled:
- Full-spectrum posting; Cohost felt suited to and supported well everything from <140 character microblogs to long essays to media posting. In particular, it was extremely good at what I'd call "mesoblogging," posts in the 500-800 word range which are a poor fit both for traditional essayistic blogging and microblogging platforms. This is really what I miss the most.
- Posts on Cohost could have titles, but did not have to; the posting interface essentially scaled gracefully in complexity from "typing some words into a box and hitting send" to "fully formatted writing with subheads, tags, metadata, etc" and nothing got lost in the shuffle.
- A static-website blog like this one is perfectly good for essay posting, but the simplicity win of this kind of setup does mean that you miss on the conveniences of a CMS interface that takes away, for example, the work adding date of publication information to a post.
- Replies and comments as distinct first-class entities. I think they occupy vastly different niches, and I think the ability to choose between responding with or without rebroadcasting
- Funnily enough, webmentions as I just added them runs counter to Cohost's original design—the site very deliberately did not create backlinks on replies; you could see who had replied to you but their replies were not findable from your post. This meant that if someone was being dogpiled in replies (something that the site's OP-then-reply design already discourages relative to Twitter's quoter-then-OP model) there was no centralized place where people could go to find the dogpile and join in. I think right now at least, the risks that Cohost was designed to mitigate aren't really there with indie web, so the backlinks are valuable...
- But commments as their own distinct entity still have value, because sometimes you want to remark on something without rebroadcasting it!
I am thinking a lot about how to achieve similar things using those open web tools within the constraints of a static-website (or "JAMstack") setup. I don't really want to go back to any kind of service that has a CMS; using Eleventy is just too nice in terms of the control that it gives me over templates and the long-term portability and safety of the material, which does not in any way live in an opaque database but rather in the filesystem on my computer (backed up in several places) where it belongs.
I like the concept of Micropub but I also like the static website workflow, and it occurs to me that it'd be pretty easy to build an adapter of sorts as just a server that ingests Micropub POST data and spits out git commits (which are, de facto, the standard for "publishing" posts on a Jekyll or Eleventy website). You could run this on an actual server or just as a local-machine daemon that adapts desktop micropub clients to a static website project. I know such a thing exists for Jekyll already, though a particular difficulty with these tools is that (as far as I can tell) micropub clients expect to spit out HTML, and what I'd want to eventually land in the git repo is in fact well-formatted markdown. I don't think that's intractable, though, and tools like Pandoc exist which can "un-render" Markdown.
It is possible however that I'm overthinking this terribly and the solution I really want is a shell script that 1. opens an ephemeral vim session, like the one you get to write a commit message 2. turns whatever I type into that session into an untitled post dated to now and asks if I want to immediately post it or save as a draft.
On the other half of what I'm thinking about: webmentions only provide the "reply" half of the reply/comment duality, and with comments I feel a bit more stuck. I would love it if something like Comentario existed, but set up to use IndieAuth as its only authentication method.
Authentication systems are the annoying hurdle of operating a blog with a comment system. Obviously having distinct "user accounts" adds complexity, but having to have a distinct account on the blog of every person you read and comment on is itself impractical. Traditional email/password login, besides not being terribly secure, requires a server somewhere that can send email—and sending email is itself an incredibly annoying task, because the email system is so choked with spam that we've kind of landed on an internet where we only let a single-digit number of major providers really send email.
Comentario itself supports Oauth with a few different services, but I think that's not good enough. IndieAuth is; it's a stable long-term solution. There's no need for the consumers of authentication to know or care about which providers of authentication are available, which means that you are not essentially maintaining your authentication system's usefulness against the ongoing churn of the internet. Using URLs as identities has some inherent anti-spam properties; domain names are simply a more limited commodity than email accounts, and they have a public verification mechanism baked in. Such a comment system wouldn't even need an admin password or any kind of secrets at all—you could log on to the admin panel by simply logging in with the domain name of the website itself. I believe other people have built similar setups as one-offs, but this is something that really is begging for a turnkey solution that occupies the same "slap this webcomponent on your template" niche as Comentario or Disqus.
Ultimately I am enjoying this exercise in trying to reconstract a good version of the social media web as essentially a hot-rodded, self-built project, even if I eventually hit a wall with how close I can approximate that experience.
All Posts
- Did I watch a movie just so I'd have something to automatically repost to my blog with my new automatic letterboxd reposting tool? Yes.
- A ★★★ review of Infinity Pool
- I did end up building a (very dumb) solution to making it faster to write small posts.
- A ★★★½ review of Lights in the Dusk
- A ★★★½ review of I Hired a Contract Killer
- Better microblogging and mesoblogging.
- Reinventing a Fourth Website Piecemeal and from First Principles Using Junk Found Lying on the Side of the Road
- Azhdarchid now supports Webmentions
- How I Moved my Blog off Bear and it Only Cost Me Three Days of Intense Yak Shaving
- The Game Narrative Reader, Zeroth Edition
- A Video Game Writer's Toolkit
- How to Run a Story Breaking Session
- YOU MUST FREE YOURSELF FROM THE TYRANNY OF "MEANINGFUL CHOICES"
- Specimen C20/NA/1415600.01 – American Broad Twill Ware
- Imagining the Car but not the Traffic Jam
- A Unified Theory of Star Trek: Voyager, Part 4
- A Unified Theory of Star Trek: Voyager, Part 3
- A Unified Theory of Star Trek: Voyager, Part 2
- A Unified Theory of Star Trek: Voyager, Part 1
- A Design Genealogy in Ten Lessons
- My Games of the Year for 2025
- Thematic expression in game design, or: Why Dune (1992) rules
- So I played the Séance of Blake Manor
- I've set up an email newsletter
- The São Paulo Interpretation of Immersive Sims
- Against 'Metroidbrania': a Landscape of Knowledge Games
- Impressions of the Magic Arena Powered Cube
- A spotter's guide to text games
- KINOPHOBIA is out now!
- The 2025 Interactive Fiction Competition Is Over
- So You Want to Write Iambic Pentameter
- Jay Graber Confuses the Gas and Brake Pedals
- Delusions of a Protocol
- Reviewing some IFComp games, part 8 of ???
- Reviewing some IFComp games, Part 7 of ???
- Reviewing some IFComp games, part 6 of ???
- Reviewing some IFComp games, part 5 of ???
- Reviewing some IFComp Games, part 4 of ???
- Reviewing some IFComp games, part 3 of ???
- Reviewing some IFComp games, part 2 of ???
- Reviewing some IFComp Games, Part 1 of ???
- Opening up slots for portfolio review and writing tutoring
- Slop comes for everything you love
- A Relaxing Stroll Through Hallownest
- Sometimes nuance is bad actually
- Decks I've been Playing: Acererak Storm
- Impressions on the Magic Arena 'Chromatic' Cube
- Are LLMs 'useful'?
- The Tonitruator is Leaking Again: On writing setting terminology that you can take seriously
- Randomness in Narrative Video Games: Aesthetics of Different Random Systems
- Decks I've been playing: Show & Tamiyo
- Every Recurring Character Archetype in 'The White Lotus'
- A Compleat History of the Magic: the Gathering Metagame, part 25: What if role assignment doesn't matter?
- A Compleat History of the Magic: the Gathering Metagame, part 24: 2007 Worlds, Lorwyn, and the birth of midrange
- A specifically clever bit of writing in a generally not too clever tv show
- Impressions on the current Magic Arena cube
- Your Weapon is not my Weapon: on Monster Hunter's 'Combat Landscape'
- How to get into (or catch up with) the mainline Pokémon games
- Why can't you be more like your older brother?
- You do not gotta hand it to MiHoYo
- It's odd and fascinating how chess people don't seem to think critically about chess
- On quality, polish, fidelity
- Five Favorite things from 2024
- The Ballad of Nick Nurse
- A Compleat History of the Magic: the Gathering Metagame, Part 23: Magic Changes Forever; Nobody Notices
- Microsoft is basically discontinuing Windows. What will happen, then?
- Mid-October Link Roundup
- On enjoying my work
- A Compleat History of the Magic: the Gathering Metagame, Supplemental: Commander's Road to Hell
- Goodbye, Cohost
- Late September Link Roundup
- A Compleat History of the Magic: the Gathering Metagame, Part 22: On my upkeep, suspended Lotus triggers
- One of the oddest sports stories of the year is quietly brewing in the world of chess
- On Cohost shutting down
- Chess for Game Designers, Part 1
- what happens when you get a 3d printer
- those goose-necked electric-arc contraptions that probably hurt your retinas just like a tac welder
- Magic Item: Truly Immovable Rod
- 2023: The Year in Fallen London, Part 2
- Fallen London: The Making of Irem
- The Ten Principles of Good Game Design
- 2023: The Year in Fallen London, part 1
- The Fallen London approach to worldbuilding, or: how I learned to stop worrying and love the lore
- The Ancient Secrets of Writing Item Descriptions
- ship of theseusing it
- of flags and tlds
- The Recent History of the Philadelphia 76ers, or: The Basketball Gods are Real and they are Angry, part 4: The Simmons Saga
- There are three problems an animal needs to solve to evolve into being a really, really large flyer
- A Compleat History of the Magic: the Gathering Metagame, Chapter 21: The Era of Business Decisions
- technology is never just technology
- The Recent History of the Philadelphia 76ers, or: The Basketball Gods are Real and they are Angry, part 3: Definitive Proof of a Curse
- The Recent History of the Philadelphia 76ers, or: The Basketball Gods are Real and they are Angry, part 2: A Tale of Two Fluids
- The Recent History of the Philadelphia 76ers; or: The Basketball Gods are Real, and they are Angry; part 1: The Colangeli
- The Ballad of Sam Hinkie, or: What if Less Wrong bought a sports franchise
- Topology of Hitman levels
- a sous vide machine and a pacojet are, philosophically, the same thing
- A Compleat History of the Magic: the Gathering Metagame, Part 20: What if I didn't cast any spells?
- One of my favorite game design things
- A Compleat History of the Magic: the Gathering Metagame, Chapter 19: Three Stories about Kamigawa Block
- A Compleat History of the Magic: the Gathering Metagame, Chapter 18: Mark Rosewater Breaks Magic
- A Compleat History of the Magic: the Gathering Metagame, Chapter 17: What if Onslaught doesn't matter?
- In this house...
- A Compleat History of the Magic: the Gathering Metagame, Chapter 16: What if Card Advantage Doesn't Matter?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 15: We Didn't Start the Fires; or: Opposition Research
- Starfleet replicator regression test suite
- Starfleet replicator stress test suite
- The Ancient Secrets of Naming Things
- A Compleat History of the Magic: the Gathering Metagame, Chapter 14: EOTFOFYL
- A Compleat History of the Magic: the Gathering Metagame, Chapter 13: Mark Rosewater Succeds, Perhaps too Well, in Not Breaking Magic
- A Compleat History of the Magic: the Gathering Metagame, Chapter 12: Mark Rosewater Breaks Magic
- A Compleat History of the Magic: the Gathering Metagame, Chapter 11: A Game of Zones
- A Compleat History of the Magic: the Gathering Metagame, Chapter 10: Whirlwind Tour of Tempest-era Standard
- A Compleat History of the Magic: the Gathering Metagame, Chapter 9: What if Nothing Matters?
- A Compleat History of the Magic Metagame, Appendix A: A Brief Introduction to Magic's Formats
- A Compleat History of the Magic: the Gathering Metagame, Chapter 8: What if my 60th card doesn't matter?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 7: What if my opponent's cards don't matter?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 6: What if playing good cards doesn't matter?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 5: What if life total doesn't matter?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 4: What if You Didn't Cast Any Spells?
- A Compleat History of the Magic: The Gathering Metagame, Chapter 3: What if I Played Good Cards And Not Bad Cards?
- A Compleat History of the Magic: the Gathering Metagame, Chapter 2: NOW That's What I Call Magic
- A Compleat History of the Magic: the Gathering Metagame, Chapter 1: Magic as Dr Richard Garfield, PhD Intended
- i have to talk about this fucking show sorry
- Every Sandman story arc, ranked
- every major casting decision and performance in Sandman (2022), ranked
- Phylogenetic facts ranked in order of how disturbing they are