7 ms·
Plan 9 from User Space
- ryanolsonx 3y agoAcme is an interesting text editor for development. I've used it for React.js development before. Because of how you can script it, I could run Prettier on save and a few other things you'd normally expect in the JS world.
- jesusofnazarath 3y agoacme is the best unix editor period.
- bilegeek 3y agoIt has the smoothest cut/copy/paste routine once you get it down. Moving text around is just buttery. I personally find the lack of highlighting and auto-delimiters is a PITA for HTML/LaTeX though.
- Paul-Craft 3y ago> I personally find the lack of highlighting and auto-delimiters is a PITA for HTML/LaTeX though. Sadly, I have not used acme. Wouldn't this deficiency be simple to overcome with scripting? I guess that's one particular area where emacs, being essentially a specialized LISP interpreter, encourages you to think about these things by default.
- LukeShu 3y agoPerhaps you could script auto-delimiters. But it has no ability to format the text; you couldn't add syntax highlighting with scripting.
- Avshalom 3y agoyou could I suppose write a program that continuously scans the buffer and replaces things with unicode, but converts back to ascii on save. 𝕚𝕟𝕥 𝗺𝗮𝗶𝗻⦅𝑣𝑜𝑖𝑑⦆ ⦃ ⦄
- nmz 3y agoIf only it had keybindings.
- butterisgood 3y agoThat would be missing the point. It does have limited keybindings ctrl-a = go to beginning of line ctrl-e = go to end of line ctrl-u = cut from point to beginning of line esc = select the last "stuff" just typed The fact you can create your own "buttons" that do basically anything is pretty nice, but you REALLY want a 3 button pointing device to use it. It also doesn't care about the programming language you use to create such a button, but you will work with the filesystem metaphor provided by Acme itself to get things done. I find the mouse interface is extremely fast, and when you couple it with the power of the plumber in Plan 9, it's a reasonably good way to navigate around a complex workflow. It's also a reasonably small environment in terms of lines of code. The Go version (Edwood) is pretty good too! https://github.com/rjkroege/edwood https://github.com/rjkroege/edwood
- nmz 3y agoTo sacrifice keyboard chording because mouse chording exists is... baffling. You only have 4 bindings, You have at least 50 keys in your keyboard with 3 modkeys, That's a lot of combinations to do anything you wish for. Sure, use the mouse more, but to expect to not use standard keybindngs or adding any? It has to be a joke. You can't even press the down key to go to the line below!
- dexen 3y agoAcme has a handful of keybindings, like the usual ^A, ^E for navigation, ^Z for undo, etc. Plugging in new ones is a few lines of code, for example my ^S for Putall (saving all windows): https://github.com/dexen/plan9port/commit/78324a4666c4b5e0bd5c7bf6149c2a9f70f7a0b8 https://github.com/dexen/plan9port/commit/78324a4666c4b5e0bd... Most of keybindings you might want to add are handled by Acme's "commands" - like Edit. If you repeat them any often, it's easy and straightforward to connect the keybinding to the command in code. Alternatively, to avoid going into C, write a shell script with ready-made command; Acme is well prepared to be managed through shell scripts. The shell scripts have full access to Acme's Windows (open files, directories, scratchpads etc), including ability to edit content, open new ones, interpret right-clicks in new ways, etc.
- cyberpunk 3y agoI used it for about a year, once you have everything scripted and setup just how you like it it's.. Meh. Ok? I eventually got tired of only really being able to work at my desktop though (I still couldn't work out how to chord properly when using the trackpad on my laptop). These days I use goland and vim, and I feel much more productive.. I still write crazy amounts of small tools and scripts to solve little problems though, and my .profile has like 200 alias's, so I guess some of it bled over..
- InfosecIcon 3y ago[dead]
- JHonaker 3y agoAfter a brief diversion with the Acme editor (a big part of Plan 9) and some modern Smalltalk environments (Squeak, Cuis, and Pharo), I can't help but feel like we are stuck in a very local optimum as far as UI/UX go. The insane amount of introspection available to you in a Smalltalk image, and the way every bit of text becomes a potential button or action in Acme just put the lack of creativity in modern interfaces. I say all this as a Haskell and Nix fan as well, so I'm very in-tune to the benefits of functional purity and reproducibility in a computing system. It really makes the silo-ed world of isolated microservices, containers, and walled "garden" ecosystems seem really sad. I guess this is my way of saying, that we should all try to do things differently. Haskellers, go learn Smalltalk. It's not a big deal that things mutate things when you can literally inspect every object as its running, including the debugger :D. Smalltalkers (or Rubyists or whatever is closest) go learn Haskell. Sometimes boundaries are GOOD. Formality can be very helpful when it comes to organizing, designing, and reasoning about your stuff! And we should all try to do something weird.
- Paul-Craft 3y agoOne could say much the same thing about emacs and vim as well. emacs, in particular, is essentially nothing more than the elisp interpreter, with some good primitives to build a (some say mediocre) text editor inside a pretty cool operating system. What sort of "weird" do you think would be fun?
- JHonaker 3y agoI have been using Emacs as my daily driver for about a decade. It's the closest thing we have to a "popular" Smalltalk environment. The desire to bring everything into Emacs is the same desire I felt after experiencing what computing could be in Smalltalk. One of the really striking things that you're confronted with in a modern Smalltalk is the Morphic UI system. Imagine that, with one click, you could drop into a new window with a live inspector and a (very freeform, repl-ish that's not a repl) REPL loaded into the internal context of any button, window, pane, scrollbar, you name it that you can see right now. (Even my own vocabulary is stifled with the traditional UI/UX we have now!) Now imagine you can do that on any application on your computer. Now imagine you can drag those subcomponents around, rearrange them, drag them onto new windows, modify their code, spawn new ones, and so on all while the thing keeps running and functioning. If you break something, it's okay. The debugger pops up and allows you to do the same thing that you did when you inspected the widget for any point in the frame in the stack trace. Yes, you can debug, live, multiple levels of your stack trace at the same time, that have live, editable versions of the code as well. You don't have to imagine it. You can see it here [1] or just download a Smalltalk system yourself. If the Smalltalk community focused on building some tooling to allow you do develop other languages inside a Smalltalk image based editor, I don't think even Emacs could compete. --------------------------------------------------------------------- As far as what kinds of weird would be fun, I always find new interaction paradigms fun. That's one of the things I loved the most about Acme. It's kind of crazy how versatile and adaptable "execute the highlighted text in the shell" is as a core interaction loop. If you want to search files for something, just type `grep` in front of the word, select them all, and then you get a new buffer with the results. Which are, of course, editable and executable in the same way. The two most common places I see experimentation in this are in Linux window managers and programming languages. I've tried StumpWM, i3, and AwesomeWM before. I wish there were more people experimenting with non-tiling things. The person behind this project is doing some very cool stuff [2]. There are tons of people making cool, small (and large) new programming languages like Idris, Janet, Lean, and Pony and lots of people still using really cool old programming languages like APL (or J or K or BQN), Forth, and Scheme (Racket is great, Gerbil built on Gambit is insanely good for a one person project). I see some insanely cool stuff about prototype languages doing staged metaprogramming (lookup Collapsing Towers of Interpreters if you want to read about something really cool, i.e. compiling out the costly abstractions in infinite towers of reflective interpreters), dependently typed experiments, and other wild shit. Surprisingly, there seems to be a lot (sadly meaning only 2-3 actually separate movements) going on in the "OS space" too with immutable/declarative system specification. I'm referring of course to Nix and Guix and things like Fedora Silverblue and OpenSUSE MicroOS. That's gaining steam quickly. I personally find the Nix language rather fun and interesting in its own right, but I think I'm on the minority side of that. Broadening out past that, hell I don't know. That's why I put the call out to everyone else :D [1] https://youtu.be/QTJRwKOFddc https://youtu.be/QTJRwKOFddc [2] https://codeberg.org/mmontone/mold-desktop https://codeberg.org/mmontone/mold-desktop
- Paul-Craft 3y agoFor those who are unfamiliar, Plan 9 from User Space a pun on Plan 9 from Outer Space, an infamously "so bad it's good" movie from the 1950s. It has this ridiculous bimodal distribution of review scores as a result: https://www.rottentomatoes.com/m/plan-9-from-outer-space https://www.rottentomatoes.com/m/plan-9-from-outer-space https://www.imdb.com/title/tt0052077/ratings/ https://www.imdb.com/title/tt0052077/ratings/ https://www.mentalfloss.com/article/78785/10-out-world-facts-about-plan-9-outer-space https://www.mentalfloss.com/article/78785/10-out-world-facts... https://www.bbc.com/culture/article/20220107-is-this-the-worst-film-ever-made https://www.bbc.com/culture/article/20220107-is-this-the-wor... https://en.wikipedia.org/wiki/Plan_9_from_Outer_Space https://en.wikipedia.org/wiki/Plan_9_from_Outer_Space
- msla 3y agoThe more proximal referent is Plan 9 from Bell Labs: https://9p.io/plan9/ https://9p.io/plan9/ > Plan 9 from Bell Labs is a research system developed at Bell Labs starting in the late 1980s. Its original designers and authors were Ken Thompson, Rob Pike, Dave Presotto, and Phil Winterbottom. They were joined by many others as development continued throughout the 1990s to the present.
- jhbadger 3y agoTrue, but that in turn was named after Ed Wood's Plan 9 from Outer Space. And its mascot "Glenda" is a reference to another of Wood's movies, Glen or Glenda.
- Paul-Craft 3y agoThat's not funny though, and it's an obvious reference to the movie. > The name Plan 9 from Bell Labs is a reference to the Ed Wood 1957 cult science fiction Z-movie Plan 9 from Outer Space.[17] The system continues to be used and developed by operating system researchers and hobbyists.[18][19] https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
- fsckboy 3y ago
- dang 3y agoRelated: Plan 9 from User Space (aka plan9port) - https://news.ycombinator.com/item?id=3064180 https://news.ycombinator.com/item?id=3064180 - Oct 2011 (2 comments) Plan 9 from User Space - https://news.ycombinator.com/item?id=2125731 https://news.ycombinator.com/item?id=2125731 - Jan 2011 (6 comments) Plan 9 from User Space - https://news.ycombinator.com/item?id=1266168 https://news.ycombinator.com/item?id=1266168 - April 2010 (6 comments)