Page 2 of 2

Today's Pet Peeve

Posted: 13 May 2026, 18:18
by The-10-Pen
Today's Pet Peeve:

LOUD music intended to be "background" music but is so d@mn loud that you have to "raise your voice" to talk to somebody sitting TWO FEET AWAY.

Today's lunch was at Outback Steakhouse.
A place I have avoided in the past ON ACCOUNT OF "loud background music".
Today was actually so PERFECT that I requested the manager to visit our table.
I complimented him on the volume setting of the BACKGROUND music.

He went on to probably tell the whole table more than he was quote-unquote "supposed to".
He's been managing for only a week and informed us that the background music system has TWO settings.
One nice and quiet and soft for the LUNCH (noon) crowd and one a bit louder for EVENING when there are 50/80 people dining instead of 10/20.
And told us that the previous manager was "let go" because she kept it at the EVENING setting ALL THE TIME.
Even the wait staff was complaining that they were getting orders wrong because they couldn't hear over the D@MN "background" music.

Today's Pet Peeve

Posted: 29 May 2026, 11:46
by The-10-Pen

Today's Pet Peeve

Posted: 19 Jul 2026, 10:24
by The-10-Pen
Today's Outrage -- cookie banner notifications.

What a nuisance!
One of the most annoying "mandates" to ever come out of the EU.
Adopted in 2002, amended in 2009, enacted in 2011/2012.

Enough already! It's 14/15 **YEARS** later and we are still being PUNCHED IN THE FACE by these D@MN *nuisances*!

uBO's filters lists DO NOT block ALL of them !!!
I Still Don't Care About Cookies extension does NOT block ALL of them !!!

Everything I have tried in the past 14/15 years seems to do okay for the most part, but you still encounter these PIECES OF SH#T.
Enough already!

So it's time for a more generic approach and one FULLY controlled and editable by me, no more waiting for uBO filter lists not catching these to be updated but never updated to catch them ALL, no more waiting for extensions to be updated but never updated to catch them ALL.


Working so far!

// ==UserScript==
// @name - Auto Hide Cookie Banners
// @version 1.0.1
// @match *://*/*
// @grant none
// @run-at document-idle
// ==/UserScript==

(function () {
'use strict';

// Common CSS selectors for cookie banners and consent popups
const selectors = [
'[id*="cookie"]',
'[class*="cookie"]',
'[id*="consent"]',
'[class*="consent"]',
'[aria-label*="cookie"]',
'[aria-label*="consent"]',
'div[role="dialog"]'
];

// Try to click reject/decline buttons if found
const rejectButtonTexts = [
'reject', 'decline', 'no thanks', 'opt out', 'refuse'
];

function removeCookieBanners() {
selectors.forEach(sel => {
document.querySelectorAll(sel).forEach(el => {
// Try to find and click reject buttons inside the banner
const btn = Array.from(el.querySelectorAll('button, a'))
.find(b => rejectButtonTexts.some(txt =>
b.textContent.trim().toLowerCase().includes(txt)
));
if (btn) {
btn.click();
console.log('[CookieBlocker] Clicked reject button:', btn.textContent.trim());
}
// Remove the banner from DOM
el.remove();
console.log('[CookieBlocker] Removed element:', sel);
});
});
}

// Run immediately and also observe for dynamically loaded banners
removeCookieBanners();

const observer = new MutationObserver(removeCookieBanners);
observer.observe(document.body, { childList: true, subtree: true });
})();

Today's Pet Peeve

Posted: 19 Jul 2026, 23:46
by Duke
The-10-Pen wrote: 19 Jul 2026, 10:24 cookie banner notifications
In Firefox and forks (R3dfox, LibreWolf, etc) you can set:

Automatically refuse cookie banners disabled:
cookiebanners.service.mode = 0
cookiebanners.service.mode.privateBrowsing = 0

Automatically refuse cookie banners set to reject all:
cookiebanners.service.mode = 1
cookiebanners.service.mode.privateBrowsing = 1

A value of 2 means reject all or fallback to accept all. This is stupid, don't use 2.

Today's Pet Peeve

Posted: 20 Jul 2026, 00:29
by The-10-Pen
Agreed.
But as you already know, that is not enough for me to revert to Firefox and forks.
I *do* still hope that day will arrive, but it's simply not here yet.

Today's Pet Peeve

Posted: 20 Jul 2026, 14:44
by The-10-Pen
Okay @Duke, how 'bout this one?

Pluto TV is a free streaming site that often times has an issue with the audio and video falling out of sync.
Here: https://pluto.tv/us/live-tv
ie, the lip movement no longer matches the timing of the speech.
One fix is to wait for a commercial break, switch to a different channel, then switch back so that everything is back in sync.

