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

Programmer Humor

19463 readers
36 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
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 76 points 4 months ago (2 children)

Reject whale, join the kubernetes cluster.

We have fully automated gay space crashloopbackoff!

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

Absolutely the best kind of space crashloopbackoff.

[–] [email protected] 5 points 4 months ago (1 children)
load more comments (1 replies)
load more comments (1 replies)
[–] kshade 70 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] 36 points 4 months ago (2 children)

Nix user arrives to the room.

[–] SeattleRain 10 points 4 months ago (1 children)
[–] [email protected] 15 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.

[–] qaz 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.

load more comments (1 replies)
[–] thehatfox 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!

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

Weak one. Let's ideate on a better version

STOP DOING DOCKER

  • Virtualization was supposed to reduce the overhead, not create entire DevOps departments.

  • Years of containerization yet no real use over make clean; make build

  • Wanted to deploy your app in the "cloud" anyways for a laugh? We had a tool for it, it's called rsync

  • Let's run a virtual container in --privileged mode, so we can manage system resources from it -- Statements dreamt up by utterly Deranged

Look at what tech interviews have been demanding your Respect for all these years. (These are real documentation examples for how a simple virtualization supposedly works)

????

??????

?????????

--

Hello, I would like to put 20 Terabytes of "images" into my /var/lib/, please!

They played us for absolute fools!

[–] [email protected] 29 points 4 months ago (3 children)

Docker exists because most programming languages don’t give a shit about producing easily executable outputs.

Nobody cares about your stupid python egg or ruby gem. How do I run it on my local?

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

Docker is still useful even for apps that compile to a single executable, as the app may still depend on a particular environment setup, particular libraries being available, etc.

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

How do I run it on my local?

spin a dock.....

load more comments (1 replies)
[–] [email protected] 28 points 4 months ago

Containers are a great way run applications.

Docker is a piece of garbage by a company way too far down the enshittification slide.

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

Why does this feel like it’s a flat-earth slide? I haven’t looked at any flat-earth propaganda, but I strongly suspect that it looks a lot like this.

That said, I’ll stick with my VMs regardless. I like simplicity.

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

Are VMs really simpler? I'd say no.

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

I was so relieved to never need VM’s again after discovering Docker.

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

The absurd waste of resources VMs bring.... LXC and Docker a godsend in that regard.

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

I would vote for docker as well. The last time I had to inherit a system that ran on virtual machines, it was quite a pain to figure out how the software was installed, what was where in the file system, and where all the configuration was coming from. Replicating that setup took months of preparation.

By contrast, with Docker, all your setup is documented. The commands that were used to install our software into the virtual machines and were long gone are present right there in the Docker file. And building the code? An even bigger win for Docker. In the VM project, the build environment for the C++ portion of our codebase was configured by about a dozen environment variables, none of which were documented. If it were built in Docker, all the necessary environment variables would have been right there in the build environment. Not to mention the build commands themselves would be there too, whereas with VMs, we would often have developers build locally and then copy it into the VM, which was terrible for reproducibility and onboarding new developers.

That said, this all comes down to execution - a well-managed VM system can easily be much better than a poorly managed Docker system. But in general, I feel that Docker tends to be easier to work with than a VM. While Docker is far from flawless, there are a lot more things that can make life harder with VMs, at least from my experience.

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

Nix has flakes; nix run can contain pretty much all of the needed dependencies. If that's not enough, you can set up an entire container as a module.

[–] tacosplease 16 points 4 months ago (3 children)

I wish I understood this because it seems funny

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

It’s not that funny.

Docker is like a virtual machine, but you only run one specific program in it. About exactly what the meme describes.

[–] HeapOfDogs 13 points 4 months ago

You ain't missing much

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

Moral of the story: never make breaking changes. Always backwards compatible, always.

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

When you're 90% of the market you get away with telling everyone else to suck your dick.

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

This meme but unironically

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

Meme gave me a laugh. XD

I see people not happy with Docker as a company, and, I get that, tech co. Lol

But I gotta admit, it's definitely been awesome for self hosting. My home server would probably just be OpenMediaVault and a Samba share if I couldn't just spin up compose files and had to worry about every app wanting its own database and stuff!

Are there better alternatives for newbs who just wanna self host stuff?

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

Are there better alternatives for newbs who just wanna self host stuff?

