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. @whitequark which one is the latter?

@whitequark which one is the latter?

Scheduled Pinned Locked Moved Uncategorized
61 Posts 14 Posters 0 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.
  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

    @navi @SRAZKVT i know how rust works. any sort of friction at module boundaries creates a dual effect: first, it disincentivizes people from maintaining mixed codebases (we'd see a lot more mixed rust/c++ codebases if you could directly use polymorphic rust methods from c++, for example); second, it lets you avoid freezing the internals of your runtime on an implementation that more certainly than not has significant flaws (c++'s itanium abi dynamic_cast for example), or at least reduces how quickly that happens. these two things let you focus on addressing just your own mistakes, instead of adding everyone else's mistakes into the mix

    navi@social.vlhl.devN This user is from outside of this forum
    navi@social.vlhl.devN This user is from outside of this forum
    navi@social.vlhl.dev
    wrote last edited by
    #28
    @whitequark @SRAZKVT

    a stable abi does not need to be exported to other languages

    it'd be even ideal to have rustc have an abi for rlibs and say "do not use this from somewhere else, we will not help you" -- and that would solve so many packaging pains with rust

    a system's programming language without a stable abi is pure hell

    for application programming maybe, not for system's
    whitequark@social.treehouse.systemsW 1 Reply Last reply
    0
    • navi@social.vlhl.devN navi@social.vlhl.dev
      @whitequark @SRAZKVT

      a stable abi does not need to be exported to other languages

      it'd be even ideal to have rustc have an abi for rlibs and say "do not use this from somewhere else, we will not help you" -- and that would solve so many packaging pains with rust

      a system's programming language without a stable abi is pure hell

      for application programming maybe, not for system's
      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systemsW This user is from outside of this forum
      whitequark@social.treehouse.systems
      wrote last edited by
      #29

      @navi @SRAZKVT there is nothing unique about systems programming that requires a stable ABI. there are many things about old Linux distributions that are built around the assumptions of having one, but that's a separate thing and if we are to have a discussion of this at all that's the one i want to have, not a proxy for it

      navi@social.vlhl.devN 1 Reply Last reply
      0
      • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

        @navi @SRAZKVT there is nothing unique about systems programming that requires a stable ABI. there are many things about old Linux distributions that are built around the assumptions of having one, but that's a separate thing and if we are to have a discussion of this at all that's the one i want to have, not a proxy for it

        navi@social.vlhl.devN This user is from outside of this forum
        navi@social.vlhl.devN This user is from outside of this forum
        navi@social.vlhl.dev
        wrote last edited by
        #30
        @whitequark @SRAZKVT

        the unique thing is the kind of software that is written in them

        and as someone that suffered to package rust and tools in similar languages, that's a discussion i can have if desired yes -- mostly involving dynamic linking, but even with static linking, the lack of being able to package prebuilds also creates issues (not even considering the pain that lockfiles are)
        whitequark@social.treehouse.systemsW 1 Reply Last reply
        0
        • navi@social.vlhl.devN navi@social.vlhl.dev
          @whitequark @SRAZKVT

          the unique thing is the kind of software that is written in them

          and as someone that suffered to package rust and tools in similar languages, that's a discussion i can have if desired yes -- mostly involving dynamic linking, but even with static linking, the lack of being able to package prebuilds also creates issues (not even considering the pain that lockfiles are)
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systemsW This user is from outside of this forum
          whitequark@social.treehouse.systems
          wrote last edited by
          #31

          @navi @SRAZKVT my position on distributions boils down to "it is pretty weird and otherwise unprecedented that we've normalized it that once you release software some other group of people (who don't really understand how it works) is going to build and publish it, giving you little to no say in the matter, but leaving you responsible for support in the end". so far as this is true i think the value distributions provide to me as a developer, and also as a user, is neutral to negative. Debian is the worst at this but I think the entire model should be replaced

          navi@social.vlhl.devN 1 Reply Last reply
          0
          • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

            @navi @SRAZKVT my position on distributions boils down to "it is pretty weird and otherwise unprecedented that we've normalized it that once you release software some other group of people (who don't really understand how it works) is going to build and publish it, giving you little to no say in the matter, but leaving you responsible for support in the end". so far as this is true i think the value distributions provide to me as a developer, and also as a user, is neutral to negative. Debian is the worst at this but I think the entire model should be replaced

            navi@social.vlhl.devN This user is from outside of this forum
            navi@social.vlhl.devN This user is from outside of this forum
            navi@social.vlhl.dev
            wrote last edited by
            #32
            @whitequark @SRAZKVT

            and i think that staggering software distribution is a benefit for the user, as a ton of developer do not ever consider setups that differ from their on even in the slightest -- as an example nix and gentoo packagers so often send dozens and dozens of patches upstream fixing build systems that had baked in expectations

            i've personally sent patches out fixing autotools issues with cross-building a handful of packages from portage

            sure there is distros whose people make no effort to learn about the software they package, nor to fix issues, but most if not all packagers i've ever talked to are not like that at all, and that includes packagers for gentoo, nix, guix, alpine, void, and a few debian ones (though i am *well* aware of many issues debian in general has with packaging)

            decent distros have their own bug tracker, on gentoo the majority of bugs go there, before going upstream (if the problem turns out to not be with the downstream packaging) -- it does help when the package has some branding build-time flags where we can replace e.g. the upstream issues tracker url with our bug tracker, makes it easier to direct users there first

            staggered releases are to the benefit of users, if users had gotten the newest xz as soon as the developer pushed it, instead of having it land on a testing branch first, how many more people wouldn't have been affected day 1

            in particular also gentoo held back the shadow package from hitting stable for a while because new versions had a ton of refactoring of security sensitive code, so the packager wanted to be sure it was all okay before pushing it for everyone (though if one wanted, they can select per-package ~$arch, to enable testing packages on said $arch)

            --

            and redistribution being seen as weird is odd to me, the nature of foss is collaborative and communitarian, and not unique to foss, we're pretty okay with libraries redistributing books
            whitequark@social.treehouse.systemsW 1 Reply Last reply
            0
            • navi@social.vlhl.devN navi@social.vlhl.dev
              @whitequark @SRAZKVT

              and i think that staggering software distribution is a benefit for the user, as a ton of developer do not ever consider setups that differ from their on even in the slightest -- as an example nix and gentoo packagers so often send dozens and dozens of patches upstream fixing build systems that had baked in expectations

              i've personally sent patches out fixing autotools issues with cross-building a handful of packages from portage

              sure there is distros whose people make no effort to learn about the software they package, nor to fix issues, but most if not all packagers i've ever talked to are not like that at all, and that includes packagers for gentoo, nix, guix, alpine, void, and a few debian ones (though i am *well* aware of many issues debian in general has with packaging)

              decent distros have their own bug tracker, on gentoo the majority of bugs go there, before going upstream (if the problem turns out to not be with the downstream packaging) -- it does help when the package has some branding build-time flags where we can replace e.g. the upstream issues tracker url with our bug tracker, makes it easier to direct users there first

              staggered releases are to the benefit of users, if users had gotten the newest xz as soon as the developer pushed it, instead of having it land on a testing branch first, how many more people wouldn't have been affected day 1

              in particular also gentoo held back the shadow package from hitting stable for a while because new versions had a ton of refactoring of security sensitive code, so the packager wanted to be sure it was all okay before pushing it for everyone (though if one wanted, they can select per-package ~$arch, to enable testing packages on said $arch)

              --

              and redistribution being seen as weird is odd to me, the nature of foss is collaborative and communitarian, and not unique to foss, we're pretty okay with libraries redistributing books
              whitequark@social.treehouse.systemsW This user is from outside of this forum
              whitequark@social.treehouse.systemsW This user is from outside of this forum
              whitequark@social.treehouse.systems
              wrote last edited by
              #33

              @navi @SRAZKVT if libraries edited books before redistribution without talking about it with the author (or even understanding the subject well), just to fit it to their policy goals, i'd object to that too!

              navi@social.vlhl.devN whitequark@social.treehouse.systemsW 2 Replies Last reply
              0
              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                @navi @SRAZKVT if libraries edited books before redistribution without talking about it with the author (or even understanding the subject well), just to fit it to their policy goals, i'd object to that too!

                navi@social.vlhl.devN This user is from outside of this forum
                navi@social.vlhl.devN This user is from outside of this forum
                navi@social.vlhl.dev
                wrote last edited by
                #34
                @whitequark @SRAZKVT i don't like software patches beyond "fix major $bug that didn't land upstream yet" either! not a coincidence most distros i mentioned ship vanilla software
                whitequark@social.treehouse.systemsW 1 Reply Last reply
                0
                • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                  @navi @SRAZKVT if libraries edited books before redistribution without talking about it with the author (or even understanding the subject well), just to fit it to their policy goals, i'd object to that too!

                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                  whitequark@social.treehouse.systems
                  wrote last edited by
                  #35

                  @navi @SRAZKVT i agree about staggered deployment but that is neither specific to, nor requires distros. i think go is planning to do it ecosystem wide, for example

                  i also agree that a lot of software bakes developers' assumptions into it but i don't see anything packagers like as universal good. FHS was a mistake. non-reproducible builds are a mistake. non-hermetic builds are a mistake... some of these things distros get right, some very much not

                  navi@social.vlhl.devN 1 Reply Last reply
                  0
                  • navi@social.vlhl.devN navi@social.vlhl.dev
                    @whitequark @SRAZKVT i don't like software patches beyond "fix major $bug that didn't land upstream yet" either! not a coincidence most distros i mentioned ship vanilla software
                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                    whitequark@social.treehouse.systems
                    wrote last edited by
                    #36

                    @navi @SRAZKVT if all distros do is ship vanilla software i'd much rather save the collective effort and invest in something like flatpak

                    flatpak is (sigh) kind of terrible, as i've been studying it in detail just yesterday night, but it's the direction i care about here more so than the exact implementation. it could be a nix flake for all i know. though nix is also kind of terrible (i use it a lot, i would know)

                    navi@social.vlhl.devN andrago@sk.not-a.catA A 3 Replies Last reply
                    0
                    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                      @navi @SRAZKVT if all distros do is ship vanilla software i'd much rather save the collective effort and invest in something like flatpak

                      flatpak is (sigh) kind of terrible, as i've been studying it in detail just yesterday night, but it's the direction i care about here more so than the exact implementation. it could be a nix flake for all i know. though nix is also kind of terrible (i use it a lot, i would know)

                      navi@social.vlhl.devN This user is from outside of this forum
                      navi@social.vlhl.devN This user is from outside of this forum
                      navi@social.vlhl.dev
                      wrote last edited by
                      #37
                      @whitequark @SRAZKVT flatpak also has assumptions built in, flatpak (or rather, flathub) is a distro

                      you can't have one packaging format and expect it to work for everyone, gentoo supports 14 cpu architectures (amd64, arm, arm64, ppc, ppc64, x86, alpha, hppa, loong, mips, riscv, s390, spark, m68k)

                      flathub by what i can find has... amd64, x86, arm, arm64, and that's it?

                      not to mention how gentoo systems differ from nix which differ from guix, having a single packaging format with a single distribution channel would be hell for anything that doesn't conform to the notions of whomever built the tooling for that package format

                      nix is better but it's still not a one-size fits all, there's no such thing
                      whitequark@social.treehouse.systemsW 1 Reply Last reply
                      0
                      • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                        @navi @SRAZKVT if all distros do is ship vanilla software i'd much rather save the collective effort and invest in something like flatpak

                        flatpak is (sigh) kind of terrible, as i've been studying it in detail just yesterday night, but it's the direction i care about here more so than the exact implementation. it could be a nix flake for all i know. though nix is also kind of terrible (i use it a lot, i would know)

                        andrago@sk.not-a.catA This user is from outside of this forum
                        andrago@sk.not-a.catA This user is from outside of this forum
                        andrago@sk.not-a.cat
                        wrote last edited by
                        #38

                        @whitequark@social.treehouse.systems @navi@social.vlhl.dev @SRAZKVT@tech.lgbt to add to this discussion, I am a huge flatpak advocate not because the tech is the best, but because it exists and has proven to work giving developers a consistent target for linux systems

                        you want to package it into your own distro? sure go ahead, but as the underlying dependencies are no longer the same support is up to the developer to decide AND there is a "canonical" build to test these on

                        whitequark@social.treehouse.systemsW 1 Reply Last reply
                        0
                        • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                          @navi @SRAZKVT i agree about staggered deployment but that is neither specific to, nor requires distros. i think go is planning to do it ecosystem wide, for example

                          i also agree that a lot of software bakes developers' assumptions into it but i don't see anything packagers like as universal good. FHS was a mistake. non-reproducible builds are a mistake. non-hermetic builds are a mistake... some of these things distros get right, some very much not

                          navi@social.vlhl.devN This user is from outside of this forum
                          navi@social.vlhl.devN This user is from outside of this forum
                          navi@social.vlhl.dev
                          wrote last edited by
                          #39
                          @whitequark @SRAZKVT

                          sure none of it may exclusive from distros, but the point is that distros (should, nay, must) look after their users -- the main point is being communitarian, not under exclusive control of the developer, e.g.

                          upstreams often don't do releases to fix big regressions, distros can patch those when needed
                          sometimes upstreams go haywire and the distro attempts to protect the users (newer keepassxc being masked on gentoo)

                          it's harder to do when the developer has complete control of the distribution method
                          whitequark@social.treehouse.systemsW 1 Reply Last reply
                          0
                          • ingalovinde@embracing.spaceI ingalovinde@embracing.space

                            @chaos @resistor @whitequark refactoring is not a problem per se. The problem is that with zig, it's much easier to break things accidentally without noticing during the refactoring than it is with rust (where almost all such accidental breakages will simply result in a compile-time error).

                            chaos@gts.schizofucked.monsterC This user is from outside of this forum
                            chaos@gts.schizofucked.monsterC This user is from outside of this forum
                            chaos@gts.schizofucked.monster
                            wrote last edited by
                            #40

                            @IngaLovinde @resistor @whitequark yeah we really value how rust's compiler is smarter than we are and points us to the exact issue rather than us having to break out a debugger
                            makes programming so much less energy intensive, rust's stdlib also maps very nicely to how our brain handles programming, it just requires a bit more upfront thinking of how to structure code/data, def worth the tradeoffs for us esp as we already have very little energy for programming

                            1 Reply Last reply
                            0
                            • navi@social.vlhl.devN navi@social.vlhl.dev
                              @whitequark @SRAZKVT

                              sure none of it may exclusive from distros, but the point is that distros (should, nay, must) look after their users -- the main point is being communitarian, not under exclusive control of the developer, e.g.

                              upstreams often don't do releases to fix big regressions, distros can patch those when needed
                              sometimes upstreams go haywire and the distro attempts to protect the users (newer keepassxc being masked on gentoo)

                              it's harder to do when the developer has complete control of the distribution method
                              whitequark@social.treehouse.systemsW This user is from outside of this forum
                              whitequark@social.treehouse.systemsW This user is from outside of this forum
                              whitequark@social.treehouse.systems
                              wrote last edited by
                              #41

                              @navi @SRAZKVT keepassxc is masked on gentoo because it's not on qt6 (source: i forked it and in discussion with the gentoo folks on replacing it). haven't heard anything about it being about protection

                              navi@social.vlhl.devN whitequark@social.treehouse.systemsW 2 Replies Last reply
                              0
                              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                @navi @SRAZKVT keepassxc is masked on gentoo because it's not on qt6 (source: i forked it and in discussion with the gentoo folks on replacing it). haven't heard anything about it being about protection

                                navi@social.vlhl.devN This user is from outside of this forum
                                navi@social.vlhl.devN This user is from outside of this forum
                                navi@social.vlhl.dev
                                wrote last edited by
                                #42
                                @whitequark @SRAZKVT

                                and because it's riddled with dubious llms as well as being qt5, source, i talk with gentoo folks basically every day
                                navi@social.vlhl.devN whitequark@social.treehouse.systemsW 2 Replies Last reply
                                0
                                • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                  @navi @SRAZKVT keepassxc is masked on gentoo because it's not on qt6 (source: i forked it and in discussion with the gentoo folks on replacing it). haven't heard anything about it being about protection

                                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                                  whitequark@social.treehouse.systems
                                  wrote last edited by
                                  #43

                                  @navi @SRAZKVT but yeah ultimately i don't want unrelated third parties to insert themselves in the software distribution chain and then argue with me on the bugtracker about the correct (as per the infallible distro policy) way of doing things

                                  1 Reply Last reply
                                  0
                                  • andrago@sk.not-a.catA andrago@sk.not-a.cat

                                    @whitequark@social.treehouse.systems @navi@social.vlhl.dev @SRAZKVT@tech.lgbt to add to this discussion, I am a huge flatpak advocate not because the tech is the best, but because it exists and has proven to work giving developers a consistent target for linux systems

                                    you want to package it into your own distro? sure go ahead, but as the underlying dependencies are no longer the same support is up to the developer to decide AND there is a "canonical" build to test these on

                                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                                    whitequark@social.treehouse.systemsW This user is from outside of this forum
                                    whitequark@social.treehouse.systems
                                    wrote last edited by
                                    #44

                                    @andrago @navi @SRAZKVT yeah

                                    1 Reply Last reply
                                    0
                                    • navi@social.vlhl.devN navi@social.vlhl.dev
                                      @whitequark @SRAZKVT

                                      and because it's riddled with dubious llms as well as being qt5, source, i talk with gentoo folks basically every day
                                      navi@social.vlhl.devN This user is from outside of this forum
                                      navi@social.vlhl.devN This user is from outside of this forum
                                      navi@social.vlhl.dev
                                      wrote last edited by
                                      #45
                                      @whitequark @SRAZKVT but there's other examples too, like the shadow package i listed on op

                                      sure the maintainer didn't actually go haywire, but it was caution for weird commits being released
                                      1 Reply Last reply
                                      0
                                      • navi@social.vlhl.devN navi@social.vlhl.dev
                                        @whitequark @SRAZKVT flatpak also has assumptions built in, flatpak (or rather, flathub) is a distro

                                        you can't have one packaging format and expect it to work for everyone, gentoo supports 14 cpu architectures (amd64, arm, arm64, ppc, ppc64, x86, alpha, hppa, loong, mips, riscv, s390, spark, m68k)

                                        flathub by what i can find has... amd64, x86, arm, arm64, and that's it?

                                        not to mention how gentoo systems differ from nix which differ from guix, having a single packaging format with a single distribution channel would be hell for anything that doesn't conform to the notions of whomever built the tooling for that package format

                                        nix is better but it's still not a one-size fits all, there's no such thing
                                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                                        whitequark@social.treehouse.systems
                                        wrote last edited by
                                        #46

                                        @navi @SRAZKVT i do not think that "the number of cpu architectures" is good as an optimization target either. why should i care about s390 users? that benefits ibm and almost nobody else in the end

                                        navi@social.vlhl.devN 1 Reply Last reply
                                        0
                                        • navi@social.vlhl.devN navi@social.vlhl.dev
                                          @whitequark @SRAZKVT

                                          and because it's riddled with dubious llms as well as being qt5, source, i talk with gentoo folks basically every day
                                          whitequark@social.treehouse.systemsW This user is from outside of this forum
                                          whitequark@social.treehouse.systemsW This user is from outside of this forum
                                          whitequark@social.treehouse.systems
                                          wrote last edited by
                                          #47

                                          @navi @SRAZKVT i just don't see there much distro remaining if you mask all critical software exposed to llms. gentoo can't even replace bits of systemd last time i looked into the status of eudev, what hope is there for, like, linux

                                          whitequark@social.treehouse.systemsW navi@social.vlhl.devN 2 Replies 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