• 0 Posts
  • 289 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle


  • Thanks for posting the solution!

    If you happen to be using a BTRFS or XFS file system, you might want to try duperemove. It will help you reclaim usable disk space without deleting any files, by using those filesystems’ built-in support for data deduplication and copy-on-write. In other words, it will make duplicate files point to the same data on disk, but still work as individual files. Files will appear and function exactly the same, and editing one copy will not change another (unlike with hard links, for example). That way it won’t interfere with cases like Flatpak or Python virtual environments where you really need multiple copies of the same files.



  • Generally speaking, xz provides higher compression.

    None of these are well optimized for images. Depending on your image format, you might be better off leaving those files alone or converting them to a more modern format like JPEG-XL. Supposedly JPEG-XL can further compress JPEG files with no additional loss of quality, and it also has an efficient lossless mode.

    Do any of them have the ability to recover from a bit flip or at the very least detect with certainty whether the data is corrupted or not when extracting?

    As far as I know, no common compression algorithms feature built-in error correction, nor does tar. This is something you can do with external tools, instead.

    For validation, you can save a hash of the compressed output. md5 is a bad hashing algorithm but it’s still generally fine (and widely used) for this purpose. SHA256 is much more robust if you are worried about dedicated malicious forgery, and not just random corruption.

    Usually, you’d just put hash files alongside your archive files with appropriate names, so you can manually check them later. Note that this will not provide you with information about which parts of the archive are corrupt, only that it is corrupt.

    For error correction, consider par2. Same idea: you give it a file, and it creates a secondary file that can be used alongside the original for error correction later.

    I also want the files to be extractable with just the Linux/Unix standard binutils

    That is a key advantage of this method. Adding a hash file or par file does not change the basic archive, so you don’t need any special tools to work with it.

    You should also consider your file system and media. Some file systems offer built-in error correction. And some media types are less susceptible to corruption than others, either due to physical durability or to baked-in error correction.





  • That can’t be good. But I guess it was inevitable. It never seemed like Arc had a sustainable business model.

    It was obvious from the get-go that their ChatGPT integration was a money pit that would eventually need to be monetized, and…I just don’t see end users paying money for it. They’ve been giving it away for free hoping to get people hooked, I guess, but I know what the ChatGPT API costs and it’s never going to be viable. If they built a local-only backend then maybe. I mean, at least then they wouldn’t have costs that scale with usage.

    For Atlassian, though? Maybe. Their enterprise customers are already paying out the nose. Usage-based pricing is a much easier sell. And they’re entrenched deeply enough to enshittify successfully.




  • Yeah, that’s true for a subset of code. But for others, the hardest parts happen in the brain, not in the files. Writing readable code is very very important, especially when you are working with larger teams. Lots of people cut corners here and elsewhere in coding, though. Including, like, every startup I’ve ever seen.

    There’s a lot of gruntwork in coding, and LLMs are very good at the gruntwork. But coding is also an art and a science and they’re not good at that at high levels (same with visual art and “real” science; think of the code equivalent of seven deformed fingers).

    I don’t mean to hand-wave the problems away. I know that people are going to push the limits far beyond reason, and I know it’s going to lead to monumental fuckups. I know that because it’s been true for my entire career.


  • If I’m verifying anyway, why am I using the LLM?

    Validating output should be much easier than generating it yourself. P≠NP.

    This is especially true in contexts where the LLM provides citations. If the AI is good, then all you need to do is check the citations. (Most AI tools are shit, though; avoid any that can’t provide good, accurate citations when applicable.)

    Consider that all scientific papers go through peer review, and any decent-sized org will have regular code reviews as well.

    From the perspective of a senior software engineer, validating code that could very well be ruinously bad is nothing new. Validation and testing is required whether it was written by an LLM or some dude who spent two weeks at a coding “boot camp”.



  • I’m on Bazzite now. It certainly made my life easier as far as GPU drivers go.

    However, be aware that it comes with its own learning curve. It’s an “immutable” distro, and it has like half a dozen different ways to install software. You can’t use dnf like you would on regular Fedora. The idea is to get apps from Flatpak, or use Distrobox, or use Homebrew — all things that run on top of the base OS so you can use a monolithic “immutable” OS image. There are pros and cons to this approach.

    Once I familiarized myself with Distrobox (BoxBuddy makes this a lot easier) and using Flatseal to grant Flatpak apps direct access to the folders they need to operate (like my music library on an external drive, in the case of my music player), it’s been pretty smooth sailing. But I do miss just being able to run sudo apt install <whatever>.




  • On further investigation, it looks like you’d need to do an in-between upgrade to 24.10 before going to 25.04. I didn’t realize that before. It’s been a long time since I upgraded an Ubuntu system.

    Here is the relevant documentation you’d need for upgrades:

    From 24.04 to 24.10: https://help.ubuntu.com/community/OracularUpgrades/#Upgrading_Ubuntu_Desktops_to_24.10

    And then basically the same thing again to go from 24.10 to 25.04: https://help.ubuntu.com/community/PluckyUpgrades#Upgrading_Ubuntu_Desktops_to_25.04

    In case you’re not familiar with Ubuntu’s naming and update conventions, I’ll explain briefly, because it’s confusing for beginners: Each release has a name and number. The names loop through the alphabet in the format “Adjective Animal”, and the numbers are the release date in format “year.month”, with new releases every six months, in April and October. Then there are the “Long Term Support” (LTS) releases that are released every two years, matching the April “xx.04” main releases. You’re currently on “Noble Numbat” (24.04), which is followed by “Oracular Oriole” (24.10) and “Plucky Puffin” (25.04). Totally intuitive, right?! -_-

    OR you could back up your stuff and install a clean 25.04. I’m not sure if the installer has an option to retain an existing home folder. Again, it’s been a long time since I used Ubuntu specifically. Perhaps someone with more recent experience can chime in.


  • You didn’t mention which version of Ubuntu Studio you’re running. Is it 24.04 LTS by any chance?

    My initial thought is that you are probably running Wayland, and that your version of Ubuntu has KDE Plasma 5 instead of 6 and/or outdated Nvidia drivers that don’t work super well with Wayland.

    A quick search shows that this is all default on Ubuntu Studio 24.04 LTS, which is the first version you’ll find at ubuntustudio.org. :(

    Ubuntu 25.04 (non-LTS) has Plasma 6, which is a very important upgrade if you are using Wayland, especially with Nvidia GPUs.

    Just a guess. If I’m right, you have a few choices:

    1. Upgrade to Ubuntu Studio 25.04 (non-LTS). It has newer stuff like Plasma 6 that fixes a LOT of problems like this.

    2. Switch to X11 instead of Wayland. This will likely introduce a new set of problems though. X11 has no future.

    3. Switch to a different DE than KDE. I am not sure what is best in this situation.

    4. Install the latest Nvidia drivers manually instead of getting them from the Ubuntu repo.

    Option 1 is by far the simplest choice.

    The Linux desktop is in a big transitional phase these past few years, as more distros default to Wayland even before a lot of their packages are updated to fully support it. It’s a terrible time to be stuck with outdated “LTS” distros. This is why I hopped away from Debian 12 (13 is out now so yay, but it was a year too late for me).