upvote
Not sure if this fits to your needs, but uBlock Origin lets you block elements directly on the page. It works great for removing the pesky shorts section. Haven't seen Youtube shorts since. On top of that, i removed the "suggested videos" on the right side of an already opened video, to avoid the pitfall of continuously moving on to barely related stuff, much like the shorts doomscrolling.

I believe Brave too, has this feature.

reply
Fwiw, I made something similar, but it targets an ancient version of OS X. It's theoretically possible it works on modern macOS too, but I haven't tested it.

https://github.com/Wowfunhappy/media-subscriptions-prefpane

I've been using a version of this for five years, although until recently the PrefPane was built via janky Applescript. I rewrote it in proper Objective-C last summer.

reply
As a clarification, you don't need elfeed-tube to subscribe to YouTube feeds (channels or playlists) with elfeed, or to watch the videos with mpv. elfeed-tube only adds text to the feed entries, in the form of more video metadata, transcripts and synced playback with mpv.

Also, mpv supports lua scripts for a variety of actions on YouTube (or other streaming) videos, such as showing you YouTube's recommended videos in the video player, clipping and downloading videos, sponsorblock and submitting sponsorblock segments, and so on.

I've been doing this for almost a decade, and I do recommend it. In my experience, just importing my YouTube subscriptions into a feed reader was a positive experience. I've had a daily digest of mostly interesting videos and rarely (if ever) the urge to browse YouTube.

But with YouTube's recommendation algorithm out of the picture, it does mean that you'll have to find some other way of discovering new channels.

reply
You've probably already done this, but first thing, turn off autoplay and make sure it stays off. Much easier to not get sucked into things when you have to actively click on them.
reply
Turning Autoplay off, and getting rid of ads (Youtube Premium is well worth it across all devices) is a big level up. Blocking shorts is the other thing.
reply
There are solutions for blocking shorts. Ie unblock origin filters, as seen previously on front page of HN
reply
There are also solutions for blocking ads without subscribing to premium.
reply
Turn off your watch history. It disables the front page and shorts, but you can still watch any video you want and also follow your subscriptions. You still get recommendations next to each video but I find those much less problematic personally.
reply
Unfortunately, with watch history off, YouTube still pushes Shorts in the subscriptions page (at least on mobile web, which is where I primarily use YouTube).
reply
The Unhook browser extension gets rid of that. And optionally other things.
reply
I do something similar as I hate interruptions of various kinds; what I'd love is a way to show a YT playlist in something like Jellyfin, where it downloads the "next" episode while you're watching the current one.

As it is, I can do that somewhat manually and it makes for a nice interface where I'm sure what the kids are watching.

reply
I did this too, I have pi that downloads and combined a bunch of rss feeds every 30min (cron) and downloads the vids, I browse them with Thunderbird on my desktop, I inject a special link to the mp4 on my pi. So I can just watch vids at 192.168.1.106/videos/X.mp4 using the Firefox mp4 player.

Did it in ~300 lines of node.js, was trying to learn how to use JS for server stuff, seemed like a good idea at the time. It still works 5 years later, but it stands as a reminder to me to never use async/await.

reply
Not using async/await is worse: you get sucked into then/catch, or worse, callback hell or shudder streams, which are known to be full of footguns and typically only approximate working correctly.

Of course you can go full sync if your app wouldn’t do anything useful during the time it’s blocked waiting for network or I/O.

reply
> a reminder to me to never use async/await

What issues did you face with async/await?

reply
There are greasemonkey scripts available which hide shorts from appearing.
reply