you are viewing a single comment's thread.

view the rest of the comments →

[–]JasonCarswell 5 insightful - 1 fun5 insightful - 0 fun6 insightful - 1 fun -  (3 children)

Does NotABug use the SaidIt code or the old-Reddit code or is it an entirely different but largely parallel fork?

[–]go1dfish[S] 5 insightful - 1 fun5 insightful - 0 fun6 insightful - 1 fun -  (2 children)

It does not use the SaidIt code, in terms of reddit code it uses Reddit's open-source CSS and React components based on the HTML output of open-source reddit. It shares this code with https://ceddit.com which I also built, and in 2020 I want to try unifying these codebases into a universal multi-forum site client that would be usable for notabug, saidit and reddit, possibly voat and others as well.

[–]JasonCarswell 6 insightful - 1 fun6 insightful - 0 fun7 insightful - 1 fun -  (1 child)

Fucking brilliant! Federated too!

After you do all that I'd almost be tempted to start my own site too. But I'm not leadership material, can't even keep up on SaidIt, don't really do forums much, and I'd want more in the wiki realm.

Any chance you might eventually consider bridging to MediaWiki (vastly superior tools)? Robin of WikiSpooks seems open to it.

Also, I would love to see Dissenter and/or CommentFreely type extra layer(s) over Wikipedia, etc.

But I digress.

Would you consider modifying the voting mechanisms for more precise results? I have some ideas I'd like to hear your take on. Also "categories" and/or metatags?

[–]go1dfish[S] 4 insightful - 1 fun4 insightful - 0 fun5 insightful - 1 fun -  (0 children)

Any chance you might eventually consider bridging to MediaWiki

NAB does have the idea of wiki-like pages (mainly used for space configs, sidebars and the policy pages in the footer). Pulling things into notabug's data structures is relatively simple (though for a wiki would be more difficult to keep links working) making things bidirectional is typically harder.

This is because NAB's data structures are all geared towards eventual federation/p2p most significantly in that content is identified by hashes rather than (in the case of saidit) sequential identifiers.

The ingest of SaidIt->Notabug involves converting data from saidit to nab's format. This involves tracking a mapping of all saidit content to the nab copies. This is the mapping of this submission for example

The downside of this is that my Saidit ingest bot serves as a central authority, you have to trust it to be accurate, I could shut it down, or have it lie about content.

This will be true of pretty much any ingest from a more centralized site that allows content editing. (If content never changes this could be different)

I don't think possible to do a totally decentralized federation of centralized data sources as a result. If you ran a nab peer you'd be able to easily replicate my ingest of SaidIt (even in realtime) but other than serving to mirror that content you wouldn't be able to contribute to the health of that federation (The SaidIt ingest bot is a single point of failure) you could run your own of course, but this would duplicate the content and you'd have your own ids/mapping

For many of the same reasons, doing a two-way sync from notabug <-> centralized service is going to be difficult to pull off, and will always have that single point of failure in the ingest. But once ingested into nab, mirroring that content does get quite simple.

With a wiki this potentially gets more difficult (even in the unidirectional case) because you would want to sync edits into nab. Currently saidit edits do not get reflected in nab as it only has a reliable way to detect new items, not new edits to existing items (this is also what makes realtime ingest of saidit votes currently impossible at best these would be a periodic poll and you can't do that realistically against all of saidit's content)

Would you consider modifying the voting mechanisms for more precise results?

The data schema defines buckets for the existing proof of work-based voting, but the displayed scores are aggregated and signed by what I call a tabulator (can be thought of as part of the indexer)

It's possible for spaces to define alternate indexers/tabulators (though these must run as a service somewhere a bit like a bot) The vote counts returned by the tabulator can be totally arbitrary and do not have to correspond to the PoW vote data in any way.

This makes it possible for the nab data structure to support different vote types and communicate the results of those votes between different peers. If/when we figure out the best way to pull in saidit scores I will likely have the SaidIt bot present as a tabulator that simply records the totals from saidit in notabug's tabulator format, and have a space that uses this for sorting saidit content. This obviously wouldn't allow for sending votes back though.

I have some ideas I'd like to hear your take on. Also "categories" and/or metatags?

This is one of those things that working on the saidit ingest got me thinking about after I built out the separate https://notabug.io/t/saidit.all topic structures. I think it makes sense to have nab support sub topics (a bit like usenet) so a topic of programming.javascript.react would propagate to programming.javascript and just programming topics. Doing this is going to require a significant change in my data structures and a large re-process of my database, and is something I want to get in place before we setup the saidit peer because it will be harder to do afterwards.