Jonny · @jonny
733 followers · 2394 posts · Server neuromatch.social

Ok I'm gonna try and do 1 hour on per programming day until I get a reasonable prototype with some basic Algo examples, that'll be here: git.jon-e.net/jonny/diyalgo
prior context here: wiki.jon-e.net/Masto_Forks/DIY

the first things I think are simple but the most requested ones I've seen on here:

  • : feed with just the most recent n posts from everyone - to balance us adhd hyperposters with ppl more careful with their words.
  • - to rotate your friends who post at different times from you due to time zone/sleep cycle/etc. into your posting cycle.
  • (@lina ) - a copy of your home feed without posts that have been included in an exclusive feed (and the exclusive feed itself) for situations like eg. where you don't want to mute something but you don't want it to flood your feed

for now this all just world by POSTing an array of status IDs to a modified lists endpoint in order to be maximally general/interoperable with other Algo implementations. things like NRecent make me think there should be some way to do diffs instead, where you remove one item on the feed and/or insert one in a position too tho. maybe I am preoptimizing.

I am thinking the way to do this will be to have a system of
a) features that can be lazily computed for different object types (status, account, or derived types like lists of accounts, etc.)
b) a tree of procession steps with each node returning a value bounded 0-1 and the root being used as the position on the feed. posts that should not be put on a feed have a special value of NA that terminates processing the rest of the tree.
so that
c) an algo can be defined as an easily serializable eg. JSON/#JSONLD-like format that specifies features as dependencies and then describes the processing tree with an array of node objects, each pointing to some node type (and where it comes from, to plan ahead for plugins), parameters, and how it's connected in the tree.
d) eventually, new URL routes/API endpoints so you can link to, follow, and re-use other people's (opt-in public) algos in-medium.

the goal is to get very low-fi, ie. no big data, inaccessible hardware requiring NLP or neural nets and shit - explainability and transparency by designing simpler qualities that people combine in specific ways. yno. like .... designing an algorithm on purpose. for our own benefit, not some investor.

#diyalgorithms #nrecent #chronomatching #exclusivefeeds #monsterdon #longpost #mastodev #mastohacks

Last updated 1 year ago