Hacker News new | ask | show | jobs
by vonklaus 3681 days ago
Brave software. This was created by Brendan Eich the x ceo of mozilla. Eich does seem to have some problems with equality[0] which may have contributed to his ouster at Mozilla, but Brave is a top shelf browser. Super great team, pretty security conscious and given the Eich developed JS, well, they have a pretty good working knowledge of it. Brian Bondy is a super awesome guy (thanks for adding duckduckgo BTW), Yan Zhu is a pretty well known dev & security blogger and they had the woman who wrote a couple encrypted chat clients working there (apologies her name escapes me) but she isn't on the site. I assume the rest of the team is talented. So in essence, I ove Brave. I still wish they would make a goddamn search engine, but it is an awesome browser.

[0] NaN === NaN returns false?. 0.0001 + 0.0002 !== 0.0003? weird.

3 comments

In addition to the reply with the pointer to the standards, sure NaN !== NaN.

NaN means "no idea what we've got here". When you get to say that phrase, would you expect it to be used for exactly one thing and one thing only? To me "I have no idea" means the possibilities are endless (infinite). We can only compare for equality when we know what we are looking at, otherwise it's just "status unknown". Yes, it might be equality - the chances are infinitely small though.

If you take the argument a step further and say "but I got the two NaNs that I compare doing the exact same operation, so even if I don't know what I've got from a mathematical point of view whatever it is it should be equal". In that case you are not actually comparing the NaNs but the path(s) that got you there.

I must say I find the whole NaN, null, 0 vs. undefined interesting on so many levels. There is a world of a difference between knowing you've got nothing (null or 0) and not knowing what've you've got at all.

"null": I have no bank account. "0": my balance is 0. "undefined" or "NaN": I lost my memory after yesterdays binge drinking and don't know who I am and if I got a bank account or not. Knowledge vs. no knowledge.

Again, I am aware of what the behavior is, although this was a nice refresher and I appreciate it ;)

The joke was, of course, surrounding the Mozilla incedent where Brendan Eich stepped down from his position as CEO apparently because of a perception that he was promoting inequality. This characterization was due to his support of prop 8 (a bill about marriage equality, or lake there of).

To completely ruin the joke's punchline[1], was that the "problems he had with equality" were actually his understanding of types and language development and are evident in javascript.

Of course that is untrue, was a joke, and Brendan Eich is a legendary programmer whose contributions I am grateful for.

[1] Joke's punchline could be ruined by it being both a bad joke needing an explanation, being in poor taste, and generally just not being a funny joke.

> and generally just not being a funny joke.

I thought it was damn funny. There was definitely an unintended outburst at my desk.

But then...... I also thought it was spectacularly hypocritical of Mozilla to fire him for having what amounted to... ideals. Which is what Mozilla supposedly works to protect.

> But then...... I also thought it was spectacularly hypocritical of Mozilla to fire him for having what amounted to... ideals.

They didn't fire him for having ideals. One, because they didn't fire him, and, more significantly, because the problem was not him having ideal, but him being unable to determine or unwilling to take the steps necessary to effectively manage a major PR incident affecting Mozilla's relationship with users, employees, and other important stakeholders. (Or, given that he actually resigned, maybe he was quite able to determine and willing to take the necessary steps, but those steps were inconsistent with him remaining as CEO.)

These are standard IEEE754 floating point behaviors.
I am aware. It was a bad joke.
The ultimate goal for Brave (I don't know if it's doing this yet) is to replace blocked ads with ones sold by the Brave company.

I cannot support this.

Couple of things:

1. Brave won't "sell ads", that's not how it works. Marketers buy space for ads and spend to create the ads themselves. Websites or publishers sell space for ads, sometimes directly to brands/agencies. If ads use no tracking and host the ads' images and other assets on a non-blocked domain, no problem.

2. Where we propose to do better is with "indirect" or programmatic ads. These are so out of control, publishers make money from them but disclaim responsibility when a piece of ransomware malvertisement places in the offered space. We aim to put tracker-free, sandboxed ads in these spaces and share revenue (equal shares to the user and to Brave: 15%) with the bulk of the revenue (55% direct, 70% in total per the default settings) to the website.

We're thus working to align incentives in the system that currently work against the user's interest.

We also support pure ad/tracker blocking, if you prefer.

