Skip to main content

Brennan's Weblog 🌈

Hi, this is my indie publication and site I built from scratch. 🌱 I write about tech criticism, Indigenous issues, the craft of writing, and whatever I can't stop thinking about. All totally free for you to read, without ads or trackers.

UPDATE! You can now browse my essays by theme, in Collections. ✨

Recent Posts

#294 I've Never Wasted My Time Writing

Why writing—and writing back—is never wasted time. From Patricia Lange's troll whispering to reparative civility, deep canvassing, Daryl Davis, Megan Phelps-Roper, and moral elevation, I defend engaging difficult people as a deliberate ethical practice rooted in curiosity, grace, and love.

#293 Kindness as First-class Citizen in Programming

The world needs more intentional kindness. There's a manufactured backlash against empathy from Elon Musk to Gad Saad's 'suicidal empathy.' Kindness already operates as a design constraint: the IndieWeb's eleventh principle, Elm's code of conduct, Recurse Center's social rules, Ubuntu's 'I am because we are,' Audre Lorde's anger as care, and Coraline Ada Ehmke's Contributor Covenant. We must reclaim Ruby's MINASWAN culture from the Rails era, and I announce LearnWebDev.fyi, my restoration of Flatiron's retired Learn.co curriculum with 1,672 free lessons.

#292 man.

man is not a certain breed of anonymous, nihilistic blogger who mistakes callousness for wisdom and detachment for depth. man is different. man is better.

#291 A Love Letter to the Super Dimension Fortress

I've finally became an ARPA member of SDF, a non-profit public-access UNIX system running continuously since 1987. I give a history from Ted Uhlemann's 300-baud Apple IIe BBS to today's NetBSD network of DEC Alphas and Opterons; a tour of the shell, gopher, and gemini services; how to join, plus two hands-on bonuses: writing a flat-file Perl CGI guestbook and making a site Dillo-compatible.

#290 Static Site Generators for Beginners

Written for a 32-bit Café thread asking where to even begin with static-site generators. I go over the free resources I'd learn first (and why hand-rolled HTML beats an SSG for your very first site), a plain-language glossary of the jargon docs never define, a brief history from HSC and Movable Type to Jekyll, why git gets recommended everywhere, my own beginner starters, and tiny alternatives like barf, bashblog, and kiki.

#289 LLMs Democratize Extraction and Scale Malice

Responding to Coyote's essay on data ownership, I look at how genAI has democratized the kind of extraction that once required corporate infrastructure—iLands spam agents, scrapers, and agent swarms—why my apathy-and-ignorance approach to AI crawlers is no longer enough, the two competing realities of AI 2027, and the tools and organizing we actually have: ai.robots.txt, Glaze and Nightshade, tech-worker unions, and the CARE and OCAP principles of Indigenous data governance.

#288 Creating a Blog in Gemini://

Creating your own corner of Geminispace: why you'd want to blog on a protocol with no JavaScript, no CSS, and no AI slop; where to host a capsule (SmolPub, the Tildeverse, flounder, Gemcities); how the community's gemlog conventions work; and the surprising social life of Gemini BBS, Station, and Astrobotany. Plus ASCII art, CGI scripting, and every gemini:// link I've found worth keeping.

#287 'Would You Like to Reload a Previous Save?' (➤Yes / No)

Revisiting my maladaptive daydream of waking up at twelve years old with all my present knowledge intact, I weigh the seductive fantasy of correcting every regret—being a better brother to Byron, buying Bitcoin with birthday money—against everything that would be erased: 500,000 words, hard-won relationships, the album that got me through a specific winter. A meditation on the future self who would trade almost anything for one more ordinary day. The door is already halfway closed.

#285 I, CEO: How Medium.com went from being anti-AI to pro-AI

Medium.com went from a defiant anti-AI holdout—blocking GPTBot, rejecting a multimillion-dollar training deal, banning AI writing from monetization—to launching an AI licensing standard and its own AI writing app under CEO Tony Stubblebine. What happens when one man's changing mind becomes a platform's policy, and why I'm still staying.

#284 There is so much to love and celebrate. Reclaim joy. Be open. Forgive.

Taking stock of myself and the world, I reflect on the overwhelming joy of being alive on this Pale Blue Dot—from the billions keeping civilization running to the unpaid volunteers maintaining curl and OpenSSL—and argue that reclaiming joy is an act of resistance against systems built on scarcity and fear. People are inherently good, and there is always room for grace.

#283 It's Christlike to Love Immigrants and Transfolk

Responding to readers who invoke Christianity to defend exclusion, I argue that the Gospels consistently welcome lepers, foreigners, sinners, and gender-nonconforming people while reserving the strongest warnings for the wealthy and powerful. On the Christlike call to love immigrants and trans people, and why compassion cannot be rationed by politics.

#282 A Quarter of a Century Later

On the twenty-fifth anniversary of September 11, I reflect on being five years old and watching the attacks from a green shag carpet in Winnipeg, the cultural aftershocks that still echo through media and memory, and the urgent need to not forget the cruelty and the kindness of that day and its aftermath.

#280 How the Mysterious ScreenJesus can DDoS You

How a bug in my own CI/CD accidentally uncovered a novel vulnerability in NeoCities: ScreenJesus, the undocumented screenshot bot behind thumbnail previews, has no rate limits and will happily visit thousands of your pages—and anything they embed—in minutes. Notes on accidental DDoS, opaque infrastructure, and a plea for caching and rate limiting.

❧

Writing Activity

2026
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
↑ TOP