• 0 Posts
  • 16 Comments
Joined 8 months ago
cake
Cake day: November 10th, 2023

help-circle


  • The thing that confused me when first learning about docker was, that everybody compares it to a virtual machine. It’s not. Containers dont virtualize anything. They take a (single) process from the host OS and separate that into its own environment. All system calls, memory access, file writes etc are still handled by the same os (same kernel). However the process is separated both on the file system and process level. It can’t see other processes outside of the container and it also doesn’t see the real filesystem. It sees a filesystem provided by the container. This also means it sees different file and user permissions. When you run a alpine Linux docker container on an Ubuntu system, the container only containes the (few) files for alpine but no Linux kernel no desktop environment. A process inside that container only sees the alpine files and not the Ubuntu files. It also means all containers see a filesystem independent of each other and can use libraries and dependencies of different versions (they are only files after all).

    For administration it makes running complex services easy. You define how to setup that service (what base Linux distro to use, what packages to install, what commands to run, and how to start the process). You can then be save to assume the setup of that service did not interfere with the setup of any other service. “Service 1 needs a certain system wide config changed? Service 2 needs that config in the default state? And both need a different version of the same library?” In containers you can have all at the same time because they each see a different version of the same config and library.

    And all this is provided by the kernel itself. All docker does is provide an “easy” way to create and manage containers but could could do all of that using chroot, runc and a few other.

    As a note, containers usually don’t come with systemd as they don’t need an init system. You would run the service directly inside the container and then use systemd outside the container to make sure the container is started/restarted, or just docker as it can already do that.

    I found a great article demystifying containers recently




  • True but OPs question is a bit different: “Since I was a child, my leg hurts when I turn it to the side. It influences my daily life but I have learned to live around it and found remedies that somewhat help with it. I recently learned that other people’s legs dont hurt that way. Is there a point in getting a diagnosis of why my leg hurts when I already know how to live with it?”

    The response is the same: mental health is as important as physical health. But it’s a question about chronic issues.










  • One caveat about the Olympics is, you can’t just choose to compete there yourself as an athlete, even if you are world class. You have to be part, and chosen by, a national organisation. So even if the Olympics allow trans athletes, as long as most countries don’t, there won’t be trans athletes any time soon. I agree on the rest, I just don’t think the Olympics will be a forerunner in terms of trans representation.


  • groet@feddit.detoGaming@lemmy.worldThen vs Now
    link
    fedilink
    English
    arrow-up
    44
    ·
    5 months ago

    No idea why they attached the FPS directly to the hardware.

    It’s the most trivial and straight forward thing to do. The game is a simple loop of:

    • get user input (can be nothing)
    • calculate new game state based on old state and input
    • draw new game state.

    The speed of the game is now 100% dependant on the speed of computation. NOT attaching fps to hardware is the hard thing, as you need to detach the game state loop and the drawing loop and then synchronize them. Doing that yourself is extremely complicated. Today developers don’t even need to think about that because the whole drawing loop is abstracted away by things like directX/Vulcan and the game engine. But without those tools, fps tied to CPU speed is basically the default.