Announcement

Collapse
No announcement yet.

GNU Shepherd 0.6 Released - Adds Support For One-Shot Services

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Shiba View Post
    I don't want the idiotic INI syntax of systemd, let alone Guile...
    Nobody will stop you from inventing your own or supporting one of the other options.

    Comment


    • #12
      Originally posted by MoonMoon View Post
      or supporting one of the other options.
      I'm doing that already.

      Comment


      • #13
        So is this new thing written in Rust?

        *hides*

        Comment


        • #14
          I'm gonna go get some popcorn and a ten foot pole, BRB

          Comment


          • #15
            Originally posted by wswartzendruber View Post
            So is this new thing written in Rust?

            *hides*
            GNU uses the standard bloat(tm) compiler, which is actually a multi-language meta-compiler. It compares various languages and frameworks and picks the one that consumes most space for no reason. For example, their unit test suite compiles 1000 implementations of /bin/true and wisely abandons all alternatives that produce binaries smaller than 30 kB. The /bin/true 2.0 will include mouse (gpm) and Xfree86 support.

            Comment


            • #16
              Originally posted by caligula View Post

              GNU uses the standard bloat(tm) compiler, which is actually a multi-language meta-compiler. It compares various languages and frameworks and picks the one that consumes most space for no reason. For example, their unit test suite compiles 1000 implementations of /bin/true and wisely abandons all alternatives that produce binaries smaller than 30 kB. The /bin/true 2.0 will include mouse (gpm) and Xfree86 support.
              I just did an experiment writing the shortest program that returns 1, in both C and Rust. I used level 2 optimizations.

              C (GCC): 18 KB
              Rust: 255 KB

              Comment


              • #17
                Originally posted by wswartzendruber View Post

                I just did an experiment writing the shortest program that returns 1, in both C and Rust. I used level 2 optimizations.

                C (GCC): 18 KB
                Rust: 255 KB
                Cool story bro. You've now benchmarked some std libraries.

                Comment


                • #18
                  Hmm, it seems rather tricky.
                  I wonder if Apache, Lighttpd, nginx, MariaDB and PostgreSQL have such files included by default of I have to create them myself.
                  If I can just run one command to turn on socket-activation for a service.

                  Comment


                  • #19
                    I think you all making fun of it is as bad as the Systemd Hater that attack Poettering and talk about non-unix and all that bullshit.

                    1. of all systemd does not support GNU/Hurd, sure the relevance of this project is small but it exists and for scientists it's a interesting project.

                    2. Shepherd is not supposed at least at this point to compete systemd in that way that it has the goal to replace systemd everywhere, but it has a niche for GNU/GUIX users.

                    You should first make fun out of Nixos and Guixos before you make fun out of Shepherd. Shepherd makes much sense if you use those distribitions especially with GuixOS because then you can configure your whole system in Guile and don't have to switch forth and back between different languages.

                    Also Guile has the advantage that you don't have to compile everything but can dynamically reload changes at least in theory not so sure about how that works with Shepherd.

                    3. I find nothing about posix compatibility of systemd, it seems very linux specific Shepherd at least claims that it should be easy to deploy on all posix systems.

                    4. it enables people that are not hardcore system developers that love to manually allocate and deallocate memory and not have a big compiling system to change it.

                    High level languages in software has advantages, yes it also has sometimes disadvantages as example with python you would have a slow system, but I am not sure about Guile specific but most lisp implementations are very fast compared to python and even C, so you have the best of both worlds high level programming and fast speeds.

                    That seems cool features:
                    - contrast to systemd, a userspace shepherd process runs as that user
                    - concept of the extension, a form of composability where services are designed to be layered onto other services, augmenting them with more elaborate or specialised behaviours as desired
                    - even I am not 100% sure what that means but because of varadic function support it seems to be more secure than systemd, the C language is very insecure it allows developers to write code that is insecure that is not possible in Lisp. Lisp protects developers to some degree form adding security holes (so does many languages that are not C):

                    the CERT Coordination Center considers variadic functions in C to be a high-severity security risk.

                    well here you can read the rest:


                    It has at least many features that systemd does not have and that are mostly language specific possibilities that can't be implemented in C, like you can't just dynamically rewrite services, that are language features.

                    And because it's "highly programmable by the system administrator" you can scaffold much faster new functionality and test out new features that you then maybe partially slowly backport it to systemd.

                    So I would be a bit slower in just attacking Shepherd or make fun of it, if you don't have any idea what it is and what features it has and most don't even know how powerful and superior lisp is especially for the programmer that can edit source code as a code tree instead of manipulating the code char by char manually.

                    Especially because there was never any hostility from this projects towards systemd that I have noticed at least I don't see why we should attack / make fun of a alternative.

                    Comment


                    • #20
                      Originally posted by caligula View Post

                      Cool story bro. You've now benchmarked some std libraries.
                      So Rust can only do static linking?

                      Comment

                      Working...
                      X