The end of the post talks about hiring him, and honestly, if anyone’s hiring, here’s one heck of a bargain: Someone who’s just starting out but who’s already shown he’s perfectly capable of figuring stuff out by himself.
If I was a hiring manager, I would certainly appreciate this attitude. However, I would value as well a person who would use an already made tool for doing the job (such as yt-dlp). Only problem is that the second type wouldn't write a blog post about it and get traction on HN :D
> However, I would value as well a person who would use an already made tool for doing the job (such as yt-dlp).
Agree, but I think this is the easier of the two skills to teach. So for a junior, I would hire the former if the company has the capacity to mentor them.
Definitely shows good intuition. Even if not doing the actual figuring out, still finds a possible solution and reverse engineers it. Forget 10x developer, this is the 10% of developers.
Open to any ideas how this level of intuition can be imparted at scale...
To most employers it’s more that he can pass two Leetcode mediums and one Leetcode hard in tight time constraints. Just to make sure he’s good, make him do multiple rounds. The Leetcode grinder is quite representative of what software engineering is like in the real world.
If they would just learn that "a lot" is two words.
Given that their resume says Coding Ninjas tutor and Coding Ninjas is one of the worst websites out there for coding challenges and tutorials, while using incorrect syntax for Python and C++ (probably to lazily port problems from one language to another), this makes sense.
I'll probably get downvoted for my comment because of all the "touchy feelys" around here, but a lot of people can do what OP did sans college. What makes them extra hireable? Because they had a hacker news story catch some action on a holiday weekend?
>>> I quickly threw together an ugly frontend and posted it to digital ocean under an express server and prepped another project to repair my broken discord bot.
That is quite some versatile lingo for a beginner dev.
To be fair there are a lot of people who are familiar with tech stuff and have just never actually learnt any sort of "dev" properly before who I would consider as beginner.
These people also tend up pick things up very quickly at the beginning and are able to use the right lingo after a few months of learning -- anyone who has done a few months of a bootcamp can talk/write like that even if they don't have a deep understanding of what they are talking about.
Nice write-up! For a better maintainable version, I would recommend `yt-dlp --dump-json` instead. This will give you hundreds of other supported sites for free.
You got the knack, bud, and that's all it takes. Plenty of people have finished CS degrees without acquiring the knack. But that's really all it takes. If you've got it, it's just a matter of time before you're knocking people's socks off.
i find it interesting how some HN threads are super supportive like this one and others tear people apart for overstating their expertise, getting overleveled job titles as a "senior" developer while missing some esoteric/deep knowledge. we're all on our meandering paths somehow.
After spending enough years mentoring juniors, you pick up on it pretty fast whether someone is worth your time. Ask for a specific solution, and you'll get it from me once. Ask for understanding the generalized case, and I'll happily sit around explaining things to you all day long.
Even asking for a specific solution is fine if it's followed up by thoughtful probing questions on the general patterns. But there's just no room for hand holding in this industry.
Thanks for posting and well
done. Small suggestion for your writing style: use less ALL CAPS / BOOM! / WOW! styles and embrace less dramatic wording: it would make your site read more professionally and be easier to digest. Good luck.
This is cool. I wish I could do this sort of thing, however when I come up again something like this I assume it's already been done and go look for the solution. In this case I'd likely have just used yt-dlp. However, had that project been dmca'd, by disreputable organisatios I'd likely have remained stuck, so kudos.
I tried a YouTube shorts video I saw yesterday that for some reason failed to download with yt dlp (also tried with newpipe) to see if this would behave differently.
Monday, January 1, 2024 10:46:45 AM
[youtube] Extracting URL: JQgKhZZyBYg
[youtube] JQgKhZZyBYg: Downloading webpage
[youtube] JQgKhZZyBYg: Downloading ios player API JSON
[youtube] JQgKhZZyBYg: Downloading android player API JSON
[youtube] JQgKhZZyBYg: Downloading m3u8 information
[info] JQgKhZZyBYg: Downloading 1 format(s): 22
[download] Resuming download at byte 130048
[download] Got error: 0 bytes read, 10462009 more expected. Retrying (1/10)...
[download] Got error: 0 bytes read, 10052978 more expected. Retrying (2/10)...
[download] Got error: 0 bytes read, 10373389 more expected. Retrying (3/10)...
[download] Got error: 0 bytes read, 10107360 more expected. Retrying (4/10)...
[download] Got error: 0 bytes read, 10307771 more expected. Retrying (5/10)...
[download] Got error: 0 bytes read, 10202520 more expected. Retrying (6/10)...
[download] Got error: 0 bytes read, 10455655 more expected. Retrying (7/10)...
[download] Got error: 0 bytes read, 9968301 more expected. Retrying (8/10)...
[download] Got error: 0 bytes read, 10027086 more expected. Retrying (9/10)...
[download] Got error: 0 bytes read, 10392472 more expected. Retrying (10/10)...
[download] Got error: 0 bytes read, 10022086 more expected. Giving up after 10 retries
Monday, January 1, 2024 10:46:51 AM
--- snip ---
yt-dlp.exe "JQgKhZZyBYg"
Monday, January 1, 2024 10:48:03 AM
[youtube] Extracting URL: JQgKhZZyBYg
[youtube] JQgKhZZyBYg: Downloading webpage
[youtube] JQgKhZZyBYg: Downloading ios player API JSON
[youtube] JQgKhZZyBYg: Downloading android player API JSON
[youtube] JQgKhZZyBYg: Downloading m3u8 information
[info] JQgKhZZyBYg: Downloading 1 format(s): 247+251
[download] Destination: Jet crashes at Thunder Over Michigan air show at Willow Run Airport [JQgKhZZyBYg].f247.webm
[download] 100% of 8.37MiB in 00:00:00 at 17.44MiB/s
[download] Destination: Jet crashes at Thunder Over Michigan air show at Willow Run Airport [JQgKhZZyBYg].f251.webm
[download] 100% of 599.52KiB in 00:00:00 at 3.53MiB/s
[Merger] Merging formats into "Jet crashes at Thunder Over Michigan air show at Willow Run Airport [JQgKhZZyBYg].webm"
Deleting original file Jet crashes at Thunder Over Michigan air show at Willow Run Airport [JQgKhZZyBYg].f247.webm (pass -k to keep)
Deleting original file Jet crashes at Thunder Over Michigan air show at Willow Run Airport [JQgKhZZyBYg].f251.webm (pass -k to keep)
Monday, January 1, 2024 10:48:07 AM
What does the author mean that he "created a fetch request in node using the android example"? He means he made the request using Node and impersonated an Android client?
i picked a random video and noticed that the audio (mp3) download was the same filesize as the video (mp4) download. this seems wrong. some thing to do in the encoding?