r/ProgrammerHumor 16h ago

Meme codebaseIsAmess

Post image

[removed] — view removed post

11.2k Upvotes

150 comments sorted by

u/ProgrammerHumor-ModTeam 12h ago

Your submission was removed for the following reason:

Rule 2: Content that is part of top of all time, reached trending in the past 2 months, or has recently been posted, is considered a repost and will be removed.

If you disagree with this removal, you can appeal by sending us a modmail.

839

u/NonStandardUser 16h ago

He actually wanted to say "mess me up like your codebase please", it just came out wrong

206

u/ArduennSchwartzman 16h ago

"Patch me up like on of your French girls."

33

u/Zatrit 15h ago

Fr•nch G•rls

2

u/SheriffGamer332 12h ago

two negatives create a positive

66

u/FlashyTone3042 16h ago

"Babe, tonight we’re shipping straight to production - no tests, just vibes. ❤️"

17

u/codedaddee 13h ago

Now these points of data make a beautiful line,

13

u/mvrspycho 13h ago

and we’re out of Beta, we‘re releasing on time.

6

u/BananaSpider55 13h ago

So I'm GLaD I got burned,

7

u/LemonQueasy7590 12h ago

Think of all the things we learned

7

u/StandardSoftwareDev 12h ago

For the people who are still alive

1

u/mvrspycho 12h ago

Think of all the things we learned,

1

u/an_agreeing_dothraki 13h ago

weeks later: "Look at this" shoves a support ticket in your face

863

u/dmullaney 16h ago

I assume they didn't

179

u/hates_stupid_people 14h ago

From what I remember, ffmpeg has some parts that would be a lot of work to make pretty, and for very little benefit.

I also don't think they accept many, regardless of quality.

145

u/Expensive-Fun4664 14h ago

Also, if you're writing in assembly chances are you're writing optimizations for various pieces of hardware. They're inherently going to be messy. "Cleaning up the code base" would likely perform worse.

67

u/mysticalfruit 13h ago

This. In many cases, that mess is actually quite carefully tweeked assembler that's solving a very specific performance issue.

I once saw a funny exchange where one dev was asking another dev about why the code base had an ifdef checking for a specific processor type and then swapped in a bit of assembler that was throwing an warning because it was an unknown op code.

The dev laughed and said, "Oh, you can get rid of that, nobody has that type of cpu in production anymore, but when they did we found an undocumented instruction that was way faster!"

39

u/drunk_responses 13h ago

Yeah, some of it is the assembly compatibility parts that basically look like copy pasted lines with minor changes or similar. The things newer programmers looks at and are convinced they can optimize. And you probably could optimize some of it, but after building it literally doesn't matter.

15

u/Expensive-Fun4664 13h ago

Yep. On a long enough time scale, every line of code is tech debt. The question is always if it's worth the time to go back and optimize or not.

-10

u/N0N4GRPBF8ZME1NB5KWL 12h ago

Just how it into ChatGPT

-11

u/N0N4GRPBF8ZME1NB5KWL 12h ago

Just how it into ChatGPT

15

u/SinisterCheese 13h ago

I think that is fundamentally flawed attitude. Because it is shortsighted - as software and tech tends to be. Because that leads to situations where in 5-10-15 years that slightly bad code is now a dramatic vulnerability, major issue, and got integrated so deep into systems that it can't be fixed without breaking countless derivations by thousands upon thousands of people.

Assembly obviously is it's own beast. I know one person who does assembly code... They are not normal... not even by people who code standards.

However... You should always try to uphold highest standards and make code/documentation/design so that someone else can understand it if need be.

6

u/DoctorWaluigiTime 12h ago

Correct take. "but after building it literally doesn't matter" is such a falsehood! The implication of that being "once you've written the code, and it works in [present day], there will be no reason to ever have to modify it ever, therefore who cares how messy it is."

Which is an insane mindset to have.

0

u/drunk_responses 10h ago

Please take a gander, if you think you know better:

https://github.com/FFmpeg/FFmpeg/

1

u/DoctorWaluigiTime 10h ago

The current state of any codebase doesn't "say" anything about the faulty concept of "if you write something once, you never have to change it, therefore you can be as messy as you like."

1

u/drunk_responses 10h ago

That was your interpretation of something that was not said.

108

