I agree that the comment was rude. Specifically with the “barely tested” asumption/accusation.
Comment on Honey, I Shrunk The Vids [Mr. Universe Edition] v1.0.5
non_burglar@lemmy.world 3 weeks agoNo one is being a jerk here, stop being defensive.
What fixes did you apply. That’s what we want to know. It’s not a trick question.
- Did you use unit tests?
- Did you check the logic flow so that if I run this code x 10,000 on a ton of media, it isn’t using terribly inefficient settings that will make my 40h workload take two weeks?
- how are you deploying this thing?
If you want to present your project, be prepared to explain it. That is completely above board for us to ask.
poke@sh.itjust.works 3 weeks ago
non_burglar@lemmy.world 3 weeks ago
It’s fine, this is healthy discourse we all need to move forward. If we kick out all the vibe coders instead of discussing with them, we will never get them to adhere to any kind of pattern of behaviour.
entropicdrift@lemmy.sdf.org 2 weeks ago
Is it an assumption if there’s a complete lack of unit tests?
obelisk_complex@piefed.ca 3 weeks ago
Really? Literally the only thing they said was
They didn’t ask a question. They just came out swinging, for no reason. You asked three questions, and I’m not going to call you a jerk for it. But just coming in here and accusing me of not testing it? Absolutely being a jerk.
Now, your questions. - No, I didn’t use unit tests. I built this for my own personal use, and tested it on my system and my wife’s with files in a variety of containers encoded at a variety of bitrates with a variety of codecs - random crap we had laying around our hard drives, from the internet, from Steam and OBS records, from our phone cameras. This isn’t commercial software, I’m not asking for donations, and I made the license The Unlicense because I don’t want money or credit for it. I shared it because I got it working and I thought other people might find it useful too. I’m not going to exhaustively test it like I’m taking subscriptions, I hate testing. When I come across an issue, I fix it, and that’s the best I’m offering. - It’s FFMPEG in the backend, and it processes files sequentially. It encodes whatever you put in to HEVC MKV, or H264 MP4. You can set the QP settings for the quality you want. Explain where you expect inefficiency and how I can fix it, and I will. - I’m pushing from a local repo to my Github where it runs a job to compile the binaries for each platform, and to Codeberg where it’s not doing that (so I only have the compiled binaries at GitHub right now). - What fixes did I apply? Many. Some examples would be not successfully detecting available hardware, showing all available encoders rather than only the ones that would work with available hardware, failing to build (so many build failures), window sizing issues, options not showing, hanging on starting a job because the ffmpeg command was getting mangled, failing to find ffmpeg, unable to add files, unable to probe files, packet counting not working so “best guess” settings would result in larger files than the originals, that sort of thing.
And incidentally, the fact that this is a personal project I shared in case someone might find it useful is another reason that coming in here and throwing shade is a shitty thing to do. If it’s no use to you, move on. If you have constructive criticism, let’s hear it. If you can do it better, go ahead. But why try to make me feel bad about it, because you don’t like the way I built it? I used spaces instead of tabs too, go get the fucking pitchforks.
non_burglar@lemmy.world 3 weeks ago
Again, get off your high horse.
You already know how most self-hosted folks feel about vibe coding, or you wouldn’t have taken immediate offence to the initial comment (which ia valid, btw. You did not mark the project as vibe-coded or ai-assisted.) MARK YOUR PROJECT AS AI-ASSISTED.
I’m looking to replace my cron-timed ffmpeg bash and ash scripts for encoding. Three of the four projects I looked at have double- and triple-work loops for work that should be done once.
Once again, I’m interested in the project, but I have my own thresholds of quality and security. If you can’t handle questions about your project, personal or not, then maybe don’t share it.
Sir/Madam, your feeling are your responsibility, not mine. I did not utter any pejoratives your way. Grow up.
obelisk_complex@piefed.ca 3 weeks ago
Hey, replying again so you get a separate reply message. So like I said, I went looking for redundant loops and I found quite a few, just like you described. There was also a minor performance issue with the logic that built the FFMPEG argument; it used a lot of unnecessary flags, each of which required fresh memory allocation. That would only be an issue in specific circumstances, like if you were encoding thousands of videos in quick succession… but that’s exactly the kind of issue you were talking about, so I asked for and implemented the fix.
It does seem snappier. I’m pushing 1.0.9, which has the fixes beyond what I found from your comments (like the argument construction issue), included. If there’s anything else you’d recommend I look at, I’m all ears.
non_burglar@lemmy.world 3 weeks ago
Nice.
The issues to look for are unnecessary logic (evaluating variables and conditions for no reason), and double sets of variables.
One of the seasoned devs I work with said she encourages coders to transpose work at major inflection points, and this helps all devs gain an understanding of their own code. The technique is simply to rewrite/refactor the code in a new project manually, changing the names of the variables and arrays. The process forces one to identify where variables and actions are being used and how. It’s not very practical for very big projects, but anything under 1000 lines would benefit from it.
Good luck.
obelisk_complex@piefed.ca 3 weeks ago
I’m on a high horse? You’re the one riding in here yelling at me for not conforming to your arbitrary rules I didn’t know about, and defending someone who did nothing but insult me.
No, I don’t know any such thing, I took offense to the implication that there was no effort put into this, and the absolute absence of any constructive criticism whatsoever. And again, I didn’t agree to your rules, and I don’t owe you anything, so take you imperious commands somewhere else, thank you very much.
See, this is something I can actually work with. I’m looking for places that unnecessary probes get spawned for example - there are some that are necessary for the way I want this thing to work, but there’s one just for audio data when previous probes already get that. A useful observation that resulted in an improvement. Thank you.
First of all, I’m going to say this very clearly so maybe it gets through: I am not mad about questions. I am mad about insults and a lack of questions. Thank you for your attention to this matter 🤦 Next: Your thresholds are your responsibility, I didn’t know about them when I built this and I didn’t build it for you, I’m sharing it and you happened to stop by. I appreciate your observations on issues to watch out for when I’m using genAI code, I will be keeping an eye out for duplicated loops and other issues in future projects.
You have a few things to learn about living in a civil society, based on how you treat strangers who are trying to learn. Grow up.
hietsu@sopuli.xyz 3 weeks ago