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.

  • 0 Posts
  • 204 Comments
Joined 1 year ago
cake
Cake day: August 10th, 2023

help-circle
  • I was going to defend “well ray tracing is definitely a time saver for game developers because they don’t have to manually fake lighting anymore.” Then I remembered ray tracing really isn’t AI at all… So yeah, maybe for artists that don’t need to use as detailed of textures because the AI models can “figure out” what it presumably should look like with more detail.

    I’ve been using FSR as a user on Hunt Showdown and I’ve been very impressed with that as a 2k -> 4k upscale… It really helps me get the most out of my monitors and it’s approximately as convincing as the native 4k render (lower resolutions it’s not nearly as convincing for … but that’s kind of how these things go). I see the AI upscalers as a good way to fill in “fine detail” in a convincing enough way and do a bit better than traditional anti aliasing.

    I really don’t see this as being a developer time saver though, unless you just permit yourself to write less performant code … and then you’re just going to get complaints in the gaming space. Writing the “electron” of gaming just doesn’t fly like it does with desktop apps.




  • So, the web uses a system called chain of trust. There are public keys stored in your system or browser that are used to validate the public keys given to you by various web sites.

    Both letsencrypt and traditional SSL providers work because they have keys on your system in the appropriate place so as to deem them trustworthy.

    All that to say, you’re always trusting a certificate authority on some level unless you’re doing self signed certificates… And then nobody trusts you.

    The main advantage to a paid cert authority is a bit more flexibility and a fancier certificate for your website that also perhaps includes the business name.

    Realistically… There’s not much of a benefit for the average website or even small business.


  • So the local machine doesn’t really need the firewall; it definitely doesn’t hurt, but your router should be covering this via port forwarding (ipv4) or just straight up firewall rules (ipv6).

    You can basically go two routes to reasonable harden the system IMO. You can either just set up a user without administrative privileges and use something like a systemd system level service to start the server as that user and provide control over it from other users … OR … if you’re really paranoid, use a virtual machine and forward the port from the host machine into the VM.

    A lot of what you’re doing is … fine stuff to do, but it’s not really going to help much (e.g. building system packages with hardening flags is good, but it only helps if those packages are actually part of the attack surface or rather what’s exposed to the remote users in someway).

    Your biggest risk is going to be plugins that aren’t vetted doing bad things (and really only the VM or using the dedicated user account provides an insulation layer there – the VM really only adds protection against privilege escalation which is pretty hard to pull off on a patched system).

    My advice for most people:

    • Make a new user on the system to run each game you want to run
    • Run the game using systemd and that user
    • Use something like kopia + the root user’s crontab (easier than systemd timers, but systemd timers also work) to backup the files on disk

    For Minecraft in particular, to properly back things up on a busy server you need to disable auto save, manually force save, do the backup and then enable auto save again after your backup. Kopia can issue commands to talk to the server to do that, but you need a plugin that can react to those commands running on the server (or possibly to use the server console via stdin). Realistically though, that’s overkill and you’ll be just fine backing up the files exactly as they are periodically.

    Kopia in particular will do well here because of its deduplication of baked up data + chunking algorithm that breaks up files. That has saved me a crazy amount of storage vs other solutions I’ve tried. Kopia level compression isn’t needed because the Minecraft region files themselves are already highly compressed.




  • DOOM Eternal was like a … crazy adrenaline pumping high for me that I normally don’t get out of single player games, so that’s why it’s arguably my favorite.

    I never really played the original DOOM games (they’re almost too simple for me … I didn’t grow up with them but I did get into PC shooters with Xonotic – a fast paced Quake derivative, so DOOM Eternal kinda makes sense for me).






  • They do have versioning: https://docs.syncthing.net/v1.27.7/users/versioning

    Of course, you actually have to use that, it has to work, and you have to have a strategy for reverting the state (I don’t know if they have an easy way to do that – I’ve never used the versioned side of things).

    I have had some situations where Syncthing seems to get confused and doesn’t do its job right. I ran into this particularly with trying to sync runelite configurations and music. There were a few times I had to “force push” … and I vaguely recall one time where I was fighting gigs of “out of sync” in both directions on something and just destroyed the sync and rebuilt it to stop … whatever it was doing.

    Don’t get me wrong, it’s a great tool for syncing things between computers; but I would not rely on it for backup (and prefer having a backup solution on top of the synced directories). There are real backup tools out there that are far better suited to this sort of thing. I suggested Kopia, you should get some integrity checking using its builtin sync (as it won’t be able to figure out what to sync if your origin is corrupted); you won’t get that with a straight up rsync or a syncthing, they’re not application-aware enough to know they’re about to screw you over.

    Restic has a similar feature but I’ve always found Restic’s approach much more frustrating and not-at-all friendly for anyone less than a veteran in systems administration. Kopia keeps configuration in the repository itself, has a GUI for desktop use that runs jobs for you automatic, automatically uses the secrets manager appropriate for your operating system, etc … Restic you kind of have to DIY a lot of basic things and the “quick start tutorial” just kinda ignores these various concerns.

    Even if you plan to just use cron jobs, Kopia will do sane things with maintenance. Restic last I checked you still need to manually run maintenance tasks and if any job maintenance or otherwise fails, you need to make sure to unlock the repository (which if you haven’t set up notifications … well now you’ve got a silent backup failure and your backups aren’t running).

    I just kept running into a sea of “oh this could be bad” footguns with Restic that made me uncomfortable trusting it as my primary backup. I’m sure Restic can be a great tool if used in expert hands with everything appropriately setup; but nobody tells you how to do that … and I get the feeling a lot of people are unaware of what they’re getting into.

    The folks making Kopia … they seem like they really know what they’re doing and I’ve been very happy with it. We’re moving from rsnapshot to Kopia at work now as well (rsnapshot is also fairly good you’ve got a bunch of friends with NASes that support hard links and SSH, but it’s CHATTY and has no deduplication, encryption, data integrity verification is basically left to the file system – so you better be running ZFS – etc).

    Duplicati’s developer is back too, so that might be something to keep an eye on … but as it stands, the project has been bit rotting for a while and AFAIK still has some pretty significant performance issues when restoring data.


  • You could use kopia for this (but you would need to schedule cron jobs or something similar to do it).

    The way this works with kopia… You configure your backups to a particular location, then in-between runs there’s a sync command you can use to copy the backup repository to other locations.

    Kopia also has the ability to check a repository for bad blobs via its verify function (so you can make sure the backups stored are actually at least X% viable).

    Using zerotier or tailscale (for this probably tailscale because of the multithreading) would let you all create a virtual network between the devices that lets them directly talk to each other. That would allow you to use kopia’s sync functionality with devices in their homes.





  • By integrating everything into it, it has become a good enough medium of communication for almost everything.

    Except that’s not at all what we’ve done.

    The only reason English dominates is because it’s the dominant language of the world super powers following world war II. It’s not because of some special design, principle, or properties.

    English isn’t just “make up whatever rules and put them wherever”, particularly formal English which is what we’re talking about in the context of education.

    Really, a better argument against changing the spelling is the classic “standards” xkcd, where now you’re just making another dialect of English where they spell words differently again, and now it needs to be adopted, fracturing the language further.

    Language will evolve with or without direction. We have the structure in the form of schools to actually evolve it with direction in the name of making things more consistent and intuitive. We should use it, that’s all.



  • I disagree that it’s a fools errand. Misspellings rarely become popular enough to become “proper” because we teach everyone the “proper” spelling and we have spell checkers on our computers that are used for virtually everything.

    There’s no method for the people speaking the English language to put pressure on a word that already exists because we’ve build up this infrastructure to "lock things in’ and insist that “they’ve been this way so they must continue to be this way.” The only way we get language evolution currently is via slang … which is hardly a way to get a better language.

    I know the history of facade, it’s like many other words we’ve stolen from other languages that don’t make a lick of sense in our alphabet. It’s not an infinite list, it’s fixable, but we need to change the mind share that “it has to be this way.”

    We made up official spellings, we can fix them, they’re not an immutable law of nature.