• 0 Posts
  • 12 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle
  • Whoever thought it was good at coding? That’s not what it’s designed for. It might get lucky and spit out somewhat functional code sometimes based on the prompt, but it never constructed any of that itself. Not truly. It’s conceptually Googling what it thinks it needs, copying and pasting together an answer that seems like it might be right, and going “Here, I made this”. It might be functional, it might be pure garbage. It’s a gamble.

    You’re better off just writing your own code from the beginning. It’s likely going to be more efficient anyways, and you’ll properly understand what it does.


  • I still have an active Netflix account (for the odd thing I haven’t yet added to my self-hosted Jellyfin instance), and actually downgraded from the Premium tier to the Basic tier a few months ago when they started cracking down on password-sharing here in Canada.

    Even though the Basic tier is “only 720p”, I barely notice the difference in quality since my TV (and a lot of other modern TVs) has built-in upscaling that works surprisingly well. And I’m the type that is really picky about picture quality, particular about codecs and encoding methods, and all that jazz. But I’m really happy that I managed to get onto the Basic tier before they removed it. I was prepared for a clear drop in quality in return for cost-savings, and I was okay with that, but was delighted to find nothing had noticeably changed after switching over.

    The Basic tier checks all of my boxes, verifiably:

    • 1 screen at a time is enough
    • The end result of the video quality I can perceive is perfect
    • Cheapest plan without ads

    Sometimes I even wonder if my TV is even actually upscaling from 720p, or if Netflix is just quietly serving 1080p in reality, but was just continuing to advertise 720p to deter people from the cheaper plan to get them onto a more expensive one, with plans all along to phase this tier out.

    My parents, who were previously sharing my account when I was on the Premium tier, ended up getting their own account also on the Basic tier. The net result is that Netflix makes less money off of the two of our accounts combined now compared to the single Premium account we shared before. So in the end, they ended up losing money, and we lost nothing of perceivable value.

    I’ll probably end up cancelling our account at some point entirely, and my parents can continue to use their own account without being affected, so the forced split actually saved us all money and made our situations more future-proofed.

    Contrary to popular belief, I actually think that the Basic tier could have ended up seeing more uptake in the long-run had people who only needed a single screen and wanted to save money, decided to try it, and notice that the picture quality was more than satisfactory enough, either due to the stream quality being better than advertised in reality, or due to the pretty good upscaling ability of modern TVs. I’m sure word would have gotten around from technically-minded people to the masses at some point, and we would have seen more people switching.

    I’m sure Netflix did away with the Basic tier because they knew it could realistically put a dent in their profits at some point.



  • You’re seeing that toast about versions since backend version 0.18.0 switched away from using a websockets-based API to a REST API, and the Jerboa client app is (in a not-so-descriptive way) warning you that the backend you are connected to isn’t aligned with the app version in terms of what it expects of the backed. This should go away pretty soon as more servers update their backend version and the Jerboa app update hits more devices.


  • It’s awesome to see Lemmy getting lots of love, and choice in the mobile app space is great for everyone. But some part of me also kind of wishes that rather than spreading so much development effort out over so many mobile apps, that more developers would jump in and contribute to polishing up the official open source Lemmy mobile app, Jerboa. I can’t help but feel that it would be nice to see a focused effort somewhere in bringing that one in particular up to snuff, as a sort of “reference” app. And have a few others floating around out there just for some diversity and testing innovative ideas.

    Maybe it’s already that way, I don’t know. It kind of feels like there’s a new Lemmy mobile app announced every couple of days.



  • There’s nothing stopping instance owners from incorporating their own security measures into their infrastructure as they see fit, such as a reverse proxy with a modern web application firewall, solutions such as Cloudflare and the free captcha capabilities they offer, or a combination of those and/or various other protective measures. If you’re hosting your own Lemmy instance and exposing it to the public, and you don’t understand what would be involved in the above examples or have no idea where to start, then you probably shouldn’t be hosting a public Lemmy instance in the first place.

    It’s generally not a good idea to rely primarily on security to be baked into application code and call it a day. I’m not up to date on this news and all of the nuances yet, I’ll look into it after I’ve posted this, but what I said above holds true regardless.

    The responsibility of security of any publicly hosted web application or service rests squarely on the owner of the instance. It’s up to you to secure your infrastructure, and there are very good and accepted best practice ways of doing that outside of application code. Something like losing baked in captcha in a web application should come as no big deal to those who have the appropriate level of knowledge to responsibly host their instance.

    From what this seems to be about, it seems like a non-issue, unless you’re someone who is relying on baked in security to cover for your lack of expertise in properly securing your instance and mitigating exploitation by bots yourself.

    I’m not trying to demean anyone or sound holier than thou, but honestly, please don’t rely on the devs for all of your security needs. There are ways to keep your instance secure that doesn’t require their involvement, and that are best practice anyways. Please seek to educate yourself if this applies to you, and shore up the security of your own instances by way of the surrounding infrastructure.



  • The main advantage to me is that I can work with Invidious as a backend, and whatever I configure there will reflect in Clipious as a client. So as I subscribe to new channels in Invidious, add or update playlists, etc, Clipious will reflect these changes accordingly. Advantages of selfhosting Invidious that indirectly benefit Clipious are of course built-in adblocking by virtue of how Invidious works, SponsorBlock support, and the ability to cache static assets, such as video thumbnails for faster load times, using a reverse proxy (Nginx is what I use). There’s a lot more we could dive into beyond this, such as no Google account requirement (for enhanced privacy).

    One area where the SmartTubeNext and YouTube ReVanced combo has the advantage is the convenience of being able to cast from your handheld device to your TV. Clipious/Invidious has no casting ability. But I can totally live without that.


  • I just stood up a selfhosted Invidious instance the other day, and I replaced YouTube ReVanced with Clipious (an Invidious client for Android) on my phone. No ads, SponsorBlock built-in, no need for a YouTube/Google account to create subscriptions, playlists, etc. And it’s highly performant since I run it behind a reverse proxy with some custom caching configuration for things like thumbnail images, static assets, etc.

    Clipious can also be installed on an Android TV (has an actual Android TV interface). I’m going to end up installing it on mine, but I’m also using SmartTubeNext at the moment, which does require a YouTube/Google account for subscriptions, playlists, etc, but does have no ads, built-in SponsorBlock, and a slew of other great features. I’ll be keeping both around, since I do sometimes like to cast to my TV, and SmartTubeNext allows for that (Clipious does not, at least at this time).

    Unless YouTube somehow starts dynamically splicing in ads as part of the actual video stream, there’s always going to be a way to block ads, unless they do something pretty elaborate. But that’s probably not worth the effort on their end to go that far, since the vast, vast majority of people won’t know what to do to get around that, nor will they probably care enough to try. But I think it’s clear that DNS blocking using services such as AdGuard Home, PiHole, etc, are going to become less effective over time.


  • Containers really shine in the selfhosting world in modern times. Complete userspace isolation, basically no worries about dependencies or conflicts since it’s all internally shipped and pre-configured, easy port mapping, immutable “system” files and volume mounting for persistent data… And much more. If built properly, container images solve almost all problems you’re grappling with.

    I can’t imagine ever building another application myself without containerization ever again. I can’t remember the last time I installed any kind of server-side software directly on a host without containerization, with the exception of packages required by the host that are unavoidable to support containers or to increase security posture.

    I’m my (admittedly strong) opinion, it’s absolute madness, and dare I say, reckless and incomprehensible, why anybody would ever create a brand new product that doesn’t ship via container images in this day and age, if you have the required knowledge to make it happen, or the capacity to get up to speed to learn how to make it happen (properly and following best practices of course) in time to meet a deadline.

    I’m sure some would disagree or have special use-cases they could cite where containers wouldn’t be a good fit for a product or solution, but I’m pretty confident that those would be really niche cases that would apply to barely anyone.


  • I run all of my services in containers, and intentionally leave my Docker host as barebones as possible so that it’s disposable (I don’t backup anything aside from data to do with the services themselves, the host can be launched into the sun without any backups and it wouldn’t matter). I like to keep things simple yet practical, so I just run a nightly cron job that spins down all my stacks, creates archives of everything as-is at that time, and uploads them to Wasabi, AWS S3, and Backblaze B2. Then everything just spins back up, rinse and repeat the next night. I use lifecycle policies to keep the last 90 days worth of backups.