Why desktop operating systems have completely failed at their job for the last 20 years



  • @TimeBandit I disagree. Just update the apps.



  • @wharrgarbl Yeah, that's just the best way to do it.

    Found a security issue in glibc ?
    Just wait for every apps and services in your OS to publish an updated version, instead of just updating glibc and rebooting :rolleyes:


  • Discourse touched me in a no-no place

    @TimeBandit The problem comes when you're dealing with developers incompetent jokers who think that doing an incompatible change in a minor release is a Good Idea. 😖



  • @dkf said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @TimeBandit The problem comes when you're dealing with developers incompetent jokers who think that doing an incompatible change in a minor release is a Good Idea. 😖

    Hey! It was only a minor bug!


  • ♿ (Parody)



  • @TimeBandit said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @wharrgarbl Yeah, that's just the best way to do it.

    Found a security issue in glibc ?
    Just wait for every apps and services in your OS to publish an updated version, instead of just updating glibc and rebooting :rolleyes:

    Fine. Security issues on libc that affect applications aren't common.





  • @boomzilla I'm serious.

    Applications should be sandboxed and not affect the system if they have security issues.

    Server applications should be updated frequently anyway.



  • @TimeBandit said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Security issues on libc that affect applications aren't common.

    1. I've said I consider basic stuff from the OS to be exceptions.
    2. Most of these aren't exploitable in most applications
    3. The method for exploiting would more likely be application specific
    4. Update the applications


  • @dkf said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @TimeBandit The problem comes when you're dealing with developers incompetent jokers who think that doing an incompatible change in a minor release is a Good Idea. 😖

    I seen stuff broken on GitHub sometimes because of this


  • Considered Harmful

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Fine. Security issues on libc that affect applications aren't common.

    :wtf: Can you think of a security issue in libc that does not affect applications?

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Applications should be sandboxed and not affect the system if they have security issues.

    I don't give a flying fuck whether I can "affect the system" if I can steal your credentials by exploiting your browser.

    Server applications should be updated frequently anyway.

    That must be why server-oriented distributions like RedHat and Debian do so many version updates. It's every admin's delight to come to the office, find an urgent security fix and be notified that in order to use it, she has to change half of the config files and deal with the stream of users phoning in because they're confused by the new features.



  • @dkf The Angular devs which are apparently employed by Google are having a right laugh. Every library is incompatible slightly even if it is semver compatible. The best bit is that all the libs we are using are official libs from the Angular team.

    Angular Devs == Total Wankers.



  • @LaoC I think that's why Android has put the WebView in a separately updateable library "app". Makes sense, I think.


  • 🚽 Regular

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Edit: no, fuck roamers, I still want it all contained in it's directory

    Directories are a figment of your imagination.

    The OS could provide each program a directory for settings. This directory would then be shown under the program's installation directory as well as under a centralized directory grouping the settings of all programs. Where the contents of this directory would be stored would be an implementation detail.


  • 🚽 Regular

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    • A magic "apps" folder where all apps inside are considered "installed". So you could deploy software by just copying it there
    • An app store that still works the same way they do today (download + install)
    • The ability to manually "install" apps from anywhere else.

    Like fonts.


  • Discourse touched me in a no-no place

    @Gurth said in Why desktop operating systems have completely failed at their job for the last 20 years:

    The real breakage occurred when Rosetta got removed in OS X 10.7, about six years after Apple switched to Intel.

    That's what I meant.


  • kills Dumbledore

    @loopback0 there was also the removal of support for Classic mode (basically an OS9 VM). I think that was in 10.5?


  • 🚽 Regular

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    No, that is a bad idea. If the application is affected by some serious security issue, they application would release a new version compiled with updated libraries.

    Because we all love updating tens of applications all at the same time.
    The bandwidth waste, the UX changes that may simultaneously come... Great fun.



  • @svieira said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Midori

    That article was interesting as fuck, but ultimately it's all about a new language-compiler-runtime model that provides safety, not security, basically a more efficient .NET. It probably does make implementing security easier, there's a section about how to implement capabilities in an object-oriented way, but I don't think it's the biggest obstacle right now.

    We can already implement permissions checking in both plain old machine code and .NET, we just don't do it enough.



  • @Zecc said in Why desktop operating systems have completely failed at their job for the last 20 years:

    The OS could provide each program a directory for settings. This directory would then be shown under the program's installation directory as well as under a centralized directory grouping the settings of all programs. Where the contents of this directory would be stored would be an implementation detail.

    +1

    There's no reason see things as strict hierarchy. Views can be useful too. Even if just implemented at file manager level.


  • Considered Harmful

    @Grunnen said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @LaoC I think that's why Android has put the WebView in a separately updateable library "app". Makes sense, I think.

    Sure does. But even though Android is fairly sensible in that respect (and the situation is not as bad as on the desktop because people use more individual apps rather than running everything in the browser), the browser itself still has a huge attack surface and allows you to grab a lot of sensitive information if you exploit it. No need to affect any other apps.



  • @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    They need to be "installed" before you can run them. Or at least all existing ones insist on it, I don't know if it's actually necessary. This is a real annoyance and a waste of time IMO. Often they will insist on installing shell extensions or background services that will slightly slow your entire system down, with no way to disable it even if they're not really necessary.

    That's a problem. As a developer, you should reduce not-installed-by-default dependencies to the absolute bare minimum. As a user, you should encourage developers who do that.

    This is a side-effect of the Win32/Linux programming API concept which is that the OS provides the absolute bare minimum and everything else should be provided by a third party. The Macintosh concept, on the contrary, is that the OS should provide a "construction kit" able to build virtually any application. As a result, Macintosh application virtually never had dependencies, and virtually always were very tiny (filesize) in relation to Windows/Linux applications of comparable feature-set.

    Thankfully, Microsoft has switched to the Macintosh philosophy with the .Net framework. But of course a lot of developers haven't adopted that for various reasons, almost all of them stupid and wrong.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    They leave "residues" even after uninstalling. This is the bane of all Windows users: your computer just gets slower and crappier over years and you eventually need to do a clean install.

    Uninstallers leave residue behind: true.
    Windows gets slower over time as a result: not true for many years.

    Microsoft made a huge effort to fix that in Vista and Windows 7, and it's a non-issue now.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Because installing and uninstalling can run arbitrary logic, there's no reliable way to do it without running the official installer program. You can't just copy a folder to a computer to deploy the program. This is a MASSIVE inconvenience when it comes to system administration. Yes, I know there are ways to do that (unattended installers, containers, 3rd party programs, portable versions, etc) but they are not universal.

    I would say it's a huge convenience to network administrators, in that it means you can just have a single .MSI (this assumes applications not written by morons) distributed to an entire network and reasonably "guarantee" that every computer in the network has the same files in the same places while also including (for example) your company's specific licensing info in the Registry to save your users the trouble of typing it in.

    At this point, I'd like to note that a lot of stuff in NT is there because NT wasn't designed to compete with GeOS or Macintosh or Amiga Workbench, it was designed to compete with OS/2 and Novell Netware. The fact that NT is used on home computers is mostly an accident of history.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    There's no reliable way to copy or delete the state of a program (the persistent data it stores on disk). Sure, most of the time this will be the AppData\Roaming[program] folder, but not necessarily. I have a Windows desktop computer and a tablet, yet there's no easy way for me to sync the state of my desktop programs between both. And wouldn't it be nice if you could right click any program and run it with different user profiles, like Chrome or Firefox do, or even get a "Snapshots" feature like VMs that let you go back in time?

    The problem is that the OS has no way (AFAIK) to signal an application to reload all its configuration state. (And, more cynically, if it did, most applications are written by morons and would ignore it.) Compounded by the fact that most applications save their configuration on close, even if the configuration hasn't changed.

    What this means is that this feature would be (or at least look) broken for most users-- I told VS on my desktop to use 14-point font while VS was open on my sleeping laptop, and when I opened my laptop not only was it still 12-point font, but when I closed the laptop version of VS now BOTH computers use 12-point font! You see the issue.

    Implementing that would require a greenfield design, and since Microsoft recently did one of those with the Windows App Store apps, maybe the foundations for that feature are in place now. I honestly don't know.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    And wouldn't it be nice if you could right click any program and run it with different user profiles, like Chrome or Firefox do,

    You can do that. Explorer has had a "Run As..." contextual menu entry that lets you run an application under a different profile since Windows 2000. (Although I think you have to shift-click to get it in Windows 10.)

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    or even get a "Snapshots" feature like VMs that let you go back in time?

    Interesting idea, but here's the problem: applications by and large can't be fundamentally broken by changing their settings, and ones that can are so poorly-written that they'd probably defeat this safety feature by, for example, writing all their configuration data in c:\settinz\лягушка_облизывание\blaedhw.syx. It's genuinely a good idea, but I don't see it passing Microsoft's "-100 points" barrier because, like the settings syncing idea above, it'd simply appear broken to most users.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Even without running as admin, applications can do lots of bad things: they can read all my documents, delete them, encrypt them and ask for a ransom, install themselves to silently run on the background, and log all passwords I enter into the browser.
    There's no reason why Minesweeper should be able to read my emails. It's called the principle of least privilege or just fucking common sense.

    I think everybody agrees with you there, and all greenfield application platforms take that into account. (As far as I'm aware. Maybe not Samsung's.)

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Worse, in most cases, the application requires me to run it as administrator to install it. This means it can gain absolute control over my computer! For a fucking web browser or video game!

    True; but mitigated somewhat by application signing in the Windows world.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    So what does this mean? It means that every single time I want to run a program, I have to pay a slowness tax, and take a significant risk. And that means that I avoid running new Windows programs as much as I can, and I tell everyone I can to do the same.
    And that means Windows has failed at its one fucking job. Which is to run programs.

    (Quick reminder that NT was designed as a OS/2 and Novell Netware competitor.)

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    And it bothers me that I never see anyone acknowledge this problem in so many years, when it's pretty much the #1 headache with computers, and there's no technical reason for programs to work like that!

    There's a few reasons:

    1. There's a class of people who want things to work that way. (System administrators.)
    2. The default Windows installation method, while it runs as Administrator and probably shouldn't, has a few safeties built-in:
    • The application signing I pointed out above
    • The fact that the Administrator account they use aren't the "real" administrator account of the computer (in as much as Windows can even be said to have a "real" administrator account)
    • MSIs, which are strongly encouraged, are run under a specific Service account that's even more restricted
    1. The simple fact that, in practice, this hasn't been such a huge deal. Most malware doesn't pretend to be installers to get Administrative permissions since the XP era. Malware now, as you noted above, uses the already-available User permissions to encrypt all the user's files. While we all agree that's a terrible thing, building a way to run installers with fewer permissions doesn't fix it.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Or just look at the huge demand for containers and VMs for deploying server stuff. You just copy them and they run! You can pause them and move them to a different computer! Why aren't we demanding that from Linux and Windows?

    If the entire app's run in a container, how am I going to export its settings to your second computer like you wanted about 5 paragraphs above?

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    I open untrusted code in Chrome and Firefox all day without a worry. I was doing it 10 years ago with Flash games. Android does it. Even Java, with the constant security vulnerabilities, is at worst equal to Windows' default model. Even Windows and Linux can do it! They already have most or all of the security elements in the kernel necessary to encapsulate a process, they just need the rest of the system to be designed to actually use them.

    Windows is trying to make App Store applications (is there a better name for those yet?) the default model from here on out, and I believe it implements everything you want.

    @Adynathos said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Android has fixed some of them, because it is younger.

    Android, iOS, Windows Phone, etc.

    If you boil this down, you might reach the conclusion "old software is old". Which would be fair, but that's a totally different way of framing the question, and something where anonymous234's reluctance to try new software is actually a hindrance. (If people don't try the new Windows App Store apps with their better security, etc, then they won't be profitable, developers will stop making them, we're stuck with the "old" another 20 years.)

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @anonymous234 As I said in the other thread, we used to do it right at MS-DOS time. You unzipped a folder and there is your app. All configuration, logging and etc inside it.

    (Yet another reminder that NT was designed as an OS/2, Novel Netware competitor.) Central management is a key feature of those OSes, everything in NT is built around the assumption that the computer will be centrally-managed.

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    There is nothing in modern software that justified we leaving from this way of doing things.

    Windows NT sold millions of copies because it had features that couldn't be implemented in that model. There was a very very very strong financial incentive to make an OS that had the features that large corporations needed.

    Obligatory story about tearing down the fence across the road. Don't tear out features like the Registry or Roaming Profiles until you 100% know why they were put in in the first place.

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @Yamikuronue Most apps should be single file executables IMO. Windows supports embedded resources like images in them, and all non-system libraries should be static.

    In Mac Classic, an application was also a database that could hold any data (icons, text, graphics, window layout templates, etc) the executable code could ever need.

    You guys might have heard this before from someone, but Mac Classic was incredibly well-designed and it's a goddamned tragedy that it's mostly forgotten.

    @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    But partial updates aren't worth it, we're not on dial up anymore. Just test your software better instead of pushing updates every day.

    You obviously don't have 80 GB of Elder Scrolls Online sitting on your computer, or 70 GB of Titanfall 2 on your Xbox One.

    @asdf said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Sounds like what you want is the new Windows app ecosystem. It fixes at least half of the issues you mentioned.

    Right; then he also says he's wary about trying new apps. So he's damned if he does, damned if he don't.

    @loopback0 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Windows should be more like macOS in this respect - almost every app is just a case of drag-and-dropping it from the .zip or .dmg into the Applications folder.

    macOS can't be centrally-managed. Microsoft's not going to give up the feature they made billions of dollars on having when nobody else did.

    @anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    I want that, but released in 2001 as a major component of Windows XP, instead of 2015 and windows 10. To save me and everyone else 14 years of computer pain.

    Honest question:

    Say an alternative API in Windows that solves all your issues was released in 2001. It was 100% complete, ready-to-go, etc.

    Now we're in 2017. How confident are you that Adobe has ported all their applications to this new API? Keep in mind that Microsoft isn't going to do anything to piss off Adobe.

    The problem isn't just HAVING the system, the problem is GETTING PEOPLE TO USE IT.



  • @loopback0 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    IIRC the only proper breakage was when going PowerPC -> x86 then when going to 64-bit.

    24 -> 32 bit addressing was a huge breakage. (Lots of apps used those "extra bits" in pointers to store stuff.)

    System 6.x -> System 7.0.0 was a pretty huge breakage due to the way multitasking worked being completely redone. Carrier Command stopped working. :(

    68k -> PPC was remarkably clean and easy, since they wrote a 68k emulator (and the ability to ship "fat apps" with both 68k and PPC code) that was transparent and virtually 100% correct and complete (if quite slow). (You'd think this would have been a huge breakage, but Apple actually did a good job here.)

    Classic -> OS X was also remarkably clean and easy for about 3 versions until Apple said "fuck Classic apps and all our users who have spent thousands of dollars on them, remove the emulator" at which point people like me said "fuck you Apple" and moved to Windows with zero regrets.

    Fuck you, Apple.



  • @blakeyrat I'm glad you're back, this place isn't the same thing without your posts.



  • Both Apple and Microsoft tried to address your concerns with their App Stores. All they needed to do was force better compartmentalization and introduce built in software "sources". And they did.

    But they both overreached. They tried to gimp the desktop software too much. Desktop computers aren't phones. Even if most programs don't need to, they should be able to access anything on the computer. It's fine to limit apps by default to their little container, but if a certain app (eg. a file manager) wants to see the entire file system, there should be a way for it to request it.

    They also tried to inject themselves as the one blessed middleman, with no other option. Sold it as "security", that just so happens to be very convenient for them.

    I am glad the first attempt on both platforms largely failed. I hope a version 2 is more like the Android ecosystem and less like iOS, which is the one they tried to emulate.



  • @cartman82 90% of the annoyances with Windows 10 is turning off security features that get in the way.


  • Java Dev

    @blakeyrat And because you left at that point, you missed this little repetition:

    ClassicPPC -> OS Xx86 was also remarkably clean and easy for about 3 versions until Apple said "fuck ClassicPPC apps and all our users who have spent thousands of dollars on them, remove the emulator" at which point people like me said "fuck you Apple" and moved to Windows with zero regretskept using it because breakage is expected with Apple.

    Although it didn't break that much for me, as I was mostly using x86 apps at that point. Maybe I was helped by missing out on the PPC era of Macs. And the fat binary concept was back for that transition which helped ease things over.


  • Considered Harmful

    @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    That's a problem. As a developer, you should reduce not-installed-by-default dependencies to the absolute bare minimum. As a user, you should encourage developers who do that.

    No. Libraries are there to be used, and proper package manager makes that a complete non-issue. So what if I type "aptitude install blender" and it tells me it's going to pull in 438 packages? I say "y" and have a coffee (on Lao internet that is, in Europe I could maybe read half of your post while it's working). If I want to remove it later, the package manager will notice nothing needs those 438 packages any more and offer to remove them all.
    Of course it would suck to do that on Windows, which is why every crappy little app brings with it half a gigabyte of libraries.

    This is a side-effect of the Win32/Linux programming API concept which is that the OS provides the absolute bare minimum and everything else should be provided by a third party. The Macintosh concept, on the contrary, is that the OS should provide a "construction kit" able to build virtually any application.

    What is "the OS" to you? If you use the word in the strict sense to mean the Linux kernel and the respective parts of Windows that run in kernel mode, that's certainly true. But nobody except for some embedded devices uses the OS like that. If you add the typical GNU userland and packages you find in a Linux distribution, you actually get far more functionality out of the box than on OSX.

    The problem is that the OS has no way (AFAIK) to signal an application to reload all its configuration state. (And, more cynically, if it did, most applications are written by morons and would ignore it.)

    On Unixes, SIGHUP is conventionally used for that, and it's implemented by a whole bunch of server software that needs to be reconfigurable at runtime.

    You guys might have heard this before from someone, but Mac Classic was incredibly well-designed and it's a goddamned tragedy that it's mostly forgotten.

    They had some nifty ideas but they got outweighed by godawful hacks that were the legacy of an all too M68000-specific design. Like, there are only 24 physical address lines anyway, so let's use the address counter MSB for some flags – oops, now the M68020 has 32? Damn! Or the crutches people invented to get around the lack of preemptive multitasking. It felt like being stuck with DOS TSRs in the mid-90s. Even AmigaOS was more forward-looking in many aspects.

    Edit:

    24 -> 32 bit addressing was a huge breakage. (Lots of apps used those "extra bits" in pointers to store stuff.)

    :hanzo:



  • @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    No. Libraries are there to be used, and proper package manager makes that a complete non-issue

    HAHAHAHAHAHAHAHAHAHAHA.

    Linux has fucked this up time and time again. Unless you are only ever using GNU stuff then it will work correctly, if you are using a half decent distro. If you are using like Arch or Ubuntu then it will pull in load of fucking dependencies you don't need.

    Also you better do a dry run before using remove or prune because if they haven't bothered linking the packages properly it might just remove your whole gui environment.

    If you want to install something that is third party and you don't have the right libs on the system you could end up making symlinks to certain libs just to get a very unstable version of the app. If you are lucky everything will work on upgrade or it could just delete your home directory (hello steam uninstaller script on Linux).

    The only systems where it works is where they carefully curate the packages i.e. Debian , FreeBSD, CentOS, OpenBSD or where you use something like the ports system i.e. PkgSrc, Ports, Brew.


  • Considered Harmful

    @lucas1 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    No. Libraries are there to be used, and proper package manager makes that a complete non-issue

    If you want to install something that is third party and you don't have the right libs on the system you could end up making symlinks to certain libs just to get a very unstable version of the app.

    Duh. If the prerequisites are not available, of course it won't work. You won't get a .NET 2.0 program to work on 1.1 either. Or anything on the sort on any system.

    If you are lucky everything will work on upgrade or it could just delete your home directory (hello steam uninstaller script on Linux).

    Surprise, surprise! Not using the package manager fucks up things. Even Steam have learned this and are distributing proper RPMs now. dnf localinstall and you're good.

    The only systems where it works is where they carefully curate the packages i.e. Debian , FreeBSD, CentOS, OpenBSD or where you use something like the ports system i.e. PkgSrc, Ports, Brew.

    ... or third parties develop their packages according to the guidelines. Works fine for us, we have hundreds of custom CentOS packages.



  • @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Duh. If the prerequisites are not available, of course it won't work. You won't get a .NET 2.0 program to work on 1.1 either. Or anything on the sort on any system.

    Whoosh.

    Except .NET 2.0 is the same on every windows system where it is installed. Every linux distro tends to have slightly different versions of the same lib which makes it a nightmare if you have a proprietary program. That why nobody can be arsed to support anything other than Redhat and Ubuntu.

    Surprise, surprise! Not using the package manager fucks up things. Even Steam have learned this and are distributing proper RPMs now. dnf localinstall and you're good.

    So you have to make a package for about 5 different distros because they are all incompatible. If someone hasn't made a package for your system that works with dnf / apt-get whatever you will have to resort to using alien or something similar or using a tarball which is a headache in itself.

    Funnily enough I never have these problems with OSX. Because it does application installation sensibly.

    ... or third parties develop their packages according to the guidelines. Works fine for us, we have hundreds of custom CentOS packages.

    So you are supporting one distro that does change very often. Which is the whole fucking point.

    I can take an 32bit exe on Windows and install it today and it will probably work. If you try doing that on linux you are in dependency hell.



  • @wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:

    There is nothing in modern software that justified we leaving from this way of doing things.

    I wonder if this started with the promise of dlls (shared dynamic libraries)

    @dangeRuss said in Why desktop operating systems have completely failed at their job for the last 20 years:

    What if you want roaming profiles on a domain?

    Those would be pretty easy to delete.


    In my opinion there are a few reasons to have "installation"

    1. Shared libraries.
    2. Registry.
    3. Services.

    If you uninstall, the OS needs to know if anyone else is using that shared library before it's deleted.
    Services is a nice feature of the OS.

    But registry, can just go fuck itself. Local "registry" files are so much better.


  • 🚽 Regular

    @lucas1 said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Funnily enough I never have these problems with OSX. Because it does application installation sensibly.

    No, you've never had these problems with OSX, or Windows for that matter, because they are a) closed source and b) there are far fewer versions of these OS than there are Linux distros.

    The versions of libraries they make available are authoritative, there are no "slightly different versions of the same lib" because of that.

    But I agree with most of what you're saying.



  • @Zecc said in Why desktop operating systems have completely failed at their job for the last 20 years:

    No, you've never had these problems with OSX, or Windows for that matter, because they are a) closed source and b) there are far fewer versions of these OS than there are Linux distros.
    The versions of libraries they make available are authoritative, there are no "slightly different versions of the same lib" because of that.

    And the fact that most sottware will bundle its own libraries. The problem obviously though is that you have far larger install sizes for applications. But these days when a Terabyte SSD is less than ÂŁ250 it isn't worth worrying about.

    I am pretty sure at some time in the past that one of the distros (probably ubuntu) asked everyone to basically sync all well know libs. But everyone else told them to get fucked.



  • @xaade said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Shared libraries.

    Other than what the OS provide, very few libraries are worth sharing through applications, and in these cases IMO they shouldn't be in a system folder, but in it's own easy to identify and delete folder.

    Registry.

    This should die a painful death.

    Services.

    I think for these it's appropriate to have a install. If we go extreme about it we could have a special folder where everything inside is recognized as a service by the system.



  • @Atazhaia said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Although it didn't break that much for me, as I was mostly using x86 apps at that point. Maybe I was helped by missing out on the PPC era of Macs. And the fat binary concept was back for that transition which helped ease things over.

    I said "fuck Apple" before Apple had any x86 hardware available. So I can't speak to that. Fuck Apple, though.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    No. Libraries are there to be used, and proper package manager makes that a complete non-issue. So what if I type "aptitude install blender" and it tells me it's going to pull in 438 packages? I say "y" and have a coffee (on Lao internet that is, in Europe I could maybe read half of your post while it's working).

    There's no way any application that requires 438 packages is a good application. It's not possible. You're probably installing Discourse there.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    If I want to remove it later, the package manager will notice nothing needs those 438 packages any more and offer to remove them all.

    What happens if the software's not in a package manager because the developer, for example, wants to sell it for a profit? What's the Linux solution to that? Is it "fuck off, asshole?" I think it is.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Of course it would suck to do that on Windows, which is why every crappy little app brings with it half a gigabyte of libraries.

    Again: any app with half a gigabyte of libraries is going to suck regardless of the OS or how those libraries are installed/distributed.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    What is "the OS" to you?

    The shit that ends up on your computer after Ubuntu or Windows is done installing. Any other definition is moronic and stupid.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    If you add the typical GNU userland and packages you find in a Linux distribution, you actually get far more functionality out of the box than on OSX.

    Really.

    I don't believe GNU includes anything which can, for example, embed a web browser in an app's window. Which isn't to say Linux can't do that, in fact Linux has several ways of doing that, none of which you can guarantee will be on any particular Linux at any particular time. In any case, that's far beyond GNU's purview which is basically just shitty CLI stuff originally made by a shaved yeti.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    On Unixes, SIGHUP is conventionally used for that, and it's implemented by a whole bunch of server software that needs to be reconfigurable at runtime.

    "Typically used for" != "if the OS created this feature it would work 100% of the time so users wouldn't think it was broken out-of-the-box".

    Also, only server software? That's, what, maybe 10% of software people use day-to-day? At best.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Or the crutches people invented to get around the lack of preemptive multitasking.

    And yet practically speaking, multitasking in Mac Classic worked better than in Windows, at least until Windows 2000 came out. Sure Windows 95 had "proper" virtual memory and "proper" preemptive multitasking, but that didn't stop it from spending 45 seconds grinding your hard drive to dust every time you switched windows.

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Works fine for us, we have hundreds of custom CentOS packages.

    Who is "us" and "we", exactly?

    @xaade said in Why desktop operating systems have completely failed at their job for the last 20 years:

    But registry, can just go fuck itself.

    Microsoft's not going to scrap a feature that's earned them billions of dollars. Maybe it can be implemented in a different way, but it's a non-starter to say "remove the Registry entirely". It's never going to happen.

    (Most of the bitching about the Registry is about theoretical faults it has, anyway. Not actual faults that affect actual people. And the Registry does legit solve actual legit problems about storing configuration on a multi-user computer, problems with exist right now on Linux and OS X because they have no answer to it.)



  • @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    What happens if the software's not in a package manager because the developer, for example, wants to sell it for a profit? What's the Linux solution to that? Is it "fuck off, asshole?" I think it is.

    Thank you blakey. Welcome back.



  • @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Microsoft's not going to scrap a feature that's earned them billions of dollars. Maybe it can be implemented in a different way, but it's a non-starter to say "remove the Registry entirely". It's never going to happen.

    I wouldn't say remove it.

    Core system features can make good use of it.

    I'm saying that I've had nothing but headaches from it, and app local files work for applications better for me.



  • @xaade You're welcome to use files in AppLocal, but keep in mind that they're per-user only (meaning: you can't register your app as a file handler from there, or register your scripting interface, or a internet protocol handler, or... etc.), and if you're trying to sell that application to a large corporation that wants to centrally manage their computers, they'll give you a pass and buy from the other guy.

    You'd be better off using the OS the way the writers of the OS intended. But there's no "application police" out there chasing you around with flashing lights. That's why so many Windows application are shitty garbage.



  • @Atazhaia said in Why desktop operating systems have completely failed at their job for the last 20 years:

    Although it didn't break that much for me, as I was mostly using x86 apps at that point. Maybe I was helped by missing out on the PPC era of Macs. And the fat binary concept was back for that transition which helped ease things over.

    I did go through the PPC→Intel transition, and found it to be painless given that any app that was still under active development had plenty of time to be released as a universal binary.

    breakage is expected with Apple.

    That might just be the real big difference with Windows, and if you ask me, it’s not as big a deal as the Windows crowd tends to make it out to be. Like I said, apps still under active development will keep working, and the majority of the ones that aren’t will do anyway as well. Barring things like changes in processor architecture, but even then it’s supported for long enough that you know the app will stop working a few years down the line, giving plenty of time to find an alternative.



  • @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    @LaoC said in Why desktop operating systems have completely failed at their job for the last 20 years:

    if I type "aptitude install blender" and it tells me it's going to pull in 438 packages

    There's no way any application that requires 438 packages is a good application. It's not possible.

    As proved by the name of the program used for the example.


  • ♿ (Parody)

    @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    "Typically used for" != "if the OS created this feature it would work 100% of the time so users wouldn't think it was broken out-of-the-box".

    ...and then...

    @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    You'd be better off using the OS the way the writers of the OS intended. But there's no "application police" out there chasing you around with flashing lights. That's why so many Windows application are shitty garbage.

    Hmmm.



  • @blakeyrat To be honest, never know if I'm doing things "the right way". So much bad advice out there.



  • @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    (Most of the bitching about the Registry is about theoretical faults it has, anyway. Not actual faults that affect actual people. And the Registry does legit solve actual legit problems about storing configuration on a multi-user computer, problems with exist right now on Linux and OS X because they have no answer to it.)

    My main bitching is that I can't install and uninstall an application completely by copying it to a directory or deleting said directory. I could be willing to have a different set of problems for that. The ones listed in your link about the registry never affected me in any way.



  • @xaade Honestly my opinion these days is

    • does it fulfil the requirements?
    • is the solution fairly sensible?

    if it does both of these then it is probably good enough.


  • 🚽 Regular

    @blakeyrat said in Why desktop operating systems have completely failed at their job for the last 20 years:

    if you're trying to sell that application to a large corporation that wants to centrally manage their computers, they'll give you a pass and buy from the other guy.

    You're giving corporations too much credit.



  • @lucas1 @LaoC

    Right I was taking a break at lunch when I wrote this. But me explaing this again.

    Linux has fucked this up time and time again. Unless you are only ever using GNU stuff then it will work correctly, if you are using a half decent distro. If you are using like Arch or Ubuntu then it will pull in load of fucking dependencies you don't need.

    Arch and Ubuntu package maintainers tend to include bullshit dependencies. A mate of mine pulled down a package for a Mp3 player and got GParted ...

    Also you better do a dry run before using remove or prune because if they haven't bothered linking the packages properly it might just remove your whole gui environment.

    You can try to remove say one GUI application in say Ubuntu or in Fedora and the system will not warn you that you have uninstalled the whole graphical environment and that everything is running in memory it will look like everything is fine.

    It is broken.



  • @Gurth said in Why desktop operating systems have completely failed at their job for the last 20 years:

    That might just be the real big difference with Windows, and if you ask me, it’s not as big a deal as the Windows crowd tends to make it out to be. L

    It isn't until you need it.



  • @Zecc how about a complete DBFS then? no folders anymore (except if you want), instead, query windows.
    create folder "Newest music" select *.mp3 from C:\ where date_created < 2 days ago

    boom, there it is, where you right-clicked, looks like a folder, behaves like a folder, except queries its contents based on anything you can come up with. files by default still get a structure to them, but as it would be a database filesystem, it would become a column in their attributes, there would be the standard preset of "empty folder designating structure", in-ui ability to add your own custom-written to the menus, hmmm...

    i bet someone somewhere already had this idea?
    is it a bad idea? i'm not sure, seems kind of awesome (although unnecessary, in most use cases), but i'm suspicious.

    oh, also, app sandboxing would then be done through per-app db user (hah, user so the app can access the db it resides on, funny) with default rights only to read and write its own records, ability for the app to request more rights, ability for the user to grant them, and... well, even though the app would be sandboxed, after uninstall you could choose to just keep the files/documents, or remove them too, without the need for "export" as in mobile apps, all the data would be naturally available through the shell/explorer to the "user" db user, having rights to view and modify all the records, all the "files".

    hm... sorry for the long post, also, i'm out of potatoes currently.


  • And then the murders began.