Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)FA
Posts
4
Comments
152
Joined
2 yr. ago

  • I went looking into how that works, and, apparently, tailscale adds individual node routes (in table 52). So yeah, you have very low chances of getting into trouble even if you have an interface with 100.64/10.

  • Yeah, you’re absolutely correct. I misread that thinking OP would have the CG NAT endpoint and taikscsle on the same physical device, which, I still think, would be a problem: you'd have two interfaces for 100.64.0.0/10. But if CG NAT terminates on the modem and you run taikscale on devices connected to it them there's surely no issue at all.

  • Not an answer, but a clarification. You seem to be messing up two things. DoH is basically encrypted DNS, i.e. no one other than your DNS provider can see what domains you ask for. It's orthogonal to ad blocking; there are various service that provide one, or another, or both.

  • Streaming JSON parsers are a thing, e.g. pdjson for C. It's, of course, a different approach and it's generally slightly trickier to work with those, but that's what you would use of you have unbound document size and you can process it in chunks.

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

  • I’m the same and I studied every nook and cranny during my first playthrough because FOMO was real. Guess what, I still missed enough things to make a second run no less entertaining―especially if you play a polar opposite of your original character. This game accommodates to pretty much every stupid decision you can throw at it and it's amazing.

  • I wouldn't quite call Lemmy's protocol much friendly either. I'm trying to implement it and it's a bit of a mess, honestly. There's absolutely no documentation, private database specifics leaking into the public interfaces, and an absolutely horrendous authentication scheme.

  • The tricky part isn’t the syntax, it's the domain knowledge. Well, actually it's syntax, too. Swift has a whole lot of things that aren’t like anything else with sprinkles of Objective-C. Rust turns the common patterns upside down because they make borrow checker sad. But, in the end, what makes you a good engineer is knowing how to apply the tool to solve the problem and that goes well beyond syntax.

    Programming languages are like different kinds of saws: all of them are made to cut things, but there are nuances. Some are replaceable, others can be used for one specific thing. Knowing how to operate a hacksaw gives you some idea how a chainsaw would work even though they are fundamentally different. But tinkle it this way: what are you trying to do? Answering that will tell you which saw you need to use.

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

  • I second this. Loki for logs, VictoriaMetrics for metrics―it's significantly more lightweight than ELK logging (and any lags are irrelevant for a homelab), and VM is similarly much more careful with RAM than Prometheus.

  • Look at them like this: VLANs are like running several cables between two spots that you can configure independently. In the very end it comes down to this: what virtual LAN number you have on the cable.

    Your backbone devices (router and switches) can be configured to accept tagged traffic―your switch will send a packet prefixed with a VLAN index and your router will trust that the packet actually came from that VLAN on the switch port, or to tag traffic―like when you have some port on your switch where your PC is plugged in and the switch will tag those packets with some VLAN when it forwards them (to the router).

    Once you grasp that, everything else pretty much boils down to managing several isolated networkd and how they cross-talk. You run a dhcp server over each network, its own set of other services and whatnot.

    Oftentimes the “home” hardware will expect a single network and use some means of packets broadcast to reach each other. That's how your phone can find all google homes on the network and apple homekit knows where your smart lights are. For that traffic to cross VLANs you’ll have to use some special software like mdns repeaters, but you can still isolate them.

    Wrapping up, VLANs basically allow you the physical level isolation over a single cable. Mind that there are, of course, some bugs, e.g. I once found an issue with Unifi access points that allowed a well crafted packet to escape into VLAN 1 no matter what it was supposed to be tagged with. So don’t treat them as physically separate links.