Live data from Hacker News

Mastodon.technology Shutdown

ashfurrow.com

591–600 of 604 posts

Re: Mastodon.technology Shutdown

#591
While Mastodon.technology may be closing, Mastodon.tech is welcoming new members with the same TOS as found at Mastodon.technology. We are in communication with creator, Ash.

We invite you & anyone to register: https://Mastodon.Tech/registration

We've had over a year's experience running Mastodon but the Ruby platform is not resource efficient nor well suited for this purpose. We installed Pleroma for Mastodon.tech to avoid the inevitable problems Ruby created at Mastodon.technology for Ash. Pleroma is equally connected to the Fediverse.

Since 2006 we've hosted a technology forum so this is a natural extension: https://hostboards.com/discussion/5854/hostboards-partners-w...

Re: Mastodon.technology Shutdown

#592
post #478
post #457

Earlier quoted context omitted.

Fully p2p doesn't really work well either. For a fully p2p network, nodes will have to hold the entire data. Now first storage space taken will be ridiculous, and then you will be hosting content you don't want to host because it could be straight up illegal in your country. Look at any crypto-blockchain and count how many full-nodes vs thin-nodes are running in networks. Then there is the whole tragedy of commons: a…

Yeah, and there will be people that will just throw their porn collection there, hogging space on other people's drives for no good reason. There is an option of dividing it between "publisher" (source) and "cachers" (caching whatever is recent and popular) but that only helps a little bit. > Then there is the whole tragedy of commons: average seed ratios and streaming video players for torrent content shows that are…

> Over 2 decades of pirating that has only been a problem for obscure and old stuff.

It's a common problem for old stuff like you said, very new stuff with specific formats. It's an issue for new stuff because it often doesn't have enough starting seeds, and people leaving as soon as they're done watching/downloading doesn't help the situation. Before I've discovered usenet this was a very common issue for me.

Then there is specific file formats like chunky movie rips with Dolby Vision + Dolby Atmos + Dolby Yet Another Audio Format + all of that again in 5 languages. People will often choose a different release to download, and that leads to fewer seeds.

I know a group of people on a popular torrent tracker that just downloading everything and seed forever. They do entirely for free. Those petabytes will probably rot once they...die.

Re: Mastodon.technology Shutdown

#593
post #456

Earlier quoted context omitted.

I think you don't understand that 10,000 tweets isn't 10,000 inserts. It's not enough to just write tweet, you need to fan-out writes to every user's feed. It's also not batched into neat transactions like your batch jobs. You have no idea what are you talking about.

You don't need to fan out writes to feeds. Users subscribe to other users, not tweets. You can attempt to send out the notification to subscribed users, and if it fails, that's fine. You don't need to record notification status. Have a worker that records (in the db) the last tweet id it's processed, and just regularly joins N new tweets to authors to subscribers and attempts to send. You can play with how that query…

I've worked in a social network with feeds. Feeds are hard. Both fan-out on write vs fan-in on read both have upsides and downsides. Either way, it's "cheap" problem to solve in a couple of dozen lines of code.

When I said that you can't batch, I meant that each tweet will be at least one transaction. Async write with batching like you suggested will have a horrible user-experience, also your client often is a mobile device or browser - how do you deliver a callback from server there?

Nah, how many inserts your laptop can make and how many tweets created in a unit of time are two irrelevant metrics.

Re: Mastodon.technology Shutdown

#594
post #485

Earlier quoted context omitted.

I run an instance and I really have none of these problems. Keeping open applications off solves a lot of them, you have to ask me for an invitation and I’m not going to give you one if I think you’re going to be a problem. There’s a Patreon for it that pays the server bills despite it only being a few hundred users. My users even say thanks for running the place now and then. Running a small node of The People’s Glo…

> I run an instance and I really have none of these problems. Keeping open applications off solves a lot of them, you have to ask me for an invitation and I’m not going to give you one if I think you’re going to be a problem. You're not building social network then. Just a single isolated place. So obviously problems of running bigger social space won't apply as much

No post body was provided.

Re: Mastodon.technology Shutdown

#595

Earlier quoted context omitted.

You don't have to look very hard to find screaming racists, furries, and lolicons. They make no effort to hide themselves since operators apparently endorse that sort of behavior as long as it fits their own particular biases and kinks. I note for the record that this is precisely the sort of thing that doomed Voat. They got invaded by racists who decamped there after being given the boot from Reddit and promptly beg…

> You don't have to look very hard to find screaming racists, furries, and lolicons. They make no effort to hide themselves since operators apparently endorse that sort of behavior as long as it fits their own particular biases and kinks. Of course not. It's on the Internet. I don't have a problem with furries, people with bias or kinks. What if I'm one of those people, should I not be allowed to make public comment?…

Referring to furries as a "perfectly cromulent lifestyle" is such a probably unintentionally fraternal salute in terms of antinormativity/cultural openess. Good vibes.

Re: Mastodon.technology Shutdown

#596

Earlier quoted context omitted.

While Mastodon can be used for small server purposes (e.g. server-of-one) it is really geared towards professional use - providing a service to thousands of users and scaling up horizontally. Looking beyond technical requirements, so many of Mastodon's features echo this -- account management, reporting, moderation. In that context, I really do not think that "uses a reverse proxy in the front" and "has a database an…

