Hiker, software engineer (primarily C++, Java, and Python), Minecraft modder, hunter (of the Hunt Showdown variety), biker, adoptive Akronite, and general doer of assorted things.

  • 1 Post
  • 156 Comments
Joined 11 months ago
cake
Cake day: August 10th, 2023

help-circle

  • Valve’s Artifact Classic card game. I actually found the basic formula to be really fun.

    I think this game died for two reasons:

    A) The game was review bombed for its monetization (IMO a lot of this was the non-target audience trying it and leaving a bad review)

    B) Valve said following the review bombing that they were going to make major changes. This resulted in a lot of Artifact fans (IMO) leaving the game because … why invested and learn a game that’s going to undergo major changes.

    So Valve worked on Artifact Foundry (and never finished it) … before eventually everyone at Valve gave up and released both Artifact Classic and Artifact Foundry for free. The original Artifact Classic is still a great time with a friend and all cards are now totally free so you can build whatever decks you want.

    It’s basically a AAA studio card game, with cross platform support, released in complete, for free … because of some poor decision making. Some things may be unbalanced but if you’re playing with friends anyways … just have a friendly agreement to not use the cards that cause problems in your decks. It also could bounce back into active development if it starts to acquire a player base again (because Valve).



  • Kopia uses content addressable storage. So basically when it copies things, it only copies what data is new. Files that haven’t changed will not be overwritten.

    You kind of need to run the verification command on both the source and the “backup copy” for maximum paranoia. If you’re running it on a local copy, that should be a relatively fast process as you don’t need to download stuff.

    You’d basically connect on the command line to the copy you just updated via sync-to and then ask kopia to verify 100% of the file integrity … it should then run through everything and make sure it matches what’s supposed to be there. I’m not sure how you fix it if it detects something wrong, I’ve yet to run into that … I’m sure there’s a way 🙂

    You could also use two backup drives and sync to both, then if you get an error restoring a particular file from one, you could in theory restore it from the other. A ZFS cluster with redundant copies and/or a RAID-1, RAID-5 or RAID-6 style setup could also help … but most people aren’t going to run an entire NAS just to turn it on periodically and backup their data “offline”. Most people are going to be better served (IMO) by using cloud storage like B2 (where bitflips aren’t really a concern) or a NAS (where bitflips similarly are a minimal concern, ideally in another location) with a periodically updated offline copy (on say an external hard drive) should be enough to protect most people’s data well.

    Also going to like to what I’m talking about:





  • Yes, WireGuard was designed to fix a lot of these issues. It does change the equation quite a bit. I agree with you on that (I kind of hinted at it but didn’t spell that out I suppose).

    That said, WireGuard AFAIK still only works well with static IPs/becomes a PITA once dynamic IPs are in play. I think some of that is mitigated if the device being connected to has a static IP (even if the device being connected from doesn’t). However, that doesn’t cover a lot of self hosting use cases.

    Tailscale/ZeroTier/Nebula etc do transfer some control (Nebula can actually be used with fully internal control and ZeroTier can also be used that way as well though you’re going to have to put more work in with ZeroTier … I don’t know about TailScale’s offering here).

    Though doing things yourself also (in most cases) means transferring some level of control to a cloud/traditional server hosting provider anyways (e.g, AWS, DigitalOcean, NFO, etc).

    Using something like ZeroTier can cutout a cloud provider/VPS entirely in favor of a professionally managed SAS for a lot of folks.

    A lot of this just depends on who you trust – yourself or the team running the service(s) you’re relying on – more and how much time you have to practically devote to maintenance. There’s not a “one size fits all answer” but … I think most people are better off doing SAS to form an internal mesh network and running whatever services they’re interested in running inside of that network. It’s a nice tradeoff.

    You can still setup device firewalls, SSH key-only authorization, fail2ban, and things of that ilk as a precaution in case their networks do get compromised. These are all things you should do if you’re self hosting … but hobbyist/novices will probably stumble through them/get it wrong, which IMO is more okay in the SAS case because you’ve got a professional security team keeping an eye on things.


  • The company Tailscale is a giant target and has a much higher risk in getting compromised than my VPN or even accessible services.

    One must be careful about this mindset. A bunch of smart lightbulbs that are individually operated aren’t a particularly appealing target either. However, in aggregate… If someone can write a script that abuses security flaws in them or their default configuration … even though you’re not part of a big centralized target, you are part of a class that can be targeted automatically at scale.

    Self hosting only yields better security when you are willing to take steps to adequately secure your self hosted services and implement a disaster recovery strategy.


  • The thing about something like TailScale or ZeroTier or Nebula is that it’s dynamic. These all behave similar to a multiplayer game … a use case every residential firewall should “just get.”

    The ports that are “opened” can change regularly, they’re not some standard port that can just be checked to see if it’s open (typically).

    Compare that to the average novice opening port 51822 for wireguard or 22 for SSH and you start to see the difference. With those ports, you’ve got a pretty good idea what’s on the other side and it might even be willing to talk to you and give you error messages or TCP ACK packets to confirm it’s there (e.g. SSH).

    This advice is as you can probably imagine more relevant to things like OpenVPN that are notoriously hard to correctly configure or application protocols like SSH or HTTP.

    With these mesh VPNs you also don’t have to worry about your home dynamic IP changing and breaking your connection at inopportune times… And that’s a huge benefit (IMO). It’s also very easy to tie in new devices to the network.

    A lot of it is about outsourcing labor to programs that know how to set up a VPN and make management of it easy. That ties into security because … a LOT of security issues boil down to misconfiguration.


  • I was on a hiking trail … I could see at least 50 meters/yards back.

    I stopped and took a couple pictures of some deer super close to the trail. Looked back, then kept walking… Nobody there.

    A matter of moments later, I hear footsteps behind me. I had headphones on but I wasn’t playing my music very loud. I take a quick glance back, the guy is wearing a grey T-shirt, a blue ball cap, blue jeans, and white sneakers. Literally the most generic outfit you can possibly have and he’s looking at the ground so I can’t see his face.

    I decided to call my friend who’s always home on my phone. He picks up and I just start some BS conversation. Probably 15 seconds later, the dude vanished just as quickly as he’d come.

    I don’t know if he was just a really fast walker and my situational awareness was way off that day, but it did freak me out.




  • It might be worth you or your friend to introspect on why that behaviour makes you feel the way it does.

    I don’t really think the onus is on us.

    A lot of multiplayer games have become very toxic, tons of cheaters (okay I don’t actually believe this but it’s a very common perception; I mostly blame smurfing and bad MMR systems), rude people, etc. It can transform a fun evening into dealing with “TotallyNotANazi” and his buddy “TotallyNotARapist” calling you names, t-bagging your bodies, screaming obscenities, and in some cases, likely using cheats, to make nearly impossible shots.

    The other fun one (that’s not quite as bad) is when you’ve been having a clean match with someone, you’re clearly winning, you haven’t been rude to them at all, then they get one kill on you and it’s time to run up a t-bag and get on the microphones or text chat about how you’re shit at the game.

    The better strategy would be to improve moderation and kick these people out of the games. However, multiplayer gaming has moved from server owners that can ban bad actors to “someone at the studio has to do it” (and frankly, the studios are not holding trolls, jerks, and cheaters accountable).

    Games like CSGO have added options like hiding usernames, hiding profile pictures, etc. I just see this as part of cleaning up the rest of it. If you’re not going to moderate the multiplayer game to get rid of the most unruly jerks in your community, there should be options for “I don’t want to see their nonsense.”

    Personally, I play shooters to relax, not to be some jerk-wad’s punching bag. I don’t really mind it if the enemy team is joking around and just being playful about it, but some people are clearly out to just put people down and I don’t think they should be the priority; I think they actively keep some spaces of gaming as this cringe elitist thing a lot of people just don’t want to interact with.


  • I think one of the most surprisingly venomous reactions I ever got personally was on “the other site” for destiny 2. I made some suggestions that basically were “allow people to hide t-bagging, here’s how it could work, and also allow people to disable emotes on their client.”

    I’m an anti-fun Nazi cry baby evidently that just isn’t on their level and can’t take the heat. I just don’t get their amazing side game of getting up in my head. I have no business playing a “competitive” game, taunts and being rude are “just part of the game.” Their fun depends on other people being angry and any suggestion that their taunts might be disabled/the other person doesn’t see their taunting is going to ruin the game.

    I was mostly posting that because a friend kept getting ticked every time I tried to get him into destiny PVP. So of course they attacked me as if “my friend” is imaginary.

    The best part was when the mods removed the post for “not having enough to do with Destiny 2” because I bothered to make reference to I think it was what other games were doing or something like that.

    Madness to me. Absolute madness.