Err(()).unwrap()

Partisanship is a cancer. Inaction is a choice.

Singular they. Or whatever you like, I won’t take offence.
Proud member of the Banned By Tesseract Club.

  • 1 Post
  • 10 Comments
Joined 3 years ago
cake
Cake day: June 24th, 2023

help-circle


  • (edit) To be clear, I’m not an expert, and it’s been at least a decade since I’ve had to work with shader programming. My knowledge could be completely outdated.


    Important to note that what happens when you skip it is exactly what happens with most games when you run them outside Steam (unless the game itself precompiles its shaders on first launch).

    When the graphics library (Vulkan, OpenGL, or DirectX) needs to load a shader, it first checks the shader cache (or pipeline cache in Vulkan’s case) to see if it can find the compiled bytecode. If the bytecode exists (hit), it is loaded directly into VRAM, much like the machine code of an executable. If it doesn’t (miss), the shader first has to be compiled from its source code into bytecode. This is a CPU-bound operation, which can introduce performance issues (stutters, freezes) and spike the CPU usage. After that, the resulting bytecode is stored in the cache.

    Steam does the same, but preemptively. It scans the game files and compiles and caches any shaders it can find. The difference is only in the timing.


  • Don’t even get me started on fucking Gigabyte. With all my heart,

    FUCK GIGABYTE.

    It is the single worst manufacturer I’ve ever had to deal with in both a personal and professional capacity. We’ve had to RMA half a classroom over the last two years because of busted motherboards. In separate incidents, two power supplies violently self-destructed and took the motherboards and CPUs with them. My own Gigabyte 2060 Super’s fans had to be replaced within two years because the bearings were crap.

    Worse, even the motherboards that didn’t mercifully explode are a fucking chore because Gigabyte’s UEFI implementation is the worst on the fucking planet. No two versions work alike. Some options are in completely different menus. Sometimes CSM or SecureBoot are busted out of the box. If PXE is enabled (which we have to use frequently), it will ALWAYS put PXE at the start of the boot order. And if it can’t connect to a PXE server, it doesn’t fall back to the next boot option. It gracefully shits itself and sits on an error message until someone manually restarts it and interrupts the process.

    Fuck Gigabyte.





  • If you want to dual-boot Windows and Linux, I strongly recommend that you install them on separate devices, and physically disconnect your Linux device. It’s a pain in the ass, but Windows Update has a particular appetite for bootloaders and will eventually eat whatever you have on your EFI partition (including the Linux kernel and ramdisk) and replace it with its own.

    Otherwise, you can use Chris Titus’ winutil script to delay or completely disable updates, and also to debloat the system and disable anti-features like telemetry and the start menu search.

    Not sure if this applies to LTSC, but if you can, install a European edition of Windows (-N suffix) and set an EU location and timezone, it will allow you to more easily uninstall components because of EU regulations.


  • As others have said, Tailscale is the most pragmatic solution. It’s a mesh VPN based on Wireguard. It’s implemented in such a way that you don’t need a static IP and don’t need to open any ports on your firewall. The caveat is that you either need to register an account on tailscale.com (it’s free for small-scale use) or set up a self-hosted alternative like Headscale on a VPS. Then you have to install the Tailscale client on each of the hosts you want to access and log into your account.

    Tailscale nodes will be accessible using an internal, private address in the 100.64.0.0/10 address space. You can also set up a split DNS that allows you to access your hosts using a DNS name like hostname.your-tailnet-name.ts.net.