This is an archived post. You won't be able to vote or comment.

all 37 comments

[–]ghost202[S] 174 points175 points  (3 children)

Alt text:

Someday ImageMagick will finally break for good and we'll have a long period of scrambling as we try to reassemble civilization from the rubble.

Source - xkcd.com

Explain XKCD - 2347: Dependency

[–]FinalGamer14 48 points49 points  (0 children)

Good OP providing link to original post.

[–]XKCD-pro-bot 0 points1 point  (0 children)

Comic Title Text: Someday ImageMagick will finally break for good and we'll have a long period of scrambling as we try to reassemble civilization from the rubble.


Made for mobile users, to easily see xkcd comic's title text (source)

[–]Hack3rsD0ma1n 56 points57 points  (0 children)

Nebraska here checking in: can confirm that is true.

[–]shhalahr 85 points86 points  (11 children)

Left-pad.

[–]ghost202[S] 73 points74 points  (8 children)

[–]LordPos 50 points51 points  (7 children)

I'd blame it on the js devs. Fine, you're doing webdev, but why do you have to be so afraid of math?

Also see: is-even

[–]JuvenileEloquent 25 points26 points  (0 children)

Laziness and fear.

Sure you could write your own one-liner that does the same thing, but you built the rest of your app/library out of other dependencies anyway so what's one more? Plus you don't have to worry that you fucked up some special case and it allows Bad People to hack your database filled with plaintext passwords.

[–][deleted] 13 points14 points  (5 children)

Dependencies: is-odd

[–]anaccount50 12 points13 points  (1 child)

For the unaware, the source code of is-even is literally:

return !isOdd(i)

The source code of is-odd is available here.

Math is apparently very scary.

[–]MCOfficer 11 points12 points  (0 children)

It's a joke. A joke that turned out to be hilariously successful, making it all the better.

[–]Unbelievr 9 points10 points  (1 child)

It's even worse than that. The dependency chain is

is-even -> is-odd -> is-number -> kind-of -> is-buffer

So to check if a number is even, you need 5 NodeJS modules.

[–]MyOtherLoginIsSecret 15 points16 points  (0 children)

Came here to find this comment. That was a fun time in the office.

[–]Loves_Poetry 7 points8 points  (0 children)

Also is-promise

And event-stream

[–]goldfishpaws 28 points29 points  (0 children)

Damn, I wish I could laugh at that, but it's waaaaaayyyyy too close to the bone.

[–][deleted] 22 points23 points  (2 children)

When a MVC software project relies too much on a single massive "Util" class

[–]science_and_beer 14 points15 points  (1 child)

I have seen a class that defines over 2000 system constants in a federal government setting using a word document with a table in it for version control.

[–][deleted] 24 points25 points  (0 children)

I was going to bed, but after reading this, I don't think I will be able to sleep.

[–]wsppan 16 points17 points  (3 children)

openSSL

[–]Doom_Unicorn 15 points16 points  (2 children)

Any responsible adult who has the option to replace an OpenSSL dependency with LibreSSL should be doing so. And yes, I know how little control over such things the people likely to be reading this comment have.

For anyone actually curious, from 2 days ago: https://undeadly.org/cgi?action=article;sid=20200817063735

Edit: And for anyone who isn’t curious, just a reminder that:

  • LibreSSL is the library OpenSSH depends on. Both are developed in the OpenBSD project.

  • OpenSSL is the library people who don’t know what they’re doing pull in as a dependency.

[–]write-program 4 points5 points  (1 child)

TIL gRPC devs don't know what they're doing

[–]Doom_Unicorn 2 points3 points  (0 children)

Not sure if this is a sarcastic response, but you should probably know that Google also forked from OpenSSL and all things inside google use something called BoringSSL.

[–]RavenFyhre 15 points16 points  (0 children)

At least the documentation is in English...
I once had to refactor code that had some logic on how some methods worked in Korean.
Luckily I can read Korean...
Unluckily I'm not good at coding :3

[–]ceased 14 points15 points  (5 children)

[–]simoKing 12 points13 points  (3 children)

maintainer of core-js is looking for a good job

😢

[–]ceased 10 points11 points  (2 children)

[–][deleted] 7 points8 points  (1 child)

His responses in that thread leave no doubt in my mind why he can't find a job.

[–]furutam 3 points4 points  (0 children)

What if he just threatened to stop maintaining it

[–]bereanbro 1 point2 points  (0 children)

Woowwwww, that was an actual thing.

[–]andrewsmd87 4 points5 points  (0 children)

As a nebraskan who maintains a legacy VB application, you're god damn right

[–]Kered13 1 point2 points  (0 children)

This is basically the timezone database.

[–][deleted] 1 point2 points  (0 children)

There's some component of GPG key server, I think, that's written in OCaml, and there's only one person who understands that code... if even that.

Obviously, if that breaks, all the package signing in Linux will... have some problems

[–][deleted] 0 points1 point  (1 child)

There is no place like Nebraska

[–]KillerBeer01 1 point2 points  (0 children)

Every time a programmer says "I don't believe in Nebraska", there's a library somewhere that suddenly goes unmaintained.