Slashdot Mirror


Acme for Windows

jacoplane writes "You may remember Rob Pike from his Slashdot interview. Since his interview, his two-dimensional text editors have experienced many improvements and ports including license improvements. A port to Inferno has been around for awhile. Recently a standalone version has been made for Windows based on the Inferno port. Linux users are in luck as the native port is now legally distributable."

21 of 176 comments (clear)

  1. disambiguation by Peganthyrus · · Score: 4, Insightful

    his two-dimensional text editor

    As always, the central question of 'what's this story about?' is not a link. Sigh.

    --
    egypt urnash minimal art.
  2. Acme sucks! by Stormwatch · · Score: 4, Funny

    ...just ask Wile E. Coyote!

  3. Rob Pikes 1994 paper by ems2 · · Score: 5, Informative

    Worthwhile read: "Acme: A User Interface for Programmers" (PDF). Its a bit outdated but explains acme beautifully.

  4. Wait, what? by Anonymous Coward · · Score: 5, Funny
    Acme is a text editor and shell from the Plan 9 operating system, designed and implemented by Rob Pike. It can use the sam command language. The design of the interface was influenced by Oberon. It is different from other editing environments in that it acts as a 9P server. A distinctive element of the interface is mouse chording.
    ...I'm sorry, but I read your wikipedia link and I still have no idea what this program is supposed to be :O

    I read this and I imagine Data saying "Captain. I have an idea. If we reverse the tachyon coefficient to the digital anomoly drives, we can invert the neutrino wave probe." And Patrick Stewart says, "Do it."
    1. Re:Wait, what? by ems2 · · Score: 5, Informative

      The Wikipedia article is crap. Rob Pikes 1994 paper: Acme: A User Interface for Programmers explains what acme is. Also check out the introduction documentary when you first start acme.

    2. Re:Wait, what? by bonkeroo+buzzeye · · Score: 5, Informative

      Holy synchronicity Batman.

      I just installed the Inferno virtual machine on my Windows box last night because I didn't want to gunk up my Linux and BSD boxes. Plan9 is a sort of Unix the Next Generation, to continue the Star Trek motif. Sam - dunno, haven't got that deeply into it yet, but I gather it's 'sed, the Next Generation' - an editing command set. Oberon (again with the odd synchronicity, as I installed Oberon on my 486 before it died back when) is basically an academic operating system in which everything on the screen was both a display of information and a command interface. 9P seems to be a sort of protocol for communication that relies on the "everything's a file" thing being carried to its ultimate conclusion. Plan9 is kind of conceived as a distributed system in which there's no real distinction between 'local' and 'remote' because *everything* can be mounted and accessed from wherever. Mouse chording is simply a really annoying mechanism whereby you might hold a mouse button while pressing a key. A middle-click, hold, keystroke, and release, is distinct from a middle-click.

      As far as the editor itself, Pike compares to Emacs in the sense that it's a shell, file manager, window manager and editor (and more) all rolled into one. It's also kind of like running vim with 'Sexplore', only - again - much more thoroughgoing. Except he makes the distinction that Emacs is bound to the 'teletype' concept and era. Plan9 is heavily GUI-oriented and mouse based. However, it's GUI in the sense of windowed text and clickability, not in the sense of pretty icons. It's more like every text object is a sort of icon. But there's no 'pictographic' icon that doesn't *say* anything.

      So, yeah - distributed networked next-generation GUI mouse Unix. Sort of. And the editor is an all-in-one interface.

      Unfortunately, Plan9 is actually nothing new. It's like Unix guys seeing a mouse and saying 'Oooh, look what Zog do' and going overboard, while retaining a kind of X11R4 look'n'feel. And, being a vim user and keyboard-centric and whatnot, myself, I find it interesting in a sort of theoretical sense, but not anything genuinely usable or even the right direction to go.

      *My* question is, what does this Windows editor port do that I didn't do last night by just installing Inferno? It was a simple thing to do and gives me rio, acme, and so on and so forth. Also, Plan9 from User Space has been available to Linux and BSD users for quite awhile, AFAIK.

      Sorry if this is a bit breathless and incoherent, but hopefully more detailed than the technobabble writeup. And, as I say, it's still pretty new to me. That's just my rough perception of things.

  5. wmii by John+Nowak · · Score: 5, Informative

    If you like acme, check out wmii, a window manager inspired by acme (amongst other things). It is incredibly innovative, and version 3 was just released.

  6. Hmmm.... by Mr+Z · · Score: 4, Interesting

    Ok, seem to remember hearing about some really neat usability features in the Plan 9 interface awhile back. I'd be useful if some were recapped here... Also, is it just me, or do these Plan 9 GUIs combine eye-bleeding fonts with poor Gestalt, as my tech writing professor would say? I'm talking about figure-ground separation and all these things that separate a GUI from a big jumble of text.

    (Given that I'm having a hard time finding good links for Gestalt and figure-ground separation mean my tech-writing prof was ahead of his time, or a total crackpot? I happened to really agree w/ everything he taught.)

    --Joe
  7. Looks interesting, but does it fold? by mad+zambian · · Score: 3, Interesting

    This looks like it could be fun. Certainly a new and baroque method of blowing your own feet off. I have skimmed the pdf and this looks like a fun tool to play with.

    On a vaguely related matter..
    I have been looking for an editor that does folds.

    If I have to scroll through hundreds or thousands of lines or code, I would love to be able to take a chunk of code that I am not interested in seeing right now and fold it out of sight, with an indicator that there is a fold in the text.
    Functions that has been tested, comment blocks etc etc.
    What else you could do with folded blocks (cut, copy...) ? Not really botherd, but I would still love an editor that let me fold. (I can do the spindle and mutilate just fine already)

    I know the Occam development system for Transputers had an editor that folded but I have not seen one since.

    Anyone?

    --
    Trying to associate Microsoft with "fun" is like trying to associate Satan with aromatherapy. -Tycho
  8. what acme is about by geoff.collyer · · Score: 5, Informative

    It's misleading to call acme a text editor, though it can edit text.
    It's an alternative user interface that attempts to make better use
    of mice than many systems do. Read the above-cited paper if you're
    curious.

  9. Re:Vi vs Emacs vs Acme? by CableModemSniper · · Score: 5, Informative
    Basically the idea behind Acme is that it's a GUI editor extensible through shell scripts (IOW extensible thru arbitrary languages). Also any text file can modify the UI, since selecting text and pressing the correct mouse button will execute it as an editor command (or shell script). So for instance you have your .c source open in one window, and another text file open with
    make all
    make test
    make debug
    etc. and you highlight make debug and middle click(I don't remember exactly which button do what) for instance and it will run, making the debug build. It's neat, I never reached the point where I used it as a regular editor though.
    --
    Why not fork?
  10. 3D? by Tablizer · · Score: 5, Funny

    his two-dimensional text editors

    How does it differ from a three-dimensional text editor? Is that one where the letters get stuck in your nose such that you have to grab a Kleenex if you make a typo?

    1. Re:3D? by Tablizer · · Score: 4, Funny

      and pop-up blockers become a physical safety feature.

  11. I don't know about this... by Eideewt · · Score: 3, Insightful

    I just don't get the idea of a text editor that relies heavily on the mouse. Keyboard shortcuts seem like a much better idea, since your hands are already on the keyboard when you type. Plus, I find it difficult to quickly click on text with the mouse, since it consists of a bunch of tiny little rows and letters. I tried Sam (another mouse-centric text editor) for a while, and while I thought mouse chording was a really neat idea (one I'd like to see applied more often, although it's not really possible with my touchpad), I never did get to like mouse-based text selection. Does anyone who has got the hang of it want to enlighten me? Whenever I click on text I end up way off, but in the general area, and have to slowly move in on it. Do you get much more precise with practice?

  12. Re:Vi vs Emacs vs Acme? by CableModemSniper · · Score: 3, Informative

    Maybe I underrepresented what you could do. There is no UI beyond the the text buffers. All the editor commands (cut copy paste, browsing directories, etc.) are "Acme shell" commands. Pipe the results of ls to a buffer and do the proper mouse chord on a selected file name in the results and it would open that file. All the menus/buttons are actually just text files. Sure you may be sitting there with your Vi or EMACS and saying "I can extend my editor thru scripts etc., type M-x whatever or :!some_filter % but Acme let's your File, Edit etc. type things that would normally be menus in a gui text editor be simple text files, editable from within acme itself. I don't know how much it gains you over other ways of extending editors but it is a novel concept.

    --
    Why not fork?
  13. seems pointless to me by m874t232 · · Score: 5, Insightful

    What's amazing about Plan 9 is the kernel, the file system, and the overall design.

    The user land utilities, GUI, and GUI applications are applications only a mother could love; porting them to another platform seems pretty pointless. Note that the ideas behind acme really aren't all that original--they're derived from the equally unsuccessful Oberon interactive environment.

    Putting a Linux userland on top of a Plan 9 kernel or implementing Plan 9 kernel features in Linux (either in the kernel or in userland) would seem useful to me, but porting the Plan 9 GUI?

    It is nice that people are thinking about new interaction paradigms, but I just don't think this is a good one. If you want this kind of flexible, multi-purpose windowed environment aimed at expert users, Emacs is probably still your best bet.

  14. Rob Pike did much more than a Slashdot interview by JoeF · · Score: 5, Informative

    Geez, if the Slashdot interview is all people remember...
    These ignorant kids of today ;-)
    Try his famous book The Unix Programming Environment...

  15. Still not clear. by jd · · Score: 4, Interesting
    Emacs can have macros, run shell scripts, etc. DEC VMS' default editor - EVE - supported DCL (DEC Command Language) script. uMicro's OS (ghastly as it was) was fully object-oriented, in that everything was an object and you could run whatever methods you liked on that object.


    I absolutely love playing with new technology - can't get enough arcane, bizare and downright weird programs that do stuff that's novel or just plain strange. I hope ACME fits into this category, but as the above list shows, it has tough cometition before it qualifies as new & interesting (at least to me). Being able to store scriptlets in one window to apply to another might qualify, if there's some new tangent to it. Oh, and I'd have to be sure that the method used to apply scripts in this way did not pose a security issue -- the vast majority of all the viruses currently for Windows are macro viruses, and the early (AT&T) history of Unix includes tales of viral backdoors.


    Trust me, I want to be convinced, if for no other reason than I'm running out of new programs to play with. The nightmare of withdrawl symptoms, suffering from stale sameness... It doesn't bear thinking about!

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Still not clear. by sholden · · Score: 5, Interesting


      I absolutely love playing with new technology - can't get enough arcane, bizare and downright weird programs that do stuff that's novel or just plain strange. I hope ACME fits into this category, but as the above list shows, it has tough cometition before it qualifies as new & interesting (at least to me). Being able to store scriptlets in one window to apply to another might qualify, if there's some new tangent to it. Oh, and I'd have to be sure that the method used to apply scripts in this way did not pose a security issue -- the vast majority of all the viruses currently for Windows are macro viruses, and the early (AT&T) history of Unix includes tales of viral backdoors.


      In acme *all* text is a potential command. You middle click and it executes the selection you clicked on (expanding if the "selection" was nothing - ie. if you click a on anywhere on the word make it runs the make command), you can chord to select a region and execute it in one go.

      Of course that means that anytime the text "rm -rf $HOME" appears in a document if you are stupid enough to select and middle click it bad things will happen. Of course the target audience knows better.

      Because everything is editable and executable text you end up doing things like typing the command you can't quite remember the arguments for (find for example), selecting it, chording on the word man somewhere, editing the example text in the displayed man page to be the command you want and then chording it to run that command. Then of course you right click the output of that find command to open the file you were looking for.

  16. Excels in one area by kahei · · Score: 3, Funny

    This is quite simply the hardest software to pick up and figure out I have EVER encountered -- and I'm a pretty advanced user of vim _and_ developer studio. I can honestly say that in 20 minutes of playing around I had not yet established what the application was for.

    Right click on the help link, 'acme(1)' and a window comes up called "/+ Error Del Snarf | Look". Hmm, I'd like to get rid of that. Click on the little box in the corner of the window. The window gets bigger -- not really big, just a _bit_ bigger! Ok, try right clicking on the little box. Now the window is really big! Further right clicks do nothing, but now a _left_ click makes it smaller again and I can see the window I started with, which is now only 1 line high. Try to drag the window divider -- no effect. Left click 'Del', right click 'del', double click on the window divider -- you can make it change size a bit but you can't close it.

    Restart application and this time remember to _not_ click on the help link. Try to select text with middle mouse button because apparrently that 'executes' it in some way. Incomprehensible, uncloseable window reappears -- but THIS time it has a long list of lines starting with a # character in it! How to make it go away... maybe click left AND right buttons on the title bar? Er... I have now pasted some text into the title bar of the window. I edit it to say 'Del Snarf' again -- but something seems to have broken now. Better restart.

    And so it goes.

    Brilliant! I'm not actually going to try and use this ever again (because it's pre-alpha, it doesn't seem to do anything vim doesn't, and it's too mouse-driven), but it is one of my favorite pieces of software anyway because at least it's not just unix/java/lisp/MSVC 4.0 redone. It's something totally, utterly different.

    And it is sooooooo haaaaaard to uuuuuuse! Ah, I love it, but I love it in an 'I am going to delete you now' kind of way!

    --
    Whence? Hence. Whither? Thither.