As far as I'm concerned advertisers had their chance but they totally abused their chance turning the internet into an ad-laden hellhole and now I just block everything I possible can. If a site decides it doesn't like this then it's literally no use to me.<p>They had their chance, they abused it beyond all possible tolerance. I hate advertising on the internet now so much that if anything does manage to get past my blocks I make a conscious attempt to avoid buying anything from the scumbag organisation that thinks forcing their crap on my is anyway acceptable.
I would not mind ads at all but ads are not really ads: they are trackers, beacons, analytics, and privacy busting cookies with none of the above asking for permission. I am blocking about 2,000 different versions of all of the above according to Ghostery. EFF's Privacy Badger is blocking a bunch to. We are being digitally assaulted. We need this stuff!
At some point I really think we'll resort to blocking ads at the network level. There's no way to detect a block at that level and we'll truly be able to control the content that way. I've seen a few http/dns ad blockers here on HN already so we know it's possible and being thought about. These browser based detections are just a game of cat and mouse at this point.
Hi guys. I guess I'm one of the bad guys. I developed the foxplay, natgeoplay adblocker detectors. I used a very simple approach because we know that anyone that wants the content and not the ads is going to have it anyway.
The ads in the pages are something that is needed. What is not needed are, as other commenters said, 3rd party cookies, trackers and analytics beacons. Keep up the good fight.
I'm very pleased they include the link to the Trace Buster Buster: <a href="https://www.youtube.com/watch?v=Iw3G80bplTg" rel="nofollow">https://www.youtube.com/watch?v=Iw3G80bplTg</a>
Or functionally: <a href="https://github.com/0a-/FuckFuckAdblockFunctionally" rel="nofollow">https://github.com/0a-/FuckFuckAdblockFunctionally</a><p><pre><code> var _ = function(){};
var fuck = function(fn,fns){
fns.push(fn); //side effect here since this is OO. Otherwise could have written: fns = fns.concat(fn)
var partiallyFuck = function(fn){ return fuck(fn,fns)};
var thunk = function(){ fns.map(function(a){a();
window.fuckAdBlock = fuck(_,[]); //forced to do side effect here due to OO
window.blockAdBlock = fuck(_,[]); //forced to do side effect here due to OO
}); return true};
return {
onDetected: partiallyFuck,
onNotDetected: partiallyFuck,
check: thunk,
emitEvent: thunk
}
window.fuckAdBlock = fuck(_,[]);
window.blockAdBlock = fuck(_,[]);</code></pre>
It looks to me like this is just a special case of what NoScript's <i>surrogate scripts</i> feature has been providing for years. It allows substituting your own no-op scripts for whatever scripts you'd rather not run, but want to fool other scripts into thinking have been loaded.
I went to the linked <a href="http://fuckadblock.sitexw.fr/" rel="nofollow">http://fuckadblock.sitexw.fr/</a> and their publicity example didn't load. Looks like my adblock rules are doing their job!
How about this instead? Plugs into U-Block Origin: <a href="https://github.com/reek/anti-adblock-killer#instruction" rel="nofollow">https://github.com/reek/anti-adblock-killer#instruction</a>
A part of me really wants a system that asks the browser for a "hey, you wanna give money instead" token that lists a payment system and a unique id. I don't wanna really hurt content creators.
I hate to ask this, but could someone explain where this stops the FuckAdBlock? I can't see it in the code.<p>EDIT: Oh nevermind; it calls a FuckAdBlock instance and then overrides it. Ha.
As a content creator who runs two websites and relies on ads to pay bills because my actual job doesn't cover the costs, I say fuck anything that's trying to block ads.