u/juniperleafes 15h ago

The repo is very sequestered.

10

u/LRaccoon 14h ago

What does that mean? Only some people can make changes?

3

u/justinblase 14h ago

Sequestered like it's going for a black belt.

-53

u/yrubooingmeimryte 14h ago

Why would anybody want to contribute to a code base that is “a mess”? Anybody who has ever had to do that knows that it’s fucking painful.

91

u/dmullaney 14h ago

They wouldn't, but who would go out of their way to tell the contributors to a very valuable open source project, that their code is a mess, and then refuse to do anything to help improve it. It's like being given a free beer and complaining it's not cold enough. Fine. Fuck off and make your own media engine

54

u/DezXerneas 14h ago

Especially to something like ffmpeg. It is probably one of the easiest real life examples of xkcd 2347. It has a lot of contributers now, but video streaming sites(like YouTube/twitch) probably couldn't even exist without it.

12

u/EtherMan 14h ago

Youtube made their own encoder, and have publicly stated that they did that because it was easier to do that, than adapt ffmpeg. So more like youtube exists despite ffmpeg, not because of it, seeing as how it has never used ffmpeg.

12

u/Brief_Building_8980 13h ago

A Quick search gave me a 2011 post about youtube use for decoding obscure media format. The original had an error that caused some smearing, it was there, was fixed in ffmpeg in 2007, as of 2011 YouTube could correctly decode the video. Note: I can't confirm the authenticity of the post.

So the "never used ffmpeg" statement has to be false, they might still be using it for some formats. It's very unlikely for them to support a media format not in use since the early 2000s. 

They could only know that ffmpeg is not efficient enough for them if they used it in some way: in production, in test, analyzed the implementation or hired someone that worked on it previously.

"YouTube made their own encoder" most likely also true, or at least bought specialized software/hardware to do it for them (which might still be based on ffmpeg in some way).

-1

u/EtherMan 13h ago

Considering you can't just upload whatever format you want. You have to actually upload with a limited set of formats, that seems highly dubious that that has ever been the case. By never used it, I'm simply repeating what youtube themselves have said about it.

Also, evaluating a piece of software, does not mean that that software is now suddenly paramount to the development of the platform. That's just plain absurd...

And their software being based on ffmpeg, is as I said directly contrary to their own statement that they do not and have never used ffmpeg for youtube.

9

u/maybachsonbachs 13h ago

Despite is Insane take.

What do people use to encode source of uploads

-1

u/EtherMan 13h ago

Depends entirely on what they use to record with. Most however use either capture cards, nvenc/amf/qsv/vt, or AMC. None of which use ffmpeg either.

-16

u/yrubooingmeimryte 14h ago

I would. Contributing to OSS is a good thing and if people are prevented from doing it because of really poorly managed or organized code then that is a problem and should be criticized.

12

u/Stormlightlinux 14h ago

Rather than telling them, send a PR which passes tests that fixes it. It's OSS.

0

u/yrubooingmeimryte 14h ago

You don’t send a “cleanup” or “reorg” PR like that. Those kinds of things require a big rethink of the software design and would require buy in from the maintainers. Also, it’s not the kind of thing most external contributors want to spend their time on when it’s something the maintainers should have been responsible for managing in the first place.

12

u/Stormlightlinux 14h ago

So fork it and do the clean up as you see fit.

0

u/yrubooingmeimryte 14h ago

Again, that’s an absurd response to maintainers not maintaining their code well. Why would you fork it if it’s unlikely people are going to prefer to use your tool? Cleaning up the code doesn’t make the code run better for the end user (for the most part). So you would fork it, spend a bunch of time cleaning up other people’s code that they should have not let get into that state in the first place and for what? Users are still just going to use the original since they don’t care whether the code is clean and easy for developers to contribute to.

It’s clear most of you have never actually contributed to a project like this. Your suggestion is WAY more hostile than simply calling out the project on twitter for bad code organization.

21

u/dmullaney 14h ago

Well then, fuck off and make your own 🤷🏻‍♂️

-11

u/yrubooingmeimryte 14h ago

Now THAT is the kind of attitude that ruins OSS. I get that most of the people here are school children who are just taking their first programming class. But you have to realize that a major reason open source software struggles to compete with paid software is that the overlap of those with the knowledge/experience necessary to write quality tools and those who have the time and interest in working for free is narrow. If a project is really poorly maintained or managed that just raises the barrier for those people to contribute even higher.

