farcaller

@farcaller@fstab.sh

**beep ** bop.

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

farcaller,

It was my first introduction to the type-length-value concept over the network, seemed radically different from the text only IRC protocol that I knew back then. I remember how fun it was to write an elegant parser for the ICQ messaging, and how I ended up on somewhat a DOM model where I converted the on-wire format into series of nested objects. Not the most efficient idea, but it was neat.

Making an libncurses fronted for the Fediverse? (For browing Lemmy websites on terminal [emulators])

Can someone please help me understand how one could make his own frontend for the Ferdiverse? It seems like to run on a bespoke protocol, and has HTTP endpoints as well. The help says you can create your own frontend, divorced of HTTP. What I am wary of is the documentation being out-of-date....

farcaller,

Fediverse generally runs on ActivityPub, which uses HTTP as a transport, so you’ll be good. The problem is that the clients don’t talk to fediverse, it’s more of a server-to-sever protocol; you’d look into the specific server APIs. But you’re good there, too - all the big fediverse players use RESTful HTTP for their client-facing API.

farcaller,

By all means, use the publicly available code within the limits its license permits. Always strive to give credit back (I oftentimes add notes to where I took config bits even in my private my-eyes-only repos to have some breadcrumbs).

Remember that licensing and copyrights are kind of separate things. People own copyright to their work (unless they explicitly give it up), and licenses are the terms on which you can use their copyrighted work.

Know the basics of the OSS licenses and know which ones you can copy things from verbatim (e.g. don’t touch AGPL code unless you also use AGPL). Generally, I just keep the original license and add a note to my license file saying that e.g. this code is licensed under Apache 2.0, but some parts are MIT.

It gets somewhat murkier when you use someone’s code and base yours on that. IANAL, and that’s very much the legal territory. If at all possible, just reuse the original copyright and license and then derive your work (given the license allows that).

Being on the receiving side of this a few times (people using my code verbatim in their projects I stumbled upon) it leaves a bit of a sour taste in the mouth when you see your copyright header replaced with someone else’s completely. Don’t do that. All the three times it happened to me, the other party was quick to remedy the situation, though (2 added the original copyright note back, 1 removed all my code). So just don’t do that. Make a habit to read that dumb tall copyright notice at the top of the file every time and you’ll quickly learn what to expect.

farcaller,

Your requirements sound a lot like Chrome Remote Desktop and it’s pretty trivial to install, which might be a handy thing for family members that aren’t tech-savvy.

farcaller,

The free news app was, sadly, never free for all, and missed in a bunch of regions.

farcaller,

They actually had a couple seconds of the new mobile zbrush running on it. Blender natively supports metal nowadays (thanks to apple), so making it work is on the blender team. Sounds like a lot of work, though.

farcaller,

While you could practically install macOS on ipads it’d work no better than windows used to work on tablets (it got a bit better nowadays). macOS is just not designed for touch input and would be a hideously subpar product. Can you imagine trying to use your fingers with the blender UI at 1x scale?

There is a toolset to easily get metal mac apps on iPad, though. I actually looked into what’d it take to port bender to iPad previously, and metal is the least of all problems. Blender is just a notoriously complicated piece of software.

farcaller,

I don’t like helm, so I use nix to maintain my fediverse deployments in kubernetes. Typically that’d just autoupdate itself to new releases, but for lemmy specifically I upgrade by hand nowadays since one release some time ago broke my deployment and its schema change was incompatible with the automated rollback.

My setup is a combination of github.com/farcaller/nixdockertag (auto-updated docker imagesfor things where I fully own the deployments) and github.com/farcaller/nixhelm (for helm charts that I either consume verbatim PR have local patches on). Both just auto update nightly thanks to github.

farcaller,

Any language you’re comfortable with is good for that. Ruby, JS, and Go come to mind the first because they all have solid ActivityPub libraries which are going to save you some time on interconnection. Any programming language can do static html.

farcaller,

I really enjoy writing clojure lately. the only thing that annoys me is the whole “hosted” thing where you either get a bunch of good clojure-native libraries or all the JS’s npm mess (other clojure hosts are very much non-existent).

farcaller,

I’d swap Prometheus for VoctoriaMetrics. It’s a drop-in replacement with a much better resource consumption story and a few extra goodies.

Why is Matrix mentioned more often than XMPP in self hosted forums?

I’m looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?...

farcaller,

There’s way more and I already tried three implementations while trying to get a set of features I need. It’s a wild west out there and the resource usage is way higher than e.g. hosting Prosody. Seemingly it has to do with chatrooms being a full mesh, but my single user server consumes about 700mb RSS and 2.4 gb VSZ which is kinda high.

farcaller,

In case if you e.g. have eth0 and eth1 and neither is guaranteed to be up. It’s more of a router setup, though (Cisco routers are well-known to use the loopback interface like this).

farcaller,

I looked into matrix servers the other day for an unrelated reason and tbh the amount of resources they ask for is way more than you need for a webpage (dendrite asks for 1gb ram minimum for a number of users, and that’s without accounting for postgres)

farcaller,

I got that. What I mean is that you can easily have a tiny 256mb VPS for a bunch of static websites or even some WordPress and the official matrix servers would require you to easily double or triple the bill.

farcaller,

That’s what their docs say:

At an absolute minimum, Dendrite will expect 1GB RAM. For a comfortable day-to-day deployment which can participate in federated rooms for a number of local users, be prepared to assign 2-4 CPU cores and 8GB RAM — more if your user count increases.

That’s not accounting for Postgres.

farcaller,

It’s much more than just “http requests”, honestly. A Matrix server and e.g. nginx have very little in common.

farcaller,

It really depends on the specific hardware. I have Mikrotik routerOS CHR that routes between VLANs at 6Gbit/s without breaking a sweat on a $300 intel box.

At the same time, some managed switches are dirt-cheap nowadays and they generally can push the traffic around as fast as it comes in.

farcaller,

One more for mikrotik (I run the VM version on a small linux box).

I tested a ton of those (pf/opn-senses, VyOS, even Cisco), and noone of the free ones can handle IPv6 in a reasonable way in 2024, which is slightly bizzare. Mikrotik has some annoyances, but it’s rock solid as a router.

I don’t use its container features and instead run podman in a vm next to it. Works great.

farcaller,

OpnSense is incapable of proper DHCPv6-PD, that’s when your route receives a prefix from upstream and delegates parts of it downstream. More specifically, it does the delegation, but it doesn’t add the relevant routes, effectively blackholing the allocated prefixes.

VyOS fixed this specific bug since I reported it. RouterOS and IOS never had it.

farcaller,

PD delegates the whole prefixes, i.e. it allows the subrouters to ask for a subnet of the size they need.

farcaller,

BitMagnet isn’t a silver bullet. Its datastore use makes it rather unreliable past about 2M torrents mark.

farcaller,

2M per BitMagnet instance. That’s about 18Gb in postgres. Not significant, but around where you start to think about query optimization.

farcaller,

I got my account closed with no reason a hair after 12 months. It was good while it lasted, and I have the backups outside of oracle’s cloud.

farcaller,

Try VictoriaMetrics. Basically the same feature set as Prometheus, but so much more resource friendly for homelab scale. I store some metrics for 12 months now, because it’s easy.

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