I need some #FediDev help:
So If we want to really kill birdsite, we need to do things that are impossible on corporate platforms

I have been working on one idea, #DIYAlgorithms, by adding an API endpoint to let masto lists be manually controlled lists of statuses (instead of lists of accounts), so an external algo can autopopulate them.

I have no idea what i'm doing tho, and we need to move quick before another centralized platform really takes off.

help plz?
https://github.com/sneakers-the-rat/mastodon/tree/feature/postlists

GitHub - sneakers-the-rat/mastodon at feature/postlists

A glitchy but lovable microblogging server. Contribute to sneakers-the-rat/mastodon development by creating an account on GitHub.

GitHub
excruciatingly slow going because i a) don't know ruby, b) don't know rails, and c) no developer docs for mastodon. So by the time I do it by myself then something like post.io or whatever else ppl are running to could already be up and at 'em. Yes it's a marathon and not a sprint but I would love to have something to show the many new fedis this is a place of evolution and all that too. :).
Currently trying to figure out how statuses from other instances are represented in the database, because ideally the API endpoint would be able to just take a list of status IDs in a POST and then pull from existing stored representation of statuses instead of storing entirely separate representation of a post in each list. But stymied by rails whole ActiveRecord <-> database system and can't figure out how to actually *make tables* ugh.
OK here is how snowflake IDs and IDs work, i had been wondering about that. So within a server the "ID" field should work without additional deduplication hopefully??? https://shkspr.mobi/blog/2022/12/snowflake-ids-in-mastodon-and-unique-ids-in-the-fediverse-more-generally/
Snowflake IDs in Mastodon (and Unique IDs in the Fediverse more generally)

Computer Science has two canonical "hard problems": cache invalidation naming things off-by-one errors Let's talk about how we name unique items in Federated services - for example, posts on a social media service. If you have only one service, it's pretty easy. Every time a new entry is created in a database, give it a sequential number. This becomes a problem at scale. If you have millions of users on hundreds of different shards of a database, eventually you'll get a clash of IDs. To …

Terence Eden’s Blog
wow this is such a robust unique ID generator
@jonny I do have Ruby experience but sadly detest rails
@sj I am learning them at the same time so am having a hard time telling where one ends and another begins lol 🙃
@jonny I think you need a migration usually and to update your schema https://guides.rubyonrails.org/v2.3/migrations.html
Ruby on Rails Guides: Migrations

@sj omg all the docs I found were like hand writing migrations and I was like there is no way I'll be able to do that. now to figure out how to actually store posts from an external instance because they seem to uh block the dev instance lol
@jonny maybe just start with some SQL queries and worry about integrating with the frontend later?
@sj it seems to be like weirdly linked? at least frontend as in API, the actual React part that is the browser frontend actually looks like it will take no additional work (mostly why I wanted to patch onto lists instead of making a new thing). like the controller <-> model I think are related, but I can't figure out how to make the model actually make the relevant tables in the db ...
@jonny @sj is there a special reason ruby is necessary for this?
@danwchan with the atemporal bookmark boost lmao
[[diyalgorithms]] at anagora.org

The Agora is a crowdsourced distributed knowledge graph: anagora.org.

@jonny I was/am working on something similar, https://github.com/d3cline/fossilize but there is a lot of resistance in the admin community of gate keepers to open it up to anything, stay in contact though. I am happy to help with projects like this.
GitHub - d3cline/fossilize: Dynamic mastodon domain blocker

Dynamic mastodon domain blocker. Contribute to d3cline/fossilize development by creating an account on GitHub.

GitHub

@jonny I've begun work on something similar: an ActivityPub server which will allow users to upload pure functions to algorithmically sort their own feed while not affecting anyone else's feed.

However, it's not going to be quick.

@jonny This is really cool looking. I'm not a rails expert, but I do a lot with GHA/AWS/CICD/etc and would love to give you a hand.