For Gabbers who like to understand how their software works.

Lists, which are arriving very soon, are technically a variation of the Home feed. And, your Home feed is filtered according to your preferences. Your Lists are, therefore, also filtered according to your preferences.

"Filtered" means muted words/phrases, whole domain blocking, muting/blocking a person, and that is defined by each of you.

Gabbers can adjust their Filters in Preferences.

- - -
For the filtering algorithm, see second attached image. That logic is what executes for every post going into every feed to determine whether the post should be inserted or not inserted into the feed/list.

I am describing:
- app/workers/feed_insert_worker.rb
- app/lib/feed_manager.rb

This is not an area where I will seek to reduce cost. This logic is simply the cost of doing business.

- - -
There is no 'machine learning' in here. You are free to define what you will and will not permit into your home feed and lists. There are no robots in here hiding posts or looking for 'hate speech' beyond what you mute and block.

- - -
This is the logic that determines whether you will or will not see a post. This is the code that applies your preferences to your home feed and lists.

Follow

@robcolbert Where have you been hosting the source code repository? **Still** waiting for it to be open so I can check it out

@freemo It has been open since launch, a link to it exists in the footer of the site, and it is self-hosted in our own GitLab at: code.gab.com/gab/social/gab-so

@robcolbert thanks good to hear. I can finally give you that code feedback I promised. Any particular issues your having worth taking a peek at?

@freemo right now the team is focusing on completing Gab's features. What I want to know is anything we are getting wrong with respect to federation, ActivityPub, etc. How are we (still?) doing a bad job at inter-operating with other instances.

I am no Historian on this project or even the open standards it's built on. I am curious about any deviations Mastodon may have made vs. accepted standards that can't be called an extension (and why). I'd like to know if those deviations (if any) are prolific/adopted widely, and what the risk(s) would be in returning to a pure standard where any deviations may have occurred.

I only mean at the protocol level. The Ruby code is basically getting tossed, a lot of approaches to this & that are being tossed, and the most useful thing I could receive is a road map of what to actually fix as I'm porting services and endpoints over to our HYDRA stack (Node.js) - then help doing that :)

I want all the thoughts, really. Security, design, opportunities to do better. If you'd like to help file Issues at code.gab.com and maybe submit merge requests, please let me know. We'll work that out.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.