r/ProgrammerHumor • u/Paradox_PandaBoi • 16h ago
Meme codebaseIsAmess
[removed] — view removed post
839
u/NonStandardUser 16h ago
He actually wanted to say "mess me up like your codebase please", it just came out wrong
206
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
1
1
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
-11
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:
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
108
-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.
362
u/Tp0seGod 16h ago
I read FFmpeg as FFmpreg. It's so over
62
59
u/leberwrust 15h ago
You don't get pregnant (FFmpreg) from pegging (FFmpeg).
33
3
40
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
1
u/codedaddee 13h ago
considering how I was using it to catalog and divvy up the boat's porn collections...
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.
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
1
-138
u/SonkunDev 15h ago
Not my job.
135
71
48
28
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.
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
-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:
Run one command that prompts you what codecs you want support for, and it installs everything for you (what I wish existed for ffmpeg)
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
3
u/SaltedPepperoni 15h ago
It's straightforward. Something a politician should do...but well...-sigh-
13
4
3
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
3
u/9Strike 14h ago
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
1
1
1
1
1
u/ubertrashcat 12h ago
Fixing a broken codebase by submitting a patch is like fixing a broken government by submitting a petition.
1
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
-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
-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.
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/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.