Hi! I have many questions which I will try to phrase in ways that that can be answered in yes/no format, in the hope that my post will be no burden. I did not see anything in the sidebar restricting such a post, and neither have I found answers online.

  • I am currently focusing on 9front. There being approximately 15 Plan 9 derivatives, is this community appropriate for asking 9front questions?
  • I read that Plan 9 is monolithic, but I found a lot of apocryphal evidence that it’s actual quite much more of a microkernel in spirit. Is this at all true?
  • Searching “plan 9 Rust” returns only results for r9. Is there any cross compiling, or has Rust be ported to 9front? To be clear, I have no interest in Rust itself, but there are some programs written in Rust I’d like to have.
  • I hate having to use a mouse. I consequently have greatly disliked Acme every time I’ve used it. Should I give up on 9front?
  • I want helix as my editor. This is really just rephrasing the previous two questions: is there any hope of me being able to get Helix running on 9front?
  • I hate mice, and so want a tabbed window manager. I vastly prefer herbstluftwm, but honestly any keyboard-driven tabbed WM workflow would work. Plan 9 doesn’t run X; I’m not sure it even has the concept of window managers. Should I just give up on 9front?
  • I mainly program in Go. Both Russ Cox and Rob Pike, often mentioned in the 9front literature, were/are instrumental in the creation of Go. The last post I read that mentions a Plan9 port was from 2015. Will I be able to develop Go on 9front?
  • I don’t care about git, but 9front devs have to be using something for VCS. What is it - or what are the VCS options? Please don’t tell me it’s still cvs, or shudder rcs.

