Live data from Hacker News

Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

brave.com

231–240 of 289 posts

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#231
post #212
post #17

I just found out Brave supports Vertical tabs, https://brave.com/blog/vertical-tabs/ I might have to try switching from FF...

Firefox has vertical tabs...

That's the only reason I use FF, plus the better adblocker support over Chrome and maybe some of the advanced network privacy stuff.

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#232
post #60

Earlier quoted context omitted.

Advocates of the C approach often gloss over the increased maintenance burden, especially when it comes to security issues. In essence, you’re signing up to maintain a limited fork & watch for CVEs separately from upstream. So it's ultimately a trade off rather than a strictly superior solution. Also, nothing in Rust prevents you from doing the same thing. In fact, I would argue that Cargo makes this process easier.

But that's what Linux distros are for, package maintainers watch the CVEs for you, and all you have to do is "apt upgrade"

Be very careful with that assumption.

The distros try, but one complex problem with a project that holds strong opinions and you may not have a fix.

The gnome keyring secrets being available to any process running under your UID, unless that process ops into a proxy as an example.

Looking at how every browser and busybox is exempted from apparmor is another.

It is not uncommon to punt the responsibility to users.

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#233
post #146

I haven't seen an ad nor in iOS nor in Mac since I installed brave. The browser, for me , works perfect

The number of journalists in the US has dropped by something like 80% in the last 20 years. But sure, enjoy your ad free experience!

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#234
post #66

Earlier quoted context omitted.

> You’re looking at the number of dependents. The React package has no dependencies. Indeed. My apologies for misinterpreting the link that I posted. Consider "devDependencies" here https://github.com/facebook/react/blob/main/package.json As far as I know, these 100+ dev dependencies are installed by default. Yes, you can probably avoid it, but it will likely break something during the build process, and most people…

> As far as I know, these 100+ dev dependencies are installed by default. devDependencies should only be installed if you're developing the React library itself. They won't be installed if you just depend on React.

If you're trying to audit React, don't you either need to audit its build artifacts rather than its source, or audit those dev dependencies too?

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#235

Earlier quoted context omitted.

> I'd like to have a stable Rust ABI to make safe plugin systems A stable ABI would allow making more robust Rust-Rust plugin systems, but I wouldn't consider that "safe"; dynamic linking is just fundamentally unsafe. > Large binaries could also be broken down into dynamic libraries and make rebuilds much faster at the cost of leaving some optimizations on the table. This can already be done within a single project b…

Loading dynamic libraries can fail for many reasons but once loaded and validated it should be no more unsafe than regular crates?

What properties are you validating? ld.so/libdl don't give you a ton more than "these symbols were present/absent."

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#236
post #176

Earlier quoted context omitted.

Yes. Since for blocking you can afford to have a less mature CSS engine. A tradeoff for performance.

I wonder if anti-adblock devs will ever take advantage of the difference between the two

Used to work in this realm. It doesn't matter.

Easylist will contact you, strongarm you into disabling your countermeasures and threaten to block all JS on your page if you don't comply.

So no ad servers can load, no prebid, nothing will function/load if the user has an adblocker that uses easylist (all of them) installed.

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#237
post #224
post #211

They could cut it 110%, so my available RAM grew bigger, and I would still not trust them. They have been caught with their hands deep in the cookie jar too many times.

Can you elaborate?

> In 2020, the company was found to be appending affiliate referral codes to the end of certain cryptocurrency exchange URLs typed into the browser's address bar. The practice applied to exchanges such as Binance and Coinbase, and was later discovered to extend to suggested search queries for terms like "bitcoin" and "ethereum".

> In 2022, Brave faced further criticism for bundling its paid virtual private network (VPN) product, Brave Firewall + VPN, into installations of its Windows browser, even for users who had not subscribed to the service

https://en.wikipedia.org/wiki/Brave_(web_browser)#Privacy

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#238
post #86

Earlier quoted context omitted.

> As far as I know, these 100+ dev dependencies are installed by default. devDependencies should only be installed if you're developing the React library itself. They won't be installed if you just depend on React.

> They won't be installed if you just depend on React. Please correct me if I am wrong, here's my understanding. "npm install installs both dependencies and dev-dependencies unless NODE_ENV is set to production."

Run `npm install react` and see how many packages it says it added. (One.)

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#239
post #62

Earlier quoted context omitted.

Edit: I misremembered a Rust crates capability (pre- and post-install hooks), so my comment was useless and misleading.

Rust crates can run arbitrary code at build time: https://doc.rust-lang.org/cargo/reference/build-scripts.html

> Build scripts communicate with Cargo by printing to stdout.

Oh lord.

Re: Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%

#240
post #182

162 to 104 is not 75% reduction... Who calculates reduction percentage like that?!

I'm guessing the same kind of people who don't understand the difference between 0.002 dollars and 0.002 cents (http://verizonmath.blogspot.com/2006/12/verizon-doesnt-know-...).
Post reply on HN