Docker is great for a beginner, and even for an expert too. I've been self-hosting for 20 years and love Docker.

Back in "the old days", we'd use Linux-VServer to containerize stuff. It was a bit like LXC is today. You get a container that shares the same kernel, and have to install an OS inside it. The Docker approach of having an immutable container and all data stored in separate volumes was a game changer. It makes upgrades so much simpler since it can just throw away the container and build a new one.

The main alternative to Docker is Podman. Podman uses the same images/containers as Docker - technically they're "OCI containers" and both Docker and Podman implement the OCI spec.

Podman's architecture is different. The main difference with Podman is that it never runs as root, so it's better for security. With Docker, you can either run it as root or in rootless mode, but the default is running it as root.

load more comments (1 replies)
[–] [email protected] 15 points 4 months ago (1 children)

(Chorus) Heave ho, Docker, and sail the binary sea, With containers all lined up, so light and free. From the code to the cloud, we'll go with ease, In our trusty Docker ships, we sail the seas.

(Verse 1) Oh, the devs were a-struggling, in a stormy plight, With dependencies broken, things weren't quite right. Then Docker sailed in, with a promise so bold, Of consistent environments, as good as gold.

(Chorus) Heave ho, Docker, and sail the binary sea, With containers all lined up, so light and free. From the code to the cloud, we'll go with ease, In our trusty Docker ships, we sail the seas.

(Verse 2) We build and we ship, with our Docker compose, In our microservices, our confidence grows. With images light and containers so tight, We deploy in the morning, and sleep sound at night.

(Chorus) Heave ho, Docker, and sail the binary sea, With containers all lined up, so light and free. From the code to the cloud, we'll go with ease, In our trusty Docker ships, we sail the seas.

load more comments (1 replies)
[–] [email protected] 13 points 4 months ago (2 children)

If you're doing it right, containers are less like VMs and more like cgroups. If orchestrated correctly it uses less system resources to run lots of services on a single system/node.

That said, I'm a devops/infrastructure/network professional and not a developer, so maybe I'm missing something from the dev experience.... But I love containers.

Docker does kinda suck now, though. Use podman or another interface instead if you can help it.

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

If done correctly, it also forces devs to write smaller more maintainable packages.

Big if though. I've seen many a terrible containerized monolithic app.

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

I've seen many a terrible containerized monolithic app.

I've seen plenty of self-hosters complain when an app needs multiple containers, to the point where people make unofficial containers containing everything. I used to get downvoted a LOT on Reddit when I commented saying that separating individual systems/daemons into separate containers is the best practice with Docker.

load more comments (1 replies)
[–] [email protected] 5 points 4 months ago (3 children)

Why is docker bad now and what makes pdoman better?

load more comments (3 replies)
[–] [email protected] 10 points 4 months ago (3 children)

I don't like containerisation because it leads to bullshit like atomic distros. I don't want a spicy Android.

Steam OS has some cool elements like the menu, the in-game side panels and the game mode/desktop dichotomy, but incremental rolling release is utterly deranged from my POV as an Arch user (btw).

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

If stability is deranged then yes.

As someone having used Arch, stuff does break at times and Valve can't link a Wiki link with the fixes

load more comments (1 replies)
[–] [email protected] 11 points 4 months ago

I'm currently trying Fedora Kinoite and from the get go the hassle of getting a proper Firefox+codecs to watch online videos feels like a major step back.

Then you have the issue of installing software in flatpack (is: vscode, texmaker) that are either not fully working of need to have their access tweaked. Atomic distros appeal is to "just work" it doesn't seem like it does.

load more comments (1 replies)
[–] [email protected] 10 points 4 months ago

I use podman and have absolutely no idea what I am doing. Send help

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

hahahahahahaj I don't know if it is funny because it is absurd or if it is funny because there are some folks out there that really think like that hahahahah

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

This meme format works best to absurdly overstate the uselessness of something you find mildly annoying. That's when it's funniest, because the criticisms are grounded in something real, and the low-stakes controversy makes the aggressive tone funny in context.

[–] NegativeLookBehind 7 points 4 months ago

Kubernetes: I will ruin your fucking life

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

I've recently spent a fair amount of time trying to peel my blog away from my existing framework due to how much I hated using docker to just build a website, it doesn't need to be this heavyweight.

load more comments
view more: next ›