Comment by pkasting

1 month ago

> Explain to me how uBlock Origin can realistically go from 100,000 to 500,000 dynamic rules down to 30k rules(only 5k of those can be dynamic) in the Lite version without losing the ability to actually block everything?

I will take this one.

First, your limits are out of date. The static minimum is 30k, but can now escalate to an order of magnitude higher depending on how many extensions are installed. The dynamic limit is now 30k, of which at most 5k can be "unsafe". Source: https://developer.chrome.com/docs/extensions/reference/api/d...

Second, even if the limits were correct: consider the possibility that 99% of those rules are irrelevant, out of date garbage that blocks nothing anymore but haven't been removed because there is neither process nor incentive on the extension dev's part to do so.

Ad uses pattern. UBO adds matching pattern. Ad switches to new pattern. Cat and mouse.

This happens widely, rapidly, and on an ongoing basis. The result is that the rule set is large and grows rapidly, but very little of it is actually useful day to day. From the user's perspective, the only cost is that the browser very slowly gets continually less performant, which they will not attribute to the extension.

This isn't hypothetical. I'm on the Chrome team. We analyzed the rule set contents. This is why we proposed the initial limits we did: they were plenty large enough to allow all the extensions we analyzed to do everything they actually wanted to do, if only you stripped the cruft.

The rule size increases since then primarily come out of a dialog process with ad blocking devs about their process and needs and what they see in the wild coupled with what we think we can manage to keep performant. There are compromises. I'm not on that team so I can't speak to details. But it's part of an honest attempt to have a dialog.

There are usually simple explanations for things, if people were truly willing to consider them without bias.

Thank you for providing this valuable explanation -- I haven't heard this perspective expressed elsewhere. The fact that old rules would never get deleted but continue to drain resources makes some design decisions make a lot more sense.

  • Now consider that the extra drain can be practically zero, and you get back to those decisions making less sense

  • One particularly pernicious outcome is that some ad blockers tout their rule set sizes as a feature, and users choose among blockers based on it, when if anything it is probably negatively correlated with blocker quality -- it's not necessarily a sign you're comprehensive so much as that you don't care about efficiency or cleaning up after yourself.

    That's of course an oversimplification. But people who believe they're technically knowledgeable and adept are just as likely as other folks to fall for bullshit and be convinced to do things contrary to their own self interests. It's just a different type of bullshit.

    No one wants to hear that, because we all want to tell ourselves that maybe everyone else is gullible, but WE'RE smart and rational. To a close approximation, though, none of us are.