CallMeAl (like Alan)

Free Software Enthusiast

  • 20 Posts
  • 332 Comments
Joined 9 months ago
cake
Cake day: December 14th, 2025

help-circle





  • At lot of it comes down to attitude. I remember a coach I heard responding to someone who said “I find it impossible to get out of bed when my alarm goes off. All I want to do is hit the snooze” and the coach said something like this, “Really? All it takes to get out of bed when your alarm goes off is to put your feet on the floor and stand up. If you woke up completely tired in the middle of the night but your bed was on fire I bet you would have no problem getting right out. That means you can easily get out of bed as soon as you decide its what you need to do. Decide the night before, when that alarm goes off in the morning you will put your feet on the floor and stand right up.”







  • Breaking up always sucks if you really care about the other person but for reasons can’t stay in a relationship with them. The best advice I ever got was that if you have your reasons for why you need to get out of a relationship, that’s all that matters. The person who doesn’t want to break up will always have their reasons why they want to stay together. For a relationship to work, both people need strong reasons to stay together. It can’t be just one of them.




  • The usage is simple. If you name a quadlet (or systemd service unit file) with an @ in it then you can use it. Like foo@.container then anything you put between the @ and . is passed into the resulting unit file as %i.

    So systemctl start foo@bar.service will pass ‘bar’ in where %i exists in the unit file. From there you can use it in a StartPreExec or whatever else to do instance specific stuff when the instance of the containerized service start.

    Like ExecStartPre=/usr/local/bin/activate_config %i for example. A contrived example but hopefully you get the idea: with one quadlet file and a little scripting you can start many instances of a service that each automatically pull in their own configs.


  • I agree that ergonomics are also important, but for me not the top priority for me. For Podman, I like the way I can use Quadlet to quickly deploy and run containerized stuff.

    However I really like it for building and running my own app stack pods. The combination of Quadlet and SystemD instance aliases is very powerful. I use this to drive all kinds of configuration automation.



  • What do you mean by “clean design”?

    If you are comfortable reading the source code for each project that is the most revealing way to see the difference.

    In short, Docker has a lot more code because it duplicates a lot of kernel and systemd functionality (often poorly), uses multiple components that communication over grpc with each other to do things, requires setuid binaries, and defaults to running everything as root.

    Podman, is a straight forward clean simple program that fully uses kernel and systemd interfaces rather than duplicating functionality. Quadlet is build on systemd generators and its use of templates via systemd instances lets you use deterministic dynamic configuration in ways that is unlike anything in Docker.