Just another Swedish programming sysadmin person.
Coffee is always the answer.

And beware my spaghet.

  • 3 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle



  • Go has a heavy focus on simplicity and ease-of-use by hiding away complexity through abstractions, something that makes it an excellent language for getting to the minimum-viable-product point. Which I definitely applaud it for, it can be a true joy to code an initial implementation in it.

    The issue with hiding complexity like such is when you reach the limit of the provided abstractions, something that will inevitably happen when your project reaches a certain size. For many languages (like C/C++, Ruby, Python, etc) there’s an option to - at that point - skip the abstractions and instead code directly against the underlying layers, but Go doesn’t actually have that option.
    One result of this is that many enterprise-sized Go projects have had to - in pure desperation - hire the people who designed Go in the first place, just to get the necessary expertice to be able to continue development.

    Here’s one example in the form of a blog - with some examples of where hidden complexity can cause issues in the longer term; https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride



  • Ananace@lemmy.ananace.devtoLinux@lemmy.mlUbuntu Snap Hate
    link
    fedilink
    arrow-up
    34
    arrow-down
    1
    ·
    2 months ago

    Well, things like the fact that snap is supposed to be a distro-agnostic packaging method despite being only truly supported on Ubuntu is annoying. The fact that its locked to the Canonical store is annoying. The fact that it requires a system daemon to function is annoying.

    My main gripes with it stem from my job though, since at the university where I work snap has been an absolute travesty;
    It overflows the mount table on multi-user systems.
    It slows down startup a ridiculous amount even if barely any snaps are installed.
    It can’t run user applications if your home drive is mounted over NFS with safe mount options.
    It has no way to disable automatic updates during change critical times - like exams.

    There’s plenty more issues we’ve had with it, but those are the main ones that keep causing us issues.
    Notably Flatpak doesn’t have any of the listed issues, and it also supports both shared installations as well as internal repos, where we can put licensed or bulky software for courses - something which snap can’t support due to the centralized store design.





  • This looks really odd in relation to other fediverse software; Why /magic and required to be on the root of the domain? Why hard-require routing the domain part of the user ID when .well-known/webfinger exists? Why is there a X-Open-Web-Auth header which the spec only describes as “its purpose is unclear from the code”?
    So many questions.

    I definitely like the idea of distributed sign-in, Solid did a decent work of that many years ago after all. This particular proposal just looks rather odd.





  • Flatpak uses OSTree - a git-like system for storing and transferring binary data (commonly referred to as ‘blobs’), and that system works by addressing such blobs by hashes of their content, using Linux hardlinks (multiple inodes all referring to the same disk blocks) to refer to the same data everywhere it’s used.

    So basically, whenever Flatpak tells OSTree to download something, it will only ever store only copy of that same object (.so-file, binary, font, etc), regardless of how many times it’s used by applications across the install.
    Note that this only happens internally in the OSTree repo - i.e. /var/lib/flatpak or ~/.local/share/flatpak, so if you have multiple separate Flatpak installations on your system then they can’t automagically de-duplicate data between each other.







  • Ananace@lemmy.ananace.devtoLinux@lemmy.mlFile System Benefits
    link
    fedilink
    arrow-up
    11
    arrow-down
    1
    ·
    10 months ago

    RHEL is going hard on XFS, they’ve even completely removed BTRFS support from their kernel - they don’t have any in-house development competency in it after all. It’s somewhat understandable in that regard, since otherwise they wouldn’t necessarily be able to offer filesystem-level support to their paying customers.

    Though it is a little bit amusing, seeing as Fedora - the RHEL upstream - uses BTRFS as their default filesystem.


  • The main benefits to BTRFS over something like ext4 tends to be considered as; the subvolume support - which is what’s used for snapshotting, the granluar quotas, reflinks, transparent compression, and the fact that basically all filesystem operations can be performed online.

    I’m personally running BTRFS in a couple of places; NAS, laptop, and desktops. Mainly for the support to do things like snapshots and subvolumes, but I also make heavy use of both reflinks and compression, and I’ve also made use of online filesystem actions quite a few times.