UBlock vs. ABP: efficiency compared
github.com
github.com
The interesting gain here is that there's no more conflicting regex nor optimization to work on huge lists of blocking rules. Instead, URLs can be passed to the network in batches.
I have conducted my own set of experiments and a usable deep model is available (see http://www.deepdetect.com/applications/text_model/ ).
This is kinda shameful plug, but I'm really interested in feedback on these new ways of ad blocking with high accuracy.
For sure running a deep net service is not as easy as installing ublock but there are ways. The whole source code is Open Source, as is the model. I have more data at hand, and some larger models could be built. Performance assessment would be a good next step as well.
EDIT: the linked page is rather long, lookup 'Novel task' to get to a quick classification example
On an enterprise level, a better challenge to solve with NN would be to create a asic accelerated neural net hardware to filter packets/connections of IPS/IDS and firewall purpose with an extra ability of also possibly blocking advert.
Perhaps you meant an image-based classifier, though in this case Pharoah2's objection about speed is an insurmountable issue even on an enterprise server, since classifying a website on a CPU would take many seconds; on a GPU it would probably be several hundred milliseconds, which is a few hundred milliseconds too many!
They are not easily gamed either: they learn features as convolutional filters over the characters. These filters are more powerful than ngrams, as complex as the filters you may have seen for images.
Now, about gaming the nets, there's an issue, which is the same as for image-based CNNs: some combinations of letters (or pixel) do exist that do not make a difference to the eye, but push the classifier into the wrong class. However, in order to find these combinations, having a first-hand on the underlying neural net and its weights is mandatory.
EDIT: of possible interest is that these models output a probability and possibly a confidence of having a URL blocked. Base on these, an blocker could ask for confirmation.
Also, the neural net occupies something like 1.2 gigs of RAM, and something like 3 gigs of GPU memory.
The character-based net reads the URL, not the website. The common alphabet used in the model made public is of size 69, URL length can be for example 256.
Not only this is below the image size you are talking about, but after the first convolution the alphabet (in one-hot vector encoding) is collapsed, which leaves convolutions across length 256 in 1D.
Not that terrible. In proxy-like territory, passing batches of URLs to the GPUs could pave the way to new ad-blockers at large. To be tested :)
[1] http://www.businessinsider.com/google-microsoft-amazon-taboo...
1) end users get spared from the worst bunch of ads (layer ads, huge screen-filling ads in the left/right margins between content and screen, auto-playing video ads, popup/popunder ads, ads that mess with your browsing history, pre-roll ads on video sites)
2) site owners don't have their revenue stream completely fucked with more and more people using ad blockers
3) advertisers, provided they play by the rules, still have a way to get their content out to users
4) ABP/Eyeo has financial resources for development, hosting, maintenance and is able to keep up in the whack-a-mole game with the nasty parts of the ad distribution networks
You can look at their whitelist and find all sorts of intrusive and shady ad networks in there. This kind of funding model is bound to incentivize ABP into taking the wrong actions and working with bad actors.
Time to update filter lists.
Perhaps the auto update of the extension depends on the update settings of your browser.
The other one is simply Ublock
HN does not require JavaScript.
Even without using an ad blocker, if the user disables JavaScript, a large percentage of "ad tech" will not work. And ads will not be served.
Then the game becomes how to get the user to turn on JavaScript for some other functionality.
HN is a very nice exception of keeping things simple.
"10 Ad Blocking Extensions Tested for Performance" https://news.ycombinator.com/item?id=10127971
[] I use glimmerblocker. It's OK, the biggest "problem" is that I had to do a lot of tuning -- I think it's just one developer. And I had to write some code to get it to support HTTPS traffic (basically my proxy on my own machine had to perform a MITM "attack" on my behalf).
They seemed to be making honest strides to improve it.
What you describe is exactly what I'd expect to see, and what I've seen with other filtering extensions, if the static hosts weren't enabled.
Your DNS server can log the domains you request and can serve malicious replies (particularly bad for HTTP and other non-authenticated protocols). Trusting some random server is not the smartest decision.