Which is why it’s fine for adults to tell other adults when there is a problem with their code base. It’s not like the person made some personal attack. They just said the code base is a mess. Which if it is would mean the people maintaining it should consider prioritizing some cleanup effort. It’s not a big deal.

19

u/dmullaney 14h ago

Ok, but they (and you) haven't given constructive criticism. You're just saying it's messy. They know. They're the ones working with it. Giving their time up for decades and seeing their project empowering hundreds of highly valued and widely used applications. If you said "hey, this specific thing would be much better if you did this" and supplied a patch for how to improve it, then you'd have an argument. As they said, talk is cheap, and contributes nothing of value to the project

-11

u/yrubooingmeimryte 14h ago

If they know it’s messy then they should add time to their roadmap to clean up the code base and their response should be that rather than telling people to try and PR “patches” into it.

12

u/SaveReset 14h ago edited 13h ago

Why? Are you implying that creating a project means you are now responsible to work on it, because others are using it? If they wanted to, they could have made the project and kept it closed source and for themselves only.

OSS is a give and take. The creator and gives the project and if people don't like it, that's on the people. If you think it's a mess, you have to either push a solution, fork it or create your own from scratch. Unless there are contracts included, nobody is required to work on the project.


But people are also allowed to say the codebase is trash. But you know what's worse than a bad codebase? Useless PR's. "Your codebase is a mess" is a PR that could be instantly rejected on the grounds that it's not specific enough nor does it provide a solution.

EDIT: I got blocked. Solid argument.

-5

u/yrubooingmeimryte 14h ago edited 13h ago

Being a maintainer literally means you are responsible for the maintenance and prioritization of features/refactors/etc of that code base. That’s literally the point.

Again, it’s so clear none of you have managed or contributed to OSS. You guys say the wildest shit.

Also, saying code is messy on twitter is not an example of a “PR”. You don’t know what a PR is.

→ More replies (0)

7

u/dmullaney 14h ago

Maybe you did stop trying to dictate the priorities of the volunteer maintainers. They're not beholden to you or I, on how they spend their free time

0

u/yrubooingmeimryte 14h ago

Nothing about this discussion presumes they are beholden to anybody for anything. They could take away the free use license and start charging a fee to all users if they wanted. I’m sure we would all dislike that but they could do that and apparently you wouldn’t be allowed to criticize that since they aren’t beholden to you.

The thing about social media and free thought is that it’s possible for people who aren’t beholden is one another to still openly discuss code quality.

→ More replies (0)

2

u/Munnin41 13h ago

Maybe if you use some open source shit and you want to improve it a bit for the future

1

u/yrubooingmeimryte 13h ago

But doing that contribution becomes difficult if the code base is really messsy and poorly maintained. Which is why people are criticizing the code quality and maintenance. Those things raise the barrier for people who just want to contribute features and/or updates to the software.

121

u/nicejs2 16h ago

did they send the patches tho

21

u/PlagiT 14h ago

I'm assuming no

-43

u/jbkkd 14h ago

questions end in a question mark

53

u/StrugglinStruggler 13h ago

And sentences with a period lmao

7

u/PhoenixCausesOof 12h ago

This is the greatest comeback of all time

20

u/Perryn 13h ago

Submit a patch.

2

u/imsolowdown 12h ago

what's wrong with you?

362

u/Tp0seGod 16h ago

I read FFmpeg as FFmpreg. It's so over

62

u/IamHereForThaiThai 15h ago

I always do that and can't stop laughing every time I use it

59

u/leberwrust 15h ago

You don't get pregnant (FFmpreg) from pegging (FFmpeg).

33

u/johsim18 14h ago

Not with that attitude you won't

2

u/Burnmad 11h ago

I'm committed to trying again and again until successful

11

u/Perryn 13h ago

No, but there's a lot of FFmpreg content that wouldn't exist without FFmpeg.

3

u/Tp0seGod 14h ago

I wish I did 😔

8

u/blazedancer1997 14h ago

With how much ffmpeg can be made to do, it wouldn't surprise me if that was also in the arsenal

6

u/yetzt 15h ago

thats the go version

