brine.dev

indieweb

Calling CQ

2026-05-14

Calling CQ

So... there are people that write a blog and there are bloggers. Bloggers don't write "content". I mean, we do. Posts are technically content but bloggers do not fill a slot. To a blogger, a blog is... a role; an identity. A person with a blog owns a tool, the way they might own a guitar. A blogger is a musician; the blog is their instrument.

But a better analogy, one for my fellow bloggers: Blogging is like ham radio.

Hams and bloggers share a technical intimacy. One won't shut up about their antenna setup; the other has opinions about RSS. There’s a quiet pride in knowing how the signal gets from your voice, your words, to a stranger. More interestingly, we also share a loneliness. Not the sad kind. The necessary kind. The kind that comes from choosing a decentralized, unamplified frequency in a world optimized for noise. We transmit into the ether. It's not about reach, it's about resonance; ripples. You throw a stone into the pond waiting for a response that may never come. But the excitement when it does... is wondrous.

A trackback. A mention. A signal report: 59, QTH confirmed. Contact.

Alex, David, Hamish, Sebastian, copy.

#openweb #indieweb #bloggers

In the Colosseum or: How I Learned to Stop Worrying and Ignore Platform-Brain

2026-05-09

Platform-Brain is brutal. It is nearly impossible to escape. The Fediverse itself is an example: let's remake all the platforms... but more ethical? This was a bad move or at the very least, a missed opportunity.

Twitter is both horrible and perfect. Posts the size of a punchline and the ability to @ anyone is a perfect cocktail for hot takes and dunking. But an "ethical" version of this is just kinda... boring.

But boring is good. Boring is right, boring works. Boring clarifies, cuts through, and captures the essence of the evolutionary spirit. It's platform-brain that convinces us that we need the ethical colosseum, and its lobby is powerful. Only to be defeated by giving up reach, the dopamine of "likes," and ultimately, attention itself.

Good luck with that.

While writing discover I was constantly challenging my own platform-brain. No ethical retreads, just look at a problem and find the best way(s) to solve it. And let me tell ya... it was fucking hard.

As its "clever" name reveals: discover is about discovery. How do I find blogs I want to read? And given those blogs, can I build a non-algorithmic feed that takes the place of platform algorithms? The premise itself had me skating perilously close to the open ice of platform-brain.

"Likes" for example. People LOVE likes. It is trivial to add a script that can track likes on blog posts in the directory. But likes are a keystone of the colosseum. Dopamine that rewards performance. Not evil in and of itself... until they become a measurement target. Now you’re pitting the sword of a post about AI against the wood block of a post about 19th-century typography.

So I traded "Likes" for Mentions. If you REALLY like a post, link to it and respond from your own blog; your platform. If this seems "boring" it's because it requires effort. Friction. It says: I read this, it lives alongside my own thoughts, and I’m willing to host the connection. It's the web's slow drip of dopamine delivered by the enemy of the platform: RSS.

And my respect for RSS led somewhere completely unexpected...

During testing, I made a quiet rule: if a feed doesn't deliver the full-text posts—no snippets, no "read more," no clickthroughs—it doesn't get into discover. Controversial? Maybe. I understand why people do this. All good. It just doesn't fit with how I built discover.

But the really interesting bit: writers who DO publish full-text feeds are the ones I gravitate towards. These are the people writing for themselves; that are over themselves. These are my people and I'm curious what they have to say. This is the antithesis of Twitter's punchline economy and proof that the boring and generous include my favorite voices.

Is this... unreasonable?

Let me quote Mike Watt: "start your own band". I welcome anyone to fork discover and curate to their taste; their rules. If you do, hit me up. I'll add the ability to share playlists between instances (and also mentions).

Federation by fork!

#openweb #indieweb #discover #rss

Discover: A Love Letter To RSS

2026-04-26

So... I wrote discover. I've been dreading writing this post because I have SO much shit spinning around in my head that I'd rather talk about. But it's adjacent to discover... so I need to start there. Fine.

discover is a curated list of RSS feeds worth following. Feeds from people writing, making and thinking. High quality signal.

