[–] [S] 9 points 3 days ago* (2 children)

While I agree on principle, we're not always using big-name websites. The argument falls short for some-local-blog.com, there's no security improvement on clicking that link as opposed to shortener.tld/blog-link. I'd say we should trust the source of the link instead of the link itself. Link shortening can be useful if you want long links to look nice when sharing, or simply for personal use so that you don't need to remember long links to access an internal resource. Or just for personal websites. I can link my CV at https://domain.tld/cv instead of the full PDF file path, for example.

  • source
  • parent
  • context
  • [–] 3 points 1 month ago*

    Self-Hoster 🏡

    • Fleet: 2–3 devices · 5–10 TB
    • Motivation: Independence from Big Tech & subscriptions, Fun / the hobby itself, Customization & full control
    • My MVPs: Jellyfin, Forgejo, Navidrome, Syncthing, Chhoto URL

    (Also, Immich is another MVP.)

  • source
  • [–] 5 points 1 month ago* (last edited 1 month ago)

    Even though I avoid everything Microslop and Adobe like the plague, I think it's a good thing overall. There are many who would like to use Linux, but can't due to their work needing Office 365 or Adobe Creative Suite. If someone manages to make the latter work in Linux somehow, a large number of people will be enticed to switch to Linux.

  • source
  • [–] [S] 1 point 2 months ago*

    Thanks. Filtering does not cover expiry, but it does cover shortlinks, longlinks, and notes. Making expiry work will make the filtering inefficient for little benefit, since the expiry times are stored as UNIX timestamps in the database.

  • source
  • parent
  • context
  • [–] 3 points 2 months ago* (last edited 3 days ago) (1 child)

    Obligatory just search it bro.

    But anyway, I guess everyone starts somewhere. So I'll try my best to give you a summary. I'll try to make it super simple. Sorry if it comes off as condescending, that's not my intention. Also, I'm not an expert by any means when it comes to networking. So please correct me if I make a mistake.

    You first need to know what VPNs are. If you're thinking about stuff like ProtonVPN, then yes they are VPN, but we mean it in a broader sense. VPNs are simply tunnels in a network that make it looks like the traffic is coming from somewhere where it's not actually coming from. Imagine you're a kid, and your parents had an argument. Now you're stuck repeating one parent's words to another. That's a VPN. Your government doesn't want you to be able to interact with some site, VPNs can basically send you that data through somewhere else, which your government isn't blocking. That's the use for the commercial VPNs.

    But the other use, which is more relevant to this discussion, is simply being able to connect to a remote machine. Let's say you want to access your home PC when traveling. You're definitely not on the same network, but VPNs can create a tunnel which will let you act like you're in the same network. It'll essentially repeat/proxy whatever data/command you want to the remote machine, and vice versa.

    The industry standard for VPNs is wireguard. It's meant to be ultra lightweight, super fast, and super secure. It's now part of the Linux kernel, so basically available on most machines by default. While it's not hard to setup, it's not easy either. You need to manage your credentials, make sure that there are ports open so that the machines can reach each other, etc. It can get pretty complicated pretty quickly if you're stuck behind a CGNAT.

    Tailscale attempts to simplify that process. It uses wireguard-go (a userspace implementation of wireguard written in Go) under the hood to make these connections, but it takes care of the problems mentioned above automatically. So you have an account with them (the free tier is probably fine, or you can self-host using headscale), and you can simply start connecting devices and each device can talk to the other one as if they're on the same network. Tailscale essentially creates wireguard tunnels between each pair of devices, and manages all the networking quirks.

    It's by no means unique. There are services like Nebula, Netmaker etc. that attempt to do the same. Tailscale is just a good implementation of this idea. It also has apps for nearly every device you may want to use. Hope that cleared things up for you.

  • source
  • [–] 2 points 2 months ago* (1 child)

    For most "normal" setups, no. Networks, environment variables, volumes, permissions etc. map pretty much one-to-one.

    If you're using compose, you can even keep your setup mostly unchanged and use podman compose. Although, I would recommend learning a bit about quadlets and using them instead. There's a tool called podlet that can help you translate your docker commands to quadlets, although it's not complete and does miss some features. The annoying thing can be some QoL tooling that exists for docker compose that doesn't for quadlets e.g. automatic restart for changed quadlet files. I wrote some scripts for most of these situations. I will probably release them at some point after I make sure that they don't rely on any specific properties of my setup. But you can easily write them for yourself if you know some shell scripting.

    For docker run commands, you can mostly get away with changing it to podman run.

  • source
  • parent
  • context
  • [–] 7 points 2 months ago (4 children)

    The question has been answered. But since you seem to be new to containers, I'll just give you a recommendation. Just use podman. It can do pretty much everything that docker is used for, but it's rootless by default.

  • source
  • [–] 10 points 3 months ago* (3 children)

    Just like everyone else, I'll also recommend forgejo. But be prepared to handle bot traffic if you self-host it. My instance was hit almost constantly until I added strict rate limits, and made most of the stuff private. For a portfolio, I think Codeberg (or GitHub, that's where everyone looks for stuff) is better that self-hosting. But it can be good to keep a private instance for mirrors.

  • source
  • [–] 5 points 3 months ago* (last edited 3 months ago)

    I'm sorry, but since we're being pedantic, this is not a proof. It's full of assumptions, some of which are wrong.

    5% is clearly better than 100%

    Never denied it. 0% is even better. What matters is where it's used. If it's used for FFI, that's understandable. Any other use should be scrutinized more. And that's the issue. The claim of Zig's creator is that the devs of Bun are not reliable. And to me at least, his arguments make sense.

    it’s usual for Rust projects to use at least some unsafe

    Doesn't seem like it. This article claims that only about 20% of Rust crates use unsafe at all. Even among those, the vast majority use it for FFI, which is kinda unavoidable.

    but somehow 5% isn’t

    Again, no one claimed that. But we need more than "better than 100%" when it's a JS runtime. And the "better"ness isn't necessarily linear. So, even though it might be technically "better", it might not be by much. At that point, what even is the point of the rewrite?

    Again, I'm not claiming that it's actually badly written. I'm only claiming that your arguments are not adequate, and that Bun is not a reliable company, so take whatever they claim with a grain of salt.

  • source
  • parent
  • context
  • [–] 11 points 3 months ago* (2 children)

    It depends on where exactly that 5% lies. If it's in the core API that's used by the rest of the architecture, it essentially makes the whole codebase unsafe when used irresponsibly.

    I don't know if that's the case here, just pointing out that the 5% doesn't mean much.

  • source
  • parent
  • context
  • [–] 9 points 4 months ago* (last edited 4 months ago)

    As far as I understand, it doesn't keep copies of the different edits. The original file is saved, and the edits are serialized and stored in some form. Only one more copy is generated for the final version for preview and such. When editing again, you can add to or subtract from previous edits, and again a maximum of two files will be present. (But there would be no thumbnail, preview etc. for the original. So it isn't exactly double the storage usage.)

    This is my vague recollection from what I've read in the discussions, so take it with a grain of salt. But this is close to what's happening when you're editing.

  • source
  • parent
  • context
  • view more: next ›