• 0 Posts
  • 109 Comments
Joined 1 year ago
cake
Cake day: September 10th, 2023

help-circle


  • Approximation is an important tool for compressing information into useable forms. All labels are limited approximations too. Such compression is inevitably lossy, but that is a sacrifice for the sake of practicality. The important question is what level of compression is acceptable for a given context. If I describe the location of a chess piece on the board, I don’t need to specify how far off-center on its square a given piece is, so a 0-7 offset along each of the two axes is enough for game purposes.

    When it comes to gender, I think we all agree that [0, 1] is insufficient, but how do we determine what is sufficient? Do we argue that a 2-bit vector (masc, fem) is enough to describe {neither, fem, masc, both} for rough rounding, or do we need more detailed values along those axes, or perhaps a third axis too (or more)?



  • In that case, let me add a few more details:

    Deb packages have dependencies on other packages. To install and run a given application, you will have to install other packages (typically libraries the app depends on) too. In the case of using apt, you may see it show a list of packages to install, even when you asked for just one - those other packages are things the one you asked for requires.

    These packages are shared across apps. If I install one app that requires a specific graphics library, then later install another that requires the same library, it won’t have to install it again. On the other hand, if some library introduces changes that break something, updating that shared library because one app requires a newer version may break a different app which required the old version and isn’t compatible with the new one.

    Snaps on the other hand are self-contained: All the dependencies are included with the snap, frozen into whatever version the snap author chose. You can have multiple different versions of the same snap installed in parallel, and each will have their dependencies isolated from each other and the rest of the system. Additionally, they come with certain security measures like restricting the app’s access to the filesystem, network, display etc.

    As a downside, snaps can be larger (but don’t have to be, as they can be stored compressed because the dependencies don’t need to be available elsewhere) and take a little longer to start (though this has apparently been much improved).

    So they’re not generally a bad thing, all in all. I understand their advantages, I respect that they can be a comfortable solution for devs, I like the idea behind the security measures.

    For my personal experience:

    I recall that the Firefox snap had issues as opposed to the deb (among other things, the startup time was atrocious for me), which was how my issues with it started, because it took some effort to figure out how to get a deb version again and make sure I kept getting deb versions. Some other app - I don’t recall which one - also had persistent lag issues which were apparently due to some permissions problem, where security evidently hamstrung usability.

    Accordingly, I was somewhat disgruntled with having my working app ripped out from under me and replaced with a worse one and no comfortable way to get back. I had issues with my Firefox profile too, which turned out to be user error on my part, but obviously still annoyed me in absence of an easy migration mechanism between the two.

    Again, these issues may be fixed now, and they might not be issues for everyone in the first place: if you start out with the snap, migration won’t be an issue, and if it runs well, it may well be a better solution for you. I personally resent the philosophy of “Here, let me assume you want a different thing and just swap it out for you”, but you don’t need to share that resentment.


  • To expand on the hate of snaps:

    They’re a packaging solution for apps and dependencies. They’re apparently quite comfortable for app developers to use too. There was a hiccup where some apps really struggled to run well as snaps, but AFAIK that was fixed.

    The common issues are snapcraft being the only repository and the methods of pushing them:

    Snapcraft is where the packages are stored and loaded from, and it’s a closed-source repo hosted and controlled by Canonical, with no option to configure snap to use a different source. That has advantages for security, if you trust Canonical to vet and take responsibility for the packages on their system, but some people chafe at that lack of control. Compare to flatpak, where you can add arbitrary repos, so any distro vendor can have their own set of packages and versions they’ve vetted for stability and compatibility, but if I want a different version than my vendor maintains in their remote, I can use a different remote for certain apps instead.

    The second issue is that the classical apt system, which used to install .deb packages, was utilised to install snaps instead, so you’d run apt install package and expect a .deb to be installed, but instead it just downloads a script that runs snap install package and you get a snap instead, which is particularly annoying when you previously had it as a deb and it suddenly gets replaced. The argument here is a smooth transition to the “better” system, on the premise that snaps are better and the assumption that users won’t care or notice. In some cases (the hiccups mentioned earlier) that just wasn’t the case and people got frustrated, but even if it worked, some people (including me) take issue with expecting a deb and getting a snap - if I want a snap, I’ll use snap, and if your deb is deprecated, offer me to switch instead of silently installing the alternate source instead.










  • One of my two major projects is a long-term reporting system on a sustainability initiative to help managers figure out whether their unit is compliant (definitely not for control, of course, nooo… though they are expected to talk to their respective subordinates if their results deviate too much, which probably filters up the chain when a given higher level breaks down their subordinate units’ figures).

    Probably a PR push (I swear, if I ever see a figure calculated by my model in the newspaper, my impostor syndrome is gonna thoroughly shit my pants for me), maybe a move to get ahead of competitors in the face of legal stuff I’m not in the loop about, but doing the right thing for selfish reasons is still the right thing.

    The other project… Well, I’m trying to push for measures that prevent user-level evaluations, but it’s a kind of corporate limbo right now. I’m doing my best, but that’s not a whole lot in this case.





  • Eh, between the financial expense, the human reluctance to change and the still very real barrier of “We can’t migrate where there’s nowhere to go” with respect to the software landscape, I think we need to compare our definitions of could. It’s not just a business culture issue either. All change brings friction, but trying to replace the entire infrastructure of a company (and it has to be pretty much everything - one selling point of MS is how thoroughly integrated its products are) is basically ripping out most of the internal organs and replacing them with transplants, but also trying to keep the patient alive somehow… and you need to sell the people with the money on the idea.

    Throwing away and starting over is costly, no matter the context. So no, I don’t think larger companies can even make that choice at this point.

    Smaller companies without the same inertia, in industries where there are Linux-compatible tools? Yeah, they can, provided the software they need is there too.


  • I use Linux privately, and haven’t had a Windows OS on my PC in years except for a VM I needed for a university project. I’m all for hoping that specialised apps get developed for Linux too. I like mine and would probably enjoy using it for private purposes too, but it won’t work with wine and learning different tools is obviously an additional time investment in my free time compared to the one I get paid for learning.

    But I’m both quick and happy to learn. Many people are not (and I see that daily with my users). The cost of switching and disruption in productivity would probably be disastrous enough to ruin the company even before considering the fact that “industry giant unable to fulfill contractual obligations because they have to rebuild half their infrastructure from nothing” would be a crippling blow to its professional reputation in an industry where IT is still considered second-class at best, the ideological gain of no longer depending on Microsoft would net them nothing and in an economic system where short-term profitability is more important than long-term independence.

    And that’s not considering the difficulty of convincing company leadership that Windows really is that bad and Linux really is much better and that we only need to provide the financial incentive and invest the time and money to have someone port already expensive software to a different platform. FFS, we’re still struggling to get people to see IT as a service rather than an expense.

    Finally, even if they were to switch out their entire IT infrastructure, they’d start asking whether it would be cheaper to outsource our internal IT to a company that already knows the new stuff than to retrain all of us. I’d very much like to keep my permanent position, even if it means using Windows.