1

u/codedaddee 13h ago

considering how I was using it to catalog and divvy up the boat's porn collections...

1

u/lord112 12h ago

Oh thank god I'm not alone

94

u/helicophell 15h ago

I like ffmpeg. I mean, it doesn't work for my M4S -> Mp4, but it does convert my weird fucked up mp3 that wont open in anything but VLC to mov

27

u/je386 14h ago

I once used it to convert the audiostreams of about thousand videos from mp3 to AAC, which I needed because the first generation chromecast suddenly stopped supporting mp3 audiostreams, while AAC worked. So I wrote a small program which downloaded all videofiles in a folder (from my NAS) and its subfolders one by one, did the transformation and uploaded it again in a seperate folder on my NAS.

10

u/darklordtimothy 12h ago

I don't know why this popped up on my homepage (don't know programming) but FFmpeg is/was amazing 10 years ago, making good use of multicore processors with better quality than anything else, miles ahead of Adobe and better than hardware encoding back then. It saved me countless hours of encoding and transcoding.

Now it's still good because it's basically a universal transcoder. Any other video editing software has dumb limitations for copyright or licensing reasons, and Shutter Encoder is a very user friendly interface for FFmpeg.

2

u/BrainOnBlue 12h ago

One time I had a Super Nintendo music file that I wanted to make a short clip out of to use as a ringtone. Couldn't find anyone who'd let me encode it to something else by googling, figure I was just going to have to record the audio and cut it.

On a whim, I thought "what if I throw it into ffmpeg?" And, let me tell you, that worked immediately and perfectly. Didn't even have to do anything special, just set it as the input file and ffmpeg handled it.

342

u/YazilimciGenc 16h ago

This is what you should do if someone says "your code is shit". Tell them to make it better and correct it. If they don't, you win. If they do, then you can learn from your mistakes and become better, so in a way you just got better by using a hater.

71

u/je386 15h ago

if they don't, you win

If they do, you also win. Both.

33

u/Cocaine_Johnsson 14h ago

Well yes, complaining without providing a solution is called whinging and we can safely ignore it.

"Your code sucks" [nebulous, doesn't quantify why or how, doesn't provide solution to perceived problem]

"Maybe, but it works. Do a better job or go away" [chad]

edit: fixed spelling error.

6

u/AgileGas6 14h ago

>If they don't, you win
The codebase will suddenly become better?

16

u/YazilimciGenc 14h ago

No, you win the pointless internet argument.

5

u/kytrix 13h ago

Pointless, sure. But there’s value in the validating and affirming feels from winning a “put up or shut up” argument.

1

u/PremierBromanov 12h ago

"this is not maintainable" I've got good news, I'm not maintaining it

-138

u/SonkunDev 15h ago

Not my job.

135

u/Tarc_Axiiom 15h ago

T A L K I S C H E A P .

1

u/IAmASquidInSpace 14h ago

Talki scheap.

71

u/Flagolis 15h ago

ffmpeg is no one's job.

48

u/YazilimciGenc 15h ago

Excuses, excuses.

28

u/The_unseen_scientist 15h ago

If everyone said this then we'd never have anything open source.

-8

u/yrubooingmeimryte 14h ago

No, we would still have open source stuff.

83

u/hirmuolio 15h ago

OP is a bot.

They can be easily identified from their post history.

They all have bunch of comments in rAITAH and rAskReddit followed by 2-4 image posts on a "meme" subreddits.

18

u/JJAsond 14h ago

I'm inclined to believe you because in addition to that, it's yet another example of an old account (5 years) "activating" recently (12 days ago). Another key would be a name like adjective_noun1234.

3

u/Famous_Peach9387 12h ago

This is terrible way to found out I'm a bot. But in that case take me to your ladder.

4

u/JJAsond 12h ago

Well, no. You'd be on the fence but while you do have the same name format with a new account, you've been posting the entire time you've had the account. a bot would have only started posting maybe 3 days ago.

1

u/__Hello_my_name_is__ 12h ago

An easy way to figure out whether someone is a bot is to just scroll back in their post history. Do they have a gap of several months to several years? Do the old posts have nothing to do with the new posts?

Then it's a bot.

24

u/ctrl-alt-etc 14h ago

No one's bothered by the fact that FFMpeg's codebase isn't a mess at all?

