farcaller

@farcaller@fstab.sh
4 Post – 121 Comments
Joined 1 years ago

**beep ** bop.

TIL, thanks!

I had exactly the same use case and I ended up with a 40G DAC fiber for that case. It ended up cheaper than converting the whole lan to 10G.

That said, it feels like used 10G equipment is easier to come by than 2.5G for now, and if you have 2G fiber uplink and only 1G past the router then it’s a waste.

1 more...

Email is the original fediverse. Just spin off your MTA of choice and suffer trying to convince everyone else you’re not in it for spam.

iOS 17 installs on a 5 years old iPhone though. I don’t think that's an unreasonable window of deceives supported.

5 more...

However, XAMPP didn’t just die because it opened itself up to Microsoft and got extinguished

So, we went from the somewhat imaginary “google killed xmpp” to fully fictional “Microsoft killed xampp” now? it's almost like the fedipact people literally have no clue what they are talking about.

3 more...

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.

6 more...

If you drop the projector, then airpods already do it better when paired with the watch. There's no point in such a device at all, then.

9 more...

I'd be curious to see comparison with Logseq. As it's rightly mentioned, there are thousands of note taking apps and I’m not quite sure I see the selling point of SB. I really love the idea of notes as a database, but the query langauage seems subpar, more akin to obsidian's dataview than the overwhelming power of tiddlywiki's filters or Logseq's queries.

I went from evernote to tiddlywiki to Obsidian to Logseq and somewhat stuck here now because I got the powerful queries in a very neat UI. With the market oversaturated as it is, I'd be nice to see what Silverbullet brings to the game that others don’t, what are the distinguishing features.

2 more...

Garage is trivial to get up and running and it’s more lightweight than minio nowadays.

2 more...

I remember when minio just started and it was small and easy to run. Nowadays, it's a full-blown enterprise product, though, full of features you’ll never care about in a homelab eating on your cpu and ram.

Garage is small and easy to run. I’ve been toying with it for several months and I’m more than happy with its simple API and tiny footprint. I even run my (static html) blog off it because it's just easier to deploy it to a S3-compatible API.

13 more...

Looking at the resource usage of mine, a tiny cheap VPS for $4/mo would be enough, sans the image store. But it's not a hard requirement unless you expect to have lots of local communities posting pictures.

Lemmy's issue is that it's non-trivial to deploy and oftentimes painful to upgrade.

4 more...

On one side of the spectrum you have the likes of Synology: you pay premium for the software that does what it says in a nice compact enclosure. Good documentation, easy UI, potentially limiting flexibility.

On the other side, you can make a linux box and declare it a NAS. Run whatever storage you want with whatever filesystem. Any enclosure and form factor you can imagine. Infinitely scalable, but also you’re absolutely on your own in configuring and managing it.

I'd suggest figuring a budget first, and then figuring how much of a hands-on approach you want to have.

The codebase is actually vastly more readable. I’m going to take it for a spin tomorrow and see how well it behaves, but so far it sounds like a much better deal deployment-wide for small instances.

Just a nit: swift is opensource and there is a swift ecosystem outside of apple UI things. Here's a swift http server that you can totally run on linux.

5 more...

So here's the thing. This year I fell in love wih clojure, it's an absolute pleasure to program in. It's also a hosted language that runs on java (primarily) or javascript (or a bunch of marginalized things). And honestly, I feel like I can make the java backend run more resource-effecient than the JS one.

I would not recommend unifi for a mature solution. It sure works nice as a glass panel, but it will get limiting if you will have a desire to hack around your network. Their APs are solid, though, it's just the USG/Dream machine that I wouldn’t recommend.

Mikrotik software is very capable and hackable and you can run it in a vm if you feel like bringing your own hardware.

2 more...

no Federation with instances that use altered versions or proprietary versions of AP.

It's especially funny given (the last time I checked) neither kbin nor lemmy actually followed the spec properly. They ignore the jsonld requirements and resort to field names, that, by the spec, should be dropped.

Edit: lemmy is actually good now!

3 more...

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.

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.

Honestly, it's hardly newsworthy given how sudo was a thing in windows for quite a while now. I use it pretty often, especially sudo pwsh for elevated shells.

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.

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).

It's more of a chat-to promotion than a useful list. “Use firewalls?” No shit!

I think Python is still unmatched when it comes to ML, and nothing can beat Swift in terms of Apple ecosystem support. Why not learn both, though? I find Swift a bit harder to reason with than rust, but both have merit (and both have interesting use cases). Just see what uses you will find for them as you progress.

