• 8 Posts
  • 829 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • lemmyvore@feddit.nltoSelfhosted@lemmy.worldWeb printing
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    12 days ago

    You don’t have to install drivers or CUPS on client devices. Linux and Android support IPP out of the box. Just make sure your CUPS on the server is multicasting to the LAN.

    You may need to install Avahi on the server if it’s not already (that’s what does the actual multicasting). The printer(s) should then auto magically appear in the print dialogs on apps on Linux clients and in the printer service on Android.

    On Linux it may take a few seconds to appear after you turn it on and may not appear when it’s off. On Android it shows up anyways as long as the CUPS server is on.





  • Mozilla has already shipped strict privacy mode by default in recent versions of Firefox so they’re already a leg up on this.

    Google is currently trying to transition people to its own proprietary method of tracking (where the browser itself tracks you) so they would love it if third party cookies were no longer usable for that.

    Mozilla has also added a direct tracking feature (anonimized) to Firefox btw. Not sure what their agenda is.

    Websites are irrelevant, if third party cookies stop working in major browsers there’s no point in setting them anymore, they’ll be ignored.



  • You should consider if you really want to integrate your application super tightly with the HTTP protocol.

    Will it always be used exclusively over a REST-ful HTTP API that you control, and it has exactly one hop to the client, or passes through hops that can be trusted to never alter the HTTP metadata significantly? In that case you can afford to make HTTP codes semantically relevant for your app.

    But maybe you need to pass data through multiple different types of layers and different mechanisms (socket protocols, pub-sub, file storage etc.) In that case you want all your semantics to be independent from any form of transport.


  • It’s a perfectly fine way of doing things as long as it’s consistent and the spec is clear.

    HTTP is a transport layer. You don’t have to use its codes for your application layer. It’s often done that way but it’s not the only way.

    In the example above the transport layer is saying “OK I’ve delivered your output” which is technically correct. It’s not concerned with logical errors inside what it was transporting, just with the delivery itself.



  • TBF in most cases forced app obsolescence is on the developers. Some of them are super aggressive and will force you to update without really needing it. Like, come on, package tracking app, I really don’t believe you’re unable to show me the package pick-up barcode without updating. 🙄

    But yeah, on iOS it’s completely impossible to get older versions, once you’ve updated something that’s it. And even on Android I’ve noticed that it’s become impossible to downgrade some apps even if I have the old apk, the Google installer simply fails to install it if I’ve ever had a newer version installed.


  • In the olden days software used to be sold by individual major versions. You paid for version 9, you paid for version 10. Or you skipped versions you didn’t need. You could use versions side by side. The newest installed would import its data from the older ones. etc.

    App stores have made this very awkward or almost impossible. There’s no concept of separating major versions. You’d have to buy and install completely different apps to be able to pay for them separately and to use them side by side, but if they’re separate apps they can’t import your data from each other. Not to mention that people seem to hate having “too many apps” for some reason.

    Software subscriptions switch the “support per major version” to “support per time of use”. It’s obviously shittier but it’s more realistic than a one-time price and expecting to use the app in all future versions in perpetuity. The one time price would have to be very large to be realistic.


  • It’s impossible to tell how meaningful Backblaze’s numbers are because we don’t know the global failure rate for each model they test, so we can’t calculate the statistical significance. Also there are other factors involved like the age of the drives and the type of workload they were used for.

    buying more reliable devices can definitely save you time and headache in the future by having to deal with failures less frequently.

    That’s a recipe for sorrow. Don’t waste time on “reliability” research, just plan for failure. All HDDs fail. Assume they will and backup or replicate your data.



  • For home setup you don’t care because you should have either redundancy or backup (preferably both).

    So that typically means buying the cheapest HDD that’s new and from one of the established brands (Seagate, Western Digital, Toshiba) that’s in the correct size for your needs, and you can afford to buy it at least twice (for the aforementioned backups or redundancy), or even thrice, and replace as soon as needed.

    In other words there’s no need to speculate on how long an HDD will last, you simply replace it when needed.

    Please also note that HDDs over 10 TB are starting to get increasingly replaced with enterprise models which run hotter and make more noise.