Granted it's a very large library, but it's well organised and easy for even the uninitiated to understand. What more do you want?

6

u/Intrepid-Bench9452 14h ago

Get out of here with your rational reasoning, we're memeing here!

-1

u/captcrunchytowel 14h ago edited 13h ago

Building ffmpeg is a pain, however. It bundles together tons of third-party libraries, each of which have their build tools and unique setups, which is often not well documented... Last time I tried making a custom build of ffmpeg (because I needed something that wasn't compiled into the distro's version) I think it took me a full day just figuring it all out.

This is why I prefer Rust... I don't even write Rust; I just love its tooling. Installing shit with cargo is a joy.


Edit: Apparently people disagree. Have any of you actually tried compiling a custom ffmpeg build? If so, feel free to share your thoughts... otherwise I'm just gonna assume it's rust haters downvoting, which is dumb as hell if you think cargo isn't better than the mess that is the C/C++ ecosystem.

6

u/just_posting_this_ch 13h ago

I had some difficulty building ffmpeg because I didn't understand at first.

  • You get a pretty minimal build with the default configuration out of the box.
  • You can add additional codecs by including --enable-xyz
  • You need to have the additional deps for the extra codecs.

It would be nice if say debian/Ubuntu had some build targeting meta packages to get all of the requirements for a specific codec set. I suspect it is tough because codecs are a minefield of copyright material.

2

u/captcrunchytowel 13h ago

You need to have the additional deps for the extra codecs.

That's the root of the problem. I'd love it if ffmpeg had a unified Makefile that could compile its dependencies, so I don't have to spend time learning how to compile SVT-AV1 and VMAF etc. from source, one of which uses cmake and the other uses meson, gotta figure out the correct options and all that... just a PITA. Especially if your goal is to make it automated so you can run your build script later to update ffmpeg. Ugh.

(It might be easier on Arch. I was using Ubuntu at the time, so a lot of things you just have to compile from source, no other way.)

3

u/phenompbg 13h ago

I have built custom ffmpeg binaries starting around ffmpeg 0.11, it's really not THAT hard, and is better now than it was 13ish years ago.

If you are not familiar with m4 .configure based builds, starting to learn about it by trying to build ffmpeg is probably going to be harder than it strictly needs to be. But it's really not that bad if you're not too lazy to just read what it tells you.

.configure --help

1

u/captcrunchytowel 13h ago edited 12h ago

It's not just ffmpeg though, is what I'm saying. You also need to build ffmpeg's dependencies, if they don't exist in your disto's package manager anyway.

