frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Sony BMG copy protection rootkit scandal

https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
1•basilikum•2m ago•0 comments

The Future of Systems

https://novlabs.ai/mission/
2•tekbog•3m ago•1 comments

NASA now allowing astronauts to bring their smartphones on space missions

https://twitter.com/NASAAdmin/status/2019259382962307393
2•gbugniot•8m ago•0 comments

Claude Code Is the Inflection Point

https://newsletter.semianalysis.com/p/claude-code-is-the-inflection-point
2•throwaw12•9m ago•1 comments

Show HN: MicroClaw – Agentic AI Assistant for Telegram, Built in Rust

https://github.com/microclaw/microclaw
1•everettjf•9m ago•2 comments

Show HN: Omni-BLAS – 4x faster matrix multiplication via Monte Carlo sampling

https://github.com/AleatorAI/OMNI-BLAS
1•LowSpecEng•10m ago•1 comments

The AI-Ready Software Developer: Conclusion – Same Game, Different Dice

https://codemanship.wordpress.com/2026/01/05/the-ai-ready-software-developer-conclusion-same-game...
1•lifeisstillgood•12m ago•0 comments

AI Agent Automates Google Stock Analysis from Financial Reports

https://pardusai.org/view/54c6646b9e273bbe103b76256a91a7f30da624062a8a6eeb16febfe403efd078
1•JasonHEIN•15m ago•0 comments

Voxtral Realtime 4B Pure C Implementation

https://github.com/antirez/voxtral.c
1•andreabat•18m ago•0 comments

I Was Trapped in Chinese Mafia Crypto Slavery [video]

https://www.youtube.com/watch?v=zOcNaWmmn0A
1•mgh2•24m ago•0 comments

U.S. CBP Reported Employee Arrests (FY2020 – FYTD)

https://www.cbp.gov/newsroom/stats/reported-employee-arrests
1•ludicrousdispla•26m ago•0 comments

Show HN: I built a free UCP checker – see if AI agents can find your store

https://ucphub.ai/ucp-store-check/
2•vladeta•31m ago•1 comments

Show HN: SVGV – A Real-Time Vector Video Format for Budget Hardware

https://github.com/thealidev/VectorVision-SVGV
1•thealidev•32m ago•0 comments

Study of 150 developers shows AI generated code no harder to maintain long term

https://www.youtube.com/watch?v=b9EbCb5A408
1•lifeisstillgood•33m ago•0 comments

Spotify now requires premium accounts for developer mode API access

https://www.neowin.net/news/spotify-now-requires-premium-accounts-for-developer-mode-api-access/
1•bundie•36m ago•0 comments

When Albert Einstein Moved to Princeton

https://twitter.com/Math_files/status/2020017485815456224
1•keepamovin•37m ago•0 comments

Agents.md as a Dark Signal

https://joshmock.com/post/2026-agents-md-as-a-dark-signal/
2•birdculture•39m ago•0 comments

System time, clocks, and their syncing in macOS

https://eclecticlight.co/2025/05/21/system-time-clocks-and-their-syncing-in-macos/
1•fanf2•40m ago•0 comments

McCLIM and 7GUIs – Part 1: The Counter

https://turtleware.eu/posts/McCLIM-and-7GUIs---Part-1-The-Counter.html
2•ramenbytes•43m ago•0 comments

So whats the next word, then? Almost-no-math intro to transformer models

https://matthias-kainer.de/blog/posts/so-whats-the-next-word-then-/
1•oesimania•44m ago•0 comments

Ed Zitron: The Hater's Guide to Microsoft

https://bsky.app/profile/edzitron.com/post/3me7ibeym2c2n
2•vintagedave•47m ago•1 comments

UK infants ill after drinking contaminated baby formula of Nestle and Danone

https://www.bbc.com/news/articles/c931rxnwn3lo
1•__natty__•48m ago•0 comments

Show HN: Android-based audio player for seniors – Homer Audio Player

https://homeraudioplayer.app
3•cinusek•48m ago•2 comments

Starter Template for Ory Kratos

https://github.com/Samuelk0nrad/docker-ory
1•samuel_0xK•50m ago•0 comments

LLMs are powerful, but enterprises are deterministic by nature

2•prateekdalal•53m ago•0 comments

Make your iPad 3 a touchscreen for your computer

