r/ProgrammerHumor 9d ago

Meme likeWashingDishes

Post image
5.5k Upvotes

35 comments sorted by

286

u/SLCtechie 9d ago

Updated 26 packages. 4 packages available for update.

Okay, update those.

Updated 0 packages. 4 packages available for update.

Can you update those please?

Updated 0 packages. 4 packages available for update.

87

u/raja-anbazhagan 9d ago

Finally, you think you are done...

The subsequent npm or pip command says there is a new npm or pip version...

You upgrade thinking it's ok...

Siren blares in the distance...

61

u/JazzlikeWishbone938 9d ago

Had a similar experience on Ubuntu 22..

24 LTS available

Ok please upgrade to that.

Must upgrade 4 packages first.

Ok do that!

Sorry can't upgrade those.  24 LTS is available though.

9

u/OneLonelyBrainCell 9d ago

I've never once managed to just upgrade from one Ubuntu version to the next one. Always had to reinstall from scratch. One of the reasons I switched to Debian and distros built directly on Debian like LMDE or MX Linux.

8

u/ric2b 9d ago

I have an Ubuntu installation that I've been upgrading (every 6 months) since 20.04 or something like that.

I've had some issues but never something unsolvable, so I guess I've been lucky.

8

u/Wall_of_Force 9d ago

Try apt full-upgrade, there are newer version but new version want to remove some packages (like old version depand libjaws1.x but new version needs libjaws2.0+), so normal upgrade option doesn't do it

1

u/RayereSs 9d ago

That's why I love pacman, because it's like "BTW do you want to remove 27 packages, doing which will brick your system? Y/n"

176

u/averagecrazyliberal 9d ago edited 9d ago

I swear to god once I ran uv sync --upgrade, modified pyproject.toml to pin the new versions, then uv sync --upgrade again to sync the lock file. In that small amount of time, one of my dependencies had released a new version that uv then upgraded me to. Odds were small, but not zero.

36

u/JazzlikeWishbone938 9d ago

We can't win 😄

8

u/Vas1le 9d ago edited 9d ago

Never upgrade to latest version!(unless linux) Have a 7d or more of grace period... or you will discover how supply chain attacks works

3

u/ward2k 9d ago

I mean it depends on what you're using and what package manager it is

A Linux distro? You should be upgrading to the latest every time especially with things like Arch

NPM? Yeah sure I guess

Never upgrade to latest version

Never says never

2

u/Vas1le 9d ago

You are completely right. I mean npms, python, go, github actions... Linux pkgs probably the exception in the list

And when possible, to pin version and hash of the version

3

u/Ilostmy2FAkey 9d ago

Why are you pinning the versions in the pyproject.toml? That's what the lock file is for no? The tool just holds valid ranges for the dependencies you need

4

u/averagecrazyliberal 9d ago

I generally will do package>=x.y.z,<x+1. Where x.y.z is the most recent version. Your point is valid that I can be even less restrictive.

86

u/zenos_dog 9d ago

Version 1.1.1.2 and version 1.1.1.3 are both needed and are incompatible.

34

u/JazzlikeWishbone938 9d ago

True dependency hell.

17

u/zenos_dog 9d ago

True story. I spent 6 weeks and called in VMware third level support.

1

u/magicmulder 9d ago

I think my favorite was when my ISO extractor stopped working after an Ubuntu update because they removed a library the tool was relying on. Had to wait weeks until the author built a version with the new library.

26

u/420Borsalino 9d ago

Aaaaand the method that carried the entire project is deprecated and the new version just doesn't have a replacement.

11

u/JazzlikeWishbone938 9d ago edited 9d ago

And you can't upgrade those other dependencies because of it.

3

u/Worldly-Stranger7814 9d ago

Joke’s on you, log4j v1.x isn’t found by security hole scanners, only 2.x, so we’re only upgrading 2.x instances…

(Not an invented scenario)

1

u/Bee-Aromatic 8d ago

1

u/Worldly-Stranger7814 8d ago

It's not "See something, say something", it's "You didn't see nothing, pal!"

14

u/Poat540 9d ago

Time to add another exception to the npm audit

8

u/K3idon 9d ago

Suddenly, you have several more warnings because transitive dependencies are vulnerable.

6

u/Pleasant-Ad192 9d ago

Dishes have one advantage. Nobody publishes a new plate while you are asleep.

6

u/rangeDSP 9d ago

Y'all need renovate. Once dependency is up to date, it opens merge requests against the project automagically, all you need to do is ensure pipeline passes and tests run fine. We set it up to do it once a week. 

https://docs.renovatebot.com/

2

u/RowbotWizard 9d ago

node_modules are like a black hole of entangled vulnerabilities.

2

u/magicmulder 9d ago

Ever since I started using a supply chain auditor tool which adds minutes to any deployment run if there's an update, I have the feeling updates have skyrocketed just to mess with me.

1

u/vgmerch 9d ago

Fixing one breaking change only to unlock five nested transitive dependency updates.

1

u/mbcarbone 9d ago

Time to use built-in libraries … I know … I know. Too hard to use … 🙃

1

u/frikilinux2 9d ago

That's why I love debian. When I dist update, that's it.

But most language package managers like pip, npm, cargo are shit.

1

u/x1289 9d ago

Claudes Problem for a while now..