Am I thinking about this all wrong? Is 9 front really just turning your powerful workstation into a dumb terminal from which you connect to other computers running all of the other software you need to do development? Or is it shoehorning folks into a drastically constrained set of tools - ACME, Plan9 C, Rio - useful for developing Plan 9 tools and little else? Or is there a wonderful world of Plan9 diversity, with the ability to support diversity, accommodate people who can’t or won’t use pointing devices, running tools that can cross compile to a variety of target platforms?

  • bubstance@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 days ago

    I’m going to go point-by-point.

    is this community appropriate for asking 9front questions?

    Sure, it’s the most active part of Plan 9 by a country mile.

    I read that Plan 9 is monolithic, but I found a lot of apocryphal evidence that it’s actual quite much more of a microkernel in spirit. Is this at all true?

    My understanding is that Plan 9 is closer to a microkernel, yes.

    Is there any cross compiling, or has Rust be ported to 9front?

    No, at least not in any active form to my knowledge.

    I hate having to use a mouse. I consequently have greatly disliked Acme every time I’ve used it. Should I give up on 9front?

    If you hate mice that much, probably. You’re just going to be fighting with everything otherwise.

    is there any hope of me being able to get Helix running on 9front?

    Probably not.

    I hate mice and so want a tabbed window manager. I vastly prefer herbstluftwm, but honestly any keyboard-driven tabbed WM workflow would work.

    There are ways to get a sort of “keyboard-centric” workflow by using riow(1), but you will need to use the mouse often. It’s just part of the whole vibe when using Plan 9 — it was built around graphical displays and 3-button mice being the assumed standard. There’s also an alternative to rio called lola which has workspaces and tabbing out of the box, but it doesn’t have a keyboard controller at this time.

    Should I just give up on 9front?

    Probably. I’m going to go out on a limb and say that a good deal of the 9front devs might say something along those lines as well.

    Will I be able to develop Go on 9front?

    Go is well supported on 9front. I built the latest version from source last week and use Rob Pike’s ivy and sid basically every day.

    what are the VCS options?

    See git(1) and our ancient version of Mercurial.

    Am I thinking about this all wrong?

    Probably.

    Is 9 front really just turning your powerful workstation into a dumb terminal from which you connect to other computers running all of the other software you need to do development? Or is it shoehorning folks into a drastically constrained set of tools - ACME, Plan9 C, Rio - useful for developing Plan 9 tools and little else? Or is there a wonderful world of Plan9 diversity, with the ability to support diversity, accommodate people who can’t or won’t use pointing devices, running tools that can cross compile to a variety of target platforms?

    I’m just going to be real: Plan 9 as a whole may not be what you want. It’s less of an OS for individual machines and more a set of building blocks for the network as a whole. It is also primarily “intended” for building tools that take advantage of the specific ways that it presents itself when it comes interfaces. In short: less ports, more building from scratch to do things “the 9 way.”

    Plan 9 is about using heterogeneous groups of machines to create networks where different pieces can be swapped and assigned to different machines as needed/desired. Installing Plan 9 on a single and self-contained system, while interesting and definitely possible, is kind of missing the point.

    The original idea was basically to use low-powered diskless terminals to connect to a file server and, eventually, separate powerful number-crunching CPU servers. The file servers would only serve files, the cpu servers are for the actual computing and compiling, and the terminal was where you did all of your actual “work” in that it was the machine you were physically seated at. The individual boxes behind the scenes almost stop mattering at a certain point; everything just becomes a single contiguous 9-thing to the user once all of the infrastructure is in place.

    I would highly suggest watching basically everything from the adventuresin9 YouTube channel if you haven’t already.

    With all of that out of the way, I would also suggest giving it a try, but coming to Plan 9 with a different mindset and meeting it as it is and with what it gives you out of the box. If you haven’t yet, join the SDF Boot Camp and poke around on a real system instead of doing the traditional “install in a VM” test.

    You’ll get used to it quickly and may even start to like it.

    • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍OP
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      Thanks for providing details. I really like the core concept of everything being a file; I do wish they hadn’t made the mistake of going to heavy on the mouse.

      I can almost be comfortable in Linux with only the console. There are some things that need graphics, and I haven’t quite figured all those out, but… is there a similar mode for Plan9? As if, in Linux, you simply don’t start X, log in, start a tmux session and go from there? Using SDL when necessary? Anything like that? It’d be pretty close if you could run Rio, open one big fullscreen terminal and run tmux (or whatever similar is available in Plan 9).

      • bubstance@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        2 days ago

        I do wish they hadn’t made the mistake of going to heavy on the mouse.

        Some of us don’t really view that as a mistake. ☺

        Using the console-only mode will be an absolute pain, I can assure you. You won’t have ^F completion in rc and there’s literally no scrollback buffer. The main way of even seeing the scrollback buffer (manipulating /dev/text) doesn’t work because /dev/text simply doesn’t exist when you aren’t running rio. There also isn’t a dedicated terminal multiplexing application because that isn’t needed when running rio. That being said, you can access it by simply setting monitor=none in plan9.ini. You’ve been warned.

        Some people choose to simply launch acme instead of rio from $home/lib/profile to get a minimalistic text-only interface, but you come up against a problem: you can’t launch any graphical applications because they all require parts of the windowing system (rio or lola). You also still need to use the mouse, of course.

        In short: if you’re looking for a novel UNIX-like text-only environment, look elsewhere. Plan 9 is almost entirely built around being able to log in with graphics.

        • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍OP
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          Some of us don’t really view that as a mistake. ☺

          The mouse is a useful input device for some things. It’s categorically horrible for most of the things it’s used for. The repetitious movement of taking your have off the home row, finding the mouse, the relatively large movements required to actually move the mouse, and moving your hand back to the home row and finding the correct position to type again is really very bad. Even finding the pointer takes time and shifts cognitive effort from the task. Then there’s the issue of the pointer itself obscuring screen elements.

          There are ways to improve this - track balls under the thumb, auto-hiding the cursor, “find the pointer” hotkeys - every single one of which is a hacked on fix to try to improve a tool wedged into a service for which it is not appropriate.

          The mouse is wonderful if what you’re doing keeps your hand on the mouse: gaming, manipulating graphical elements, whatever - although, the fact that artists prefer drawing pads when they can afford them is more proof that the mouse’s domain of useful application is even smaller.

          Programs spend a lot of code providing ways for power users to not have to use the mouse.

          I like to own a chisel. It is the right tool for some jobs, and it can be used for many jobs. What OS designers have done - largely thanks to Apple - is designed user interfaces around the computer equivalent of a chisel, and it’s IMO one of the greatest mistakes our industry has made.

          It’s too bad to hear about how tightly coupled the pointer is. The mouse is an enabler for beginners - that’s one of its strengths - while being terribly, and measurably inefficient for experts; and the irony, in my mind, is that Plan9 is far less likely to attract computer novices than computer experts.