Re: A Critique of Shepherd Design

2021-03-24 Thread raid5atemyhomework
> Loopback is handled by the ‘loopback’ shepherd service, which is > provided via ‘%base-services’. Perhaps you just need to have your > service depend on it? My service requires `tor`, which itself requires `loopback`, but it was still unable to access `127.0.0.1:9050` until I added a service

Re: A Critique of Shepherd Design

2021-03-24 Thread raid5atemyhomework
Sent with ProtonMail Secure Email. ‐‐‐ Original Message ‐‐‐ On Tuesday, March 23, 2021 1:02 AM, Ludovic Courtès wrote: > Hi, > > raid5atemyhomework raid5atemyhomew...@protonmail.com skribis: > > > I'm not sure you can afford to keep it simple. > > It has limitations but it does the j

Re: A Critique of Shepherd Design

2021-03-22 Thread Martin
On Fri, 19 Mar 2021 17:33:57 + raid5atemyhomework wrote: The Shepherd language for describing actions on Shepherd daemons is a Turing-complete Guile language. Turing completeness runs afoul of the Principle of Least Power. Erlang is turing complete and yet it is famously excellent at m

Re: A Critique of Shepherd Design

2021-03-22 Thread Ludovic Courtès
Hi, raid5atemyhomework skribis: > I'm not sure you can afford to keep it simple. It has limitations but it does the job—just like many other init systems did the job before the advent of systemd. > Consider: https://issues.guix.gnu.org/47253 > > In that issue, the `networking` provision comes

Re: A Critique of Shepherd Design

2021-03-22 Thread raingloom
On Fri, 19 Mar 2021 17:33:57 + raid5atemyhomework wrote: > The Shepherd language for describing actions on Shepherd daemons is a > Turing-complete Guile language. Turing completeness runs afoul of > the Principle of Least Power. Erlang is turing complete and yet it is famously excellent at

Re: A Critique of Shepherd Design

2021-03-20 Thread raid5atemyhomework
Hello Ludo', > Hi, > > raid5atemyhomework raid5atemyhomew...@protonmail.com skribis: > > > Now, let us combine this with the second feature (really a bug): GNU > > shepherd is a simple, single-threaded Scheme program. That means that > > if the single thread enters an infinite loop (because of a S

Re: A Critique of Shepherd Design

2021-03-20 Thread Ludovic Courtès
Hi, raid5atemyhomework skribis: > Now, let us combine this with the second feature (really a bug): GNU > shepherd is a simple, single-threaded Scheme program. That means that > if the single thread enters an infinite loop (because of a Shepherd > service description that entered an infinite loo

Re: A Critique of Shepherd Design

2021-03-20 Thread raid5atemyhomework
Good rmoning Mark, > Hi, > > raid5atemyhomework raid5atemyhomew...@protonmail.com writes: > > > GNU Shepherd is the `init` system used by GNU Guix. It features: > > > > - A rich full Scheme language to describe actions. > > - A simple core that is easy to maintain. > > > > However, in this cri

Re: A Critique of Shepherd Design

2021-03-19 Thread Mark H Weaver
Hi, raid5atemyhomework writes: > GNU Shepherd is the `init` system used by GNU Guix. It features: > > * A rich full Scheme language to describe actions. > * A simple core that is easy to maintain. > > However, in this critique, I contend that these features are bugs. > > The Shepherd language f

Re: A Critique of Shepherd Design

2021-03-19 Thread Maxim Cournoyer
Hi, raid5atemyhomework writes: > GNU Shepherd is the `init` system used by GNU Guix. It features: > > * A rich full Scheme language to describe actions. > * A simple core that is easy to maintain. > > However, in this critique, I contend that these features are bugs. > > The Shepherd language f

Re: A Critique of Shepherd Design

2021-03-19 Thread raid5atemyhomework
Hello Maxime, > Multi-threading seems complicated (but can be worth it). What work would you > put > on which thread (please give us some concrete to reason about, ‘thread X does > A, > and is created on $EVENT ...’)? A complication is that "fork" is ‘unsafe’ in a > process with multiple threads

Re: A Critique of Shepherd Design

2021-03-19 Thread Maxime Devos
On Fri, 2021-03-19 at 17:33 +, raid5atemyhomework wrote: > GNU Shepherd is the `init` system used by GNU Guix. It features: > > * A rich full Scheme language to describe actions. > * A simple core that is easy to maintain. > > However, in this critique, I contend that these features are bugs

A Critique of Shepherd Design

2021-03-19 Thread raid5atemyhomework
GNU Shepherd is the `init` system used by GNU Guix. It features: * A rich full Scheme language to describe actions. * A simple core that is easy to maintain. However, in this critique, I contend that these features are bugs. The Shepherd language for describing actions on Shepherd daemons is a