10 more...

I run k3s in my homelab as a single node cluster. I’m very familiar with kubernetes in general, so it's just easier for me to reason with a control plane.

Some of the benefits I find useful:

  • ArgoCD set to fire and forget will automatically update software versions as they happen. I use nix to lower the burden of maintaining my chart forks. Sometimes they break, but
  • VictoriaMetrics easily collects all the metrics from everything in the cluster with very little manual tinkering, so I am notified when things break, and
  • zfs-localpv provides in-cluster management for data snapshots, so when things do break I can easily roll back to a known good state.

k3s is, of course, a memory hog, I'd estimate it and cilium (my CNS of choice) eat up about 2Gb ram and a bit under one core. It's something you can tune to some extent, though. But then, I can easily do pod routing via VPN and create services that will automatically get a public IP from my endless IPv6 pool and get that address assigned a DNS name in like 10 lines of Yaml.

IIRC they demonstrated an interaction with Siri where it asks the user for consent before enriching the data through chatgpt. So yeah, that seems to mean your data is sent out (if you consent).

In iOS 13 or later and iPadOS 13.1 or later, devices may use an Elliptic Curve Integrated Encryption Scheme (ECIES) encryption instead of RSA encryption

(from apple docs).

If you’re curious about it all, I'd suggest studying some notes from the protocol researchers instead of taking to the pitchforks immediately. Here's one good post on the topic.

Unreal Tournament and Deus Ex both come to mind. Alexander Brandon was involved in both and his work is absolutely amazing.

If we talk specific singles, though, it's Morrowind (Nerevar Rising), Control (Take Control), and, recently, Baldur's Gate 3 (Raphael's Final Act). Morrowind's tune is so ingrained in my mind that it's my to-go whenever I get my hands on a keyboard.

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

1 more...

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.

3 more...

I went for a much simpler approach lately as I downscaled my hardware for efficiency.

I run NixOS on the bare metal. It gives the system management a declarative approach, just like kubernetes would. On top of that, I run libvirt as a hypervisor. In other scenarios I'd use tinyvmm and cloud-hypervisor, but I found qemu way better for the variety of homelab workloads and libvirt is pretty straightforward.

Some vms have pci passthrough, e.g. my routeros vm gets a bunch of NICs directly, some have various funny network topology. Libvirt used to be a pain in that regard, but it's actually fine with NixOS because you manage both sides of the networking stack in declarative configuration.

I run NixOS on the vms too (now for the sake of easy upgrades), and I have a bit of a split between running services natively (systemd is very good about “containerizing” things nowadays) and using docker (mostly because of laziness, e.g. Elastiflow was easier to deploy this way). Finally, I have a single dokerized Ubuntu that's more like a VM (as in, I never had a dockerfile for it, it's fully stateful) running the matter home automaton bits because I gave up on properly containing the matter python stack and went for an easy way out.

Now, a word about alternatives.

I used to run Ubuntu. No more. Upgrading the OS is always a huge pain even if everything is in docker. I want my OS to be managed in a config file and be able to easily roll back to the previous state. I used to run k3s, but even though it is much thinner than k8s, it is still very much ram hungry and I just don’t want to pay for that. Besides, complex networking is often non-trivial due to how its networking works, and multus is a world of pain. I used to run different hypervisors for the VMs (kubevirt, tinyvmm, a bunch others). I went way back to libvirt mostly because it’s straightforward in tuning very specific qemu bits I cared for in the homelab. I have some cpu overprovisioning, so I want to make my quotas set up extremely precisely, sacrificing the right workloads.

Specifically, use home.arpa, if you must use a private domain.

FWIW Sourcegraph chrome extension adds a neat “open in Sourcegraph” to github pages and SG is just superior. Why would you use Github's mediocre search either way ¯\_(ツ)_/¯

You can always use sqlite cloud

/s?

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)

6 more...

and swap Prometheus for VictoriaMertics, or your homelab ram usage becomes Prometheus ram usage.

There's no will in there. They must give you your data or else. The only thing they can do is to notify you of a required extension because they are overwhelmed. Sans that, they are obliged by law to give you what's yours.

1 more...

isn’t threads already several times larger than the whole of the “fediverse”?

Hetzner machine in that article is bare metal. It’s much harder to extract the certificates from a running server without anyone noticing.

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).