• 1 Post
  • 332 Comments
Joined 1 year ago
cake
Cake day: September 10th, 2023

help-circle
  • For me the Linux Mint developers’ hostility to snaps (which in my experience tend to be the best trade-offs for my needs) is one of the many reasons I won’t use or suggest Mint.

    I mean, analogous to firefox example you supplied, you could just delete nosnap.pref and be on your way.

    Also, snapd keeps a snapshot of your per-revision configuration from an app for a while after you remove it. You can run snap saved to see all the current snapshots. It doesn’t remove your $SNAP_USER_COMMON directory for that snap (which is where the Firefox snap stores its profiles), so moving from the snapped Firefox to the version from apt is just a matter of moving the .mozilla directory out of ~/snap/firefox/common to ~/

    I could have sworn I checked that, but I was a lot less familiar with these things at the time, so maybe I missed it.


    I don’t think snaps are a bad thing on principle, my own bad experiences with them notwithstanding. I could also live with a for-profit operating its own curated package repository as part of its service. I’d personally prefer not to use a client locked into one particular package provider, but if that’s the tradeoff for that provider’s security guarantee that your packages are all Canonical-certified safe, I’d accept that. If it were preinstalled with an OS, that’s fine. If they make it the default Software Store, we’re on par with the Microsoft Store and other App Stores and those too provide a utility and convenience, particularly for those less technically minded. The ship on “don’t bundle your browser with your OS because that’s monopoly grabbing” has sailed long ago anyway.

    All of these are things I’m fine with, even if I personally would choose not to use them. If that was all, I’d still recommend Ubuntu as a beginner distro, because it was my intro to Linux too and I found it good at the time.

    The thing that irks me is when they’re being dishonest about it. You no longer wanna support a deb package in your repos? Fine, let me know, offer me a one-click migration option for installing the snap instead and moving my data over, give me the whole marketing routine of telling me how much better your new solution is, but make it my choice.

    Having a transition package for a name change or breaking up a larger project into modular packages is one thing. Using it to instead run an entirely different package manager pulling from a proprietary repo?

    Worse still, if you had trouble with one app so you went and found a non-snap repo, you pinned it with higher priority, reinstalled it from the new source and thought you were in the clear because that worked as expected.
    But you forgot or didn’t know to also put a negative priority on the snap source because pin priorities seem intuitive enough, only for unattended upgrades to look at the pins and say “That sign can’t stop me, because I can’t read” (pins from repos I don’t know) and reinstall the snap…
    I get that automatic upgrades don’t pull from all repos by default for security reasons, but at least look at the priorities and realise “Ope, not gonna touch that, I’ll notify the user to do it manually if they trust the update”.

    And that, for me, is the part that takes it from apathy to disdain; the part that goes beyond “each distro has its own preferences, no big deal”; the part that reeks of a profit-oriented company aiming for vendor lock-in.

    To close the topic out: All of this is just explaining my stance; I’m not telling anyone what to do or not to do. You gave your point, I gave mine. By all means, if it works best for you, I’m not getting in your way. I just wish there was a better option.


  • Thanks for that correction then. I wasn’t conscious of that detail.

    In any case, the issue remains that, if the vendor’s default repositories push for a type of package I don’t want, I either have to manually find and vet third party repositories I trust or find someone else to rely on for defaults I’m fine with.

    The difference between “I want a different source for a single package, so I’ll manually select a different source for that one” and “I don’t trust Canonical to select sources I agree with anymore” is one of scale. I’m fine with manually pinning the transitional package, uninstalling it and the snap (hopefully remembering to back up my profile before realising that it also deletes user data) adding a ppa, reinstalling it and reimporting my profiles just for firefox.

    But if I feel like I have to fight my distro vendor over not using their preferred package distribution system, it’s probably better to jump ship - other vendors have beautiful distros too.

    (Also, “you can just use a different source” is part of the reason people prefer not to use snap, where you can’t do that)


  • Correct me there, but wasn’t the “select source” thing intended to be about different deb sources?

    The issue is that what you expect to be a deb package manager ends up redirecting to snap anyway. It’s not a different source, it’s a different system. If I have to manually take steps to avoid using the distro vendor’s default sources because they just redirect to a system I don’t want to use, I might as well look for a different vendor.

    And so I did


  • IIRC, the issue was that - unless you take steps to explicitly prevent it - Ubuntu would occasionally reinstall the snap version. I don’t remember the details, been a while since I had to dance that dance, but I recall it being one of the things that put me off snap in particular, Ubuntu in general and sparked my search for a different distro.

    I’m now on Nobara, a Fedora-based gaming-oriented distro maintained by GloriousEgroll (who also maintains the popular Proton-GE)




  • Are you trying to argue that laws and treaties are worthless unless enough people abide by them and are willing to enforce them?

    Because, yes, that is the fundamental principle of society: We need to work together to survive and thrive, so we agree on rules by which we work, and enforce them on those that break them. If you disagree with something but take no steps to oppose it, your disagreement is just as worthless as a law nobody cares to enforce.

    So what point are you trying to make here? “If China enforced their claim and nobody stopped them, their claim would be effectively valid”? How is that relevant to the situation if all they’re doing is protesting, but nobody else cares to back them up and they don’t actually take measures to prevent the passage?

    “If I put pineapple on my Pizza and nobody stops or punishes me, it’s legal”? Yes. Congrats. You understood the very basics. Want a sticker?







  • A specialist in one field isn’t necessarily adept in another, and particularly coming from STEM to humanities seems a particularly treacherous transition because so much about humans is based on premises that cold, logical STEM principles just aren’t aware of. That doesn’t mean we STEMs are stupid, we just don’t know just how much there is that we don’t know and would need to know before we can understand, let alone predict human behaviour.

    I know I’ve found myself grossly misjudging human reactions in some case because humans are complex and there are so mamy premises and factors affecting individual behaviour and so many more for collective behaviour that they’re effectively non-deterministic and even predicting the probabilities requires such familiarity with the people or demographics, respectively.

    All that is to say: Yes, I think so too. She’s well-educated, but not above tripping over the same, common stone that many smart people have stumbled on.






  • Welcome to the wonderful, confusing world of objects, semantic models and unintuitive terminology.

    The “immutable object” is an abstract kernel of your being, to which all other properties are related. It represents, in a way, the coincidence of all those other properties, but it’s not quite so simple.

    In semantic modelling, those properties are considered objects too, albeit often dependent ones: “Hair color” in the sense of a person’s hair color is an object type; individual instances cannot exist without a person whose hair they’re describing. “Blonde”, in that sense, is a grouping of instances, but if there were no blonde people, the group would be empty.

    Likewise, “Name” is an object type that depends on the thing it’s naming. Sure, you can come up with arbitrary terms that don’t refer to anything, but they’re semantically meaningless. Conversely, a thing can exist without being named, like a newborn. You could identify it as “the newborn baby of <parents>”, but that isn’t a name so much as list of properties (newborn, parents\¹), that coincide for one particular person.

    The combination of a simple object (that a stract kernel) and its dependent objects (properties) forms a complex object. You, as a person, probably have a name by now. You also probably have a body, a past², some knowledge and skills like the ability to understand and form words and sentences, which in turn includes a vocabulary…

    If you change your name, that is one property that changes; one dependent object that is swapped out for another. The rest of your properties is unaffected by that. Formally, the relation between you and your name is mutable, but your eye color for instance (probably) isn’t dependent on your name.

    Now, if you were to somehow swap out all dependent objects at once, changing every property - a different name, different past, different parents, different body - then you would arguably be a different person. Even if you could argue that the core object remains the same, but given that this core object is an abstraction to describe the complex of properties and relations, which no longer has any intersection with the original, that “sameness” is effectively meaningless. The original configuration of properties is no longer tied to anything.

    The philosophical difficulty of this concept is the question just what level of change constitutes a different object; which properties are immutably tied to you, so that changing one of them would be a different person? It’s the Ship Of Theseus question: How much about a thing can change before it’s no longer the same?

    Do we argue that, as soon as even one property is changed, it no longer is the same object? Then every moment in time, adding to the past of an object, will make it a new object, nothing is permanent and the immutability is worthless.

    For a person, most immutable properties of yours would be part of your past - where you were born, when you were born, essentially the continuous sequence of moments in your existence leading up to this one. The name you were assigned after birth would be a part of that history, even if the name you now use is a different one. Yet we do say that someone has become a different person if things like worldview and patterns of behaviour differ strongly enough. Again we encounter the question: What else, besides your past, defines you?

    Practically, most contexts use some subset of your properties to define a person. In the example of a user id, that is the one immutable identification for user management purposes. Change the name, age, login, permissions and everything - from the system’s perspective it’s still the same user. Semantically, this might be a different person, but the system doesn’t care.

    Practice has to make concessions to the limitations of human abilities. We accept a level of ambiguity by ignoring some properties, because ultimately every model and pattern is supposed to simplify our decision-making. Overcomplicating things doesn’t help us navigate life.


    1 Parenthood itself could be modeled a simple, abstract object, dependent on both the parent and the progeny, representing the circumstance that one is the parent of the other. Technically, the Child could then exist independently from having parents; Practically, biology gets in the way of that.

    2 Modeling the past of a given object is actually a complex exercise that also runs up against many of the same problems: You could consider it a continuous set of moments, each of which represents a relationship between a point in time and your exact state (coincidence of properties) at that point. But under the assumption of linear time, each moment would describe a different state, at the very least a different set of past moments.