<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Andrews54757</title><link>https://news.ycombinator.com/user?id=Andrews54757</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 23:44:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Andrews54757" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Andrews54757 in "Yt-dlp: Upcoming new requirements for YouTube downloads"]]></title><description><![CDATA[
<p>Good question! Indeed you can run the challenge code using headless Chromium and it will function [1]. They are constantly updating the challenge however, and may add additional checks in the future. I suppose Google wants to make it more expensive overall to scrape Youtube to deter the most egregious bots.<p>[1] <a href="https://github.com/LuanRT/BgUtils" rel="nofollow">https://github.com/LuanRT/BgUtils</a></p>
]]></description><pubDate>Wed, 24 Sep 2025 13:50:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45360364</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=45360364</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45360364</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Yt-dlp: Upcoming new requirements for YouTube downloads"]]></title><description><![CDATA[
<p>Nsig/sig - Special tokens which must be passed to API calls, generated by code in base.js (player code). This is what has broken for yt-dlp and other third party clients. Instead of extracting the code that generates those tokens (eg using regular expressions) like we used to, we now need to run the whole base.js player code to get these tokens because the code is spread out all over the player code.<p>PoToken - Proof of origin token which Google has lately been enforcing for all clients, or video requests will fail with a 403. On android it uses DroidGuard, for IOS, it uses built in app integrity apis. For the web it requires that you run a snippet of javascript code (the challenge) in the browser to prove that you are not a bot. Previously, you needed an external tool to generate these PoTokens but with the Deno change yt-dlp should be capable of producing these tokens by itself in the near future.<p>SABR - Server side adaptive bitrate streaming, used alongside Google's UMP protocol to allow the server to have more control over buffering, given data from the client about the current playback position, buffered ranges, and more. This technology is also used to do server-side ad injection. Work is still being done to make 3rd party clients work with this technology (sometimes works, sometimes doesn't).<p>Nsig/sig extraction example:<p>- <a href="https://github.com/yt-dlp/yt-dlp/blob/4429fd0450a3fbd5e89573e06533c1a0874fae42/yt_dlp/extractor/youtube/_video.py#L2185-L2427" rel="nofollow">https://github.com/yt-dlp/yt-dlp/blob/4429fd0450a3fbd5e89573...</a><p>- <a href="https://github.com/yt-dlp/yt-dlp/blob/4429fd0450a3fbd5e89573e06533c1a0874fae42/yt_dlp/extractor/youtube/_video.pyhttps://github.com/LuanRT/YouTube.js/blob/ee9c184eeb02d1074e06c81897a6fd97078da18b/src/core/Player.ts#L261-L320" rel="nofollow">https://github.com/yt-dlp/yt-dlp/blob/4429fd0450a3fbd5e89573...</a><p>PoToken generation:<p>- <a href="https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide" rel="nofollow">https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide</a><p>- <a href="https://github.com/LuanRT/BgUtils" rel="nofollow">https://github.com/LuanRT/BgUtils</a><p>SABR:<p>- <a href="https://github.com/LuanRT/googlevideo" rel="nofollow">https://github.com/LuanRT/googlevideo</a><p>EDIT2: Addeded more links to specific code examples/guides</p>
]]></description><pubDate>Wed, 24 Sep 2025 13:06:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45359766</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=45359766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45359766</guid></item><item><title><![CDATA[New comment by Andrews54757 in "The Neverending Story"]]></title><description><![CDATA[
<p>In sticking to vanilla HTML/CSS/Javascript for my hobby projects over the past ten years, I've come to enjoy writing "simple" code with minimal dependencies and bare-bones interfaces. I believe that the skills I've learned in doing so has benefited me many times since then, especially during the times when I needed a specific tool, ASAP, for my job as a biomedical researcher. Without having the need to look up documentation, tease apart the workings of frameworks, I've been able to make hyper-specific web based guis for image labeling and more, sometimes quicker and better than the programmers hired for these jobs, who would otherwise need constant communication and supervision to ensure that the correct thing is built.</p>
]]></description><pubDate>Thu, 12 Sep 2024 07:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=41518535</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41518535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41518535</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Google pulls the plug on uBlock Origin"]]></title><description><![CDATA[
<p>A while back I installed uBlock on my grandparents' computer to help them avoid scammy ads. This change will make it more difficult and dangerous, for elderly users to browse the internet. As a young nerd, I can switch to Firefox easily, but I can't imagine it will be easy for everyone. My experience from using Firefox is that it has its own quirks, and comes with its own learning curve.<p>I don't know what to say but to encourage everyone to make some noise. Please let your representative know about this. Hopefully we can still put a stop to this before it's too late.</p>
]]></description><pubDate>Thu, 15 Aug 2024 02:56:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41252777</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41252777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41252777</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Four billion years in four minutes – Simulating worlds on the GPU"]]></title><description><![CDATA[
<p>I read both. They are both great but I like the original better. The new edition is accessible but I think the original's prose is beautiful.</p>
]]></description><pubDate>Tue, 30 Jul 2024 20:26:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41113777</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41113777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41113777</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Show HN: A video editing SDK that runs in the browser"]]></title><description><![CDATA[
<p>The "get in touch" button on blog.rendley.com leads to a 404 page: <a href="https://rendley.com/try-for-free" rel="nofollow">https://rendley.com/try-for-free</a></p>
]]></description><pubDate>Tue, 30 Jul 2024 20:06:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41113574</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41113574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41113574</guid></item><item><title><![CDATA[New comment by Andrews54757 in "MeTube: Self-hosted YouTube downloader"]]></title><description><![CDATA[
<p>It was pretty straightforward for me to install and use yt-dlp. On a Mac with Homebrew you can do `brew install yt-dlp` to install it in one command. IIRC yt-dlp also provides binaries you can install directly. I'm not sure if installing docker and running a web server is any way easier than that.<p>However, there are ways to download Youtube videos without installing a native app. For example, it is possible to use a library like Youtube.js [0] to make a browser extension that downloads Youtube videos directly. You won't find those on Google's web store due to policy, but you can find a handful on Github.<p>0: <a href="https://github.com/LuanRT/YouTube.js">https://github.com/LuanRT/YouTube.js</a></p>
]]></description><pubDate>Mon, 29 Jul 2024 17:32:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=41102115</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41102115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41102115</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Writing an MP4 Muxer for Fun and Profit"]]></title><description><![CDATA[
<p>The moov contains a list of byte offsets which the player can use to directly access media data. You can skip the moofs and other headers inside by using gaps in the offsets.</p>
]]></description><pubDate>Fri, 19 Jul 2024 00:54:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41001168</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41001168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41001168</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Writing an MP4 Muxer for Fun and Profit"]]></title><description><![CDATA[
<p>Having worked with some MP4 demuxing for my extension [1], I feel the pain. Lots of times I would play the video only to find inexplicable issues such as drifting audio. I highly recommend using an mp4 inspector tool, such as mp4box [2], to debug these issues.<p>1: <a href="https://github.com/Andrews54757/FastStream">https://github.com/Andrews54757/FastStream</a><p>2: <a href="https://gpac.github.io/mp4box.js/test/filereader.html" rel="nofollow">https://gpac.github.io/mp4box.js/test/filereader.html</a></p>
]]></description><pubDate>Fri, 19 Jul 2024 00:50:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=41001143</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=41001143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41001143</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Who Killed the World?"]]></title><description><![CDATA[
<p>Great article. I've always thought that pessimistic sci-fi dystopias were on the rise, but it turns out most still have positive endings. The observation about walking out of the theatre, and seeing the worst ahead of us is quite interesting.<p>It would be cool to compare with other, non sci-fi stories. EG: I have been noticing the rise of escapist fantasy narratives in popular media — wish fulfillment stories where a Mary Sue like main character rises above all challenges without struggle. You can see this particularly in light novels, manga, and anime in the now popularized "isekai", "cultivation", or "system progression" genres. It would be interesting to find out how the public's fascination with these types of stories correlate with economic, social, or political undulations in the real world.</p>
]]></description><pubDate>Thu, 18 Jul 2024 06:36:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=40993037</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40993037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40993037</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Universal Code Execution by Chaining Messages in Browser Extensions"]]></title><description><![CDATA[
<p>Requirements as listed by the article:<p>1. Browser extension has a wildcard pattern for content script.<p>2. Content script passes postMessage messages to the background script using sendMessage.<p>3. Background script passes the message to native application using sendNativeMessage.<p>4. Native application handles the message dangerously, leading to code execution.<p>Requirement 2 seems to be the most important. postMessage messages should never be passed to sendMessage raw without validation. Fortunately, this should be a rare occurrence in the wild. It only provides very specific benefits to use postMessage in an extension to begin with, and developers who do need to use it are more likely to be aware of the potential vulnerability.</p>
]]></description><pubDate>Sat, 13 Jul 2024 15:54:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=40954767</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40954767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40954767</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Using VLC to watch an m3u8 playlist at a URL with custom Referrer and User Agent"]]></title><description><![CDATA[
<p>Really? What browser are you using? Is it up to date?</p>
]]></description><pubDate>Thu, 11 Jul 2024 16:39:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=40938362</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40938362</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40938362</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Using VLC to watch an m3u8 playlist at a URL with custom Referrer and User Agent"]]></title><description><![CDATA[
<p>Most sites still use a player that fetches a ".m3u8" or ".mpd" manifest file. The extension monitors webRequests and triggers when it sees a request to such a file.</p>
]]></description><pubDate>Wed, 10 Jul 2024 23:21:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=40932439</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40932439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40932439</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Using VLC to watch an m3u8 playlist at a URL with custom Referrer and User Agent"]]></title><description><![CDATA[
<p>Thanks! You can already do that. Open a new tab, and then click the icon to make the player appear. It will fill the whole tab. Then use another tab to find videos on other websites. The new-tab player will automatically collect sources and you can play it by using the sources browser tool. You can then close the tab with the original website.</p>
]]></description><pubDate>Wed, 10 Jul 2024 22:58:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40932296</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40932296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40932296</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Using VLC to watch an m3u8 playlist at a URL with custom Referrer and User Agent"]]></title><description><![CDATA[
<p>I have trouble watching things without subtitles. I dislike most video players on websites since they don't give you the option to search for or manually upload subtitles.<p>This and other inconveniences motivated me to make a browser extension to fix bad video players on the internet. It works by replacing the video player with a custom one. It also allows me to see what the manifest URL is and what headers it uses so I can copy it over to VLC if I need to.<p>The extension is available on Github, you can find it here<p><a href="https://github.com/Andrews54757/FastStream">https://github.com/Andrews54757/FastStream</a></p>
]]></description><pubDate>Wed, 10 Jul 2024 22:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=40932273</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40932273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40932273</guid></item><item><title><![CDATA[New comment by Andrews54757 in "The case for not sanitising fairy tales"]]></title><description><![CDATA[
<p>I'm sure children can distinguish fiction from reality better than adults give them credit for. Sure, it's possible for a kid to mimic a violent kid's show from time to time. But such incidents are rare, and seem to coincide with poor parenting for the most part.<p>That said, I find it reasonable to think that children may have an underdeveloped  capacity to understand sophisticated phenomena such as social norms. I remember that I didn't truly understand the dynamic nature of social norms till middle school. Children can be quite trusting when it comes to moral instruction. In that sense, perhaps one can justify "sanitizing" stories for an audience with impaired discernment.</p>
]]></description><pubDate>Tue, 25 Jun 2024 18:09:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=40791613</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40791613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40791613</guid></item><item><title><![CDATA[New comment by Andrews54757 in "One dead as London-Singapore flight hit by turbulence"]]></title><description><![CDATA[
<p>You won't gain additional momentum from a loose belt. But a loose belt may give your body the chance to slip out. The impulse you feel from a tight belt will be no less than the impulse you feel from a loose one.</p>
]]></description><pubDate>Wed, 22 May 2024 15:38:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=40442306</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40442306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40442306</guid></item><item><title><![CDATA[New comment by Andrews54757 in "What if dreaming is the whole point of sleep?"]]></title><description><![CDATA[
<p>Biological systems are not "engineered" in the same way a computer is. Computer chips, despite all their complexity, are designed to be understood by humans - they are modular, and abstract-able to facilitate design. Biological systems do not have these properties unless it is advantageous for the task at hand. You often have systems where everything interacts with everything else in meaningful ways. So it isn't really accurate to directly compare reverse engineering technology to reverse "engineering" nature</p>
]]></description><pubDate>Wed, 01 May 2024 22:49:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=40230601</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=40230601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40230601</guid></item><item><title><![CDATA[New comment by Andrews54757 in "Detect when your installed Chrome extensions have changed owners"]]></title><description><![CDATA[
<p>I've developed some small extensions for fun. A couple of weeks ago I got an email from ExBoost with the subject "Collaboration To Grow Our Extensions." They wanted me to include their code in my extensions. I quote: "You show mine, I show yours. Zero cost, all win."<p>I thought it was suspicious and junked the email. It didn't seem any different from the other spam emails I got from scammers.</p>
]]></description><pubDate>Thu, 07 Mar 2024 03:27:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=39624763</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=39624763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39624763</guid></item><item><title><![CDATA[New comment by Andrews54757 in "The Dark Forest hypothesis is absurd"]]></title><description><![CDATA[
<p>After reading the books, I thought that there was some sort of underlying political meaning with the way Liu incorporates both philosophy, religion, and real world events (ie, the Cultural Revolution). Then I read the afterword and author interview transcripts where the author explicitly says that there is no such meaning.<p>> “As a science fiction writer who began as a fan, I do not use my fiction as a disguised way to criticize the reality of the present.”<p>Given that the author lives under an authoritarian government, I'm not sure if Liu's words should be taken at face value. But officially, a political interpretation of the book wouldn't be the authors intention.</p>
]]></description><pubDate>Tue, 23 Jan 2024 21:09:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=39109884</link><dc:creator>Andrews54757</dc:creator><comments>https://news.ycombinator.com/item?id=39109884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39109884</guid></item></channel></rss>