@algernon@lemmy.ml avatar

algernon

@algernon@lemmy.ml

A tiny mouse, a hacker.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

algernon,
@algernon@lemmy.ml avatar

Sadly, that’s not code Linus wrote. Nor one he merged. (It’s from git, copied from rsync, committed by Junio)

algernon,
@algernon@lemmy.ml avatar

…and here I am, running a blog that if it gets 15k hits a second, it won’t even bat an eye, and I could run it on a potato. Probably because I don’t serve hundreds of megabytes of garbage to visitors. (The preview image is also controllable iirc, so just, like, set it to something reasonably sized.)

algernon,
@algernon@lemmy.ml avatar

I only serve bloat to AI crawlers.


<span style="color:#323232;">map $http_user_agent $badagent {
</span><span style="color:#323232;">  default     0;
</span><span style="color:#323232;">  # list of AI crawler user agents in "~crawler 1" format
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">if ($badagent) {
</span><span style="color:#323232;">   rewrite ^ /gpt;
</span><span style="color:#323232;">}
</span><span style="color:#323232;">
</span><span style="color:#323232;">location /gpt {
</span><span style="color:#323232;">  proxy_pass https://courses.cs.washington.edu/courses/cse163/20wi/files/lectures/L04/bee-movie.txt;
</span><span style="color:#323232;">}
</span>

…is a wonderful thing to put in my nginx config. (you can try curl -Is -H “User-Agent: GPTBot” https://chronicles.mad-scientist.club/robots.txt | grep content-length: to see it in action ;))

algernon,
@algernon@lemmy.ml avatar

That would result in those fediverse servers theoretically requesting 333333 * 114MB = ~38Gigabyte/s.

On the other hand, if the site linked would not serve garbage, and would fit like 1Mb like a normal site, then this would be only ~325mb/s, and while that’s still high, it’s not the end of the world. If it’s a site that actually puts effort into being optimized, and a request fits in ~300kb (still a lot, in my book, for what is essentially a preview, with only tiny parts of the actual content loaded), then we’re looking at 95mb/s.

If said site puts effort into making their previews reasonable, and serve ~30kb, then that’s 9mb/s. It’s 3190 in the Year of Our Lady Discord. A potato can serve that.

algernon,
@algernon@lemmy.ml avatar

I don’t think serving 86 kilobytes to AI crawlers will make any difference in my bandwidth use :)

algernon,
@algernon@lemmy.ml avatar

It’s not. It just doesn’t get enough hits for that 86k to matter. Fun fact: most AI crawlers hit /robots.txt first, they get served a bee movie script, fail to interpret it, and leave, without crawling further. If I’d let them crawl the entire site, that’d result in about two megabytes of traffic. By serving a 86kb file that doesn’t pass as robots.txt and has no links, I actually save bandwidth. Not on a single request, but by preventing a hundred others.

algernon,
@algernon@lemmy.ml avatar

There’s plenty, but I do not wish to hijack this thread, so… have a look at the Forgejo 7.0 release notes, the PRs it links to along notable features (and a boatload of bugfixes, many of which aren’t in Gitea). Then compare when (and if) similar features or fixes were implemented in Gitea.

The major difference (apart from governance, and on a technical level) between Gitea and Forgejo is that Forgejo cherry picks from Gitea weekly (being a hard fork doesn’t mean all ties are severed, it means that development happens independently). Gitea does not cherry pick from Forgejo. They could, the license permits it, and it even permits sublicensing, so it’s not an obstacle for Gitea Cloud or Gitea EE, either. They just don’t.

algernon,
@algernon@lemmy.ml avatar

There are no bugs. Just happy little accidental features.

algernon,
@algernon@lemmy.ml avatar

It’s about 5 times longer than previous releases were maintained for, and is an experiment. If there’s a need for a longer term support branch, there will be one. It’s pointless to start maintaining an 5+ year branch with 0 users and a handful of volunteers, none of whom are paid for doing the maintenance.

So yes, in that context, 15 months is long.

algernon,
@algernon@lemmy.ml avatar
algernon,
@algernon@lemmy.ml avatar

A lot of people do. Especially on GitHub, where you can just browse a random repository, find a file you want to change, hit the edit button, and edit it right there in the browser (it does the forking for you behind the scenes). For people unfamiliar with git, that’s huge.

It’s also a great boon when you don’t want to clone the repo locally! For example, when I’m on a slow, metered connection, I have no desire to spend 10+ minutes (and half of my data cap) for a repo to clone, just so I can fix a typo. With the web editor, I can accomplish the same thing with very little network traffic, in about 1 minute.

While normally I prefer the comfort of my Emacs, there are situations where a workflow that happens entirely in the browser is simply more practical.

algernon,
@algernon@lemmy.ml avatar

I was in similar shoes (my server is running Debian, as it has been for the past two decades), and am going to rebuild it on something else. I chose NixOS, which I recently switched to on my desktop, because it lets me configure the entire system declaratively, even the containers. The major advantage of a declarative configuration is that it will never be out of date.

