this post was submitted on 04 Aug 2024
199 points (100.0% liked)

Programmer Humor

418 readers
1 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
 

Am I out of touch?

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

top 24 comments
sorted by: hot top controversial new old
[–] bjoern_tantau@swg-empire.de 35 points 1 month ago (1 children)

Luckily with free software there's always a choice.

[–] 0x0@programming.dev 3 points 1 month ago

Found the only sane comment.

[–] ByteOnBikes@slrpnk.net 27 points 1 month ago (2 children)

Sorry I'm too stupid to understand this joke. Someone explain?

[–] MajorHavoc@programming.dev 25 points 1 month ago* (last edited 1 month ago) (2 children)

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.

[–] demesisx@infosec.pub 17 points 1 month ago* (last edited 1 month ago) (1 children)

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.

[–] areyouevenreal@lemm.ee 7 points 1 month ago

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

[–] ByteOnBikes@slrpnk.net 4 points 1 month ago

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.

[–] xilliah 14 points 1 month ago

Changes to a declarative operating system, such as NixOS, are atomic. This allows for easy experimentation and rolling back to older configurations.

For example say you install gimp for editing photos. Normally you'd just install it using command line or a clickidity gui program. But say you don't like it. Maybe it causes an issue. Then you have to uninstall it again. You are applying yet another action to the same system. That system is mutable, or modifiable, and that introduces some extra complexity.

With NixOS you can simply roll back to the previous state you had before installing it. It also doesn't have to support stuff like uninstalling. The downside is that it likely uses a bit more resources when changing configurations.

This also applies to stuff like user management, services, e.g. a webserver.

Any experts correct me if I am wrong, I haven't tried any of these systems yet.

[–] secret300@lemmy.sdf.org 10 points 1 month ago (1 children)

Honestly how I feel right now, well kinda. I was using fedora silverblue but apps kept crashing and shit just wasn't working out how I wanted. I was excited to try VanillaOS until I did... It was annoying. I was hoping for a system that made it so I can seamlessly use dnf, pacman, and apt in the terminal and it would figure out all the containers for me but not at all. VanillaOS was too much of a hassle to keep track of everything and was just eh. I got fed up enough so I just installed NixOS today and so far I'm loving it. It's not as hard as I thought it would be but also I'm not doing anything to advanced yet. I plan on messing around with home-manager later. So far NixOS seems like it's exactly what I was looking for but all this time I avoided it

[–] SaharaMaleikuhm@feddit.org 17 points 1 month ago (2 children)

I bet NixOS will be kinda cool once they get a proper wiki in like 10 years or so

[–] Corbin@programming.dev 3 points 1 month ago

They have two. If the complaint is that neither wiki is as rich as the Gentoo or Arch wiki, consider that perhaps NixOS users don't need as much supplementary advice for configuring their systems.

[–] secret300@lemmy.sdf.org 2 points 1 month ago

yeah I'm feeling that now...

[–] LaggyKar@programming.dev 7 points 1 month ago (1 children)

This seems rather strawman-y

[–] demesisx@infosec.pub 9 points 1 month ago (1 children)

I posted this meme in three places. Did you not read any of the threads where old, cranky FHS luddites came out of the woodwork to angrily dismiss the concept of immutable distros?

[–] LaggyKar@programming.dev 3 points 1 month ago* (last edited 1 month ago) (1 children)

None of which are in this picture. The person in the picture talks only favorably of immutable systems yet is apparently against them, thus making for an easy target by arguing against themselves, so a straw man.

I'm actually positive to immutable systems, I just thought the argument wasn't great. I realize that's about what Skinner does in the meme, but it feels weak.

On second thought, I think the reason it was so jarring is because normally points against Skinner are in top picture, and the bottom picture has him abandon that line of thoughts in favor of something simplistic, thus changing his mind from one side to the other. Whereas here, the points against Skinner are at the end point of the meme, and thus he argues in both directions simultaneously.

[–] demesisx@infosec.pub 10 points 1 month ago* (last edited 1 month ago)

Interesting perspective. Thanks for elaborating. You twisted my original concept in knots and won me over to your read of it.

[–] Unreliable@lemmy.ml 6 points 1 month ago

Bazzite has been amazing for me!

[–] sudo@programming.dev 5 points 1 month ago

Who actually hates on declarative/immutable distros as a concept? Its always the actual usability of the specific implementations thats the problem. Stale packages, poor documentation.

[–] onlinepersona@programming.dev 4 points 1 month ago (2 children)

Which declarative systems exist besides nix? Don't say ansible. It's barely declarative.

Anti Commercial-AI license

[–] demesisx@infosec.pub 17 points 1 month ago* (last edited 1 month ago) (1 children)

GUIX for one.

GUIX is to NixOS what Gentoo or Manjaro are to Arch.

I’ll probably try it someday when I get bored enough of systemd.

[–] zagaberoo 4 points 1 month ago (1 children)

Gentoo or Manjaro are to Arch? What do you mean? Those two are very different from each other especially in their relationships to Arch.

[–] demesisx@infosec.pub 9 points 1 month ago

Duly noted. I DO NOT use Arch, btw. ;)

What I meant to try and say is that GUIX is like NixOS for Chad programmers.

[–] nickwitha_k@lemmy.sdf.org 5 points 1 month ago

GUIX is a good example.

Don't say ansible. It's barely declarative.

True, but it uses a common language in its Playbooks, which is a significant advantage. I'd like nix if I didn't need to use nix the language. It's great concept and the portability is awesome.

[–] e8d79@discuss.tchncs.de 3 points 1 month ago

I am using a immutable Fedora since January and it has been great so far.