https://github.com/lemonjesus/ipad-touch-screen
2•0y•58m ago•1 comments

Internationalization and Localization in the Age of Agents

https://myblog.ru/internationalization-and-localization-in-the-age-of-agents
1•xenator•58m ago•0 comments

Building a Custom Clawdbot Workflow to Automate Website Creation

https://seedance2api.org/
1•pekingzcc•1h ago•1 comments

Why the "Taiwan Dome" won't survive a Chinese attack

https://www.lowyinstitute.org/the-interpreter/why-taiwan-dome-won-t-survive-chinese-attack
2•ryan_j_naughton•1h ago•0 comments

Xkcd: Game AIs

https://xkcd.com/1002/
2•ravenical•1h ago•0 comments
Open in hackernews

YouTube Playlist Downloader

https://github.com/Linuxmaster14/yt-playlist-downloader
56•linuxmaster14•1mo ago

Comments

xnx•1mo ago
yt-dlp is second only to ffmpeg in being a pillar of functionality that gets frequently wrapped in convenience scripts
graynk•1mo ago
In this case I'm not sure why a convenience wrapper is even needed, yt-dlp already works with playlists just fine
jasode•1mo ago
>I'm not sure why a convenience wrapper is even needed,

Author wanted yt-dlp to be fed with a custom text file: "playlists.txt"

The script loops through that text file, parses it, and then launches yt-dlp for each valid line with a channel name.

bramhaag•1mo ago
Which is essentially just this:

    yt-dlp -o "%(channel)s/%(playlist_title)s/%(title)s.%(ext)s" -a playlists.txt
I'm not sure if that warrants a HN post
taylorfinley•1mo ago
Right? Just add this to .bashrc:

alias yt-pl='yt-dlp -o "%(channel)s/%(playlist_title)s/%(title)s.%(ext)s" -a playlists.txt'

graynk•1mo ago
So -o "%(channel)s - %(title)s.%(ext)s", --batch-file and optionally --download-archive?

https://github.com/yt-dlp/yt-dlp#:~:text=channel%20%28string...

https://github.com/yt-dlp/yt-dlp#:~:text=%2Da%2C%20%2D%2Dbat...

https://github.com/yt-dlp/yt-dlp#:~:text=%2D%2Ddownload%2Dar...

Not to mention that the script is clearly LLM-generated

xnx•1mo ago
Agree. Now it's easier to ask you favorite command line AI (e.g. Gemini CLI) something like "download this list of playlists with yt-dlp" rather than learn someone else's code or even check the manual.
dawnerd•1mo ago
The script linked was just vibe coded. Ai isn’t that great with the ytdl params, yet. It’s obvious because if an LLM really knew how to use ytdl it would have used the input file option instead of looping through a file and invoking for each one.
xnx•1mo ago
> Ai isn’t that great with the ytdl params

Gemini nails it:

When downloading multiple playlists, it is usually better to organize them into separate folders so the files don't all end up in one giant mess. You can use an output template to automatically create folders based on the playlist title:

yt-dlp -a playlists.txt -o "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s"

dawnerd•1mo ago
Interesting, must be a new fix. A couple months ago I tried to have it create a command and it hallucinated params.
weli•1mo ago
Unrelated, but I want to move from a Google account youtube feed to something a bit more client-side where I have the control but my main problem is the YouTube recommendation algorithm.

I feel like after a decade and a half google knows pretty well what I like and what I'm interested in. I built that homepage brick by brick.

Whenever I tried other youtube clients or ungoogled alternatives the recommendations were all really generic and not that good. Of course I won't find something that matches the real deal, but at least I want to:

1. Steer away from viral content, aka Mr Beast videos or whatever. 2. Have discoverability of youtube videos I would be interested in but that I'm not subscribed to yet.

To this day I still find new channels or videos I'm really interested in on my recommended feed.

cr125rider•1mo ago
You can get RSS feeds of channels still. I use that in my feed reader
listic•1mo ago
I, on the other hand, turned off YouTube recomendations with UnDistracted. Maybe I'm missing out; who knows.
kelvinjps10•1mo ago
Revanced you can still have the same algo. Also smarttubr
jasode•1mo ago
The repo should mention a warning about usage. Be aware that downloading large playlists with lots of videos from Youtube can get your ip address throttled/banned. The ban could last a week or a month.