On top of either mode, we're buildling an anonymous system for micropayments as well as aggregated ad metrics, so no one can re-identify a Brave user from a revenue stream.

Of course, we're not yet doing anything more than blocking all third party / indirect ads and trackers. To get better user-aligned revenue models in place, we'll need to scale up and win over some top publishers for trial/testing purposes.

So if you want the fastest (native code wins in perf and mem use) browser that blocks ads by default, I hope you will give Brave a try.

Honest question: If Brave doesn't sell ads, where do the sandboxed ads come from that are under #2? Presumably your software is stripping out the bad stuff and putting in something, which marketers have agreed to pay you for. Or how is it determined what goes there?
Short answer: we hope to sell blocked ad spaces on behalf of our users, but only a few per page, and always with par-with-Brave revenue share to our users.

Longer answer: we would be selling anonymous ad spaces based on matching tags (like standardized keywords) on-device/in-browser against a set of tags for ad deals whose buyers sign up to pay us only when those ads perform (have anonymously confirmed viewable impressions).

The tag matching is private -- no cookie or other identifier comes out of the device/browser, no tags out either.

The (few, three or four) tags for each ad space come from local inference, weak AI, running on-device. The goal of this AI is to work for you on your device, studying your data, to pick the best small set of tags for the ad space. Only a few, even just one, spaces per page might be filled. The ad serving is async as well as sandboxed, so it doesn't delay page load.

This private and device-local inference uses the sum of your browser state, which is a superset of what remote trackers see via cookies and fingerprinting. Think of tab opener relationships, absolute viewability/visibility, evolution from search and social interactions to browsing sites to buying. As with browser history, you can clear the summaries inferred from your data.

We are building cross-device, client-private-key-encrypted sync (as other browsers offer, although not always client-encrypted). To handle inevitable key loss, as with user multisig wallets, we will rely on a separate Key Recovery Service. So we won't have keys for your data or the results of inferences made from it. But you will have the benefit of inference studying all your browsing on all your devices, as they sync and the inference runs incrementally.

If we pull all of this off, we'll have built a private data platform where our users own their own data cross-device, along with valuable results from analyzing their data on their devices. Kind of an upside-down, individuated, private Google.

You're seeing movement toward "segment of one" marketing tech (companies who track you as an individual, across apps and even offline credit card purchases). These trackers may run afoul of regulators, as they zero in on PII.

We think Brave's way of defending your data on device is better: more precise and of course more private. Clustering among users and sync'ing with non-browser data can come later, and via ZKP protocols like the one we're using for the Brave Ledger (see https://brave.com/blogpost_3.html).

We also see IoT (home, car, internal/wearable computing) as a field in need of our "anti-cloud" approach. Of course backup is important, and some transacting with cloud services wins, but giving all your data away from the start puts you at a permanent disadvantage. It also accrues rising privacy and security risks.

Users won't get paid fairly for their attention and time (never mind their location and health data!) until they defend all such data from trackers. We're building a system for doing this, using a browser as first line of defense. (There will be other lines of defense.) Anonymous ads are just one way to get users their fair share.

Our principle of users getting their fair share means we take the same ad revenue cut as our users get, and pass the bulk on to the publisher or website (or account, if YouTube or the like). We'll follow this principle for other possible revenue including from search, if we can work that out.

Your data, on your devices, with a fair share to you, are key points of the brand value we hope to build.

@Brave has no future in a sense of gathering people just because they hate ads, ads market is very noisy world. This market will find answers to any questions no matter someone's software is blocking ads or not. Because majority of Internet's users aren't much hate those clunky "click-on-me" links at all. Ignorance is a blessing.
If you can give those users faster performance and lower data usage and opportunities to cash in on the value of their eyeballs, where/when they are willing, it doesn't seem like you even have to 'hate' them, you just have to prefer something with more positive features.

Honestly, I think Brave is good for everyone - including advertisers. There are interesting new patterns to develop here, I'd bet. With every change in tech comes new possibilities, Brave is opening the door to a lot of potentially new ideas/strategies here IMO.

Brave isn't relying on people who hate ads, but you should not underestimate that population size.

The big problem is how much of the digital advertising "rent" goes to Google and Facebook alone, for so little. Perhaps 80% of 70B/year in the US alone. This will not continue. What's next? We have an idea.