My long-term fix has become the below userscript.
It synchronizes the audio and video every two seconds and accounts for any dropped frames.
ie, by adjusting video playback speed so slightly that "humans" can't even detect the difference.
Basically think of "negative feedback" systems where the system "tunes itself" by speeding up or slowing down.


// ==UserScript==
// @name - Add Pluto TV Advanced A/V Sync Fix
// @version 2.0.1
// @match *://pluto.tv/*
// @grant none
// ==/UserScript==

(function () {
'use strict';

// Configurable settings
const CHECK_INTERVAL_MS = 2000; // How often to check sync
const MAX_ALLOWED_DRIFT = 0.3; // Seconds before correction
const RATE_ADJUST_STEP = 0.02; // Small rate change for smooth correction
const MAX_RATE = 1.05; // Max playback rate allowed
const MIN_RATE = 0.95; // Min playback rate allowed

function findVideoElement() {
return document.querySelector('video');
}

function syncCheck() {
const video = findVideoElement();
if (!video || video.readyState < 2 || video.paused) return;

try {
// Drift detection
const now = performance.now();
if (!video._lastCheck) {
video._lastCheck = now;
video._lastTime = video.currentTime;
video._lastDropped = 0;
return;
}

const elapsedReal = (now - video._lastCheck) / 1000; // seconds
const elapsedVideo = video.currentTime - video._lastTime;
const drift = elapsedVideo - elapsedReal;

// Dropped frame detection (if supported)
let droppedFrames = 0;
if (typeof video.getVideoPlaybackQuality === 'function') {
const quality = video.getVideoPlaybackQuality();
droppedFrames = quality.droppedVideoFrames || 0;
}

const droppedSinceLast = droppedFrames - (video._lastDropped || 0);

// Log for debugging
console.log(`[PlutoTV Sync] Drift: ${drift.toFixed(3)}s, Dropped: ${droppedSinceLast}`);

// Correction logic
if (Math.abs(drift) > MAX_ALLOWED_DRIFT) {
// Large drift — jump to correct
console.warn(`[PlutoTV Sync] Large drift detected (${drift.toFixed(3)}s) — seeking`);
video.currentTime -= drift; // Jump back/forward
video.playbackRate = 1;
} else if (Math.abs(drift) > 0.05 || droppedSinceLast > 5) {
// Small drift or frame loss — adjust rate
if (drift > 0) {
// Video ahead of real time — slow down
video.playbackRate = Math.max(MIN_RATE, video.playbackRate - RATE_ADJUST_STEP);
} else {
// Video behind — speed up
video.playbackRate = Math.min(MAX_RATE, video.playbackRate + RATE_ADJUST_STEP);
}
} else {
// In sync — reset rate
if (video.playbackRate !== 1) {
video.playbackRate = 1;
}
}

// Save state for next check
video._lastCheck = now;
video._lastTime = video.currentTime;
video._lastDropped = droppedFrames;

} catch (err) {
console.error('[PlutoTV Sync] Error:', err);
}
}

// Wait for video to appear, then start checking
const observer = new MutationObserver(() => {
if (findVideoElement()) {
console.log('[PlutoTV Sync] Video element found — starting advanced sync checks');
clearInterval(window._plutoSyncInterval);
window._plutoSyncInterval = setInterval(syncCheck, CHECK_INTERVAL_MS);
observer.disconnect();
}
});

observer.observe(document.body, { childList: true, subtree: true });
})();

Today's Pet Peeve

Posted: 20 Jul 2026, 18:33
by Duke
The-10-Pen wrote: 20 Jul 2026, 14:44 Okay @Duke, how 'bout this one?
Pluto TV is a free streaming site that often times has an issue with the audio and video falling out of sync.
I'm not using Pluto TV a lot but when I do I'm not experiencing audio/video sync issues.

Today's Pet Peeve

Posted: 20 Jul 2026, 22:01
by xperceniol_sal
I'm on Pluto TV now without any issues at all with Lun3r and Hydra!

Today's Pet Peeve

Posted: 20 Jul 2026, 22:50
by The-10-Pen
The sync issues only occur if you do not change the channel for SIX HOURS.
Keep it on the same exact channel and watch non-stop for SIX HOURS.
Some channels will unsync if watched non-stop long enough.
I can't say that they "all" do.

Today's Pet Peeve

Posted: 20 Jul 2026, 23:04
by The-10-Pen
Although, granted, is it unsyncing for me at SIX HOURS ?
Or is it unyncing for me because I have THREE PLUS streams all going simultaneously ?

Regardless, my userscripts KEEPS EVERYTHING IN SYNC :D :) :D

Today's Pet Peeve

Posted: 21 Jul 2026, 01:44
by Duke
The-10-Pen wrote: 20 Jul 2026, 23:04 Or is it unyncing for me because I have THREE PLUS streams all going simultaneously ?
I guess so :)