Tell me what you would rather do:

  1. Run one command that prompts you what codecs you want support for, and it installs everything for you (what I wish existed for ffmpeg)

  2. Spend hours reading documentation and Makefiles and god knows what else for several libraries (hoping there is any documentation, and that it's up to date -- often you gotta figure it out for yourself), and sometimes the deps for those libraries, realize you have to install yet another build tool because everyone uses a different toolchain, read its documentation so you know how to pass the options to the linker or whatever you have to do to make it spit out a static build, spend an hour debugging why the build failed... I could go on.

Feel free to downvote... I wasn't even trying to argue for rust or anything. I just like the cli because it's simple and unified. That's all. Like I said, I don't even use the language. Rust haters get real feisty when someone points out that the C ecosystem is a fragmented mess, it seems. Which is weird because that's been a well-known and often-joked-about problem for decades.

Edit: I mean for fucks sake it's being joked about on the front page of this sub right now!

2

u/phenompbg 12h ago

I don't downvote disagreement.

A single command would be nice, but for how often you ever need to do this it's not worth the trouble in my opinion. 99.9% of ffmpeg users don't have any reason to build their own.

Like I said, if ffmpeg and its vast array of optional dependencies are your first foray into .configure, cmake etc it's going to be rough, but if you're at least somewhat familiar it's pretty easy.

1

u/BrainOnBlue 12h ago

There is a tool called Media Autobuild Suite that does most of the hard work for you if you're compiling ffmpeg on Windows. At least when it works, sometimes it just breaks and you have to get a new copy of the tool and start over.

32

u/adipenguingg 16h ago

“Talk is cheap, send 2x4s”

3

u/SaltedPepperoni 15h ago

It's straightforward. Something a politician should do...but well...-sigh-

5

u/zefciu 16h ago

Except the house is built and maintaned by a commune.

13

u/BernardoPilarz 15h ago

Last time I tried they ignored me

4

u/N_i_n_j_a_2_1 14h ago

The 200'th repost btw

3

u/the_zel 14h ago

I feel like this screenshot comes up very month.

3

u/Arxid87 15h ago

Why did my brain add a letter?

3

u/GamerBoi1338 14h ago

get ffmpegged

3

u/michaeldinesha 14h ago

FFmpeg out here dropping the perfect dev comeback 💀 "Talk is cheap, send patches" should be on a programmer t-shirt at this point lol

2

u/TehMasterSword 13h ago

Downvote and report reposting bots

3

u/9Strike 14h ago

2

u/JJAsond 14h ago

I think the bot sleuth is broken because I'm certain it's a bot.

1

u/bot-sleuth-bot 14h ago

Analyzing user profile...

Suspicion Quotient: 0.00

This account is not exhibiting any of the traits found in a typical karma farming bot. It is extremely likely that u/Paradox_PandaBoi is a human.

I am a bot. This action was performed automatically. I am also in early development, so my answers might not always be perfect.

1

u/ericlikesyou 13h ago

nobody shits on ffmpeg and gets away with it

1

u/Bulky-Drawing-1863 13h ago

Is THAT an Italian repository?

Cause its full of spaghetti

1

u/aero23 12h ago

If he actually sent a PR refactoring the entire codebase I guarantee it would be rejected lol.

1

u/fiqar 12h ago

That's rich considering the whole libav fiasco.

1

u/9107201999 12h ago

Sends a complete rewrite in javascript

1

u/Daytona_675 12h ago

crazy how ffmpeg powers almost all media manipulation

1

u/ubertrashcat 12h ago

Fixing a broken codebase by submitting a patch is like fixing a broken government by submitting a petition.

1

u/barkingbaboon 12h ago

Reposts are cheap, send OC

1

u/LodosDDD 11h ago

ffmpeg is a piece of shit had me debug a video gen pipeline for a week, mfer cant concatenate videos concatenates video and the audio seperately had me fuming in javascript ffmpeg

1

u/_PM_ME_PANGOLINS_ 14h ago

10

u/bot-sleuth-bot 14h ago

Checking if image is a repost...

46 matches found. Displaying first five below.

Match, Match, Match, Match, Match

I am a bot. This action was performed automatically. I am also in early development, so my answers might not always be perfect.

-7

u/Zestyclose_Toe_4695 15h ago

Guys, why are you complaining about your health care system? Talk is cheap, just do it yourself.

-2

u/klavijaturista 14h ago

Problem is that lines of code are cheap.

-52

u/zavalascreamythighs 15h ago

I'm not fixing someone's else mess for free

32

u/da2Pakaveli 15h ago

Then point out what is wrong with it. He didn't give a single example of why he thinks the codebase is crap.

6

u/je386 14h ago

In other words: giving a detailed hint for a problem can also be helpful, but simply ranting is not.

14

u/muddboyy 15h ago

Then don’t criticize it if you’re not contributing to make it better. There’s 2 types of people in life : talkers & doers, and imperfect doers are still better than talkers.

-3

u/zavalascreamythighs 13h ago edited 13h ago

Then don’t criticize it if you’re not contributing to make it better.

Really bad mentality.

It implies that the maintainers are maintaining the project for free in their free time. They're not. These times are long gone for big projects like FFMpeg, Linux, etc. "Not contributing for free" == "Not contributing at all". Wrong again. Many companies pay their employees to maintain open source projects, or contribute to them.

If mantainers are getting paid for maintaining their code, then why some random Steve should do their job for free?

1

u/frogjg2003 12h ago

Because they're using the software. If they have a problem with the software they are using, they should let the developers know so they can fix it.

1

u/muddboyy 2h ago

It implies that the maintainers are maintaining the project for free in their free time. They're not.

Bro just discovered free open-source software xD. I maintain projects in my free time for free because I use software for free too, and I know that there’s a group of people like me that ensure that when there’s a bug or something they’ll tell it and fix it, among many other reasons, privacy, transparency, etc is also important to me.

-38

u/FlashyTone3042 15h ago

FFmprick