• 0 Posts
  • 8 Comments
Joined 1 year ago
cake
Cake day: July 4th, 2023

help-circle

  • That’s most of what we do today.

    Every web app you use right now - which is most of your day for most users - is just a dumb terminal UI hitting some API on some foreign computer.

    Plan 9 uses the file system as a way of interacting with apis. Linux took this idea directly by copying in the/proc filesystem from 9, which are not bytes on a disk but are instead the kernel presenting its running processes in the format of files and directories in your file namespace, and with which you can interact to control those processes.

    It also took this idea and created FUSE - file systems in user space - so that you can do the same thing on Linux as a user, but with not quite the same ease you have on plan 9 - and notably, fuse file systems are not naturally network file systems, and so you can’t export them as easily to the network as you can with nine machines, where it’s implicit.

    Last, Linux took the idea of per-process namespaces from 9, setting the stage for all of the docker, snap, etc. tools we use today.

    In short, a lot of nine already is mainstream because it’s been adopted by Linux. However, using plan 9 and then returning back to Linux feels like putting on bulky gloves, because Linux did not start with these concepts in mind, but bolted them on after.

    /Tinyrant





  • It’s convenient. Can’t hurt to get used to it, for sure, in that it’s useful to not have to go through dependency hell installing things sometimes. It’s based on kernel features I don’t see Linus pulling out, so I think you’ll only see it more.

    As someone who runs nix-only at home, I mostly use its underlying tech in the form of snaps/flatpaks, though. I use docker itself at work constantly, but at home, snaps/flatpaks tend to do the “minimize thinking about dependencies and building” bit but in a workflow more convenient for desktop applications.