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."

16 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. 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.

  8. 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?
  9. 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.

  10. 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.

  11. 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...

  12. 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.