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.

  • 12 Posts
  • 467 Comments
Joined 3 years ago
cake
Cake day: June 24th, 2023

help-circle






  • “It’s open source, you can review the code” has become one of the most annoying thought-terminating clichés. Sure, we could:

    • Parse the code that the owner likely doesn’t fully understand
    • Figure out the application logic that the owner also likely doesn’t understand
    • Check the logic for anything that might cause unwanted side-effects
    • Check the logic for malware behaviour
    • Run tests (and review the test code because it’s also likely vibe coded)
    • Pray and beg that everything works
    • Repeat every time the software needs to be updated

    Or we could warn others that the owner couldn’t be assed to either write the code or review what some LLM farted out, and that neither they nor their code should be trusted.

    It’s gas station weed. It’s a drink from a stranger at a night club who swears there’s nothing in it.


  • CUPS didn’t work for me as I can’t see an upload option on the web UI.

    And you won’t. For the purpose of printing, CUPS is a print server, not a web front-end. It facilitates communication between client devices and downstream printers through a unified open protocol that isn’t manufacturer-dependent.

    Printing is implemented through IPP, which is an HTTP-based protocol. You have to add the URL of the printer as it appears on the web UI (e.g. https://print.mydomain.net/printers/PRINTER_NAME) as a printer in the client device’s printer manager. It’s plug-and-play on Linux and Mac, and needs a driver (even if it’s the generic PostScript driver) on Windows.



  • That’s valid. The only thing I miss from my previous XBone controller was the ability to use the D-pad with my right thumb, or even the middle of my left thumb to an extent. The asymmetric Xbox layout is supreme.

    I’m pretty sure you can also combine radial menus with mode shifts. Dishonored 2’s default Deck config has a mode shift bound to L1 (which opens the in-game weapon wheel), which temporarily reassigns the left analog sticks as mouse input while the button is pressed. I’m pretty sure the same could be done with Steam Input’s radial menus too.


  • You should give radial menus a try. I use one in Dishonored 2 and a different one in Warframe, both on the left trackpad.

    In Warframe, the entries send keypresses for the eight numpad numbers corresponding to the direction that I press on the trackpad (bottom left is 1, top is 8, etc), which activate some of the hotkeyed gear items. In Dishonored 2, it just sends a number row keypress in order (first entry is 1, second is 2, etc), which switches the active power or weapon.

    In other games, I just use it as a secondary D-pad (usually directional swipe) with a mode shift on one of the back buttons. My ideal setup would be to have an eight-way directional swipe without having to define a radial menu.

    Steam Input is great, I just wish the config app was better.


  • Both Lutris and Heroic are front ends that manage the compatibility tools and runtime environments of Windows applications.

    • Lutris provides deeper, more advanced configuration options. It’s better if you want to tinker. Lately it’s been having some difficulties with zombie processes and failing to shut down games.

    • Heroic is a more streamlined experience with most of the advanced options tucked away in sub-menus, and it has storefront integrations for GOG, Epic, and I think Amazon. For downloading and installing games, it’s comparable to Steam. I use it exclusively for games I bought on GOG.

    • Faugus Launcher is similar to Lutris, but lightweight, reliable, and without the zombie process issues. I use it for most non-Steam games.

    • Bottles is a Flatpak app that runs apps in a sandboxed environment, i.e. it doesn’t expose your filesystem to the apps. It also tends to have fewer compatibility issues than other runners.




  • If issue #1 is about MangoHUD, you should read its manual to find out how to set the overlay size. If it’s not MangoHUD… you should switch to MangoHUD, it’s a fantastic application.

    Issue #2: Gamescope has built-in support for FSR1 and NIS upscaling. Use this as the launch options: gamescope -W 1920 -H 1080 -w 3840 -h 2160 -F fsr -r 120 -- %command%. This will run the game in a 1080p 120 FPS graphical session, but upscale it to a 4K output resolution using FSR. Unfortunately Gamescope is not perfect and sometimes introduces compatibility and stability issues.

    Alternatively, you can use Lossless Scaling for either upscaling or frame generation. It works on Linux and is well-liked, but I’ve never personally used it.

    Issue #3:

    The default Proton version is the latest one available. You can set it globally in Steam -> Settings -> Compatibility.

    By default, games use the global Proton version. If you want a game to use a different version, you can set it in the game’s Properties -> Compatibility by checking the “Force the use […]” checkbox, then selecting one from the menu.

    Regressions can and have happened. Steam offers the latest release of every major version, so if a game needs an older version, you can use it. Older 32-bit games in particular might have issues with Proton 10 or above, but it is possible to downgrade.

    You can also use third-party compatibility tools that offer different game-specific fixes. The most popular ones are GE-Proton, Proton-EM, and Dawn Winery (the last one specifically for Chinese gacha games with horrid anti-cheat). You can install them by extracting the archives into the ~/.local/share/Steam/compatibilitytools.d directory.

    I strongly recommend consulting ProtonDB if you’re having issues with a game.



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



  • I mean whatever level of access is required to upload an image. That can be access to the web app (with login), access through WebDAV, or access to the underlying OS or filesystem. If you can put a file on Nextcloud, it is sufficient access.

    I forgot to mention that the vulnerability can only be exploited if libraw is also compiled with a particular flag that enables the vulnerable feature. That flag is disabled on base Debian. Docker’s service doesn’t test whether the vulnerability is actually present in the image, only that the package version is listed as affected.


  • Those vulnerabilities are inherited from the Debian base image. Debian is extremely diligent about fixing high-risk vulnerabilities. A high severity CVE does not automatically mean that you are at severe risk. It’s more an indication of how fucked you can be IF the vulnerability is exploited to its greatest potential.

    One of the CVEs affects libraw, which is a library for handling RAW photograph files. If a RAW file contains a particular header, and that header is maliciously constructed in a particular way, extracting an embedded thumbnail can allow the attacker to execute arbitrary code on the server. To make that happen, the attacker must either gain access to a device (e.g. camera) you own, or already have access to the server to upload and process the file, which means that security has already failed.

    The Swiss cheese model applies to cybersecurity too.