Oddbean new post about | logout
 I want to completely redesign the Mostr Bridge. 
 Welcome to pain.  
 Why's that? New features? Performance? 
 It was my first ever Nostr project. Which is crazy to think about. I didn't even do a hello world first, I went straight into building an ActivityPub bridge. The thing it needs most is a custom relay built into it, instead of just punting things off to strfry. It's unreliable. And I want to enable really good search functionality and deeper ActivityPub integrations, so that Nostr filters can trigger HTTP requests to ActivityPub content behind the scenes. 
 Strfry is unreliable? 
 The bigger issue is that my design is just not cohesive. The bridge was designed to be an agnostic service, almost entirely in-memory, just transforming things and handing them off in realtime to the other protocol.

But making the strfry relay separate from the bridge itself means I can only control the "output" part of the Nostr flow, and not the "input" part. This is highly limiting in my ability to resolve ActivityPub requests from the Nostr side.

My opinion of strfry is mixed. It's a great feat of engineering but a little unserious. 
 Got it.

What makes Strfry unserious (asking because I am inspired by it, for example using LMDB, and would rather remedy these issues in our homeserver) 
 Extremely complex and reinvention is favoured over reuse.  Given that it performs pretty well.  But I think negentropy will be a nightmare, for complexity reasons, for legal reasons (e.g. user consent is important in many countries).   
 I think it exists on a spectrum, where on one extreme you have enterprise software, designed top-down by stupid managers with everything tacked together, but polished. What I mean is everything is nailed together haphazardly, but they put in so many nails and fine-tune so many adjustments, that it's sturdy anyway. Then they put a facade over it to hide its ugliness. They have analytics, observability (Grafana), monitoring and alerts, etc. But at the end of the day, everything works, and it's taken very seriously if it doesn't.

On the other extreme end you have some crazy evil genius mad scientist guy building strfry on weekends. It's a beautiful fusion of science and art. Do we know how many people use it? No. Do we know what it's doing internally? Not really. Does an alarm go off when it stops working? If anything, having that kind of responsibility would be very off-putting. You can take it or leave it as it is.

I realize I'm just describing open source projects. 
 I think strfry is so complex it will utlimately it will split nostr into two networks, as one group chase a magic bullet with untested mad science.  And the current network that works quite well but is missing a clear growth strategy. You'll end up with a bit of a mess.   
 Interesting analogy and description, regardless of the subject. Thanks. 
 I want to do the same with Nostream 🥹 
 Sir I am sorry. I recently stoped using Nostream after 20 months of service. I'm now using Haven 🥹 
 I really like the Mostr Bridge, a 2.0 would be cool. It's good for Nostr that the bridge exists. 
 The only thing I complain about the bridge is that 90% of the times I reply to someone on mastodon, the reply doesn't appear on mastodon. 10% of the time it does. Ps: it's to the same person on all cases. 
 What's the status on Rebased?  Is it being deprecated in favour of Ditto, or still actively developed?  I'm looking at developing some community-building sites but I don't want to run something that's going to be only on temporary life-support?  Syncing to Fediverse through the Mostr bridge is still kind of iffy with a few servers, but ActivityPub is where the vast majority of users are right now (compared to Nostr anyway), and that's important for community engagement.  I still want to use Soapbox-FE though, since it's so simple to use.