29 comments

  • akersten 1 hour ago
    They do this by adding a ton of useless markup and splitting words like "ad" into single-letter spans with random class names and 8-layer deep nests of `<div>` so it's very hard to write selectors against. One has to wonder how that div soup affects accessibility as I find it very unlikely that this content is presented nicely to assistive tools. I hope they get all the ADA suits they deserve for this.
    • neuralkoi 48 minutes ago
      I recently found this out the hard way. Instagram’s web app has a super annoying popup. To click the comments button for a post, your cursor has to pass over the username, which just happens to launch a profile preview with the “follow” button exactly where the comments button was, causing you to unintentionally follow the account.

      I tried to block this popup with uBlock Origin to no avail. No matter what element I selected, it was still there. Finally fixed the problem by deleting my Instagram account.

      • zenoprax 20 minutes ago
        A counter example: I got caught out by the deprecation/sunsetting of anonymous "old.reddit.com" yesterday but it turns out uBlock can filter out the ads, boilerplate, sidebars, join/login buttons etc on the main site. It's actually faster and more usable than the old site now.

        Small win.

      • greenleafone7 43 minutes ago
        Best move you could have possibly done.
      • srcnkcl 40 minutes ago
        “A strange game. The only winning move is not to play.”
    • c-hendricks 48 minutes ago
      Last I tried writing custom rules for Facebook was years ago, but they did have proper aria attributes, and uBlock origin does have selectors for text content. These are from 2020:

        facebook.com##span:has-text(Suggested for You):xpath(../../../../../../../../../../../../../../../../../..)
        facebook.com##div[aria-label="Sponsored"] span[aria-label="Sponsored"]:xpath(../../../../../../../../../../../../../../../../../../../../..)
        facebook.com##div[aria-label="Sponsored"]:xpath(../../../../../../../../../../../../../../../../../../../..)
    • acabal 24 minutes ago
      But can't they just use an xpath expression to test the computed text content of a node, like `/path/to/ad/div[contains(., 'sponsored')]`? In that expression, there could be any number of nested elements inside the terminal `<div>` and it wouldn't matter. (And you'd probably have to use a regex test to account for tricky white space.)
    • JumpCrisscross 47 minutes ago
      > so it's very hard to write selectors against

      This sounds perfectly matched for an on-device LLM?

      • pjc50 35 minutes ago
        The power cost of doing this widely would be staggering, surely?
        • Terretta 20 minutes ago
          Worth a white paper to see which costs less energy, using Apple's built in LLM, or downloading and displaying all the FB ads using radio, playback, and screen animation energy.
        • mkeedlinger 31 minutes ago
          Depending on the model, I’m guessing it’s dwarfed by just about any electron app
        • toomuchtodo 33 minutes ago
          Apple Intelligence? I mean, you're only processing for the time your "AI|browser|agent" is acting as a firewall between you and Meta. Cache locally after processing and filtering. Use alongside the accessibility API. LLMs can, in many cases, reliably solve CAPTCHAs. I find it difficult to imagine they cannot defeat Meta ad blocking countermeasures.

          EFF: Adversarial Interoperability - https://www.eff.org/deeplinks/2019/10/adversarial-interopera...

    • benj111 43 minutes ago
      Could you not just go after the deeply nested spans? I assume they aren't messing up everything else like that.
      • mcintyre1994 34 minutes ago
        Based on inspect element on their homepage, they probably are.
  • drnick1 1 hour ago
    Blacklisting facebook.com at the DNS level has worked pretty well for me.
    • amazingamazing 56 minutes ago
      That works, but is not really blocking the ads.
      • snapplebobapple 48 minutes ago
        I agree. We should call that "blocking the bads" since the overwhelming majority of things served from that domain are bad.
      • prmoustache 39 minutes ago
        facebook ads are indeed blocked.
    • wompapumpum 1 hour ago
      you sure about that?
  • pavel_lishin 32 minutes ago
    I've tried to write a tampermonkey script to at least block the Reels, but even that's hella difficult.

    The solution is truly to just never be on Facebook, but - our local PTA only distributes news via Facebook. (There may be a Whatsapp group I don't know about, which isn't better.) So does the local library. If the township publishes things elsewhere, I don't know about it.

    I use a service to convert some pages' feeds to RSS, which is semi-reliable, but doesn't work well and is a paid service if you want more than two feeds - I wish I could hand-roll something myself.

  • whywhywhywhy 26 minutes ago
    The approach they should have taken is to start whitelisting the components that are not ads.

    Think of how the structure of Meta is gonna work, there's some team in charge of ads who has a sub team now in charge of messing with the ads to stop them being blocked.

    If you start whitelisting everything that isn't an ad you move the problem into an area the team in charge of blocking the ads don't have control over.

    Highly unlikely the team in charge of stopping ad blocking has swing to then start changing the code of every other element on the page to break your non-ad white listing.

    • Terretta 13 minutes ago
      Over a decade ago, web framework and web site generation tooling had already ruined any kind of automated anything, as the frameworks and tools started using what amount to GUIDs for identifiers. I suppose the charitable take on why is as only machines needed to read it, and css styles and div IDs had become token gibberish anyway, so semantics were irrelevant.

      Whether selecting for ads or content, one had to figure different ways of getting after it, whitelisting was already off the table.

      We'd found "structure" could work, but had to be fuzzy and adaptive as marketing shuffles pages around constantly, not just on the whole, but for A/B runs and personalized "experiences".

      So that seems back to, hey, models could help.

      (Though none of them, to date, attain as high success as latest hand coded "reader" tools, worth inspecting for how this could be generalized.)

    • danillonunes 2 minutes ago
      Can't they mimic the structure of legit content to get passed on the whitelist?
  • VCFundedGenYer 37 minutes ago
    Facebook is trying so hard to defeat adblockers that the actual website is borderilne unusable. I have found in the past year or so that pages just get hung on "loading" transitional screens way more often, even in normal circumstances.

    They need to surrender this whole anti-adblocker crusade because it will kill them in the long run (along with the billion other problems FB has)

    • RiverCrochet 31 minutes ago
      Most activity on Facebook is via phone. I bet Facebook would prefer to get rid of the website entirely; the age of adding Facebook like buttons and comment sections to websites is long past. I can't think of anything that works on the website better than the phone app.
  • The-Old-Hacker 1 hour ago
    I use a browser extension called F.B. Purity. It's worked across multiple browsers for years.

    https://www.fbpurity.com/

    • mmsc 33 minutes ago
      There's a concern that the developer of FB-purity passed away: https://www.reddit.com/r/facebook/comments/1tw2sf9/real_conc...
    • damidekronik 1 hour ago
      I was gonna say that uBlock still works for me on facebook, but yea I forgot I had purity quietly working for me for all those years
    • VCFundedGenYer 36 minutes ago
      Same. FBP has been effectively perfect for over a decade now. I don't understand how uBlock Origin can't just take what FBP is doing and apply it there.
  • greenleafone7 42 minutes ago
    Best solution is to never use any of those useless apps ever again.
  • jcfrei 1 hour ago
    Once LLMs get fast enough at processing real-time images Apple (or anybody really) can just roll out a browser rendering engine that just masks all ads. It will take a few years but the browser ad-business is in it's terminal phase.
    • monooso 1 hour ago
      Given that Safari doesn't even have a built-in ad-blocker, I doubt Apple will be leading the charge on this.

      Such a move would also presumably be incompatible with Apple's highly lucrative search engine deal with Google.

      • gdulli 1 hour ago
        It's amazing how people think Apple has a clean reputation because they've added a thin layer of indirection to their participation in the surveillance ecosystem.
    • pllbnk 56 minutes ago
      The race of ending personal computing is there. I am sure big players want to control entire stack and users just sitting in front of dumb monitors consuming their ads.
    • threetonesun 46 minutes ago
      If we're just talking about image based ads it would be easier to simply denylist every image on a page and only render alt-text until the user clicks to reveal it.

      Worth noting though that Apple injects ads into the News app, which is just a webview, so it's certainly not them that will do this.

      • whywhywhywhy 23 minutes ago
        You're trying to stop ads because they're malicious but you think they'd be honest with their alt text?

        Ignoring that users care deeply about images so a browser that did this would be considered broken from the get go.

      • pavel_lishin 43 minutes ago
        I wonder what percentage of images even has meaningful alt-text.
        • nemomarx 32 minutes ago
          If it doesn't have alt text it can't have been that important as an image, I guess.
    • concinds 56 minutes ago
      Safari was the first to cripple adblockers and went further than ManifestV3, but it seems their reputation will never catch up to that.
    • metahost 1 hour ago
      Apple sells ads too; increasingly across its surfaces.
    • Eddy_Viscosity2 1 hour ago
      This is the first and only use-case for LLMs that I am genuinely excited about.
      • AlexandrB 41 minutes ago
        Such naïveté. The much more likely scenario is that AI is used to add or replace ads in a website in a way that's now impossible to remove. Running your own AI on the browser will be disallowed to "ensure a safe browsing experience".
    • sentrysapper 39 minutes ago
      You anticipate a large language model to understand visual queues for an advertisement?
      • whywhywhywhy 20 minutes ago
        Cost issues aside yeah image embedding tech is really good and can already do tasks like this, LLMs with native image understanding are even better at it.

        Reasons this wouldn't work are you'd really need to get it to a good enough and small enough model to run low energy use and very fast to not impact browsing. The other issue is it'll be a fixed target for a period of time so the ads could be tweaked to find how to get them through it.

      • triceratops 37 minutes ago
        Cues, not queues. And yes that sounds workable.
    • vintermann 1 hour ago
      Yes, it's a near-universal legal requirement that humans be able to tell if something is an ad or not. So once they sabotage that, they're in hot water.
      • pjc50 19 minutes ago
        I was under the impression that America had very few legal restrictions on ads at all.
      • AlexandrB 39 minutes ago
        Is there any enforcement of this? Like at all? All the review bots and bots promoting random crap on reddit say otherwise. Traditional media still pays lip-service to this, but only barely.
  • nelsonic 33 minutes ago
    Very simple: just block all Meta domains at your local DNS. Nobody needs Meta. And if there is something you desperately need to see on one of their platforms temporarily switch your DNS.
  • baggachipz 1 hour ago
  • cptaj 7 minutes ago
    I'm not saying this is a rallying call to help but...
  • nticompass 1 hour ago
    Man, am I happy that I deleted my Facebook. No regrets.
  • hollow-moe 38 minutes ago
    This doesn't set a good precedent unfortunately... Hello to that Google guy that just got tasked to do the same with Youtube.
  • molticrystal 16 minutes ago
    If anybody want to take a crack at fixing and maintaining the issue, while the team has been worn out to the treads, they are still open to pull requests [0], here is the statement about that is alluded to in the article:

    >paintboth1234 uBO Team wrote:

    >The project is FOSS. Anyone else who wants to deal with this disgusting site is free to make pull requests with working solutions themselves.

    [0] https://www.reddit.com/r/uBlockOrigin/comments/1vgcjg5/about...

  • OroPla 28 minutes ago
    I have to admit that I never got to visit facebook in all my life, since my browser add-ons made it so the site would never properly load. I'm not sure whether I've been missing out or dodging a bullet.
  • lucrbvi 54 minutes ago
    It would be fun to train a small vision neural network to recognize ads instead of relying on HTML or network requests. I don't know if anyone has done this yet.
  • red_admiral 32 minutes ago
    My setup: separate profile for Facebook. Targeted advertising turned off. FB domains blocked on main profile.

    Not perfect, but it works.

  • Marsymars 29 minutes ago
    The immediate fix to this is regulatory action.

    Facebook has made itself indispensable in a number of areas that are in the public interest and should be treated as a public good for these purposes.

    Ads are pollution, and Facebook is forcing people to choose between ingesting pollution and using facebook marketplace, or throwing their used but functional goods in the garbage.

    • qup 25 minutes ago
      IMO you shouldn't get to be in charge of a company just because it became successful.

      Facebook is allowed to make ads show on their own product.

      I hate their product, but it's theirs.

      • Marsymars 15 minutes ago
        > IMO you shouldn't get to be in charge of a company just because it became successful.

        In a macro sense, the prerogative there is really up to the public. Companies only exist in the first place because the public has granted them the legal and social framework to exist, and the public can adjust that framework as they so choose.

        In a more specific sense, the math there changes once a company makes itself indispensable to the public good. There are any number of analogies I could run with, but I'll go with the analogy of a landfill. Suppose all the landfills in your city have been privatized, have a habit of burning garbage, and employ armed thugs to prevent any visitors to the landfill from wearing masks. If you've got a truckload of garbage to dispose of, you can either ingest burning garbage fumes, or dump it on the side of the road somewhere. It's absolutely in the public's interest to regulate the landfills' behaviour to prevent them from either burning garbage or from stopping people from wearing masks when they visit the landfill.

  • gregoriol 39 minutes ago
    So basically Facebook ads won and we are doomed
  • partloyaldemon 29 minutes ago
    I use the “natural” method for blocking Facebook ads.
  • mdrzn 1 hour ago
  • XorNot 1 hour ago
    My solution to this was just to stop using Facebook.

    Though evidently someone's cut a deal because Facebook groups is all over Google search results these days.

    • ufmace 52 minutes ago
      Well clearly you'll need to stop using Google search too
      • XorNot 25 minutes ago
        We've been circling that since "thing reddit" became the most optimum search.
  • amazingamazing 53 minutes ago
    Assuming you insist on using facebook you can proxy it, using a simple script that removes all ads prior to serving. The problem of course is that this is not cheap. Easier to just not use facebook.
  • drcongo 1 hour ago
    It's easy, just block every Facebook owned domain there is. Works for me.
  • ImHereToVote 1 hour ago
    I don't understand why websites don't just take ownership of ads. Then it will be impossible to block them.
    • inigyou 1 hour ago
      Because the ad ecosystem has two sides. I used to think my ISP could just magically support IPv6 and didn't need routing protocols or peering agreements, too. (They support it now)

      Websites with ads need to satisfy the ad buyers. This means running a bunch of JavaScript that's adversarial to the website and fingerprints both the website and the browser to determine where and to whom the ad is actually shown. It's like a cloudflare bot challenge is happening behind the scenes. Of course all this stuff doesn't happen on the website's own domain, or the website could manipulate it.

      And the ad that's originally delivered might not actually be the ad, but might be a script that fetches the real ad from a different server, if the incentives line up that way. Imagine you have a contract to advertise on a site, but someone else wants to advertise on the same site and pays you to forward their ad. Ad margins are razor thin, you'll do this for $0.00001 profit per impression. And your buyer might be doing the same thing to their customer. It's all a huge mess.

      • gwbas1c 40 minutes ago
        I think that just goes to prove that content providers and ad providers could defeat ad blockers if they worked together. (And perhaps made the ads less offensive so people don't have motivation to block them.)
      • ImHereToVote 1 hour ago
        It's ironic how trust would solve the issue and ads would become impossible to remove. Trust comes at a huge premium of course.
        • inigyou 56 minutes ago
          Really shows how shady the whole industry is, even to itself.
        • stochastic-parr 56 minutes ago
          uBlock can filter arbitrary elements from a website, no chance that every company spends as much as facebook on making writing rules hard
          • account42 26 minutes ago
            uBlock filter list authors are however also not going to spend as much effort as they have been spending on Facebook on every random site that is currently covered by generic rules that catch entire ad networks.
      • benj111 38 minutes ago
        Trust?

        In ye old days, you had newspapers who sold ads, and had to at least satisfy their customers. What the newspaper advertised reflected on the newspaper, and where the advertiser advertised, reflected on the advertiser. Now we have a situation where no one is accountable. Spammy ad sites are a thing, because there isn't that direct relationship between advertiser and website.

    • jefftk 33 minutes ago
      Advertisers don't trust websites to display their ads. If a site takes full control of their ads experience and hosts everything first-party I agree it's hard to block (site can keep changing things to thwart the ad blocker), but then it's also hard for the advertisers to see whether they're being ripped off. Which means most won't advertise on the site, and the site makes much less money than if they remain in the current ad ecosystem (even counting that some ads will be blocked).

      (I used to work in this area, but my knowledge is ~4y out of date)

    • Ekaros 57 minutes ago
      Most sites are not in business of running ad marketplace. They are in content production and SEO(as in pulling views). I don't think at scale they could operate it would be worth to be ad marketplace. Or would they get the customers(advertisers).
      • nemomarx 44 minutes ago
        Content based ads work fine for this. If you have a site about some topic, advertisers for that audience can just pay you some amount to put their ad in your posts or embed an image.

        Networks are only necessary if you want to run new ads for every year or tie into their browsing history or other algorithmic stuff. But if someone wants to pay you 3k to run a banner ad for a few weeks that would be pretty easy to just embed.

      • cookiengineer 52 minutes ago
        > Most sites are not in business of running ad marketplace.

        You don't have to run a marketplace. Back then, people were calling via phone to put an ad into the newspaper. The same concept can still apply today.

        You can just place an ad _where you actually want it_ instead of having a shitty decision engine decide it for you. Marketing budgets are messed up all over the place since social media, because they're really inefficient in finding the customers that actually wants to buy their stuff.

        If you don't believe me, just take a look at facebook, they're trying to shove ads up your feed 99% of the time. It's a feed of ads, not a feed of "friends" anymore. Good luck trying to catch the 1% of posts that were actually the reason why you used the platform in the first place.

  • throwyonion 1 hour ago
    [dead]