Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I'm mad about linux distros again today and I think I am realizing why this is so hard for me to write about systemically: I have a software engineer brain and so I try to model the various problems as technical problems.

I'm mad about linux distros again today and I think I am realizing why this is so hard for me to write about systemically: I have a software engineer brain and so I try to model the various problems as technical problems.

Scheduled Pinned Locked Moved Uncategorized
140 Posts 30 Posters 168 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • glyph@mastodon.socialG glyph@mastodon.social

    @xgranade yeah windows is weird because you're really supposed to ship Windows to your Windows users as well, right? what if static linking, but in hell

    xgranade@wandering.shopX This user is from outside of this forum
    xgranade@wandering.shopX This user is from outside of this forum
    xgranade@wandering.shop
    wrote last edited by
    #96

    @glyph .NET (not .NET Framework, because branding) is basically nodejs in terms of the static linking approach to packaging, yeah. You have to bring all your dependencies with you. This is a good idea, actually, for anyone used to Windows development back when you had to rely on a single fucking thing in C:\windows\system32. I have spent more hours in Dependency Walker than I ever care to admit.

    glyph@mastodon.socialG xgranade@wandering.shopX 2 Replies Last reply
    0
    • xgranade@wandering.shopX xgranade@wandering.shop

      @glyph .NET (not .NET Framework, because branding) is basically nodejs in terms of the static linking approach to packaging, yeah. You have to bring all your dependencies with you. This is a good idea, actually, for anyone used to Windows development back when you had to rely on a single fucking thing in C:\windows\system32. I have spent more hours in Dependency Walker than I ever care to admit.

      glyph@mastodon.socialG This user is from outside of this forum
      glyph@mastodon.socialG This user is from outside of this forum
      glyph@mastodon.social
      wrote last edited by
      #97

      @xgranade yeah like, real talk, windows is coasting along around 10% by their extremely hardcore compatibility for a VERY small core, which makes it possible for highly conscientious developers to get software to be extremely reliable *IF* they care (and to rack up lots of billable support hours _eventually_ fixing the problems, if they don't) and 90% by their anticompetitive effort to be installed everywhere

      glyph@mastodon.socialG 1 Reply Last reply
      0
      • glyph@mastodon.socialG glyph@mastodon.social

        @xgranade yeah like, real talk, windows is coasting along around 10% by their extremely hardcore compatibility for a VERY small core, which makes it possible for highly conscientious developers to get software to be extremely reliable *IF* they care (and to rack up lots of billable support hours _eventually_ fixing the problems, if they don't) and 90% by their anticompetitive effort to be installed everywhere

        glyph@mastodon.socialG This user is from outside of this forum
        glyph@mastodon.socialG This user is from outside of this forum
        glyph@mastodon.social
        wrote last edited by
        #98

        @xgranade and even then, desktop Windows software got absolutely bodied by web apps specifically because of this misery. there's a reason that "desktop apps" more or less means either "games" or "legacy regulatory requirement" in that world

        xgranade@wandering.shopX 1 Reply Last reply
        0
        • xgranade@wandering.shopX xgranade@wandering.shop

          @glyph .NET (not .NET Framework, because branding) is basically nodejs in terms of the static linking approach to packaging, yeah. You have to bring all your dependencies with you. This is a good idea, actually, for anyone used to Windows development back when you had to rely on a single fucking thing in C:\windows\system32. I have spent more hours in Dependency Walker than I ever care to admit.

          xgranade@wandering.shopX This user is from outside of this forum
          xgranade@wandering.shopX This user is from outside of this forum
          xgranade@wandering.shop
          wrote last edited by
          #99

          @glyph I can't address macOS since I'm again entirely outside of that world, but IME, no matter how painful Linux dev is, it pales in comparison to Windows dev as soon as one single line of native code enters the chat.

          Like, .NET applications that rely exclusively on .NET packages and so forth work *fine*. It's really once you try to interact with native code, appx publishing, or anything other than "run this NuGet command" that things break.

          glyph@mastodon.socialG matt@toot.cafeM 2 Replies Last reply
          0
          • glyph@mastodon.socialG glyph@mastodon.social

            @xgranade and even then, desktop Windows software got absolutely bodied by web apps specifically because of this misery. there's a reason that "desktop apps" more or less means either "games" or "legacy regulatory requirement" in that world

            xgranade@wandering.shopX This user is from outside of this forum
            xgranade@wandering.shopX This user is from outside of this forum
            xgranade@wandering.shop
            wrote last edited by
            #100

            @glyph Yeah, but you talk about shipping Windows with Windows, though....

            1 Reply Last reply
            0
            • xgranade@wandering.shopX xgranade@wandering.shop

              @glyph I can't address macOS since I'm again entirely outside of that world, but IME, no matter how painful Linux dev is, it pales in comparison to Windows dev as soon as one single line of native code enters the chat.

              Like, .NET applications that rely exclusively on .NET packages and so forth work *fine*. It's really once you try to interact with native code, appx publishing, or anything other than "run this NuGet command" that things break.

              glyph@mastodon.socialG This user is from outside of this forum
              glyph@mastodon.socialG This user is from outside of this forum
              glyph@mastodon.social
              wrote last edited by
              #101

              @xgranade my experience of windows may not be representative, everything I actually _shipped_ there had a hand-written InstallShield wizard or NSIS installer and like 5,000,000 lines of in-house C++ so "package management" of "upstream dependencies" was not really a thing

              xgranade@wandering.shopX 1 Reply Last reply
              0
              • glyph@mastodon.socialG glyph@mastodon.social

                @xgranade my experience of windows may not be representative, everything I actually _shipped_ there had a hand-written InstallShield wizard or NSIS installer and like 5,000,000 lines of in-house C++ so "package management" of "upstream dependencies" was not really a thing

                xgranade@wandering.shopX This user is from outside of this forum
                xgranade@wandering.shopX This user is from outside of this forum
                xgranade@wandering.shop
                wrote last edited by
                #102

                @glyph Yeah, makes sense. With enough violence, you can make Windows work just fine. It just takes a startling amount to get there...

                glyph@mastodon.socialG 1 Reply Last reply
                0
                • xgranade@wandering.shopX xgranade@wandering.shop

                  @glyph Yeah, makes sense. With enough violence, you can make Windows work just fine. It just takes a startling amount to get there...

                  glyph@mastodon.socialG This user is from outside of this forum
                  glyph@mastodon.socialG This user is from outside of this forum
                  glyph@mastodon.social
                  wrote last edited by
                  #103

                  @xgranade I guess another way of putting it is that getting something to work in the first place on Windows is a shocking amount of misery; there's a strong cultural assumption that you're building the universe from scratch and if you're not you're kind of on your own. whereas on Linux it is *deceptively* easy to get something kinda working on your own computer which will never work on a second one

                  1 Reply Last reply
                  0
                  • glyph@mastodon.socialG glyph@mastodon.social

                    In short, all the volunteer-based distributions need to have a gigantic conference where they all come together and *agree to stop working on about 99% of them*, to pool efforts to make a real Linux platform. A lot of people will need to put their egos aside and decide to acquiesce to solutions they believe to be technically inferior, in order to be able to address the diffusion of labor into pointlessly recreating basically the same toolchain a thousand times.

                    kfdm@social.tsun.coK This user is from outside of this forum
                    kfdm@social.tsun.coK This user is from outside of this forum
                    kfdm@social.tsun.co
                    wrote last edited by
                    #104

                    @glyph This is partly why I often joke, there are a lot more ‘religious’ arguments than ‘technical’ arguments in tech (yes, I know there *can* be objective, technical arguments, but often feels people argue their religion as ‘objective’ XD)

                    1 Reply Last reply
                    0
                    • glyph@mastodon.socialG glyph@mastodon.social

                      @cthos @miss_rodent I think I do have some nuanced structural critique of flatpak that I sadly don’t have time to get into right now, but if I am being honest most of my systems have a weird quirk where user data lives outside home directories on external media and this causes flatpak’s weird slightly-wrong but makes-things-mostly-work heuristics absolutely violently explode in ways which cause huge issues that contributes to an overall *immediate* negative impression

                      raven667@hachyderm.ioR This user is from outside of this forum
                      raven667@hachyderm.ioR This user is from outside of this forum
                      raven667@hachyderm.io
                      wrote last edited by
                      #105

                      @glyph @cthos @miss_rodent i think flatpak (and AppImage, not snap) are the closest thing to standardization you are going to be able to convince linux devs to make. The desktop linux platform already has a lot which is close across distros, all the large ones use systemd and pipewire, mostly use Wayland graphics and KDE or GNOME, or a skin on top of those. GNOME especially expects a system to be set up in a more standard fashion, so distros have less flexability to pointlessly diverge in ways that break apps. Most gui apps are possible to flatpak, and run on almost any distro that is near standard (sorry for your systems which youve made difficult to support by accidently working at cross purposes to flatpak assumptions, but its hard to maintain compatibility when every computer-toucher wants to be their own ISV). Unfortunately its going to take a long time to convince Shuttleworth and Canonical that they are wasting everyones time with snaps, but Ubuntu isnt as popular as it once was. Its also going to take a long time to convince Debian, Fedora or Arch packagers that they should stop and target flatpak on the Freedesktop runtimes instead. There are a lot of devs who are personally offended by inefficiencies in the design of flatpak that leads to vendoring of libraries and duplication between runtimes, but i dont see any other way, the distro approach of deduplicating libraries creates bugs of its own and is unsustainable labor, the improvements to software build and integration that distro feedback brings to gui devs is probably not worth the effort it takes.

                      I dont think you are going to have much luck convincing volunteers to not work on what makes them happy, or for any existing distro to jump off a cliff for the good of the community, but you can make them irrelevant by inventing something better that the original gui dev community likes and can make work themselves. You can ask them to join your project if it looks successful and fun

                      raven667@hachyderm.ioR 1 Reply Last reply
                      0
                      • glyph@mastodon.socialG glyph@mastodon.social

                        @matt @cthos @miss_rodent flatpak does not address the deficiencies or the expense of interacting with a zillion different compositors, or for that matter different audio systems or GPS daemons. the kinds of apps that need to interact with the platform need an API shaped in terms of d-bus endpoints, and the problem that flatpak addresses is one of .so files. flatpak also requires manual management of filesystem permissions, which means apps are just slightly dysfunctional

                        raven667@hachyderm.ioR This user is from outside of this forum
                        raven667@hachyderm.ioR This user is from outside of this forum
                        raven667@hachyderm.io
                        wrote last edited by
                        #106

                        @glyph i could see an effort around freedesktop and flatpak to define what dbus apis are expected to be provided by the distro/desktop to have full compatibility, and what might be outside those expectations. I dont think it makes sense to have flatpaks that only work on some distros/desktops because they depend on unique components, the baseline for running flatpak needs to declare what is required and provide reasonable errors if am amateur ISV tries to run it somehere impoverished

                        @matt @cthos @miss_rodent

                        1 Reply Last reply
                        0
                        • glyph@mastodon.socialG glyph@mastodon.social

                          @cthos @matt @miss_rodent sorry I do not mean to be mean about this. but it seems like they’ve done some really good work here and are trying to snatch defeat from the jaws of victory. I have *heard* about bazzite and bluefin. at some length. i knew they were immutable distros. I had considered installing them. I did not even realize they were largely compatible let alone more or less the same thing

                          raven667@hachyderm.ioR This user is from outside of this forum
                          raven667@hachyderm.ioR This user is from outside of this forum
                          raven667@hachyderm.io
                          wrote last edited by
                          #107

                          @glyph i think this is irreconcilable though because the software and out of the box config of an immutable distro is fixed, so you need to have different complete builds if you want different stuff in the base system. The compatability for apps is high though because the OS maker is pulling all the components out of the same pool. Like i dont think you want your general purpose desktop to boot into Steam, like Bazzite handheld builds do, but any of the flatpak apps will run just the same on all of the family, like the choice of specific flavor is driven by the hardware and purpose of the computer, but they can all run the same stuff outside the base os

                          @cthos @matt @miss_rodent

                          cthos@mastodon.cthos.devC 1 Reply Last reply
                          0
                          • raven667@hachyderm.ioR raven667@hachyderm.io

                            @glyph i think this is irreconcilable though because the software and out of the box config of an immutable distro is fixed, so you need to have different complete builds if you want different stuff in the base system. The compatability for apps is high though because the OS maker is pulling all the components out of the same pool. Like i dont think you want your general purpose desktop to boot into Steam, like Bazzite handheld builds do, but any of the flatpak apps will run just the same on all of the family, like the choice of specific flavor is driven by the hardware and purpose of the computer, but they can all run the same stuff outside the base os

                            @cthos @matt @miss_rodent

                            cthos@mastodon.cthos.devC This user is from outside of this forum
                            cthos@mastodon.cthos.devC This user is from outside of this forum
                            cthos@mastodon.cthos.dev
                            wrote last edited by
                            #108

                            @raven667 The Bazzite desktop builds don't auto-boot steam, though (but you *can* tell it to do that)

                            @glyph @matt @miss_rodent

                            raven667@hachyderm.ioR 1 Reply Last reply
                            0
                            • raven667@hachyderm.ioR raven667@hachyderm.io

                              @glyph @cthos @miss_rodent i think flatpak (and AppImage, not snap) are the closest thing to standardization you are going to be able to convince linux devs to make. The desktop linux platform already has a lot which is close across distros, all the large ones use systemd and pipewire, mostly use Wayland graphics and KDE or GNOME, or a skin on top of those. GNOME especially expects a system to be set up in a more standard fashion, so distros have less flexability to pointlessly diverge in ways that break apps. Most gui apps are possible to flatpak, and run on almost any distro that is near standard (sorry for your systems which youve made difficult to support by accidently working at cross purposes to flatpak assumptions, but its hard to maintain compatibility when every computer-toucher wants to be their own ISV). Unfortunately its going to take a long time to convince Shuttleworth and Canonical that they are wasting everyones time with snaps, but Ubuntu isnt as popular as it once was. Its also going to take a long time to convince Debian, Fedora or Arch packagers that they should stop and target flatpak on the Freedesktop runtimes instead. There are a lot of devs who are personally offended by inefficiencies in the design of flatpak that leads to vendoring of libraries and duplication between runtimes, but i dont see any other way, the distro approach of deduplicating libraries creates bugs of its own and is unsustainable labor, the improvements to software build and integration that distro feedback brings to gui devs is probably not worth the effort it takes.

                              I dont think you are going to have much luck convincing volunteers to not work on what makes them happy, or for any existing distro to jump off a cliff for the good of the community, but you can make them irrelevant by inventing something better that the original gui dev community likes and can make work themselves. You can ask them to join your project if it looks successful and fun

                              raven667@hachyderm.ioR This user is from outside of this forum
                              raven667@hachyderm.ioR This user is from outside of this forum
                              raven667@hachyderm.io
                              wrote last edited by
                              #109

                              @glyph @cthos @miss_rodent thinking about this more as i read further down the thread that the immutable distros (Silverblue/Bluefin/Bazzite et al) do effectively define am api and runtime by what is in the distro and what is left out. While it is _possible_ to layer on a local filesystem image built out of rpms on top of ostree, nothing can rely on that and its not the primary or expected way to extend the system with more apps, flatpak or stuff installed in your homedir like AppImage or distrobox/toolbox containers are the primary way to add on local software, which is a robust layering.

                              1 Reply Last reply
                              0
                              • cthos@mastodon.cthos.devC cthos@mastodon.cthos.dev

                                @raven667 The Bazzite desktop builds don't auto-boot steam, though (but you *can* tell it to do that)

                                @glyph @matt @miss_rodent

                                raven667@hachyderm.ioR This user is from outside of this forum
                                raven667@hachyderm.ioR This user is from outside of this forum
                                raven667@hachyderm.io
                                wrote last edited by
                                #110

                                @cthos right, i run Bazzite on a laptop and a desktop, they start Steam on login, but not in big picture mode, but it was my understanding that the handheld builds *do* jump right into steam, just like steamos, eg on Lenovo Legion Go, including support for unique hardware in the base system that wouldnt be necessary or appropriate for a more general computing desktop, like motion sensors or rgb lighting

                                @glyph @matt @miss_rodent

                                cthos@mastodon.cthos.devC 1 Reply Last reply
                                0
                                • raven667@hachyderm.ioR raven667@hachyderm.io

                                  @cthos right, i run Bazzite on a laptop and a desktop, they start Steam on login, but not in big picture mode, but it was my understanding that the handheld builds *do* jump right into steam, just like steamos, eg on Lenovo Legion Go, including support for unique hardware in the base system that wouldnt be necessary or appropriate for a more general computing desktop, like motion sensors or rgb lighting

                                  @glyph @matt @miss_rodent

                                  cthos@mastodon.cthos.devC This user is from outside of this forum
                                  cthos@mastodon.cthos.devC This user is from outside of this forum
                                  cthos@mastodon.cthos.dev
                                  wrote last edited by
                                  #111

                                  @raven667 @glyph @matt @miss_rodent they do, yes. I run Bazzite on a RoG Ally. That’s just a flag in a config file AFAIK though, i think there is a ujust script that can toggle the behavior.

                                  cthos@mastodon.cthos.devC 1 Reply Last reply
                                  0
                                  • cthos@mastodon.cthos.devC cthos@mastodon.cthos.dev

                                    @raven667 @glyph @matt @miss_rodent they do, yes. I run Bazzite on a RoG Ally. That’s just a flag in a config file AFAIK though, i think there is a ujust script that can toggle the behavior.

                                    cthos@mastodon.cthos.devC This user is from outside of this forum
                                    cthos@mastodon.cthos.devC This user is from outside of this forum
                                    cthos@mastodon.cthos.dev
                                    wrote last edited by
                                    #112

                                    @raven667 @glyph @matt @miss_rodent the RGB stuff is handled by handheld companion which is installed by default on the handheld builds but not the PC builds

                                    1 Reply Last reply
                                    0
                                    • glyph@mastodon.socialG glyph@mastodon.social

                                      @matt @cthos @miss_rodent I have never seen an app do this in a way which appeared to work. my experience is limited though. glad to hear it at least exists though!

                                      raven667@hachyderm.ioR This user is from outside of this forum
                                      raven667@hachyderm.ioR This user is from outside of this forum
                                      raven667@hachyderm.io
                                      wrote last edited by
                                      #113

                                      @glyph i had to look up what a powerbox was, but flatpak is built around the concept and wouldnt work without a functioning xdg file chooser that lives in the baseos outside the flatpak. Ive never had a problem with it, but ive only used flatpak on GNOME on Fedora, Silverblue and Bazzite, where its a first class citizen and well integrated. Flatpak can only be a universal app packaging runtime if it actually works on all the desktop systems without fuss and drama.

                                      @matt @cthos @miss_rodent

                                      1 Reply Last reply
                                      0
                                      • glyph@mastodon.socialG glyph@mastodon.social

                                        Fixing the problem involves driving a truck through that load-bearing "to some extent". Doing a big ugly multi-party negotiation to figure out how we can EOL Qt, to replace it with Gtk everywhere, and get all the Gtk devs on board with being *extremely* nice to the Qt people as we sunset their work. (Did you feel a little thrill because I picked Gtk instead of Qt? Well, I flipped a coin. Imagine I said Qt wins instead of Gtk. You're gonna be that mad about *big* parts of this, no matter what.)

                                        sirosen@mastodon.socialS This user is from outside of this forum
                                        sirosen@mastodon.socialS This user is from outside of this forum
                                        sirosen@mastodon.social
                                        wrote last edited by
                                        #114

                                        @glyph there are problems, but I don't see the redundant efforts of various duplicated components as a core issue.

                                        A lot of Linux is about avoiding monoculture. vim *and* emacs. Snap *and* flatpack.
                                        It's something that emerges naturally from people trying to create a hackable platform.

                                        I think we'd be better off if people shared ideas and infrastructure without denigrating one another's work. We should have both Qt and Gtk so that they can cross pollinate.

                                        sirosen@mastodon.socialS 1 Reply Last reply
                                        0
                                        • sirosen@mastodon.socialS sirosen@mastodon.social

                                          @glyph there are problems, but I don't see the redundant efforts of various duplicated components as a core issue.

                                          A lot of Linux is about avoiding monoculture. vim *and* emacs. Snap *and* flatpack.
                                          It's something that emerges naturally from people trying to create a hackable platform.

                                          I think we'd be better off if people shared ideas and infrastructure without denigrating one another's work. We should have both Qt and Gtk so that they can cross pollinate.

                                          sirosen@mastodon.socialS This user is from outside of this forum
                                          sirosen@mastodon.socialS This user is from outside of this forum
                                          sirosen@mastodon.social
                                          wrote last edited by
                                          #115

                                          @glyph To be clear, I agree with your complaint, as I read it. It's the twofold
                                          - you aren't providing something non-developers can use
                                          - you aren't providing something developers can easily target

                                          Canonical is trying to make Ubuntu the desktop distro. And tons of software ships as .debs, whether or not that's really the best choice.

                                          The wild English garden of Linux can continue to exist, alongside a TiVo-ized, consumer oriented Ubuntu. But if you lose the anarchy, it's not Linux.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups