<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: gorhill</title><link>https://news.ycombinator.com/user?id=gorhill</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 02 Jul 2026 09:12:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=gorhill" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by gorhill in "Firefox Has Integrated Brave's Adblock Engine"]]></title><description><![CDATA[
<p>Best is to report the issue using the "Report an issue" in the popup panel while on Reddit site. There could be other issues causing this, for instance if you didn't grant uBOL the permission to inject scripts on the site. Depending on which browser/os the issue occurs, we should be able to narrow down potential causes.</p>
]]></description><pubDate>Sat, 25 Apr 2026 18:46:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47903581</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=47903581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47903581</guid></item><item><title><![CDATA[New comment by gorhill in "Firefox Has Integrated Brave's Adblock Engine"]]></title><description><![CDATA[
<p>Reddit's sponsored posts are blocked by default in uBOL when using _optimal_ (default) or _complete_ mode.</p>
]]></description><pubDate>Sat, 25 Apr 2026 16:20:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47902581</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=47902581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47902581</guid></item><item><title><![CDATA[New comment by gorhill in "Chrome extensions spying on users' browsing data"]]></title><description><![CDATA[
<p>I never transferred the extension in the Chrome store. The Chrome store extension has always been the one from the repository I control, and I've had full control of it since when I created it back in June 2014.</p>
]]></description><pubDate>Wed, 11 Feb 2026 18:51:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46979096</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=46979096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46979096</guid></item><item><title><![CDATA[New comment by gorhill in "uBlock Origin Lite in Apple App Store"]]></title><description><![CDATA[
<p>Those "adblock test" sites misinform people, they should never be used as they lead people to make bad decisions regarding their choice of content blockers.[1]<p>[1] <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1985170#c3" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=1985170#c3</a></p>
]]></description><pubDate>Wed, 29 Oct 2025 13:53:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45746852</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=45746852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45746852</guid></item><item><title><![CDATA[New comment by gorhill in "What's New with Firefox 142"]]></title><description><![CDATA[
<p>When trying to diagnose performance or memory issues with a browser, <i>always</i> start with the installed and enabled extensions.</p>
]]></description><pubDate>Tue, 02 Sep 2025 13:32:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45102888</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=45102888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45102888</guid></item><item><title><![CDATA[New comment by gorhill in "uBlock Origin Lite now available for Safari"]]></title><description><![CDATA[
<p>> it claims to use zero CPU<p>There is no claim of "zero CPU". The claim is that the service worker wakes up only when necessary -- it is designed to be suspended by default from the ground up.<p>In Optimal and Complete modes, the content scripts will of course execute, without the service worker being unsuspended if no filtering occurs, but perform only the necessary work and bail out ASAP if not needed.<p>In Basic or "No filtering" modes, no content scripts are injected.<p>---<p>Edit: Sorry, I do say "uBOL itself does not consume CPU/memory resources while content blocking is ongoing". When I say "itself" I am referring to the service worker as seen in Chromium's Task Manager. The service worker isn't required for examples when navigating to `example.com` or here at `news.ycombinator.com`. All top content blockers I have looked at do require their service worker to execute, even for merely just switching between tabs. Some even use tricks to prevent their service worker to be suspended at all.</p>
]]></description><pubDate>Tue, 05 Aug 2025 14:00:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44798087</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=44798087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44798087</guid></item><item><title><![CDATA[New comment by gorhill in "uBlock Origin Lite now available for Safari"]]></title><description><![CDATA[
<p>Those webpages used to "test" blockers are frowned upon, see:
<a href="https://x.com/gorhill/status/1583581072197312512" rel="nofollow">https://x.com/gorhill/status/1583581072197312512</a><p>There are many reasons that sort of online tools are not able to reliably test a content blocker:<p>- Many content blockers are designed to fool pages to think no content blocker is installed<p>- Content blockers filter according to real, actual cases, not synthetic cases used in their tests</p>
]]></description><pubDate>Tue, 05 Aug 2025 13:51:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44797973</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=44797973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44797973</guid></item><item><title><![CDATA[New comment by gorhill in "Upgrading an M4 Pro Mac mini's storage for half the price"]]></title><description><![CDATA[
<p>> Doctor Feng, or similar, though I can't find<p>DirectorFeng: <a href="https://www.youtube.com/channel/UCbzzMQ1mNKjAaDwbELsVYcQ" rel="nofollow">https://www.youtube.com/channel/UCbzzMQ1mNKjAaDwbELsVYcQ</a></p>
]]></description><pubDate>Sat, 12 Jul 2025 13:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44541844</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=44541844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44541844</guid></item><item><title><![CDATA[New comment by gorhill in "Osprey – Browser extension that protects you from malicious websites"]]></title><description><![CDATA[
<p>When you enable "Developer mode" in the "Extensions" page of your browser, you can open the developer tools for the extension by clicking the "service worker" link, and from there select the "Network" tab, you will be able all the network requests made by the extension from within its service worker.</p>
]]></description><pubDate>Sun, 13 Apr 2025 15:58:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43673729</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=43673729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43673729</guid></item><item><title><![CDATA[New comment by gorhill in "uBlock Origin is no longer available on the Chrome Store"]]></title><description><![CDATA[
<p>It's working fine on Youtube in Optimal mode. If you have still issue, you will have to go through self-diagnosing steps[1] to rule out all the myriad other ways you suffer such issues -- most commonly another extension is interfering negatively.<p>[1] <a href="https://github.com/uBlockOrigin/uAssets/issues/27415" rel="nofollow">https://github.com/uBlockOrigin/uAssets/issues/27415</a></p>
]]></description><pubDate>Mon, 10 Mar 2025 21:26:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=43326303</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=43326303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43326303</guid></item><item><title><![CDATA[New comment by gorhill in "I Switched to Firefox and Never Looked Back"]]></title><description><![CDATA[
<p>I randomly browsed the site with Firefox stable and I couldn't see any obvious malfunction. What exactly is not working? Is there a specific webpage where the malfunction can be seen?</p>
]]></description><pubDate>Tue, 14 Jan 2025 16:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42700042</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=42700042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42700042</guid></item><item><title><![CDATA[New comment by gorhill in "Chrome Canary just killed uBlock Origin and other Manifest V2 extensions"]]></title><description><![CDATA[
<p>No competent content blocker tests "ten thousand regexp matches" for each request URL to match, this is not how it works.<p>To simplify, and speaking from uBO's perspective, consider that nine distinct tokens can be extracted from the URL in the address bar for the current webpage:<p><pre><code>  https
  news
  ycombinator
  com
  reply
  id
  41758007
  goto
  item%3Fid%3D41757178%2341758007
</code></pre>
To match such URL against the tens of thousand of filters, there is only a need to lookup filters for these nine tokens, and for most of these tokens there won't be any filters to test, such that in the end for any given URL only a few to no filters will end up being tested, and the majority of these filters are not regex-based, they are just plain string matching.<p>This is the overall simplified explanation of how it really works, in reality it's a bit more complex because there are a lot of other optimizations on top of this.<p>There is a built-in benchmark tool in uBO, accessible through the dashboard, _Support_ pane, _More_ button, _SNFE: Benchmark_ button[1].<p>When running the benchmark against a set of 230,364 URLs, I get an average of 11-12 µs per request to perform a match test against the default filter lists in uBO.<p>* * *<p>[1] <a href="https://github.com/gorhill/uBlock/wiki/Advanced-settings#benchmarkdataseturl">https://github.com/gorhill/uBlock/wiki/Advanced-settings#ben...</a></p>
]]></description><pubDate>Mon, 07 Oct 2024 13:24:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=41765763</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=41765763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41765763</guid></item><item><title><![CDATA[New comment by gorhill in "Don't fuck with paste"]]></title><description><![CDATA[
<p>The extension in the Chrome Web Store (CWS) never changed hands. I just reverse-forked a GitHub repo, which was of no consequences to those who installed the extension from the CWS. I was asked to transfer the CWS entry, I refused. This can't be compared to an extension changing hands or going rogue in the CWS.</p>
]]></description><pubDate>Fri, 08 Mar 2024 12:05:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39640306</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=39640306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39640306</guid></item><item><title><![CDATA[New comment by gorhill in "Each Facebook user is monitored by thousands of companies"]]></title><description><![CDATA[
<p>I see 156 distinct 3rd parties on my side if I disable the content blocker so as to let the second-, third- and nth-waves of JavaScript execute:<p><a href="https://imgur.com/a/lZbUqnQ" rel="nofollow">https://imgur.com/a/lZbUqnQ</a></p>
]]></description><pubDate>Thu, 18 Jan 2024 02:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39036755</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=39036755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39036755</guid></item><item><title><![CDATA[New comment by gorhill in "YouTube begins new wave of slowdowns for users with ad blockers enabled"]]></title><description><![CDATA[
<p>It's perfectly fine and valid to question the pile of JS code executing in Youtube webpages, but in this specific instance the performance issues are caused by ABP/AdBlock. The issue has been acknowledged by the developers[1]. It affects only the latest version of both blockers, not previous versions, so it makes no sense to keep speculating Google is at the root of that specific issue.<p>Out of curiosity I investigated these performance issues myself using profiling sessions[2] and the faulty code is definitely in the latest versions of these extensions.<p>* * *<p>[1] <a href="https://gitlab.com/adblockinc/ext/adblockplus/adblockplusui/-/issues/1576#note_1725604837" rel="nofollow">https://gitlab.com/adblockinc/ext/adblockplus/adblockplusui/...</a><p>[2] <a href="https://twitter.com/gorhill/status/1746543688975581604" rel="nofollow">https://twitter.com/gorhill/status/1746543688975581604</a></p>
]]></description><pubDate>Mon, 15 Jan 2024 16:20:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=39002536</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=39002536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39002536</guid></item><item><title><![CDATA[New comment by gorhill in "YouTube is loading slower for users with ad blockers yet again"]]></title><description><![CDATA[
<p>> no problems with AdBlock plus on FF<p>Because it has not been updated to the problematic version, which is 5.17. In fact AdBlock on AMO is still 5.4.2, i.e. 13 versions behind latest official AdBlock version, it was last updated in Feb. 2023.</p>
]]></description><pubDate>Mon, 15 Jan 2024 14:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=39001089</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=39001089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39001089</guid></item><item><title><![CDATA[New comment by gorhill in "Does uBlock Origin bypass the latest YouTube anti-adblock script?"]]></title><description><![CDATA[
<p>A reliable way I found to confirm whether there is new anti-content blocker code released by Youtube is to visit uBlockOrigin's reddit sub[1]:<p>If there are well over 1,000 "here now" (near top right), this confirms the anti-content blocker code has been updated.<p>If well below 1,000 "here now", all is fine. At time of writing, it's fine.<p>* * *<p>[1] <a href="https://old.reddit.com/r/uBlockOrigin/" rel="nofollow noreferrer">https://old.reddit.com/r/uBlockOrigin/</a></p>
]]></description><pubDate>Tue, 05 Dec 2023 23:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38538580</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=38538580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38538580</guid></item><item><title><![CDATA[New comment by gorhill in "Chrome's next weapon in the War on Ad Blockers: Slower extension updates"]]></title><description><![CDATA[
<p>> It isn’t “nothing else”, cosmetic rules can still be updated independently “over-the-air”.<p>It's not just about cosmetic rules, it's also about DNR rules other than block/allow/allowAllRequest: redirect=, removeparam=, csp=, etc.<p>If the idea is that these DNR rules require non-fast-trackable thorough reviews, but dynamically updating them will bypass those thorough reviews, than I am at a lost to understand the logic of treating them as requiring thorough review.<p>If these DNR rules are considered potentially harmful thus requiring thorough reviews, why would they be allowed to be downloaded from a remote server and dynamically created in the first place?<p>There is also the content scripts-based filters, which is something that change every day. This is where we diverge, I chose to go fully declarative because this way these content scripts are injected <i>reliably</i> in a timely manner by the MV3 API.<p>This is not the case when injecting in a event-driven manner since the extension's service worker may need to wake up, fully restore its current state, then by the time it's ready to inject the content scripts programmatically, it might be too late as the target webpage has already started to load.</p>
]]></description><pubDate>Sat, 02 Dec 2023 17:32:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=38500206</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=38500206</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38500206</guid></item><item><title><![CDATA[New comment by gorhill in "Chrome's next weapon in the War on Ad Blockers: Slower extension updates"]]></title><description><![CDATA[
<p>> one can learn about the no-review-fast-track that Chrome WebStore plans to implement next year.<p>My understanding is that no-review-fast-track is only for extensions which changes in DNR rulesets are only about block/allow/allowAllRequests rules.<p>I don't see how comprehensive content blockers can push meaningful updates with only changes to block/allow/allowAllRequests rules and nothing else.</p>
]]></description><pubDate>Sat, 02 Dec 2023 17:06:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38500013</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=38500013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38500013</guid></item><item><title><![CDATA[New comment by gorhill in "Chrome's next weapon in the War on Ad Blockers: Slower extension updates"]]></title><description><![CDATA[
<p>For an extension to be entirely declarative, it must package all the scripts to inject anywhere, the scripting.registerContentScript API doesn't allow injecting code as string[1], the content scripts must be part of the package.[2]<p>There is userScripts API which allows injecting code as string, but it's impractical as in Chromium-based browsers this requires extra steps by the user to enable the API.[3] In Firefox, the documentation for this API has the following note[4]:<p>> When using Manifest V3 or higher, use scripting.registerContentScripts() to register scripts<p>* * *<p>[1] <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/registerContentScripts" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...</a><p>[2] <a href="https://github.com/uBlockOrigin/uBOL-home/tree/main/chromium/rulesets/scripting">https://github.com/uBlockOrigin/uBOL-home/tree/main/chromium...</a><p>[3] <a href="https://developer.chrome.com/docs/extensions/reference/userScripts/#concepts-and-usage" rel="nofollow noreferrer">https://developer.chrome.com/docs/extensions/reference/userS...</a> ("Availability Pending")<p>[4] <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/userScripts" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...</a></p>
]]></description><pubDate>Sat, 02 Dec 2023 15:56:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38499464</link><dc:creator>gorhill</dc:creator><comments>https://news.ycombinator.com/item?id=38499464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38499464</guid></item></channel></rss>