1. 18
  1.  

  2. 6

    Can somebody please explain what this is about?

    1. 5

      Presumably, it acts as a counter to websites that counter adblock.

      1. 3

        Ah, so it is a user-script you deploy to circumvent FuckAdBlock-ad-detection. It’s just a riddle for me why you would want to specifically target “FuckAdBlock”, given it probably is not the most widely used solution. Speaking of which, I know only one page which does the active AdBlock-detection. Seems like I’m lucky and don’t need this.

      2. 2

        Regardless of the political fight, it’s fascinating to see these wars fought on technical grounds. The DSS satellite battles were great: http://blog.codinghorror.com/revisiting-the-black-sunday-hack/

        I wonder if theory says anything about whether either party has an advantage over the other. (Where one party controls the computer and one party controls the program)

        1. 2

          The Monday Note has written about it quite a bit, usually from the business observer perspective.

          1. 2

            Ad block detection has two advantages. Agility: they can easily test all current ad blocking software to verify they can detect it. Stealth: Detection is trivial today, but easily approaches Turing complete with the ad blocker attempting to fully emulate the ad, but without actually showing it. Net result: more and more and more javascript running to trick your browser into revealing whether it’s trying to trick the web site.

            1. 1

              And people say there’s no reason to build native apps ;)

              Seems like ultimately it’s a signal separation problem (the ad could be baked into the content in e.g. a Canvas element,) and then the job becomes recognizing what is ad and what isn’t ad. That seems to have a whole spectrum of hardness from sort of trivial (standard sized banners) to sort of difficult, even for humans (subtle product placement.)

              So I guess the end game is “how much money can I sell an ad for that the viewer cannot barely distinguish from the original content.”

              1. 1

                And people say there’s no reason to build native apps ;)

                Seems like ultimately it’s a signal separation problem (the ad could be baked into the content in e.g. a Canvas element,) and then the job becomes recognizing what is ad and what isn’t ad. That seems to have a whole spectrum of hardness from sort of trivial (standard sized banners) to sort of difficult, even for humans (subtle product placement.)

                So I guess the end game is “how much money can I sell an ad for that the viewer cannot barely distinguish from the original content.”

                1. 2

                  The line between product and advertisement is blurred even further by the increasing popularity of sponsored/branded content, like the New York Times' “Women Inmates: Why the Male Model Doesn’t Work”. The article is sponsored by Orange is the New Black. Now, the New York Times does a better job of telling readers that the article is sponsored, with the banner at the top and the fact that the article is on paidpost.nytimes.com, but many other news organizations don’t put the same effort in.

          2. 1

            Disabling FuckAdBlock is much easier than injecting this script. All you have to do is set window.getComputedStyle, an api that’s useless fluff that’s used for evil things anyways, to undefined. Of course, your adblock client hopefully isn’t doing silly things, like any of this:

            if(window.document.body.getAttribute('abp') !== null
                || this._var.bait.offsetParent === null
                || this._var.bait.offsetHeight == 0
                || this._var.bait.offsetLeft == 0
                || this._var.bait.offsetTop == 0
                || this._var.bait.offsetWidth == 0
                || this._var.bait.clientHeight == 0
                || this._var.bait.clientWidth == 0) {
                    detected = true;
            }
            

            You shouldn’t be relying on things like this to keep users of a service you’re providing from interacting with the content you send them in a way you don’t like. They will eventually find a way around it, because besides societal motivations and a simple lack of understanding, there’s nothing keeping them from executing the code you send them in ways they want to rather than ways you want them to.

            1. 1

              I use anti-adblock-killer which takes care of that FuckAdBlock script and many others.