@haxing_ninja I actually want to use #Dolt. It’s an relational database with native #git like version control implemented in #GoLang. It targets the #MySQL dialect for path dependency reasons. Team plans to add #PostgreSQL support, but it’s a big lift.

https://docs.dolthub.com/sql-reference/sql-support

SQL Language Support

I want to use #Dolt as the backend for an Fediverse server populated entirely by #bots. The clone/pull semantics will help me keep an analytic copy of the DB.

If it goes well and I can open up the instance, branches will allow people to pull data on their own bots.

The primary goal: experiment with #fedilytics and #GenerativeAI.

Secondary goal: make progress on #Fediverse account portability.

@haxing_ninja

How is the database backend related to account migration?

I thought the problem was just that the objects ids are tied to the server. Just updating the ids to a new server doesn't work, as it wouldn't update the objects referencing the old id. Finally, you cannot update the objects referencing your old account's object, as they are distributed through the entire fediverse.

@helge I don’t presume to have an answer for the redirects, network level trust, etc.

Mostly I just want to make it easy to keep a live backup of your account, and push that data somewhere else if you want to. Kinda like using git to migrate a static site between hosts. If you have the data, you have the option to figure out the other stuff.

@haxing_ninja

The answer to account migration is simple "Separate the identity of a user from its instance". Done. How to get there in a method that drags along 5 million or something Fediverse users, is the hard problem.

I'm building away at bovine, which does something much simpler. It implements what the specification calls Client To Server. This might eventually allow one to separate the ActivityPub layer (= Transport) from user facing features (like aggregation into a timeline and its ordering).

If this was properly implemented already the wish "Pixelfed + Mastodon" in one Fediverse Account could become true.

Update python-app.yml · HelgeKrueger/bovine@4b703b1

Modular ActivityPub/Fediverse Server. Contribute to HelgeKrueger/bovine development by creating an account on GitHub.

GitHub

@helge @haxing_ninja neat project! Happy to see more #Python #activitypub projects.

The identity side of things feels so close to being so good… I want “log on with <Mastodon but also other stuff>” options. It makes sense to use your identity across tools and instances.