corn-dog

Joined 3 years ago

Karma
107
Submissions
26
Member since
Oct 8
I make extensions :)
View on Hacker News

Recent submissions

Comment · 2 years ago
No. They can’t do anything, because they are a liar, I have shared my side of the story, all my code.

But speaking of legal action. I think of the terms: slander, libel, defamation, misleading and false accusations, and harassment.

Comment · 2 years ago
As I said in my large comment, there is no violation, because the work is my own. And this person has nothing. But some other fancy words come to mine such as slander, libel, and defamation.

I’ve shared all my source code

Comment · 2 years ago
Shared in above large comment. Wasn’t showing up before for some reason
Comment · 2 years ago
I left a large comment on this thread
Comment · 2 years ago
This guy again. I’m getting REALLY sick of this guy. I’m the person that made the code, this guy and one other have been harassing me on every platform I’m on accusing me of “stealing” his MIT licensed code in public forums. First it was Discord to a server of 1000 people. Then it was spam messages to all these people in the server. Then it was reddit. Then it was the chrome web store. Now it’s also HackerNews and GitHub! 1. I told you I was probably inspired by the idea. I make extensions daily, I always comment on and take inspiration from extensions and others ideas! But I was mostly inspired by the constant discussions about YouTube and adblockers all over the media. Your idea is not unique! You did not discover this method! 2. I already make tons of extensions, this is super low hanging fruit - so I made it. To figure out the basic functionality took 1 minute of investigating the DOM in YouTube. Inspect element of the video player, look at its properties, notice the playback rate property, toggle it, that’s it. 3. I wrote my own code because it’s as simple as setting the video playback rate to 16, doesn’t take a rocket scientist. I did not need to copy your code. It’s simple as hell. Anyone with half a brain cell would figure it out in 5 minutes. I even share my code below. 4. If I copied your code, why was my first iteration a bookmarklet and not an extension?! A bookmarklet which I mention in the original post, that I also shared with users in other forums I’m in. So tell me why I would bother with a bookmarklet if I could just copy your code as you said? THE SAID BOOKMARKLET CODE: javascript:(function(){ function clickButton() { const button = document.querySelector('#skip-button\\:5 > span > button'); if (button) { button.click(); } } function adjustPlaybackForAds(target) { if (target.classList.contains('ad-showing') || target.classList.contains('ad-interrupting')) { const video = document.querySelector('video'); if (video) video.playbackRate = 16; } }

    function waitForVideoAndObserve() {
        const video = document.querySelector('video');
        if (video) {
            video.playbackRate = 16;
            video.autoplay = true;
            video.muted = true;

            const player = document.querySelector('ytd-player #movie_player[aria-label="YouTube Video Player"]');
            if (player) {
                const observer = new MutationObserver(mutations => {
                    mutations.forEach(mutation => {
                        if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
                            clickButton();
                            adjustPlaybackForAds(mutation.target);
                        }
                    });
                });
                observer.observe(player, { attributes: true });
            }
        } else {
            setTimeout(waitForVideoAndObserve, 500);
        }
    }

    waitForVideoAndObserve();
})(); 4. Hard work. What a joke, this took me 4 hours tops to convert from idea to bookmarklet to extension . It’s about 60 lines of code in a content script that a monkey could write! I’m that monkey! And it only took that long because I had to keep pinging YouTube to get an ad to play! Wait for video element, then increase playback and mute! That’s it! Yet you are under the impression this is some arcane knowledge that must be copied to be believed. 5. I actually DID look at your code after thesr accusations appeared, I even posted both our code in the server for others to come to their own conclusions! Additionally you use background scripts and content scripts - I just use a content script because … why would you even need a background script? You don’t. 5. You are discussing legal advice - cute. Now HARASSMENT and slander, those are legal discussions 6. You and the other user who have been harassing me have been doing so with alt accounts, across platforms, now harassment does fall under legal eyes. Yes i have begun taking action on this. 7. This guy thought telling me my real name would scare me and all this stuff about “karma”. Ooo clever. He just got it from the license text by reverse engineering my extension, but it was meant to scare me. Yet he is the one with the very public profile and VERY easy to find information. 8. And then this guy and the other person started a defamation campaign against me on all these platforms, going so far as spamming every user on the server I run, that I put hard work into growing. 9. I also just looked at your “lessons”. I noticed we use completely different methods for detecting ads, and on completely different elements. Add to that, you set the playbackRate to 10, I set it to 16, copied? 10. And now to add to the fire you are continuing to slander me and share my usernames in this lessons thing on GitHub! Should the prior art extensions who were already doing this exact function also be complaining against you? I'll even share MY source code just to get this person to shut the fuck up and claiming all this crap: // content-script.js (function () { function clickSkipButton(player) { const skipButton = player.querySelector( ".ytp-ad-skip-button-modern.ytp-button" ); if (skipButton) { skipButton.click(); } } function adjustVideoPlayback(player, isAdPlaying) { const video = player.querySelector("video"); if (video) { if (isAdPlaying) { video.playbackRate = 16; // Speed up the video video.muted = true; // Mute the video } } }

  function observerCallback(mutations, observer) {
    for (const mutation of mutations) {
      if (
        mutation.type === "attributes" &&
        mutation.attributeName === "class"
      ) {
        const player = mutation.target;
        const isAdPlaying =
          player.classList.contains("ad-showing") ||
          player.classList.contains("ad-interrupting");
        adjustVideoPlayback(player, isAdPlaying);
      }

      if (mutation.type === "childList" && mutation.addedNodes.length) {
        clickSkipButton(mutation.target);
      }
    }
  }

  function setupObserver() {
    const player = document.querySelector("#movie_player");
    if (player) {
      const observer = new MutationObserver(observerCallback);
      observer.observe(player, {
        attributes: true,
        childList: true,
        subtree: true,
      });

      // Initial checks
      const isAdPlaying =
        player.classList.contains("ad-showing") ||
        player.classList.contains("ad-interrupting");
      adjustVideoPlayback(player, isAdPlaying);
      clickSkipButton(player);
    } else {
      setTimeout(setupObserver, 50);
    }
  }

  setupObserver();
})();
Comment · 2 years ago
See my response in this thread. There are always 2 sides to a story.
Comment · 2 years ago
You are seeing their victim complex side of the story. They hide the fact that they and another have been harassing me, sharing my information, and this all started with PUBLIC accusations in a public forum I run and have run happily for months - with many happy members who would stand by me.

They had the option to message me privately - they did not take that option

Comment · 2 years ago
They don’t. And to shut them up I’ve released my own code EVERYWHERE. I made a proper somewhat angry response elsewhere in this thread - but how do you not get mad when you’re being repetitively accused of something you didn’t do by someone
Comment · 2 years ago
It was not. They have 0 proof but all the time in the world to spread my name everywhere and accuse me of this
Comment · 2 years ago
That’s awesome feedback, thanks! Definitely get your students into it
Comment · 3 years ago
Is this my mobile view one? Yeah I’m aware of this error so I need to fix it. Is it an open source or public repo.? That would help a lot for bug fixing
Comment · 3 years ago
This is a good use case for a browser extension or a bookmarklet

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton