• 0 Posts
  • 26 Comments
Joined 2 years ago
cake
Cake day: July 2nd, 2023

help-circle
  • Weird number of downvotes here – I thought they were meant for low-effort or non contributive comments, not an “I disagree” button. This person is giving a unique perspective as a subscriber (in this thread, anyway) and should be met with curiosity, I think. It is helpful to know that there are people who enjoy paying for it, so thanks for giving your opinion here.

    I disagree because they have a dominant position for reasons other than having a good product – they squash competition trying to make the space better while themselves actively making it worse. Subscribing means supporting that style of inhibiting innovation, not to mention the other user-hostile practices they embrace (extend, extinguish). They are an ad company and obligated to make a profit, I get that, but I refuse to abide this style of using investor money to operate at a loss for years while deceptively capturing the market before raising prices. If your product is good, it shouldn’t need to be artificially propped up.





  • techt@lemmy.worldtoFediverse@lemmy.worldNSFW on Lemmy
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    If the ACAB post is just words, then no. If it’s imagery of people being beaten by cops, then yes. There’s no need to argue extremes to make the point seem ridiculous – just use judgment and be kind.

    It’s about being considerate; that’s where the conversation starts and ends, so don’t get sidetracked or focus on semantics. It does not matter why someone is browsing any website at their place of work, so let’s not even bring that into the conversation. NFSW is meant to help people view content at work/in public by making it avoidable. It’s a communication from the author/community to the audience that the content may or may not be inappropriate – that’s it. If it’s debatable and isn’t tagged, that’s inconsiderate and a request to tag it should be treated with consideration and kindness (barring trolls, which OP clearly isn’t).

    But that’s just my opinion, and I acknowledge yours is different.


  • techt@lemmy.worldtoFediverse@lemmy.worldNSFW on Lemmy
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 month ago

    Just because there’s no nudity doesn’t mean it’s safe-for-work. This would absolutely make my female colleagues uncomfortable and that falls under the spirit of NSFW. Getting pedantic about what is or isn’t pornographic or nudity to justify having gross pictures up on your screen is entirely beside the point – if there’s any reason it could contribute to a less equitable workplace, it should be labeled NSFW. If there’s any debate about it at all, it’s the considerate thing to do.















  • Here you go, from the repo:

      const visitAd = function (ad) {
        function timeoutError(xhr) {
          return onVisitError.call(xhr, {
            type: 'timeout'
          });
        }
    
        const url = ad && ad.targetUrl, now = markActivity();
    
        // tell menu/vault we have a new attempt
        broadcast({
          what: 'adAttempt',
          ad: ad
        });
    
        if (xhr) {
    
          if (xhr.delegate.attemptedTs) {
    
            const elapsed = (now - xhr.delegate.attemptedTs);
    
            // TODO: why does this happen... a redirect?
            warn('[TRYING] Attempt to reuse xhr from ' + elapsed + " ms ago");
    
            if (elapsed > visitTimeout)
              timeoutError();
          }
          else {
    
            warn('[TRYING] Attempt to reuse xhr with no attemptedTs!!', xhr);
          }
        }
    
        ad.attempts++;
        ad.attemptedTs = now;
    
        if (!validateTarget(ad)) return deleteAd(ad);
    
        return sendXhr(ad);
        // return openAdInNewTab(ad);
        // return popUnderAd(ad)
      };
    
      const sendXhr = function (ad) {
    
        // if we've parsed an obfuscated target, use it
        const target = ad.parsedTargetUrl || ad.targetUrl;
    
        log('[TRYING] ' + adinfo(ad), ad.targetUrl);
    
        xhr = new XMLHttpRequest();
    
        try {
          xhr.open('get', target, true);
          xhr.withCredentials = true;
          xhr.delegate = ad;
          xhr.timeout = visitTimeout;
          xhr.onload = onVisitResponse;
          xhr.onerror = onVisitError;
          xhr.ontimeout = onVisitError;
          xhr.responseType = ''; // 'document'?;
          xhr.send();
        } catch (e) {
          onVisitError.call(xhr, e);
        }
      }
    
      const onVisitResponse = function () {
    
        this.onload = this.onerror = this.ontimeout = null;
    
        markActivity();
    
        const ad = this.delegate;
    
        if (!ad) {
    
          return err('Request received without Ad: ' + this.responseURL);
        }
    
        if (!ad.id) {
    
          return warn("Visit response from deleted ad! ", ad);
        }
    
        ad.attemptedTs = 0; // reset as visit no longer in progress
    
        const status = this.status || 200, html = this.responseText;
    
        if (failAllVisits || status < 200 || status >= 300) {
          return onVisitError.call(this, {
            status: status,
            responseText: html
          });
        }
    
        try {
    
          if (!isFacebookExternal(this, ad)) {
    
            updateAdOnSuccess(this, ad, parseTitle(this));
          }
    
        } catch (e) {
    
          warn(e.message);
        }
    
        xhr = null; // end the visit
      };
    

    That’s pretty much it! Let me know if it doesn’t make sense, I can annotate it