GNU Pies – Program Invocation and Execution Supervisor

17 hours ago (gnu.org.ua)

One release every 4 years. So this is like monit or systemd-supervisord and so on, a process manager. I have to say the thing I most enjoy about it is the fact that it's got the classic GNU trend of "here's an obviously pronounceable spelling; let's say it a different way".

I'm reminded of this https://supervisord.org/

Used it inside of containers a few times when I wanted to keep things simple and have a container that ran both a web server and PHP-FPM at the same time and kept them up.

Are the collection of components run in some kind of namespace? Say I run a Pies for Gitlab (which in itself had lots of components), and I run a Pies for Frpd, do they share the same space or are they isolated from each other? Am I maybe overthinking this? Perhaps its just a program manager.

Is this the gnu version of systemd?

edit: I know it's not a monolith like systemd but service/unit files are a core component of systemd

  • systemd is not a monolith.

    It's a collection of losely coupled components and services of which basically every single one can be disabled or replaced by another implementation.

    • No it definitely is a monolith.

      It's NOT loosely coupled in any way. Try running any part of the systemd software suite on an openrc system and see how that works out?

      I have no idea why people are so insistent on claiming that its not a monolith, when it ticks off every box of what a monolith is.

      1 reply →

    • Explain the existence of "elogind" and "eudev" then?

      It might be the case that one can disable some components of systemd, on a systemd system. It is certainly not the case that they are "loosely coupled", or there would be no incentive to maintain forks of core systemd components with the sole and explicit purpose of decoupling from systemd.

    • In theory. In practice, systemd is a mess of different components that have subtle dependencies on each other. And while the core of systemd is solid enough, everything around it is not.

    • It's a collection of tightly-coupled components that are functionally a monolith because large distros tend to rely on the various components rather than allowing modularity.

The area where I've seen the most homegrown implementations of things like these is HFT, with the caveat it's also designed to be distributed, integrated with isolation systems, start/stop dependency graphs...

I once worked for a company which chose to use Kubernetes instead, they regretted it.

> pronounced "p-yes"

Absolutely not.

Apologies to the Slavs, but there’s already a utility pronounced like that.

If you have to explain the pronunciation of the name of your tool in the first sentence, you've already lost.

Almost 20 years ago now I worked for a company that sat a group of about 25 of us down to talk about their latest survey named...CRMPIES.

Everyone looked at me like I was insane as I sat there chuckling. Thank you for bringing back that unfortunate memory.

Everyone needs to have made a web framework. Everyone needs to have made a programming language. Everyone needs to have made a supervisor. Everyone has to have made a container manager. Everyone needs to have made a text editor.

  • What's the value of making a supervisor? It seems to be mostly about gluing together some system APIs.

    • In some industries it’s critical. Think about aerospace where code is almost always homegrown or done by specialized company, and are specific implementations for specific needs. You don’t have that many COTS due to the criticality etc.

      2 replies →

  • I disagree with all of this. If you have time and interest, or a real need, then go ahead. I've never met a programmer who's made all of these things in my 20 years of programming, and that includes PhDs, professors, and old graybeards about to retire.