• 2 Posts
  • 74 Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle









  • Unfortunately most companies don’t have a software culture or even understand it. Heck there are entire nations (like Japan) that are culturally at odds with software. It doesn’t stop them from making software (you can’t NOT make software in today’s day and age), they just go about it in furtive, roundabout and ultimately very inefficient ways.

    It’s weird because modern software development borrows heavily from industrial process optimizations (some of which were invented and perfected in Japan, ironically) and there are clear, proven benefits to cooperation upstream in projects like Linux… and yet they still fight it every step of the way in the name of “IP”.

    It doesn’t help either that there are countries (US, Japan, what do you know) that nurture the concept of software patents that have a chilling effect on sharing.





  • Sharing code makes sense for everybody. It lets them spend a lot less resources on fixing shit if everyone else is also doing that somewhere upstream. With FOSS you can have your cake and eat it too. At some point Google calculated that committing one developer upstream for the Linux kernel can save a company the equivalent of a couple dozen specialist developers downstream in bug prevention and feature alignment across vendors alone.

    Unfortunately many companies continue to think about code as if it were potatoes. It doesn’t fucking matter who owns the code, it’s a functional spec. But hey, look at all the trouble we have explaining why standards are good – nevermind opening code.


  • In Docker’s case is a non-issue because they were careful to use completely different names for all their packages. It’s only when the external repo uses the same names as the core that the dependency resolver can get confused.

    Rant:

    apt should either completely forbid external repos from using core package names (like Arch does), or look at both the package name and repo URL when deciding if a package is the same, not just package name.

    I’m guessing that letting external repos “hijack” a package name was once upon a time seen as a feature and then they never got around to fixing it.


  • You say that but sometimes they come up with stuff that’s really useful and it can be very annoying to not have it. Like when they integrated compose into the main.

    Also, if you later decide to switch to the official version you’ll have to handle the upgrade carefully or you risk wiping out all your images, containers, networks, volumes etc. Which can be fine if you have backups of all the relevant functional definitions and the volumes and so on, but obviously a huge pain if it catches you unprepared.

    Mind you, this can also happen by tinkering with stuff in /etc/docker/daemon.json, which is how I originally learned to back up my shit.



  • If you already know Debian that’s a big point in its favor. Nothing beats a distro you’re familiar with. (And I’d make the same argument if you were used to Ubuntu.)

    I’ve used both Debian and Ubuntu Server on my home servers and I ended up returning to Debian.

    • Debian embodies and follows the most essential Linux values. It’s open, it’s run by an open organization, it avoids proprietary stuff.
    • Debian is long-lived. It’s been around for 30 years, it’s mature, self-sustaining, community-run project, and it will be around 30 years from now. Whereas I wouldn’t bet on Canonical being around in 30 years.
    • The upgrade path for Debian is better than for Ubuntu Server LTS.(1) You can upgrade it in-place between major versions a lot more reliably and painlessly than Ubuntu.
    • Debian is dedicated to being stable. (Please run stable, btw.)
    • Debian is a lot more resource-friendly than Ubuntu Server.

    I’ve ended up concluding that Ubuntu Server is Debian, just with more quirks. It offers nothing essential that you can’t do on Debian, and it will just complicate your life when the LTS support period eventually runs out (and even during LTS, when you have to jump through hoops like Ubuntu One to keep updates coming.)

    (1) You can fuck up both Ubuntu and Debian’s upgrades by adding a lot of 3rd-party repos because apt doesn’t safeguard against external repos interfering with the core repos’ dependency graph.

    So the trick is to keep the OS minimal, install only Docker from its repo and install anything else in Docker containers. That way you benefit the most from Debian being stable and very little from Ubuntu Server.

    If you also need to run system containers and virtual machines you can add Incus later to the mix alongside Docker and still keep your host OS lean and simple.

    You can also consider completely migrating to Proxmox later, which is also Debian under the hood but it’s a more turnkey solution. I wouldn’t recommend jumping straight into Proxmox unless you’re fairly sure that you’d need to run VMs. (If you’re unsure stick to plain Debian for now.)


  • I would recommend reconsidering how you obtain LE certs. I ended up on Certbot too because it lets you own what is a critical part of your selfhosted identity. Plus Certbot works well and it’s maintained by the EFF who also see it as a critical project. As a local script (basically) sky’s the limit regarding automation.

    This is personal preference but I strongly prefer to locally control critical automations about my setup (certs, DDNS etc.)

    The certs produced by Certbot are portable and you can use them with CF, local reverse proxies, or whatever other infrastructure you may need. Just need to get a copy to the proper place (securely).

    I guess in the bigger scheme of things the question is whether you’re ok being tied to a particular service (like CF). I don’t, and I also don’t want to depend on the LE implementation of any particular reverse proxy (or their plugins).

    PS: Oh and another tip: if you do end up using a CLI tool for certs, stick to Certbot. I’ve tried pretty much everything else and they all suck. It’s actually unbelievable how much they suck. Arcane and opaque, the lot of them, which is not something you want from a critical tool.


  • That’s a good point… was just looking into how I’d go about backing up my post+comment history and the only answer is basically “you need to use a special tool that pretends to be a lemmy client and fetches your history item by item”. I guess “host your own instance and migrate to that” is another one.

    Which is surprisingly silly for what was supposed to be a more open platform than others. Heck, I can submit a GDPR request to Reddit and get a full dump of my account within the hour.