Linux: I can’t stop you.
Can’t stop won’t stop.
Installing old Linux applications IS a problem. They’re available only if someone repackaged them for newer distros. If not they can’t run anymore because of dependencies mismatch.
This is a good reason for static linking. All the dependencies are built into the binary, meaning it is more portable and future proof.
We don’t need flatpak for this!
And harder to fix vulnerabilities in a linked library, and more bloat in both storage space and memory used.
Trade-offs!
I’ll take a program that isn’t getting updates anymore or simply wasnt working in my modified environment using slightly more ram and storage over it not working at all.
I have firsthand experience with videogames made for one flavor of Linux not working on my machine due to dependency hell.
For occasional programs, or things like games, I’ll agree. For most software I use, no thanks.
You got to build them shits from source.
First step install the old ass compiler version this can be built with.
I almost never have that problem! I feel like everything is gcc or cmake or whatever.
But I’m a dabbler, not a pro, so, my old-as-dirt compiling experiences are like, tome2-gcu (a total banger, btw).
Also, The Dabbler would make for a great Batman villain.
Just supply the dependencies with a chroot. That’s how we did it before distro maintainers started including the 32bit libraries into the 64bit OS.
I think this meme is referring to when Apple ripped out 32bit support in macOS a few years ago. I couldn’t use Wine anymore to play old windows games on my Mac after that update for example.
Nah, skill issue. Get gud and resolve the dependencies manually. 🤓
It’s actually an ongoing problem with closed source Linux games. Devs don’t want to update, and don’t want to open source.
A lot of the time the Windows version will play better through Proton/Wine.
Just use a chroot. That’s what SteamRuntime is. That’s how we handled 32bit libraries on 64bit Linux distros prior to distros including them for gaming back in the day.
nix
solved this by modifying LD_LIBRARY_PATH to point to the desired dependency and/or modifying the binary itself.
My favourite thing about updates on my work Mac is when you say ‘try in one hour’ thinking it’ll ask you then an hour later it aggressively closes your programs. I use Linux, Mac and Windows regularly and Mac has by far the worst update experience out of all of them imo.
I’ve clicked the “install updates tonight” button a bunch of times, it consistently fails to update and then I have to force it to update the next morning. Incredibly poor experience.
Every day, for weeks, my Apple Watch notifies me about available updates when I put it on after charging. Why didn’t you install the updates while you were charging, then?! It only stops when I put it back on the charger and manually tell it to update.
Yes but it also reopens everything exactly as you left it, meaning you can update and not loose anything mission critical; ymmv ofc but in my personal experience MacOS has the best update experience from mainstream OS
Definitely. I’ve used macos for work for 10+ years now and never had an issue with updates. Windows updates on the other hand…
Major update? 1 hour. Minor update? 1 hour.
Linux: i can’t stop dumb users (me) completely destroying everything with a bad console command
I much prefer that to Apple’s approach of “you probably didn’t want to do that, so you can’t”. I’ve literally had to boot into Linux to fix things on Macs. Fucking infuriating.
I did this. Luckily, nothing was lost because I was only using it to learn at the time. It oddly boosted my confidence because if I could break the OS, I could learn how to use it.
I’ll say it once, I’ll say it forever: Windows has better backward compatibility, period. Even compared to linux. Rebuilding an old open source linux app to work on a modern distro can be done, but it’s a process that could take hours or days. And if you don’t have the source code you’re shit out of luck. Have fun getting that binary built against a 1 year old version of glibc to work. This, incidentally is what things like flatpak, docker and ubuntu’s nonsense competitor to both (of which our hatred is entirely rational no really stop laughing) are trying to solve.
Meanwhile microsoft office still handles leap years wrong because it might break backwards compatibility with old documents. Binaries built for windows xp will usually just work on windows 11. Packages built for ubuntu 22.0 often won’t run on ubuntu 23.0. You never notice this because linux are a culture of recompilers. Rebuilding every last package once a month is just how some distros roll. But that’s not backwards compatibility, that’s ongoing maintenance.
Windows 11 isn’t even backwards-compatible with 7-year-old CPUs! Run a 32-bit or 16-bit (dos) exe on Win11/x64? Think again. Windows drivers are always a pain in the butt. Load up an old driver for your favorite peripheral? Probably won’t work.
Ah yes, because linux drivers never break!
You might not understand the pain if you don’t own a tv tuner card but trust me, it’s ROUGH!
The old hauppage TV tuner cards work great with Linux. I actually have some old-school hauppage (old 4:3 TV signal) tuner cards and they work great under a modern Ubuntu install. I also use a couple of hdhomerun units (which do hd) and they don’t really require drivers and also work fantastically with Linux. With Linux the drivers are (mostly) part of the kernel. If they don’t work, it usually means that they’re very new. Linux driver support is leaps and bounds better than any windows support, which is usually discontinued and forgotten about.because the companies go out of business and have closed-source drivers. Linux drivers are open source and if they don’t work, the community fixes them even if the company goes under or hasn’t been around for decades.
But is that desirable? I’d rather break things in favor of something better, and provide a way to make the old thing run, than be stuck with ancient baggage
Also, while that’s true for software, compatibility for old hardware is horrible under Windows
I’d rather break things in favor of something better, and provide a way to make the old thing run, than be stuck with ancient baggage
Windows is office software first and foremost, designed to be used by people who neither know nor care what an “operating system” is. Every last one of these people is entirely incapacitated by even the most lovingly-crafted and descriptive error message. If Microsoft ever considered a policy like this, the city of Redmond would be razed to the ground inside twelve hours
Rebuilding the app for the newer version is an objectively better solution, because it allows you to take advantage to new features. 64-bit migrations are a game changer for example. But its an ungodly amount of effort. Every single sodding package has a person responsible for building it for every distro that supports it. Its only because its on the distros to make a given program work on their distro that the system works at all. I agree that I’d rather it be rebuilt to fit into the new system. But that’s a lot of work. Never forget that.
I heard this concept somewhere once of “Technical Debt” wherein a thing gets made and it works really well but then it gets updated or new features are added and something breaks, but rather than tear the whole thing apart to fix the issue, a patch or bandaid gets slapped on to ship the thing. Then the next update comes along and this time it takes two bandaids, one to ‘fix’ the new problem and one to keep the old bandaid on. The next update takes three bandaids, then four . . . and so on. The accumulation of all these bandaids is known as the Technical Debt, and it must always be repaid, somehow, someday.
Microsoft stubbornly refuses to repay their technical debt at all costs, Apple is terrified of letting anyone ever get even a glimpse of their mountain of technical debt, and Linux bathes in a weird soup of refusing to let technical debt even happen and dispensing bandaids so fast they make the RedCross look like a joke.
Linux has technical debt. The kernel only just stopped supporting the i386. I can’t imagine what patches upon patches were required to make the same code run on even 2 processors released 40 years apart, let alone every processor released in between.
It’s the same with Windows. I worked on minkernel and onekernel. There are a ton of pre-processor directives for different cpu’s and all kinds of hardware pre-processor directives. Even pre-processor directives for different companies. Unused code paths are eliminated during compile time. The pre-processor directives are more of an annoyance for the developers anyways. If you didn’t organize your code, then you get what you deserve.
Backwards compatibility, but at what cost?
The vast majority of software run on Windows these days runs in a web browser. The legacy shit in windows doesn’t impact most software engineers
Or its an electron app.
One good thing (probably the only good thing) about electron is it makes it easy to port an app to linux.
runs in a web browser.
Or its an electron app.
Something something something history repeating
The stifling of innovation. So that’s more of a feature to microsoft
I prefer ongoing maintenance over backwards compatibility, I can easily run such old software in an emulator in recent hardware.
“I can’t delete bloatware” - all 3 of them
Do android system apps count as bloatware? Cause on GrapheneOS you quite literally start out with the bare minimum on a fresh install.
I haven’t done too much in terms of messing around with system apps besides allowing/denying some permissions with Permission Manager X
GrapheneOS is not your typical android image … and that’s why its great!
I can’t remember the original version of the comic, what does each one of them say?
“I wish I wasn’t primarily bred to be food…”
The ultimate life form.
Duk. The ultimate, all-purpouse animal.
Speaking of not being able to delete system apps, a friend of mine with a Pixel phone says Google Play cannot be uninstalled from it. Anybody know for sure?
You can via adb ( android debug bridge ) , no root needed, but you need a pc or shizuku. Although if he has a pixel device he should just install GrapheneOS imo. Edit: puxel -> pixel
No you can’t, 1 version of Google Play is bundled with the system image and cannot be removed. But you can uninstall updates and disable it to remove the automatically updated copy of Google Play.
On adb use pm uninstall than package name. there is something called universal android debloter. Also you can use shizuku with canta to remove it.
Someone clearly hasn’t heard of dependency hell.
I use NixOS so I obviously have not.
The apps aren’t supported
I was trying to delete a KDE program that I’ll never use, but Discover seemed to want to remove the whole pile of KDE Apps. I’m sure there’s a way.
Discover got the Pop OS vibe. You want to remove a small app?how about to remove the entire desktop emviroment and system components? Y/N
The K in KDE stands for kitchensink.
The teeth on that bird are disturbing
- immutable Linux distros enters the chat *
Android hate not tolerated. Android can delete system apps, if you aee root. On linux you can"t install or uninstall anything if you are not root
Considering how difficult it still can be to get root on Android, I understand the shade, though.
It requires an unlocked bootloader and an installed recovery
Thanks. I’m aware of that…
On linux you can"t install or uninstall anything if you are not root
That’s not true at all. You generally can’t use your distribution’s package manager to install or uninstall without elevated privileges. But you can download packages, or executables with their own installer, and unpack/install under your home directory. Or, you can compile from source, and if you
./configure
’d it properlymake install
will put it under your home.Standard Linux distributions don’t place restrictions on what you can and cannot execute; if it needs permissions for device access of course you’ll need to sort that out.
I’m running NixOS and my entire desktop environment is installed and managed without root.
Or by connecting an Android phone to a computer, enabling USB debugging, launching a terminal and typing
adb shell pm uninstall -k --user 0 com.package.name.of.app
No root needed!
That’s not exactly a safe, recommended or foolproof way. Adb carries a lot of risks
Lol wut?
I find it hilarious that the first architecture change in 10 years, that happened seven years ago, still causes anxiety and pain for people who don’t even use that operating system and probably never did.
I wonder how much Linux usership is owed to people being completely incapable of dealing with a minor inconvenience they once encountered (or only saw a meme about) on an apple product.
The sun puts out less energy than is wasted by people hating on Apple for completely and utterly irrational reasons.
An equal amount of wasted energy is output defending a trillion dollar corporation that doesn’t care about those defending them at all. Apple be fine. Let’s just use our computers and move on with our lives; it doesn’t have to be personal.
Based on some of their arguments it feels like they’ve never actually used a Mac. “It’s for babies and old people” they cry, like there’s not an entire Unix system under the hood.