Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • 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 (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. just learned about this project erjic that does seccomp+bwrap sandboxing https://codeberg.org/prisixia/erjic the interface is really nicely designed and i believe will fit the needs of my build system perfectly

just learned about this project erjic that does seccomp+bwrap sandboxing https://codeberg.org/prisixia/erjic the interface is really nicely designed and i believe will fit the needs of my build system perfectly

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
90 Indlæg 17 Posters 9 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • hipsterelectron@circumstances.runH This user is from outside of this forum
    hipsterelectron@circumstances.runH This user is from outside of this forum
    hipsterelectron@circumstances.run
    wrote sidst redigeret af
    #1

    just learned about this project erjic that does seccomp+bwrap sandboxing https://codeberg.org/prisixia/erjic the interface is really nicely designed and i believe will fit the needs of my build system perfectly

    hipsterelectron@circumstances.runH tris@chaos.socialT 2 Replies Last reply
    0
    • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

      just learned about this project erjic that does seccomp+bwrap sandboxing https://codeberg.org/prisixia/erjic the interface is really nicely designed and i believe will fit the needs of my build system perfectly

      hipsterelectron@circumstances.runH This user is from outside of this forum
      hipsterelectron@circumstances.runH This user is from outside of this forum
      hipsterelectron@circumstances.run
      wrote sidst redigeret af
      #2

      i particularly like the profile file format (json, looked up via static path or cli arg) https://codeberg.org/prisixia/erjic/src/branch/main/DOCUMENTATION.txt it being json is extremely important since that makes it reliably possible to normalize and checksum

      hipsterelectron@circumstances.runH 1 Reply Last reply
      0
      • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

        i particularly like the profile file format (json, looked up via static path or cli arg) https://codeberg.org/prisixia/erjic/src/branch/main/DOCUMENTATION.txt it being json is extremely important since that makes it reliably possible to normalize and checksum

        hipsterelectron@circumstances.runH This user is from outside of this forum
        hipsterelectron@circumstances.runH This user is from outside of this forum
        hipsterelectron@circumstances.run
        wrote sidst redigeret af
        #3

        as you may have inferred from the little orange bar in the codeberg link preview it is in rust which means i will have to make it an optional dep until gccrs is shocked with a bolt of lightning like frankenstein's monster. but sandboxing is so os-specific that it literally has to be an optional dep in any instance

        hipsterelectron@circumstances.runH stilic@fedi.kitty.telS 2 Replies Last reply
        0
        • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

          as you may have inferred from the little orange bar in the codeberg link preview it is in rust which means i will have to make it an optional dep until gccrs is shocked with a bolt of lightning like frankenstein's monster. but sandboxing is so os-specific that it literally has to be an optional dep in any instance

          hipsterelectron@circumstances.runH This user is from outside of this forum
          hipsterelectron@circumstances.runH This user is from outside of this forum
          hipsterelectron@circumstances.run
          wrote sidst redigeret af
          #4

          i am not familiar with any sandboxing tool that has such a complete config interface like this profile file. i just spent the last half hour ranting to the author about how i wish every compiler worked like this and how i had to rewrite the scala compiler to do this at twitter inc

          hipsterelectron@circumstances.runH 1 Reply Last reply
          0
          • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

            i am not familiar with any sandboxing tool that has such a complete config interface like this profile file. i just spent the last half hour ranting to the author about how i wish every compiler worked like this and how i had to rewrite the scala compiler to do this at twitter inc

            hipsterelectron@circumstances.runH This user is from outside of this forum
            hipsterelectron@circumstances.runH This user is from outside of this forum
            hipsterelectron@circumstances.run
            wrote sidst redigeret af
            #5

            they mentioned they use it for running games which is so great to hear bc that's exactly the kind of end-user application that typical sandboxing mechanisms don't care about whatsoever and which (like compilers) have very strong dependencies upon which files they can access

            hipsterelectron@circumstances.runH moses_izumi@fe.disroot.orgM 2 Replies Last reply
            0
            • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

              they mentioned they use it for running games which is so great to hear bc that's exactly the kind of end-user application that typical sandboxing mechanisms don't care about whatsoever and which (like compilers) have very strong dependencies upon which files they can access

              hipsterelectron@circumstances.runH This user is from outside of this forum
              hipsterelectron@circumstances.runH This user is from outside of this forum
              hipsterelectron@circumstances.run
              wrote sidst redigeret af
              #6

              i have just made up an analogy to summarize why json profiles are so important and i refer to it as "b2b vs b2c" software interfaces

              alina@girldick.gayA hipsterelectron@circumstances.runH 2 Replies Last reply
              0
              • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                i have just made up an analogy to summarize why json profiles are so important and i refer to it as "b2b vs b2c" software interfaces

                alina@girldick.gayA This user is from outside of this forum
                alina@girldick.gayA This user is from outside of this forum
                alina@girldick.gay
                wrote sidst redigeret af
                #7

                @hipsterelectron b2c is "exploit them as much as possible, never give them their means of independence that binds them to your product" and b2b is "only exploit them a reasonable, marketable amount, because their sales people aren't stupid" right

                kopper@not-brain.d.on-t.workK 1 Reply Last reply
                0
                • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                  i have just made up an analogy to summarize why json profiles are so important and i refer to it as "b2b vs b2c" software interfaces

                  hipsterelectron@circumstances.runH This user is from outside of this forum
                  hipsterelectron@circumstances.runH This user is from outside of this forum
                  hipsterelectron@circumstances.run
                  wrote sidst redigeret af
                  #8

                  "b2b" is a tongue-in-cheek name for tool-to-tool communication (e.g. build tool => sandbox configuration). this is why the package metadata format i spent years negotiating with the python community to develop https://pip.pypa.io/en/latest/reference/installation-report/ uses JSON, because JSON is extremely stable as a protocol and can be deterministically checksummed. this is why it's suitable for lockfiles

                  alina@girldick.gayA hipsterelectron@circumstances.runH srazkvt@tech.lgbtS 3 Replies Last reply
                  0
                  • alina@girldick.gayA alina@girldick.gay

                    @hipsterelectron b2c is "exploit them as much as possible, never give them their means of independence that binds them to your product" and b2b is "only exploit them a reasonable, marketable amount, because their sales people aren't stupid" right

                    kopper@not-brain.d.on-t.workK This user is from outside of this forum
                    kopper@not-brain.d.on-t.workK This user is from outside of this forum
                    kopper@not-brain.d.on-t.work
                    wrote sidst redigeret af
                    #9
                    @alina @hipsterelectron don't forget that b2c also has "don't document anything because nobody will read it anyway" while b2b has "don't document anything otherwise they may not need your support contract"
                    1 Reply Last reply
                    0
                    • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                      "b2b" is a tongue-in-cheek name for tool-to-tool communication (e.g. build tool => sandbox configuration). this is why the package metadata format i spent years negotiating with the python community to develop https://pip.pypa.io/en/latest/reference/installation-report/ uses JSON, because JSON is extremely stable as a protocol and can be deterministically checksummed. this is why it's suitable for lockfiles

                      alina@girldick.gayA This user is from outside of this forum
                      alina@girldick.gayA This user is from outside of this forum
                      alina@girldick.gay
                      wrote sidst redigeret af
                      #10

                      @hipsterelectron is there anything of constant size that cannot be deterministically checksummed - ohhh wait there are formats without "canonical" form (minus whitespace) i remember that people still have bad ideas sometimes

                      1 Reply Last reply
                      0
                      • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                        "b2b" is a tongue-in-cheek name for tool-to-tool communication (e.g. build tool => sandbox configuration). this is why the package metadata format i spent years negotiating with the python community to develop https://pip.pypa.io/en/latest/reference/installation-report/ uses JSON, because JSON is extremely stable as a protocol and can be deterministically checksummed. this is why it's suitable for lockfiles

                        hipsterelectron@circumstances.runH This user is from outside of this forum
                        hipsterelectron@circumstances.runH This user is from outside of this forum
                        hipsterelectron@circumstances.run
                        wrote sidst redigeret af
                        #11

                        when brett cannon (the maintainer of the packaging library who ensures pypi uses the backdoored METADATA format) wrote PEP 751 in collusion with astral (the startup that stole my zip file work without credit and sold to openai), he made sure to erase this work, because PEP 751 is a TOML format (and this is the crux of the distinction i'm making)

                        hipsterelectron@circumstances.runH gkrnours@mastodon.gamedev.placeG 2 Replies Last reply
                        0
                        • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                          "b2b" is a tongue-in-cheek name for tool-to-tool communication (e.g. build tool => sandbox configuration). this is why the package metadata format i spent years negotiating with the python community to develop https://pip.pypa.io/en/latest/reference/installation-report/ uses JSON, because JSON is extremely stable as a protocol and can be deterministically checksummed. this is why it's suitable for lockfiles

                          srazkvt@tech.lgbtS This user is from outside of this forum
                          srazkvt@tech.lgbtS This user is from outside of this forum
                          srazkvt@tech.lgbt
                          wrote sidst redigeret af
                          #12

                          @hipsterelectron and then some use toml instead even though it isn't supposed to be read by someone

                          1 Reply Last reply
                          0
                          • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                            they mentioned they use it for running games which is so great to hear bc that's exactly the kind of end-user application that typical sandboxing mechanisms don't care about whatsoever and which (like compilers) have very strong dependencies upon which files they can access

                            moses_izumi@fe.disroot.orgM This user is from outside of this forum
                            moses_izumi@fe.disroot.orgM This user is from outside of this forum
                            moses_izumi@fe.disroot.org
                            wrote sidst redigeret af
                            #13
                            @hipsterelectron
                            speaking of games, it should come with a script that sets up a sandboxed Wine desktop 😄

                            (might be out of scope but still)
                            1 Reply Last reply
                            0
                            • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                              when brett cannon (the maintainer of the packaging library who ensures pypi uses the backdoored METADATA format) wrote PEP 751 in collusion with astral (the startup that stole my zip file work without credit and sold to openai), he made sure to erase this work, because PEP 751 is a TOML format (and this is the crux of the distinction i'm making)

                              hipsterelectron@circumstances.runH This user is from outside of this forum
                              hipsterelectron@circumstances.runH This user is from outside of this forum
                              hipsterelectron@circumstances.run
                              wrote sidst redigeret af
                              #14

                              TOML is not stable and not widely supported, but let's ignore that. the important quality of TOML is that it has multiple equivalent representations and absolutely no normalization mechanism. this means you can't reliably checksum it.

                              consider for a moment if being able to determine whether a lockfile has been changed might be useful in any way.

                              hipsterelectron@circumstances.runH alina@girldick.gayA 2 Replies Last reply
                              0
                              • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                                TOML is not stable and not widely supported, but let's ignore that. the important quality of TOML is that it has multiple equivalent representations and absolutely no normalization mechanism. this means you can't reliably checksum it.

                                consider for a moment if being able to determine whether a lockfile has been changed might be useful in any way.

                                hipsterelectron@circumstances.runH This user is from outside of this forum
                                hipsterelectron@circumstances.runH This user is from outside of this forum
                                hipsterelectron@circumstances.run
                                wrote sidst redigeret af
                                #15

                                PEP 751 is a useful case study in conflation of b2b and b2c because it describes mutually contradictory goals. first off, i claim a lockfile is not user-facing: it is the output of a process invocation (pip, uv, poetry, etc) and intended to be consumed by another process. brett cannon instead courageously fights for user empowerment and describes the lockfile as something a user is expected to audit by hand (so it's their fault if they didn't read it closely enough and get hacked). this motivates the TOML format.

                                srazkvt@tech.lgbtS hipsterelectron@circumstances.runH 2 Replies Last reply
                                0
                                • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                                  PEP 751 is a useful case study in conflation of b2b and b2c because it describes mutually contradictory goals. first off, i claim a lockfile is not user-facing: it is the output of a process invocation (pip, uv, poetry, etc) and intended to be consumed by another process. brett cannon instead courageously fights for user empowerment and describes the lockfile as something a user is expected to audit by hand (so it's their fault if they didn't read it closely enough and get hacked). this motivates the TOML format.

                                  srazkvt@tech.lgbtS This user is from outside of this forum
                                  srazkvt@tech.lgbtS This user is from outside of this forum
                                  srazkvt@tech.lgbt
                                  wrote sidst redigeret af
                                  #16

                                  @hipsterelectron lmao

                                  1 Reply Last reply
                                  0
                                  • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                                    TOML is not stable and not widely supported, but let's ignore that. the important quality of TOML is that it has multiple equivalent representations and absolutely no normalization mechanism. this means you can't reliably checksum it.

                                    consider for a moment if being able to determine whether a lockfile has been changed might be useful in any way.

                                    alina@girldick.gayA This user is from outside of this forum
                                    alina@girldick.gayA This user is from outside of this forum
                                    alina@girldick.gay
                                    wrote sidst redigeret af
                                    #17

                                    @hipsterelectron if you're already using a structured data format you might as well destructure it into its dictionary representation for doing the comparison right

                                    alina@girldick.gayA 1 Reply Last reply
                                    0
                                    • alina@girldick.gayA alina@girldick.gay

                                      @hipsterelectron if you're already using a structured data format you might as well destructure it into its dictionary representation for doing the comparison right

                                      alina@girldick.gayA This user is from outside of this forum
                                      alina@girldick.gayA This user is from outside of this forum
                                      alina@girldick.gay
                                      wrote sidst redigeret af
                                      #18

                                      @hipsterelectron i also wouldnt want my lockfiles to use the canonical / stripped json version but to be pretty-printed instead, of which the formatting can vary

                                      1 Reply Last reply
                                      0
                                      • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                                        PEP 751 is a useful case study in conflation of b2b and b2c because it describes mutually contradictory goals. first off, i claim a lockfile is not user-facing: it is the output of a process invocation (pip, uv, poetry, etc) and intended to be consumed by another process. brett cannon instead courageously fights for user empowerment and describes the lockfile as something a user is expected to audit by hand (so it's their fault if they didn't read it closely enough and get hacked). this motivates the TOML format.

                                        hipsterelectron@circumstances.runH This user is from outside of this forum
                                        hipsterelectron@circumstances.runH This user is from outside of this forum
                                        hipsterelectron@circumstances.run
                                        wrote sidst redigeret af
                                        #19

                                        in fact, the TOML format is appropriate for exactly that b2c case! we use it in pants: https://www.pantsbuild.org/stable/docs/getting-started/initial-configuration users of pants have a pants.toml at the repo root for this reason.

                                        what about subprojects? so pants is a monorepo build tool, and per-directory BUILD files cover project-specific config. BUILD files are restricted python code, because we need to support loops and other logic. this is one major advantage over autoconf, in which key-value configuration parameters are determined by user-provided shell scripts. this makes autoconf-based builds impossible to introspect or interop with other tooling

                                        hipsterelectron@circumstances.runH 1 Reply Last reply
                                        0
                                        • hipsterelectron@circumstances.runH hipsterelectron@circumstances.run

                                          in fact, the TOML format is appropriate for exactly that b2c case! we use it in pants: https://www.pantsbuild.org/stable/docs/getting-started/initial-configuration users of pants have a pants.toml at the repo root for this reason.

                                          what about subprojects? so pants is a monorepo build tool, and per-directory BUILD files cover project-specific config. BUILD files are restricted python code, because we need to support loops and other logic. this is one major advantage over autoconf, in which key-value configuration parameters are determined by user-provided shell scripts. this makes autoconf-based builds impossible to introspect or interop with other tooling

                                          hipsterelectron@circumstances.runH This user is from outside of this forum
                                          hipsterelectron@circumstances.runH This user is from outside of this forum
                                          hipsterelectron@circumstances.run
                                          wrote sidst redigeret af
                                          #20

                                          pants does maintain the same distinction as autoconf in its separation of "maintainer-defined" vs "packager-defined" configuration. in my automake C projects (see e.g. https://codeberg.org/cosmicexplorer/delulu), you'll see i build the configure script myself and track it in the repo, while a packager can invoke my prebuilt script from a tarball or git checkout.

                                          correspondingly, the pants.toml defines configuration values i control, but the packager can override or extend these values via environment variables or cli args. see https://www.pantsbuild.org/stable/docs/using-pants/key-concepts/options for more

                                          hipsterelectron@circumstances.runH 1 Reply Last reply
                                          0
                                          Svar
                                          • Svar som emne
                                          Login for at svare
                                          • Ældste til nyeste
                                          • Nyeste til ældste
                                          • Most Votes


                                          • Log ind

                                          • Har du ikke en konto? Tilmeld

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          Graciously hosted by data.coop
                                          • First post
                                            Last post
                                          0
                                          • Hjem
                                          • Seneste
                                          • Etiketter
                                          • Populære
                                          • Verden
                                          • Bruger
                                          • Grupper