Emergency account of a not-so-average OpenSim avatar. Mostly active on Hubzilla.

  • 1 Post
  • 66 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle


  • Hubzilla. Closely followed by the intentionally nameless fork of a fork… of Hubzilla that’s colloquially being referred to as (streams).

    Perks of both (excerpt):

    • not based on ActivityPub, it’s actually optional; you can turn/keep it off if you want to
    • nomadic identity; my channels are resilient against instance shutdown because they aren’t restricted to one instance
    • multiple channels = IDs on one and the same account/login; no need to register additional user accounts for this, and you can easily switch back and forth between channels
    • OpenWebAuth magic single sign-on, both client-side and server-side support
    • very extensive permission settings that let me control what I see, what I don’t see and what others can see and do
    • per-contact permission settings
    • per-channel blacklist/whitelist filter plus per-contact blacklist/whitelist filters plus keyword-triggered, automatically generated, reader-side content warnings, supporting regex and (except the latter) a special filter syntax for extra features
    • what’s “lists” on Mastodon is actually useful because you can use it both to filter your stream and to limit whom you send a post to, not to mention much easier to maintain
    • a concept of conversations, you can follow entire discussions, and you generally receive all replies to a post (something that at least Mastodon doesn’t have, by the way)
    • not only native support for discussion groups/forums, but they can and do host their own moderated discussion groups/forums (Mastodon has neither)
    • no arbitrary character limits, characters only limited by the instance database (on (streams), that’s theoretically over 24,000,000 characters for one post)
    • probably more text formatting options than your typical blogging platform and definitely more than any microblogging project in the Fediverse
    • full-blown blog posts rendered gracefully
    • non-standard BBcode tags for special features, often observer-aware
    • embedded links; no need to plaster URLs into your posts in plain sight
    • images can be embedded “in-line” within the post with text above them and text below them
    • no limit on how many images a post can have
    • unlimited poll options
    • multiple-word hashtags
    • post categories in addition to hashtags
    • tag cloud plus category cloud/list
    • quotes
    • “quote-tweets”
    • extensively customisable Web UI
    • built-in file storage with a built-in file manager, per-file and per-directory permissions settings and WebDAV support that’s used for images and other media you embed in your posts (unlike on Mastodon and Lemmy, you know where your uploaded images land, and you can delete them yourself if you need to)
    • federated event calendar with support for Event-type objects
    • built-in CalDAV calendar server (headless on (streams))
    • built-in CardDAV address book server (headless)
    • support for OAuth and OAuth2
    • modular; can be extended with official or, if available, third-party “apps”, widgets and themes

    Extra perks of Hubzilla:

    • currently more reliable
    • more active development
    • easier to get new users on board because hubs are listed on various Fediverse sites, and more public hubs are available
    • newer and more configurable version of the Redbasic theme
    • switchable night mode
    • multiple profiles per channel which can be assigned to certain connections
    • you can configure new connections before you confirm them
    • can also connect to diaspora*
    • can also subscribe to RSS and Atom feeds
    • event calendar also doubles as a basic frontend for the CalDAV server
    • non-federating, long-form articles
    • “cards” that work largely the same
    • built-in wiki engine based on either BBcode or Markdown for as many wikis of your own as you want to, each with as many pages as you want
    • support for webpages (the official Hubzilla website is on a Hubzilla channel itself)

    Extra perks of (streams):

    • more advanced
    • better integration of ActivityPub into the two supported nomadic protocols
    • contact suggestions also include ActivityPub contacts
    • new default theme in addition to an older Redbasic version
    • reworked, more powerful but easier-to-use permissions system
    • easier to use once you’re on board
    • supports BBcode, Markdown and HTML within the same post
    • can set Mastodon’s sensitive flag for images
    • built-in announcement/boost/repost/renote/repeat remover, no need to use filter syntax for that
    • extra protection against both mention spam and hashtag spam
    • alt-text can be added to images upon upload, no need to graft it into the image-embedding markup code
    • verification of external identities (available on Mastodon as well, but not on Hubzilla)






  • I’d pretty routinely have federation issues, missing posts from my TL, and posts that would just repeat endlessly in the TL until I reloaded the page. And those are problems I experienced on every fork I tried.

    From what I’ve heard, they’ve all inherited these very same issues from Misskey. And apparently, they aren’t trivial to fix, otherwise either Misskey or any of the Forkeys would have succeeded.

    I guess your best bet is to wait for Iceshrimp.NET going fully public and ideally stable. It’s no longer a Forkey. It’s rather a complete re-write from scratch of Iceshrimp, no longer in TypeScript and Vue.js, but in C#. Apparently, Misskey’s codebase (plus what Calckey/Firefish added) was so bad that this was the most promising step to take.

    Also, app support isn’t great.

    Found the former Sharkey user.

    Sharkey’s Mastodon API implementation is infamously terrible. The Sharkey community is still waiting for someone to step in and re-write the Mastodon API implementation from the ground up, so bad is it.

    But another issue is that everyone who could theoretically develop a mobile Fediverse app is on Mastodon. And so, instead of a good *key app, you get yet another Mastodon-only iPhone app and yet another Mastodon-only iPhone app from people who don’t even know that the Fediverse is more than Mastodon.


  • Bluesky:

    • Download official, fully featured app and not something utterly crippled
    • Looks and feels like Twitter
    • No weird tech mumbo-jumbo (WTF is a server, is that like a Discord server, what’s that gotta do with Twitter) confusing you because there are no instances to choose from
    • Make an account
    • UI, UX, look & feel 100%, 1:1 fully identical with immediate pre-Musk Twitter
    • No need to get used to anything because literally everything stays precisely the same as what you’re used to, only that it’s no longer “Twitter” or “X” or “tweets”
    • Use it literally precisely the same as Twitter
    • Pretend you’re still on Twitter, it won’t make a difference

    If Mastodon wanted to compete with this, it would have to

    • replace its default Web UI with an even more faithful clone of the immediate pre-Musk Twitter Web UI,
    • replace its official app with something that’s absolutely identical to the immediate pre-Musk Twitter app in all but name and branding
    • remove the instance chooser without introducing any other option of joining any other instance than mastodon.social
    • completely hide decentralisation and instances from newbies, ideally for a few months or years after they’ve joined
    • introduce a content-forwarding algorithm like the one on X, but better
    • forcibly ban Mastodon’s user-grown culture and force pre-Musk Twitter culture upon everyone
    • mollycoddle its users for months or years so that Mastodon really feels like “literally Twitter without Musk” by shielding them from not only all hints that Mastodon is different, but also from the entire rest of the Fediverse


  • If you’ve never in your live chosen anything that has to do with IT, if all you know is centralised, monolithic silos, then you can’t be expected to first choose one out of literal dozens of microblogging projects in the Fediverse and then one out of dozens, hundreds or thousands of instances.

    The Fediverse would be a whole lot smaller if not all newbies who didn’t come from Reddit were railroaded hard to mastodon.social. Oh, and Lemmy would be a whole lot smaller without Redditors having been railroaded first to lemmy.ml and now to lemmy.world.


  • Firefish will be discontinued around the end of the year.

    Here’s the context: Calckey/Firefish, a direct Misskey soft fork was mostly a one-person show, entirely run by Kainoa who was also the sole tech admin of the lighthouse instance. There were other devs, but Kainoa was the sole maintainer and the only one who could merge patches into production code. Nobody else was ever authorised to do so. Calckey/Firefish was Kainoa’s baby.

    In late 2023, Kainoa largely disappeared from the face of the Earth. No engagement with the Fediverse at all anymore. There were sparse signs of life, but that was all. Turned out Kainoa had graduated and started a job and didn’t even have a few seconds to post anything into the Fediverse. In the meantime, Firefish didn’t follow Misskey’s development and got stuck on Misskey 12 level while Misskey went to version 14. Also, the lighthouse instance whose only tech admin was Kainoa completely crapped off and became entirely unuseable.

    All other devs jumped ship. I think both Iceshrimp and Sharkey were launched by former Firefish devs (at least one of them was, Iceshrimp being a former hard fork of Firefish which was quickly rebased into a more up-to-date Misskey soft fork whereas Sharkey started out as a Misskey soft fork right away.

    After about half a year, Kainoa came back and promised that things would continue. But someone else had to continue it. And that was Naskya. It was up to her to continue, but with zero help from Kainoa. The latter didn’t want to continue any of the existing Firefish sites, not the website, not the lighthouse instance, not even the code repository because all three ran on Firefish-specific domains which Kainoa probably couldn’t be bothered to transfer. All three were scheduled to shut down which is why many people think Firefish is dead: The old links no longer work.

    So when Naskya took over, she had to set up a wholly new code repository, essentially fork Kainoa’s repository as long as it still existed (Naskya’s Firefish is a hard fork of Kainoa’s Firefish, technically speaking) and set up a new llighthouse instance. But since she ended up the only dev, it became much too much work. And so she announced to discontinue Firefish by the end of 2024.

    Iceshrimp was designed for stability which is also why a number of Firefish features had been kicked out. It itself is on maintenance for as long as it will continue to exist, which won’t be that long.

    The reason: Iceshrimp.NET. The Iceshrimp devs decided to no longer put up with Misskey’s mangled, faulty code base and no longer try to patch what’s broken on Misskey’s side. And besides, a Fediverse server application entirely based on JavaScript (TypeScript + Node.js) doesn’t sound that much like a good idea. Instead, the Iceshrimp devs decided to re-write all of Iceshrimp from scratch, from the ground up, in C#. This is far from done which means it’s even farther from being daily-driveable.

    So you’ve got two Iceshrimps now: One is a Forkey and only receives bugfixes or security patches anymore, if anything. One is not a Forkey and not ready for public deployment yet either.

    Sharkey used to be the king of features, but at the cost of reliability. Especially Sharkey’s Mastodon API implementation is infamously bad. The Sharkey community has been waiting for someone to step up and develop a completely new Mastodon API implementation for Sharkey for I don’t know how long.

    Also, the Sharkey devs lost a whole lot of community support when they collected donations for a server for Sharkey purposes and then took the money to set up a Minecraft server. Make of that what you want.

    News on Catodon are sparse, if there are any. But then again, Catodon is Iceshrimp dumbed down for Mastodon converts’ convenience with a UI that’s as close as possible to the default Mastodon Web UI. That’s probably not what you’re looking for.

    And it being Iceshrimp-based may pretty well mean that the Catodon development is halted and waiting for Iceshrimp.NET to be released so that Catodon can be rebased from the dead TypeScript/Node.js Iceshrimp codebase to the new C# Iceshrimp.NET codebase.

    And then there’s CherryPick. AFAIK, it’s a Japan-based Sharkey soft-fork in which a whole lot of Misskey and Sharkey issues have been fixed; don’t ask me for details, I only know this stuff from hearsay. Basically, CherryPick is Sharkey in good. Or in better.

    Caveats: Like Misskey, CherryPick is developed in Japan. I wouldn’t count on any of the devs, much less all of them, being fluent in English or anything else that isn’t Japanese. Also, there’s one (1) public instance outside of East Asia; it’s located in the Washington, D.C. metropolitan area. All the other instances are in and around Tokyo and Seoul.

    All this combined may be why next to nobody in the West even knows that CherryPick exists.


  • I’m not even only talking about a 24-hour lag. I’m talking about parts of the Fediverse never being discovered at all. After all, the Fediverse doesn’t have a centralised DNS of its own in which all instances are registered but only them, where a search crawler could simply look them up.

    Even if someone developed a Web search crawler much like the Google Bot, something that crawls the entire WWW looking for Fediverse instances, how is it supposed to tell Fediverse instances from websites that aren’t Fediverse instances?

    I bet the first two proposals for solutions wouldn’t work with (streams).

    The first proposal would probably be to go for the instance type, like “mastodon” or “lemmy” or “mbin” or “akkoma” or “misskey” or whatever. This, however, would require valid instance types to be manually added to a kind of config file from which the search crawler could look valid instance types up. This, in turn, would only work if this list was constantly kept complete and up-to-date.

    This means: Whenever someone launches a new project, the identifier of this project will have to be added to the list. Whenever someone forks something into a new project, ditto. Now let the devs of the crawler have as little time as the Plume devs or as the sole Firefish dev early this year, and the list of Fediverse instance types will spend months outdated with new projects missing, and the crawler won’t recognise the instances of these new projects as Fediverse projects.

    Oh, and it wouldn’t work with (streams) at all. See, (streams) is intentionally without a name, without a brand identity and even without a unified, pre-defined, fixed instance type. It isn’t like all instances identify as “streams” or “(streams)”. Some identify as “streams”, but many others have unique types. The crawler wouldn’t know these identifiers as valid Fediverse instance types (how is that crawler supposed to know that “bunny of doom” is a Fediverse identifier), and thus, it wouldn’t be able to identify (streams) instances as Fediverse instances.

    Now you could say that (streams) is so tiny that it wouldn’t hurt to sweep it under the rug. Nobody would notice.

    But that’d exactly be the problem. One of the (streams) users is the guy who created (streams) and everything before it all the way back to Mistpark in 2010, the one man who developed more Fediverse protocols and server applications than anyone, the man who invented nomadic identity and magic single sign-on: Mike Macgirvin. He is on one out of only two instances that identify as “y” (because Y is not X).

    He is one of the few people in the Fediverse who actually post about what’s possible in the Fediverse that goes way beyond Mastodon. Not only possible, but readily available right now. He started advertising (streams) in the wake of the mass-migration of Twitter users to Mastodon. And if his most recent creation, Forte, manages to take off, he’ll probably advertise that. If (streams) wasn’t caught by crawlers, nobody would read his advertisement except those who already follow him, and I guess half of them already know his creations and what they can do.

    Hard-coding the custom identifiers of (streams) instances into the list is a stupid idea, too. The instance type is not defined upon installation in a config file. It’s an admin-side free-text field that can be changed anytime with no consequences for connections, just because the admin feels like it.

    Okay, so here’s the second proposal: Go for nodeinfo. The problem this time: Mike has also intentionally removed almost all nodeinfo code from (streams). He didn’t want (streams) to participate in that eternal rat race between Fediverse projects and Fediverse instances for the best stats on FediDB, Fediverse Observer and The Federation. In fact, (streams) is entirely absent from all three. This, too, is intentional.

    If anyone has a better idea, I’m all ears.



  • Still, the issue would be to find all instances of all Fediverse server applications.

    I mean, the idea was to cover the whole Fediverse with that search. Literally everything.

    Like, imagine I spin up my own instance of Forte on a home server to try it out and see if it already works.

    How’s a Fediverse search engine supposed to know about my brand-new Forte instance? Clairvoyance? Hah. A crawler? Yeah, right, as if any crawler out there was fast enough to discover a brand-new instance of something that doesn’t have a running instance at all yet. At least not beyond enclosed, experimental instances detached from the rest of the Fediverse.

    I mean, instead of Forte, I could also install what Forte was forked from, namely something colloquially referred to as (streams). Something that intentionally doesn’t have a name, doesn’t have a brand identity, doesn’t have a unified server identifier. Unlike Mastodon whose instances all identify as “mastodon” and Lemmy whose instances all identify as “lemmy” and Hubzilla whose instances all identify as “hubzilla”, (streams) instances don’t all identify the same. That field is customisable. And it has been customised for as long as (streams) has been around. You can’t reliably crawl (streams) instances. Instead of “streams”, they can identify as “y” (because Y is not X) or “get ready to rumbly” (public instance actually) or “bunny of doom” or “diversi spiritus”.

    In fact, crawlers would have to be able to identify any kind of Fediverse server software. Even if someone has only just forked something, a crawler would be able to recognise it as Fediverse server software. If you hard-code server identifiers into the crawler, it’d be out-of-date as soon as someone decides to fork Mastodon or Misskey or Firefish or Sharkey or whatever again. And, as mentioned above, you can’t crawl (streams) instances by identifier.

    It simply is impossible to discover and index the whole Fediverse by crawling, Google-style. And if a Fediverse search engine can’t discover a (streams) instance that identifies as “y”, it can’t index the content coming from the man who created (streams) and Forte and still occasionally develops both. The man who created the oldest still existing Fediverse project, Friendica, as well as the Swiss Army knife of the Fediverse, Hubzilla, and the very concept of nomadic identity. One of the most competent and experienced Fediverse devs ever. A crawler couldn’t find him.

    Still, the search engine needs to know all Fediverse instances, right?

    Well, if crawling fails, and crawling does fail, there’s only one way to achieve that: Each instance would have to announce its presence to anything that’s supposed to be able to search the Fediverse.

    But in order to be able that, each instance would have to know everything that can search the Fediverse. And all instances of it. Every single one of them.

    And if it shall announce its existence when it spins up for the first time, it will have to know all these search instances immediately before spinning up.

    How can it possibly know them all before even going online itself?

    Two options. Either a centralised list of all search instance that’s being updated as soon as a new one is spun up.

    But you said, “federated.” As in not centralised.

    Or the list would have to be built into the source code as it’s being git pulled from the code repository. In fact, the list would have to be git pulled from the code repository immediately before the server spins up so that it’s up-to-date when the server spins up. This would mean that the whole server software would have to be updated before start-up.

    Of course, each Fediverse server software project that’s started from scratch would have to implement this list, otherwise its instances couldn’t be found.

    But how is this list supposed to be kept up-to-date?

    I mean, let’s suppose what has been spun up here is something that has Fediverse search built in. It itself would have to be added to this list so that other new instances can announce themselves to this new instance, so that it can find them and index their content.

    So how is this new search-equipped instance supposed to be added to the list of search instances?

    Shall it add itself to the list by manipulating the production code of all Fediverse server applications that have Fediverse search built in? Past the maintainers and without their consent?

    Perfect search that covers 100% of the Fediverse has to rely on lists of some kind, that’s clear. The Fediverse changes too quickly to be crawlable. It’s too diverse to be crawlable. And it has server software which itself is inherently uncrawlable because it’s undiscoverable by design.

    But such lists are impossible to always be kept up-to-date, too.


  • Feels like the A.1 issue of Mastadon as a platform. If person A on instance Q wants to follow person B on instance R, there’s no straight line easy path to do that. Compared to Twitter or BlueSky or Threads, where its all one ecosystem and you just say “I’d like to follow @LieutenantDickweasel” and now you’ve got their posts in your stream, Mastadon is byzantine and not worth the effort to explore.

    You do know that the Fediverse is more than just Mastodon, Truth Social and the Threadiverse?

    Search that covers 100% of the Fediverse is technologically impossible. Any Fediverse-wide search would need to know all of the Fediverse. All of it.

    Like, let’s suppose R is B’s personal instance. Let’s suppose B spins up the instance for the first time. Any all-encompassing Fediverse search would have to know about it immediately. The very millisecond Apache or nginx or whatever comes to life, that search would have to know it’s there to be able to always cover exactly 100% of the Fediverse.

    How’s that supposed to work?

    If it’s one centralised search engine, it would have to be hard-coded into the source code of every last Fediverse project out there so all new instances can automatically announce their existence to the search engine.

    And that’s not four projects or so. It’s over 100. Not only Mastodon, Lemmy, Mbin and PieFed. It’s also Ecko and Hometown and Glitch and many other Mastodon forks. And Pleroma and Akkoma and other Pleroma forks. And Misskey and Firefish and Iceshrimp and Iceshrimp.NET and Sharkey and CherryPick and Catodon and Meisskey and Tanukey and Neko and dozens upon dozens of other Misskey forks. And Mitra. And Socialhome. And GoToSocial. And micro.blog which, by the way, is closed-source. And Friendica and Hubzilla and the streams repository and Forte. And Pixelfed. And Funkwhale. And Bandwagon. And Castopod. And PeerTube. And Owncast. And Mobilizon. And Gancio. And BookWyrm. And Flohmarkt. And so forth.

    It’d be even worse if it was supposed to be built into the Fediverse projects themself. Like, you could search the whole Fediverse from Lemmy’s Web interface or any one Mastodon app.

    That’d require each new instance to announce its instance to each running instance.

    That’d require each new instance to know all running instances immediately.

    That’d only be possible by building a list of 20,000++ Fediverse instances into every last Fediverse server software repository so that it’s installed along with new instances.

    And that list would always have to be up-to-date.

    So when B spins up R, the following would have to happen:

    • R git pulls the most recent version of the main branch of Mastodon’s source code to have a most up-to-date list of active instances possible.
    • R starts up.
    • R announces its existence to the 20,000++ Fediverse instances on the list.
    • R goes through a list of all Fediverse server application code repositories which it has pulled from the Mastodon code repository as well.
    • R announces its existence to every last one of these repositories by creating a new branch, editing the list of active Fediverse instances, submitting the edit as a pull request and merging its own new branch into the main/stable/release/… branches of all these code repositories.

    Any Fediverse server out there would be able to hack into any Fediverse server code repository and manipulate the production code. Otherwise, this whole thing couldn’t work.

    Fediverse server code repositories would be flooded with automated pull requests plus mergers. Oh, and if Mastodon can add a new instance to a list in the Mastodon production source code, anything could remote-manipulate anything in the Mastodon production source code.




  • If you really want entire lemmy instances to be 100% meme-free, the mods would have a lot to do because they’d have to read through every last post and comment.

    Just like not every picture with text in white Impact with black outlines is a meme (it has to be established as such), memes aren’t only pictures with text in white Impact font with black outlines. In fact, they aren’t always pictures. They can just as well be text, embedded in other text.

    Any catchphrase can be a meme. Snowclones are memes, too. Snowclones are the memes of the analogue era. They date back to the analogue era, to the mainstream media of the 1970s, the 1960, the 1950s, as far back as William Shakespeare, as far back as ancient Rome, and I’m pretty sure there are snowclones from ancient Greece.

    I can’t imagine the mods of any one Lemmy instance reading through all posts and all comments and sanctioning everyone who has dared to use a decades-old snowclone in it.

    (Whoever finds a meme in this comment may keep it.)