Show newer

This style of client and server application has its roots in things like inetd (internet daemon) and CGI (common gateway interface). Benno Rice explains in a section of his excellent presentation covering the history of linux and unix:

[Then things changed...] the internet happened. That inetd model was great when [you were dealing with a small amount of stuff going on], like, [only a few users would have telnet connections] ...The web looked like it would work that way too, and then it became really really popular. And so you end up with situations where forking off a process to handle every single connection doesn't really scale that well.

Many Mastodon server users and admins have mentioned that the load from all the new users is causing a strain on the system -- large outbound queues, delays on messages, slow page load times, etc.

The good news is that these problems don't have to be solved by buying a more powerful computer.

The Mastodon software uses an old (circa 90s and earlier) way of organizing its code, which I like to call "one-thread-per-request with blocking IO"

One of them is GoToSocial, which I see as a dark horse poised to surpass Mastodon and become the best general purpose Fediverse server implementation.

Congrats to everyone who has worked incredibly hard to make that project a reality!

Show thread

Look at all the cool projects that NLNet is funding right now !!! 😮​

Forest boosted

Can I get some voluntary load testing from #fediverse users lol, please boost/interact with this post.

Forest boosted

You know what, I'm realizing that maybe the correct implementation for a fedi client has a freakin URL BAR at the top o' the page like its its own browser

I created an account for my dogs to try out pixelfed: @fedipugs

So far its been a bit rough (no video support, hyperlinks get broken 🪦)

But if you like cute pet pictures maybe it could be worth a follow, I'll try to post when I can and occasionally maybe repost older stuff from the instagram that my partner made in the past.

    Updating index
Fetch [===================> ] 82.56%, (163401/213323) resolving deltas
Show thread

Ok, tinygo is definitely not stable enough for this, moving on to trying rust instead 👀

Show thread

Streaming again, getting to work on running FiloSottile/age to run in the web browsa (compile golang to WASM with tinygo compiler)

music rn: 🎸🎺 Less Than Jake 🧨🍺

Forest boosted

Querying the db showed:

# SELECT username FROM accounts WHERE id=-99;


Which corresponded with the value in the curl
"preferredUsername": "localhost:3000",

So a quick fix was to connect to psql and run the following update: UPDATE accounts SET username = '' WHERE id=-99;

Now I can toot at my friends over on!

Hopefully I didn't burn too many of your CPU cycles @f0x and @forestjohnson thanks!

Show thread
Forest boosted
Forest boosted
Forest boosted

wow, blocking a list of bad instance is super easy with gotosocial.

Show older

Small server part of the infrastructure. Registration is approval-based, and will probably only accept people I know elsewhere or with good motivation.