534 karma · joined September 25, 2020
[ my public key: https://keybase.io/antonok; my proof: https://keybase.io/antonok/sigs/VR_-POMgFiZfvYQj3ZacA_L0Xg_9prKxELr_U0LpeZw ]
On 64-bit systems, pointers themselves can really start to take up a lot of memory (especially if you multiply them across 100k+ adblock filters). Switching to array indices instead of pointers saves a lot of memory that's otherwise wasted when you don't need to address the entire possible memory space.
(It was one of those form-based issue templates that requires you to explicitly list out Steps to Reproduce, Expected behavior, Actual behavior, OS version, etc. which IMO causes slightly more friction for anyone who knows how to put together a good bug report, but I've also seen enough poorly-specified issues to know that it's necessary sometimes)
https://github.com/penpot/penpot/issues/7850
Thanks for sharing all the details about the issue, and shame on all the armchair critics :D
It is admittedly quite slow/intermittent though; I wouldn't be surprised if that's the reason it didn't look like it was working for you.
postmarketOS in particular has a really good devices page [1] showing missing feature support at a glance, as well as guides for porting to new devices [2] and porting features from an outdated vendor-provided Linux fork to the upstream kernel [3].
[1] https://wiki.postmarketos.org/wiki/Devices [2] https://wiki.postmarketos.org/wiki/Porting_to_a_new_device [3] https://wiki.postmarketos.org/wiki/Mainlining
https://github.com/hackademix/noscript/issues/359 https://github.com/uBlockOrigin/uBlock-issues/discussions/29... https://github.com/brave/brave-browser/issues/41173#issuecom...
I'm not sure how you can interpret forking open source codebases as a "shady" behavior (it's one of the most important reasons to use open source in the first place), but in this case there is a high demand for said extensions and Brave has provided the only way to continue doing so on a Chromium rendering engine.
(I am one of the devs who worked on the spec for this feature)
Thus far, open source has optimized for maximum utility for individuals who can write code... but AI may be changing that soon enough.
Fingerprintjs [1] is a well known one that gets a lot of use. And if you check EasyPrivacy, you'll see the rules to block it [2] have been in place for a long time.
[1] https://github.com/fingerprintjs/fingerprintjs [2] https://github.com/easylist/easylist/blob/132813613d04b7228c...
(I work on Brave's adblocker, and FWIW the folks who work for Brave are very open about their affiliation when commenting about it online)
Those are automated unit and integration tests with controlled filter data as inputs. That's the only practically useful kind of test for an adblocker.
I'd definitely recommend that if you're just assembling less than, say, 10 screens.
On a more serious note, this must be the first time we can quantitatively measure the impact of cookie consent legislation across the web, so maybe there's something to be explored there.
The PoC is a bit outdated but it's here: https://github.com/brave/cookiemonster/tree/webext