See, this is why I didn't wanna write this. I just re-wrote the about page blurb. But here's the deal, it actually addresses the two biggest issues I see with the #OpenWeb: discovery and algorithm.

Another directory? Yes. Kinda. Directories are fine but they often include EVERYBODY. This is an altruistic ideal but drudging through a sea of "my first blog post" feeds is a subpar way to find feeds with high signal.

The epiphany was staring me in the face, literally, daily: playlists. Our platform overlords know this. Playlists are a great way to curate by vibe. It works for music, why not blogs? Slap an evocative title onto feeds that share connective tissue and you've got a compelling story. Throw in search & tags; photos and excerpts, and you're cooking!

But that's the fun tech part. The less fun realization is you have to curate to signal. You have to leave low-signal blogs behind. This was hard. Easier were leaving behind people who just want clickthroughs; viciously truncated feeds with little to no meat on the bone. Gone. Blogs that are social media engagement funnels or link farms? Nope. But if you're over yourself (that's honestly a big one) and doing and curious and sharing and writing and give a shit? I wanna read you.

And no judgements. To each their blog. But let's be clear: if you're thirsty for reach, you belong on a platform.

The algorithm. So the feed section started off as a shopping cart. Add the feeds you like to your "cart" and "checkout" via OPML. But when I was testing it... I started digging it as a legit feed. I did NOT want to build a reader. There's a zillion of 'em and people are very particular about readers. No thanks. But I did build a basic reader into discover to help me curate. And I just enjoyed reading that way. So out went the cart and in came a human-curated algorithm. The feedback I'm getting on it is wildly positive. And I love it too. I love it when a plan comes together.

Now, the other bit that was really bugging me: trackbacks. I originally had Webmentions wired up but it was just too much. Too much fuss; too little adoption. Not it. I struggled with this... but the answer was again, staring me figuratively in the face: I already had a trust layer. ~200 hand-curated feeds, fetched every hour. I bet they were linking to each other? They were! 108 cross-links. Real writers citing each other's real work.

So just surface those cross-links into a mentions feed that an author can subscribe to and see the conversation. Dope. But it's discover as a gatekeeper (which I typically loathe) that makes this possible. Otherwise it's back to the Pingback days but with today's AI bots. We all know where that goes.

So the TL;DR is: I wrote trackbacks with pure RSS. Thank you RSS!

#discover #openweb #indieweb #rss

Postcard from Kyiv

2026-03-19

"When a measure becomes a target, it ceases to be a good measure." ~ Goodhart's Law paraphrased

I'm paraphrasing Charles Goodhart from 1975. He was talking about monetary policy but it it applies to every metric humans have invented; ever. And in 1975 he nailed the truth about today's platforms, as they dole out dopamine in the form of likes, boosts, followers and subscribers.

To be clear, I'm not knocking dopamine. It's delicious. But dopamine is like masturbation: it should be kept private (not looking at you, Louie).

It's amazing how clean the manipulation is. Public metrics turn people into creators and creators into performers. You're not writing anymore, you're feeding the loop. The number is the leash and you hand it to the platforms voluntarily.

But I needs me some dopamine... so I built private analytics. And it's glorious.

There's a person in Ukraine who hits Rando on the regular. I don't know their name. I don't know how or why they use Rando. I just see a flag, a city, a timestamp. And every time I see it I think: I hope they're okay.

That's not a metric. That's a person.

Platforms give us follower counts. The web gives us a person in Ukraine we've never met but somehow feel connected to. One of those things is manipulation cosplaying as community. The other one is just... human.

There are three relationships you can have with audience data:

  1. platform metrics: the leash. DANCE MONKEY!
  2. private vanity: the masturbation. Harmless. Honestly fine.
  3. genuine wonder: someone in Kyiv read your shit. Why? Doesn't matter. Magic.

Platforms only do the first one. They figured out the second and third don't keep you posting.

I see flags from Australia, Brazil, Vietnam, Ukraine. Each one is a person who found this thing I made, across the entire internet, and came back. I don't have enough hits to lose track of them. That used to feel like something to apologize for; now I think it's the point.

Web 1.0 was small and wonderful because every connection felt like a miracle. Someone in Finland found your Geocities page. How? Why? Doesn't matter. That's the web. That's what it was always supposed to feel like. Magic. Platforms killed the magic by making it measurable; comparative. Turned wonder into a scorecard.

The flags in my dashboard aren't a growth metric. They're postcards.

I hope you're okay, Ukraine.

#indieweb

#feedi #indieweb #analytics

Accidental IndieWeb

2026-03-10

For the past week I've been rewriting the software I use to run this blog. Yes... I'm that kind of dummy. The kind that writes their own blog software. ¯\_(ツ)_/¯ For years, this blog has been a static website, written in markdown and hosted on Github Pages. Total cost: $0.

Discord's latest enshitification scare—the one where they assume we're all teenagers unless we give them our face/ID—got me peeking around the Fediverse again. Tl;dr: it's still a ghost town and not overly interesting. BUT, maybe the tools are interesting? So I started setting up ActivityPub and Webfinger and .well-known and connecting my little blog to the Fediverse. I got it into a workable state and then discovered something...

Fuck the Fediverse. Why am I busting my butt so people I don't know can like/boost my thoughts? No. Hell no. Rip all that crap outta there. I don't want micro blogging; I want MACRO blogging! I want a blog... and my RSS reader... and my podcast host... and good analytics... all on my own domain, that I control forever.

And thus, feedi was born. Webring/Blogroll 2.0 that brings back Web 1.0

  • my static blog written in markdown
  • rip out the #hash routing and use real routes this time
  • real routes don't work with static so push to CloudFlare Workers on the edge (sorry for all the broken links)
  • an RSS reader built right in: don't tell me what blogs/sites you follow, show me. Now THAT'S discovery
  • and since I have real logs, let's have REAL analytics
  • functional javascript, TDD, and only ONE dependency (Marked for markdown... I mean, I'm not THAT big of a dummy!)
  • treat RSS like the first class citizen it should be
  • make use of fed.brid.gy to allow the Fediverse to find/follow me
  • total cost: $0; runs on CF's free tier

A week later (and a LOT of swearing) and you're now soaking in it.

Markdown

EVERYTHING I write is in markdown. Plain text, portable, beautiful. There's no other choice. No micropub here... we're good; thanks.

Hash Routing

This was the old #post?s=my_post routing. Great for static sites but the web doesn't play well with it. So yeah, I broke every link I've posted... sorry... but it was time. And now, legit routes /posts/my_post.

RSS Reader

Since google killed Google Reader, I've been using Feedly to read blogs; in dark mode; without ads; with larger, readable fonts. But why not just build that into feedi? Show-don't-tell who I'm following; what I'm reading. Actual discovery right in my own blog... for free.

Analytics

Do I need analytics? Not especially. But I do like to see what people are reading of mine. Keep your likes/boosts/follows... I prefer my dopamine in analytical form. I enjoy seeing the crazy number of people all over the world knocking on my door. And the sheer tonnage of bots. Amazing.

And mine are beautiful and safe. IPs are all hashed. Just who showed up; from where; by what means; and what they read.

RSS As First Class Citizen

RSS is great. Always has been. And it's everywhere. The centralized big boys and podcast hosts hate it, and try to kill it, but it will outlive us all. Blogs, Reddit, Craigslist, Wikipedia, Mastodon, etc... all RSS feeds. And now I can add and read them directly on my site.

In feedi, RSS is the source of truth, HTML is the view and the Fediverse is a mirror

So What?

I ended up writing an IndieWeb tool before I knew what IndieWeb was. Classic. But it makes sense: POSSE (Publish (on your) Own Site, Syndicate Elsewhere) is just how my brain works. It's how it's supposed to work.

feedi is open source so feel free to go build your own chunk of Web 1.0. Fill your feeds with your favorites. Own your words. Own your analytics. Tell the platforms to fuck off. The web isn't dead, it's just been renting.

#feedi #indieweb #blog_update