> While Mastodon can be used for small server purposes (e.g. server-of-one) it is really geared towards professional use - providing a service to thousands of users and scaling up horizontally. Mastodon advertises itself as being a self-hosted project. > Your *self-hosted*, globally interconnected microblogging community https://github.com/mastodon/mastodon -- > I really do not think that "uses a reverse proxy in the…

It is self-hosted because you can host it yourself.

Re: Mastodon.technology Shutdown

#597

Earlier quoted context omitted.

> While Mastodon can be used for small server purposes (e.g. server-of-one) it is really geared towards professional use - providing a service to thousands of users and scaling up horizontally. Mastodon advertises itself as being a self-hosted project. > Your *self-hosted*, globally interconnected microblogging community https://github.com/mastodon/mastodon -- > I really do not think that "uses a reverse proxy in the…

It is self-hosted because you can host it yourself.

Well, all software on GitHub, more or less, satisfies this definition, so I don't think it's what was meant.

Re: Mastodon.technology Shutdown

#598
post #366

Earlier quoted context omitted.

What exactly has Mastadon failed to do?

This user's been on HN for a while repeating this ad nauseam. https://www.google.com/search?q=rvz+mastodon+failure+site:ht... I wouldn't engage.

> This user's been on HN for a while repeating this ad nauseam.

Repeating what? The truth?

Right, Please don't engage because everyone here knows it is true.

Re: Mastodon.technology Shutdown

#599
post #593

Earlier quoted context omitted.

You don't need to fan out writes to feeds. Users subscribe to other users, not tweets. You can attempt to send out the notification to subscribed users, and if it fails, that's fine. You don't need to record notification status. Have a worker that records (in the db) the last tweet id it's processed, and just regularly joins N new tweets to authors to subscribers and attempts to send. You can play with how that query…

I've worked in a social network with feeds. Feeds are hard. Both fan-out on write vs fan-in on read both have upsides and downsides. Either way, it's "cheap" problem to solve in a couple of dozen lines of code. When I said that you can't batch, I meant that each tweet will be at least one transaction. Async write with batching like you suggested will have a horrible user-experience, also your client often is a mobile…

> how do you deliver a callback from server there?

You don't. The callback is on the server before it ever responds to the request. The client sees a synchronous response with a delay of a few extra milliseconds.

Here, I slapped this together to demonstrate the technique[0]

Your HTTP route handler becomes

  override def create(body: String): Task[Long] = {
    for
      rspP 
i.e. make a promise, put your work on a queue, and have the HTTP response be the result of the promise. Then you have a background worker:

      _ 
Which processes up to 8k requests at a time, waiting up to 10 ms for a batch.

The worker does a bulk db insert, and completes the promises with the generated ids.

Similar techniques should work on read batching, but I haven't tried that. You can also speed that up some more with the COPY protocol, but IIRC you need to be more careful about escaping/SQL injection. The example I wrote uses prepared statements/parameter binding.

On my 6 year old mid-range desktop (this CPU[1] and this disk[2]) this program can process ~30k `create`s per second. For about $1500, I could buy a new computer with a Ryzen 9 7950 with 4x the core count/8x the thread count and 2x the single-threaded performance, so around ~10x more processing power, 128 GB of RAM, and a Samsung 980 Pro SSD, which can do 1M Write IOPS (25x more than my SSD) or 5GB/s sequential writes (10x more). So a $1500 computer with a single disk should be able to do around 300k/s. PCIe gen 5 is now coming out, which will allow for another doubling of disk performance.

128GB of RAM means you can keep at least 100M rows worth of index in memory. It's not that expensive (under $10k) to build a server with 1TB of RAM.

Totally feasible for a hobbyist to do without tons of tricky optimization (the code I posted is purely functional Scala!); people spend $20k on a jetski or $80k on a truck. Like I said, the most expensive part is going to be the storage, but you could do something like only store the most recent 1000 tweets per person, and charge $10 to bump that up to the most recent 10 million tweets or something. You'd come out at a substantial profit with that model if you got a few thousand takers. Similarly you could charge to let someone follow more than a few thousand people so you could pay for a read replica or two.

[0] https://github.com/ndriscoll/twit/commit/19b245677b978b42a6f...

[1] https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i5-6600K...

[2] https://www.disctech.com/SanDisk-SDSSDHP-256G-256GB-SATA-SSD

Re: Mastodon.technology Shutdown

#600
post #478

Earlier quoted context omitted.

Yeah, and there will be people that will just throw their porn collection there, hogging space on other people's drives for no good reason. There is an option of dividing it between "publisher" (source) and "cachers" (caching whatever is recent and popular) but that only helps a little bit. > Then there is the whole tragedy of commons: average seed ratios and streaming video players for torrent content shows that are…

edit: Scratch that, a more fleshed out and popular protocol that implements this P2P concept is Scuttlebutt: www. http://scuttlebutt.nz/ The most user friendly and refined client I’ve found that implements this protocol is Planetary: https://www.planetary.social/

Funny, I've discovered scuttlebutt, that you're talking about, while I was reading about cluster membership and fault detection protocol. I was so confused of how all of this chat rooms have to do with what I was reading about just a minute ago.
Post reply on HN