Honestly, “I found this useful/interesting/amusing/worth leaving a positive comment avout” is the only award I need. Thanks for the words of appreciation ❤️
Honestly, “I found this useful/interesting/amusing/worth leaving a positive comment avout” is the only award I need. Thanks for the words of appreciation ❤️
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)?
There are n types of people in this world: Those who don’t understand numeral systems, those who understand base x systems for x ∈ [2, n] and those who get pedantic about this meta-joke.
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.
What would you prefer then? For Firefox to stop existing, so that we all finally have to use Chromium?
So because they take money from Google but don’t effectively challenge the monopoly, they ought to be done away with? All Hail our Chromium overlords!
I agree that the exec salaries could use a heavy trimming to the benefit of their actual R&D, but right now, they’re the biggest challenger to the dominance of Chromium. They could be better, sure, but I’d rather have mediocrity than no choice at all.
Huh, weird. The IT guys I work with don’t just know Windows, when I joked about wanting a Linux instead they pointed out that we have software devs using Linux too. I’d need some reason to request it, but if I know the right people (and more particularly, what their favourite snacks are), I could probably get it approved.
(Doesn’t actually help me, given I’m stuck using proprietary tools that I couldn’t get to run with wine, but at least the option is there. And that’s a big corp.)
Just dump it in ~
Sample Size 2 isn’t ample evidence - science must be scienced!
I use CalVer in my projects. I might transition to SemVer some time, but given that most of my projects are standalone, it doesn’t make much sense to track external compatibility.
Pride Versioning makes no sense, because In never quite proud enough of my work to distinguish it from 0ver.
My union costs 1% of my monthly salary. This year, they threatened to strike and got us a 5% raise that way. And that’s just talking about money, not other benefits like paid time off (30 days per year).
See, you should have worked with me - I write terrible back-end code too! You’d have gained a whole new appreciation for the people who can do at least that.
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.
What else do you suggest?
I’d argue a different approach: Teach critical thinking and scepticism to children. Banning things makes it a race to keep up with whatever new thing comes up; it’s not a sustainable solution so much as a constant fixing of new holes without tackling why these things are so destructive.
Me too, let’s touch circles
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.
In imperative style, everything is an instruction (to suffer)