HN user

bsclifton

193 karma

[ my public key: https://keybase.io/bsclifton; my proof: https://keybase.io/bsclifton/sigs/OmJVa2MsNDRcO6iho3ZZmtlodGqssiiBzHXCA8UTpj8 ]

Posts8
Comments70
View on HN

Already shared, but that (what you linked to) was a proposal and no deliverable was ever publicly released. A simple prototype was made and tested by a limited number of employees - instead of showing an ad, it would show a picture of a mustachioed man as a placeholder. That silly picture would be replaced with real code if the idea panned out. It didn't. The idea and the code was canned before I joined Brave and I've been here for almost 10 years (I joined August 2016).

Disclaimer in case it's not obvious: I am a Brave employee

Something I would like to mention, as a dev on Brave, is that patches are considered a last resort. If there are patches, we try to keep them lightweight - like patch to have Chromium create the Brave version of the object (something we can restrict to one line).

What you'll notice more often is a folder we have called `chromium_src`. This directory mirrors the directory structure for Chromium under `src` and the build system will look for matches. If there's a file with the same name under `chromium_src`, it'll prefer that one. That file then does what it needs to differently and then includes the original file.

This approach helps keep things much more lightweight - but it has challenges too. If code fails to apply (file that `chromium_src` is matching gets renamed, etc) it can be hard to detect. This is where you'd want to have a test to catch that.

Another person shared - but here's a link to our patching documentation: https://github.com/brave/brave-browser/wiki/Patching-Chromiu...

You'll notice the actual patching itself is introduced with the caveat:

  > When other options are exhausted, you can patch the code directly

I'm #6 on that "wontfix" board and it's OK w/ me :) Most of those are from when I migrated our issues from one repo to another.

We (Brave Software) do all of our company work on GitHub and have over 10k issues in our main repo. Lots of us falling under `Ideas Person` for opening issues tracking bugs/feature requests/etc. No shame in working in the public

If a user has Brave Rewards and ads enabled and gets an ad grant at the end of the month, SafetyNet is one measure used to help filter out fraudsters. The absence of it shouldn't cause a crash though

This is a bit of a dupe of https://news.ycombinator.com/item?id=29191244 - but article confirms (via Microsoft's release notes) that they consider it a bug that applications which are NOT Edge were able to set this.

We fixed an issue where OS functionality could be improperly redirected when microsoft-edge: links are invoked.

There are also some paid options which show - when you try to change the handler for `microsoft-edge:` (you can't pick an app; but you can pick Microsoft Store). `Search Bar Connector` for 1.69 and `Search Deflector` for $1.69

Guessing these are broke too. If it really is a "bug", why did Microsoft approve those applications?

It's something you need to manually configure. We would like to have an option for Windows folks that want to enable - but it would always be off by default (opt-in). It's understood that enabling this is going against the OS defined behavior

Worth noting that in order to offer a toggle, we'd need to get around the default protection (same as Firefox w/ setting default browser). People can only currently use this by going to the `Defaults` handler in Windows and replacing Edge themselves

There is an alternative option 2 available- you can subscribe to Brave Premium for a cost (shows as $7 USD/month). Just wanted to share as I hadn't seen it mentioned here

For the no-cost option, enabling Brave Rewards helps Brave to cover the costs of video infrastructure

Brave Search beta 5 years ago

Have you given it a try? The crypto-currency parts are optional (you have to actually enable them). Brave has got a solid adblocker and privacy features out of the box

(Brave employee here) We actually have a fair chunk of deviations that we maintain (link already shared by Brendan, but here it is again) https://github.com/brave/brave-browser/wiki/Deviations-from-...

We have a pretty comprehensive patching system which you can read more about here: https://github.com/brave/brave-browser/wiki/Patching-Chromiu...

There is a small team of folks here constantly working on rebasing the next Chromium version on Brave. They fight these deviations and try to minimize the patching as much as possible- so future versions are easier and easier. We even have some clever UI patching for the Polymer pages

There definitely have been challenges - for example, with Chromium 69, the network delegates were moved over to NetworkService which broke our shields code. But I'm really proud of the work done to minimize things. For a long time, the team rebasing Chromium was just one person... and we've always delivered Chromium upgrades and updates to Brave users within 24-48 hours of Google's stable channel

I think what you're describing are the "Tip" buttons which can be added on a few supported sites (which can be disabled). They aren't selling anything- it's a feature which people can use if they like.

The server implementation for sync is mostly compatible with Chromium and can be used without Brave. Someone could clone https://github.com/brave/go-sync and stand up their own server. It would require some patches on top of Chromium (similar to what is done in Brave) to implement the authentication - but once that is done, all of the Chromium tools like chrome://sync-internals work just fine

It would take require changes to Chromium (with regards to authentication), but Brave's sync server is open source and protocol-wise mostly compatible (client side encryption is enforced): https://github.com/brave/go-sync

I doubt Chromium authors would accept changes to authentication (even if you put guards around it like `#ifndef GOOGLE_CHROME_BRANDING`). If there were a 100% compatible service available, you can change the service URL using CLI arg `--sync-url`

There is also a local sync backend which is interesting as it writes to disk. You could potentially sync this via OneDrive or something similar. You can enable with the CLI arg `--enable-local-sync-backend`. Directory settable using `--local-sync-backend-dir`

You can watch the data being synced via chrome://sync-internals

Chromium might be Google dominated, but it's definitely an open source project. The reviewers I have worked with have been fair and have granted me more access as I've gotten more involved

If you check the commit logs or the AUTHORS file, you'll notice a growing number of non-Google authors https://source.chromium.org/chromium/chromium/src/+/master:A...

Microsoft notably has a big presence in the source code and at events like BlinkOn. As each of these folks get their code merged, they gain privs like merge access and start getting tagged as a reviewer in other's change lists

This would be extremely cool - and we (at Brave) did put in work to get a solution working (huge kudos to Jocelyn Liu who did the work). Repo up at https://github.com/brave/go-translate

However, the problem comes to licensing costs :( Setting aside the privacy implications of sending content on a site (since you opt-in), the content needs to be fed to a service. Microsoft and Google charge a per-transaction fee on each of these service calls and it can end up being quite expensive

Brave launches 1.0 7 years ago

Setting aside the rewards program, people can and will use ad-blockers. Even if those were illegal for some reason, there are lists available (such as hosts, https://github.com/StevenBlack/hosts) where you can make known tracking/advertising/etc hostnames non-routable

Are you saying that site owners should feel violated by folks installing ad-blockers (or using host files)?

Brave launches 1.0 7 years ago

(employee here) We do take security very seriously and have been able to deliver a 24 hour turn-around when there are Chromium updates (like the recent zero-day bugs which were patched in C78). We also have a bounty program open via hackerone that we take seriously which has helped us improve: https://hackerone.com/brave

Brave launches 1.0 7 years ago

The tokens get set aside (tracked only in the user's browser) but nothing happens until you verify on https://creators.brave.com/

Once you verify, the tokens will leave the user's wallet and are put into a wallet (called a card) with Brave partner Uphold. If you want to convert the tokens to your local currency and put into your account, there's a "Know Your Customer" process that the government makes sure is enforced

Tax-wise, I'm not sure how that works (great question). Besides manually converting to your currency and depositing to your bank, Uphold has a debit card that will automatically do the conversion if you use it when shopping

Brave launches 1.0 7 years ago

Tokens only go to verified publishers. Signing up to receive them is basically that consent. Otherwise (site or channel not verified), the transaction never leaves the user's browser

wikipedia.org, slashdot.org, and other sites that show a purple checkmark in the URL bar have gone through that verification process