Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 6 Posts
  • 1.62K Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle
  • Are there better alternatives for newbs who just wanna self host stuff?

    Docker is great for a beginner, and even for an expert too. I’ve been self-hosting for 20 years and love Docker.

    The main alternative is Podman. It’s a fully open-source alternative to Docker (Docker has some proprietary, paid parts like the desktop app). Podman uses Docker containers - technically they’re “OCI containers” and both Docker and Podman implement the OCI spec.

    Podman’s architecture is different. The main difference with Podman is that it never runs as root. With Docker, you can either run it as root or in rootless mode, but the default is running it as root.




  • That’s why I said “sold by Amazon”. The drop shippers are all third-parties. Instead of the item saying “Sold by Amazon”, it’ll say something like “Sold by [some third party] and fulfilled by Amazon”.

    Stuff sold by Amazon themselves is generally okay, since they’re directly responsible for it (no third party they can blame for any issues).

    I try to avoid Amazon where possible though. B&H is pretty good for electronics, and I know I’m not going to get cheap Chinese knockoffs when I search their online store.









  • Yeah, it really depends on how much you trust the vendor.

    Google? Say what you want about the company, but they’ll never intentionally serve malware.

    Random company with no track record where we don’t even know who is maintaining the code? Much less trustworthy. The polyfill . io repo is currently owned by a Github user called “polyfillpolyfill” with no identifying information.

    Third-party CDNs make less sense these days though. A lot of hosting services have a CDN of some sort. Most sites have some sort of build process, and you usually bundle all your JS and CSS (both your code and third-party code, often as separate bundles) as part of that.








  • Reposting my comment from Github:

    A good reminder to be extremely careful loading scripts from a third-party CDN unless you trust the owner 100% (and even then, ownership can change over time, as shown here). You’re essentially giving the maintainer of that CDN full control of your site. Ideally, never do it, as it’s just begging for a supply chain attack. If you need polyfills for older browsers, host the JS yourself. :)

    If you really must load scripts from a third-party, use subresource integrity so that the browser refuses to load it if the hash changes. A broken site is better than a hacked one.


    And on the value of dynamic polyfills (which is what this service provides):

    Often it’s sufficient to just have two variants of your JS bundles, for example “very old browsers” (all the polyfills required by the oldest browser versions your product supports) and “somewhat new browsers” (just polyfills required for browsers released in the last year or so), which you can do with browserslist and caniuse-lite data.