Am I out of touch?

No, it’s the forward-thinking generation of software engineers that want elegant, reliable, declarative systems that are wrong.

You are viewing a single thread.
View all comments View context
32 points
*

We’ve known since the 1950s that our configurations should be declarative, to make them resilient to necessary changes to our software stack.

Instead of coding exactly what change needs made, we ought to write a config that declares the intended outcome, and then do extra work to write code that correctly interprets that config. This way when all the commands we used stop working (and they do!), we still know the original intent of the configuration.

But making config management declarative is a lot of work. So fuck that noise. I’ll do it in bash, instead, again.

permalink
report
parent
reply
22 points
*

Nix actually IS Bash under the hood. It uses Perl and Bash to create an atomic installation. I tend to do a LOT less maintenance than I’d need to do if I rolled everything from scratch in Bash.

permalink
report
parent
reply
8 points

That explains why Nix despite being parallelized takes a long time to install packages and rebuild the configuration.

permalink
report
parent
reply
6 points

Oh, the meme really is about Nix then? I assumed it was about C.

I guess IT has a lot of holding into old ways going on.

permalink
report
parent
reply
19 points
*

Yes for sure. Actually Nix is pretty long in the tooth and there are better implementations of Eelco’s brilliant idea. It’s just that they have a lot less effort, ubiquity, and hype behind them. GUIX is a good example of that. They literally can build an OS from scratch. I find Nix to be rock solid, so I stick with it. But, it’s an idea (all dependencies being content addressed in an immutable folder structure) to allow complexity that isn’t even achievable on FHS style systems.

For example: THE main feature is that you could have a different version of say Python (for the sake of this example) installed for each dependency in your system and they would just work alongside each other due to their unique, hash based folder locations. Each folder is named based on the sha256 hash of the dependency graph, which has powerful implications. Because of this hash, they’re effectively hermetically sealed from each other and cannot step on each other. This is the very definition of Nix and taken far enough to define a whole OS is SUPER powerful concept.

Shit, I’m rambling. Maybe I’ll pause to let you guide my rant. ;)

permalink
report
parent
reply
6 points

Is there a article about this I can find more info about this?

It’s a brand new topic for me and I just read this one from a previous comment. And trying to learn more.

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7K

    Monthly active users

  • 729

    Posts

  • 11K

    Comments