My main reason for switching is that I’ve been running the server for a good few years, initially maintained via ansible, but that quickly turned into a hellish bash-in-yaml soup that never quite worked right. So I just made changes directly. And then I forgot why I made a change, or had the same thing copy & pasted all over the place. Today, it’s a colossal mess. With NixOS, I can’t make such a mess, because the entire system is declared in one single place, my configuration.

Like you, I also planned to use containers for most everything, but… I eventually decided not to. There’s basically two things that I will run in a container: Wallabag (because it’s not so well integrated into NixOS at the moment), and my Mastodon instance (which runs glitch-soc, which is considerably easier to deploy via the official containers). The rest will run natively. I’ll be hardening them via systemd’s built-in stuff, which will give me comparable isolation without the overhead of containers. Running things natively helps a lot with declarative configuration too, a nice bonus.

For reference, you can find my (work in progress) server configuration here. It might feel a bit overwhelming at first, because it’s written in a literate programming style using org mode & org roam. I found this structure to work great for me, because my configuration is thoroughly documented, both the whys and hows and whats.

algernon,
@algernon@lemmy.ml avatar

Better NixOS integration, less resources used, similar levels of containment. The containers I planned to use don’t provide any additional safety than the system services. In many cases, I could harden the system services more. Like, if a container has a /bin/bash in it, it’s hard to remove that, while I can pretty easily prevent my systemd service from accessing it.

Like, systemd.services.<name>.confinement is pretty darn strong. If enabled, NixOS will set up a tmpfs-based chroot with just the required runtime store paths for the service. Good luck doing something similar in a container!

algernon,
@algernon@lemmy.ml avatar

Threads does not interact with the Fediverse in its current form. It’s a horn blasting into the fediverse at best. It’s not participating in the fediverse, it’s shouting into it. As such, it’s correct to not report on how thredsizens participate in the fediverse - they do not, not at this time.

algernon,
@algernon@lemmy.ml avatar

Ah! My bad.

mumbles something about big corps choosing way too generic names for their stuff

algernon,
@algernon@lemmy.ml avatar

Compared to three months? Yes. It’s also an experiment, to see how much additional work is required to keep an LTS release going in practice.

If it turns out the effort/benefit ratio is good enough, it can be extended. The original plan was two years, which is still not as long as other softwares’ LTS offerings, but Forgejo also doesn’t have the financial backing of said projects that offer longer LTS.

algernon,
@algernon@lemmy.ml avatar

Or one could buy any of the existing pre-built splits. Which might be more expensive, but it does not involve something one very explicitly said they don’t want to do.

I’d rather spend twice as much on a well built keyboard with warranty than trying to solder one together myself and botch it up, and then it suddenly costs more than if I just bought a pre-built one.

algernon,
@algernon@lemmy.ml avatar

I don’t use social media to stay connected with family. I lift up the phone, go visit, or if we need to communicate online, I have an XMPP server for the family with end to end encryption. Can share pictures, text, and can even do video calls if need be, send files, and so on.

Don’t see the need to involve any kind of social media.

algernon,
@algernon@lemmy.ml avatar

…and you think 14-17 year olds won’t circumvent this in mere seconds? Like, they’d just sign up at an instance that doesn’t implement these labels, or doesn’t care about them, or use their parents accounts, or ask them, or an older friend to sign them up, and so on. Even if age verification would be widespread and legally mandated, I highly doubt any sufficiently determined 14-17 year old would have any trouble getting past it.

algernon,
@algernon@lemmy.ml avatar

There’s a very easy solution that lets you rest easy that your instance is how you want it to be: don’t do open registration. Vet the people you invite, and job done. If you want to be even safer, don’t post publicly - followers only. If you require follower approval, you can do some basic checks to see that whoever sends a follow request is someone you’re okay interacting with. This works on the microblogging side of the Fediverse quite well, today.

What I’m trying to say is that with registrations requiring admin approval gets you 99% of the way there, without needing anything more complex than that.

algernon,
@algernon@lemmy.ml avatar

Well, citing IGN:

Citra, a Nintendo 3DS emulator, will also be discontinued.

The Citra homepage seems to confirm that.

algernon,
@algernon@lemmy.ml avatar

…and then risk the same litigation from Nintendo, or at least a DMCA takedown, something which the settlement explicitly mentions.

algernon,
@algernon@lemmy.ml avatar

Yep. So I don’t see why they wouldn’t enforce that extra win.

algernon,
@algernon@lemmy.ml avatar

And where do you think GitHub is?

algernon,
@algernon@lemmy.ml avatar

And that’s relevant, how? (start of the thread)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • ngwrru68w68
  • magazineikmin
  • osvaldo12
  • InstantRegret
  • Youngstown
  • everett
  • slotface
  • rosin
  • thenastyranch
  • mdbf
  • tacticalgear
  • megavids
  • cisconetworking
  • modclub
  • khanakhh
  • GTA5RPClips
  • Durango
  • normalnudes
  • ethstaker
  • Leos
  • tester
  • cubers
  • provamag3
  • anitta
  • lostlight
  • All magazines