this post was submitted on 28 Jun 2024
783 points (94.7% liked)

Programmer Humor

19703 readers
189 users here now

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

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 72 points 4 months ago (3 children)

For real though, containerization isn't the only way to separate applications from each other but totally fine, it's the "It works on my machine, so here's my machine" mentality that doesn't fill me with confidence. I've seen too much barely-working jank in containers that probably only get updated when a new version of the containerized application itself is released.

[–] [email protected] 37 points 4 months ago (2 children)

Nix user arrives to the room.

[–] [email protected] 10 points 4 months ago (1 children)
[–] [email protected] 16 points 4 months ago

Nix can build you a bit-to-bit exact environment for your app. It is a superior environment, but is hard to use in the beginning and users can feel snobby sometimes. It is awesome, but YMMV.

[–] [email protected] 5 points 4 months ago (1 children)

How do you separate Nix programs from the rest of the system?

[–] [email protected] 9 points 4 months ago* (last edited 4 months ago) (1 children)

It creates a set of symlinks so every program sees exactly the dependencies it needs.

https://nixos.org/guides/nix-pills/09-automatic-runtime-dependencies#automatic-runtime-dependencies

You can also create a container:

https://nixos.wiki/wiki/NixOS_Containers

Or you can create reproducible docker containers with nix:

https://dev.to/anurag_vishwakarma/a-better-way-to-build-reproducible-docker-images-with-nix-2k59

The secret sauce with nix is reproducibility. If it builds once, it will continue building exactly like that forever. Bit by bit.

[–] [email protected] 2 points 4 months ago

That's very interesting, I was aware of how NixOS separated dependency versions but I didn't know it natively supported containers.

[–] [email protected] 17 points 4 months ago

I like containers. But they do have a habit of nurturing cludgy temporary hacks into permanent infrastructure, by sweeping all the ugly bits under the big whale-shaped rug.

[–] [email protected] 10 points 4 months ago* (last edited 4 months ago)

What gets me is people migrating from VMs treating it like an entire host machine.

There is a lack of knowledge among developers regarding precompiling assets and classes (if interpreted), and people are trying to do too much in startup scripts.

Another thing I hate is wrapping the entire process in a script because people want to kill the main process without restarting the container. Yikes!