It's beyond me how two ex-Google engineers and graduates of top CS programs with 2 years on their hands end up creating a resume generator that a CS freshman could have written in their free time! Not putting you down or anything, sometimes unexpected random things jam your workflow (like unfamiliarity with front end design), etc.
I really appreciate your detail comment, it helps.
>working memory sizes, buffering of input and output data, etc.
A confusion I have had regarding buffering is, I don't buffer video/audio frames at all before sending them to encoder (I mean, I just grab a frame and send it to the encoder and hope it is buffering them), maybe I should implement a buffer of 10 frames or so, what would you suggest?
I appreciate your comment. You have described Rust and Go, it never fails to amaze me how languages differ in their power as Paul Graham would have put it.
As a sidenote, I wanted to use Python/Electron.js for it but my client wouldn't allow it. I had to convince him to use Media Foundation, else he would have asked me to write an H264 encoder from scratch!
>In terms of how to help you move forward, that's quite hard in this format. Sorry.
Didn't get it, do you mean the way I formatted my question? I'm sorry but I'm not a native English speaker.
Thanks for your answer, I think I want to address a few points.
>What doesn't work? Why doesn't it work? Is the source of the problems in code or in the libraries?
>Due to concurrency issues or?
It's difficult to name one but probably the biggest issue at the moment is frame rates randomly drop at some point the the resultant video is garbled (1 minute is played in a few seconds, etc.)
Possibly concurrency is one of the reasons. The Media Foundation encoder expects video and audio frames at regular intervals and if because of performance issues, some frames drop, it gets into a vicious cycle and frame drops accelerate until it comes to stand still.
>You're not a bad programmer - maybe you're just bad at system design/software architecture.
<rant> Unfortunately, I think I am because I suck at algorithmic challenges (competitive programming), system design, reading documentation for external APIs, in short nearly everything that is to programming. I learned programming at 13, it goes to show I have been programming for quite some time and others who started it in university went to do amazing things while I suck at basics. I dreamed of starting a tech startup someday but it seems unlikely now.</rant>
>figure out how to rewrite it into V3
My client is a SOB and doesn't appreciate my efforts nor rewards them, so it's unlikely. Besides, I have signed NDA so starting open source project is out of the question. I'm thinking of starting some other projects, though.
>Imagine if Picasso quit after his first sucky drawing. Maybe even HN wouldn't be here.
I liked that lowkey compliment but I doubt I am worthy of this.
I am starting to appreciate incremental advice. As for taking on challenging projects, it seems like, on surface level, a very trivial problem to solve. They keep talking about the hard "technical problems" (you know, what's the hardest technical problem you solved is a common interview question).
A particular question piques my interest: if this is a simple problem, what are the hard problems and can I even approach them if I fail at a simple one? Or alternatively, if this is a hard problem, why is it hard despite delivering little value to the end user, and what are the simple problems?