It's also not a good idea to use "--cookies" unless you absolutely have to. Just leave out the cookies option and try to dl anonymously. Only when Youtube forces your ip address to "sign in" is it necessary to pass in cookies.

dawnerd•1mo ago
Exactly. There’s been account ban reports from it too. Id be very careful if it’s your normal google account that’s tied to YouTube. Always use a burner account when using the cookies param to be safe.
crazygringo•1mo ago
I don't understand. yt-dlp already downloads a whole playlist if you pass it a playlist URL. What does this tool add?

It says "by channel name" but then it seems like you still have to pass in each playlist URL separately.

This is just a "wrapper" for something yt-dlp already does?

chrismorgan•1mo ago
It’s wrapping a somewhat opinionated and mildly bizarre yt-dlp invocation, for each line of a file doing a mkdir/cd and then invoking yt-dlp.

—⁂—

From the “Features” section of the README:

> • Organized Structure: Creates separate directories for each channel.

… depending on you mentioning that name in your playlists.txt file, so that if you were writing a script you’d just be doing a mkdir/cd yourself, trivial.

> • Smart Sync: Skips files that have already been downloaded (--no-overwrites).

That’s not really what --no-overwrites does. The default of --no-force-overwrites is probably actually what you want: “do not overwrite the video, but overwrite related files”. You probably do want metadata files to be updated on subsequent runs.

> • Clean Naming: Saves files as Playlist Title/Video Title.mp4 (no numeric prefixes).

This is an Opinion.

> • Batch Processing: Reads multiple playlists from a playlists.txt file.

Meh, you’re invoking a script, putting the stuff in the script would be at least as easy.

—⁂—

From the script itself, going through the arguments passed to yt-dlp:

        --cookies "$COOKIES_FILE"
My impression is that this is discouraged unless necessary. And if you need it, --cookies-from-browser will be more convenient.

        -f "bv*+ba/b"
That’s equivalent to the default.

        --merge-output-format mp4
This is an Opinion.

        --no-overwrites
I’m not convinced this is desirable. Videos already won’t be overwritten by default, this just stops metadata from being updated on subsequent runs, though I’m not sure what things might be updated.

        -o "%(playlist_title)s/%(title)s.%(ext)s"
This is an Opinion.

—⁂—

Instead of having a playlists.txt file containing `Channel Name|https://www.youtube.com/playlist?list=x` and having a separate 73-line file download_playlists.sh, you might as well have just one download_playlists.sh file containing:

  dl() {
    mkdir -p "$1"
    pushd "$1"
    yt-dlp -o "%(playlist_title)s/%(title)s.%(ext)s" "$2"
    popd
  }

  dl 'Channel Name' 'https://www.youtube.com/playlist?list=x'
By dint of its simplicity, easier to work with and tweak to your own requirements (such as dropping `--merge-output-format mp4` as I did here). Also more obvious how to invoke it just once. (Aside: use pushd/popd instead of `cd "$channel_name"` and `cd ..`, because then $channel_name containing a slash won’t bork it.)
tegiddrone•1mo ago
I've been glancing at ytdl-sub, which does the same thing but with interesting options to rate limit.

https://ytdl-sub.readthedocs.io

axm997•1mo ago

  To get YouTube videos offline on your phone/tablet for flights:

  1. Create a playlist called “download” and add the videos you want.
  2. Use yt-dlp (playlist URL) or this tool to pull that playlist to a folder.
  3. Run the downloader on your Plex box on a schedule (cron/launchd).
  4. Add that folder to Plex as a library.
  5. Enable downloads for that library in Plex, then sync to your device.
fragmede•1mo ago
Or... just pay them that thing called money, and use the buttons in the YouTube app.
romeobucher22•1mo ago
https://www.youtube.com/watch?v=-t5WNFPoCCE&list=PLQOGKy2nPh...
ysroh217•4w ago
https://youtube.com/playlist?list=PL5-PWtq_lbzyzH6ElbEL1gzcZ...
nameza3310•3w ago
https://music.youtube.com/playlist?list=PLwC5xzzm0G8X-luQ1oc...
blahblahblah11•3w ago
https://www.youtube.com/watch?v=Yy4aGQF-p4g
kinako0245•3w ago
https://www.youtube.com/watch?v=OBGdgZsptVg
7001850893•3w ago
Dj mandi babu