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

33 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.
    1. Re:disambiguation by Briareos · · Score: 2, Informative

      Is it just me, or does this look quite a bit like Nikolaus Wirth's Oberon system, which also mainly consisted of a mouse-driven text editor?

      (It's concept and usability also sucked galaxy clusters through nanotubes when I had to use it for doing exercises during my computer science studies, but that's a different story - although I can't believe that ACME would be much better...)

      --

      "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  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.

    3. Re:Wait, what? by sholden · · Score: 2, Insightful

      Very. The poster pointed to a better reference but copying that into wikipedia would be a copyright violation. And the article already contains a reference to that paper.

      Is it really that hard to understand that some people might not be able to write a better description than is already available and hence just point to that existing well written publically available document?

    4. Re:Wait, what? by shish · · Score: 2, Funny
      the "everything's a file" thing being carried to its ultimate conclusion.

      "cat ~/comment.txt > /dev/gui/firefox/slashdot/comment_input_box"? Come to think of it, that *would* be awesome :O

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    5. Re:Wait, what? by Ohreally_factor · · Score: 2

      Who is to say that they didn't already try, only to have their work trashed by an edit war?

      I consult wikipedia frequently, but I also check other sources and take some articles with a certain amount of salt, because some of the admins (just a few, I am sure) are total cunts.

      --
      It's not offtopic, dumbass. It's orthogonal.
  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.

    1. Re:wmii by Vo0k · · Score: 2, Funny

      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.

      One of the new features: You can move blocks of text by waving your mouse in air in specific manner, throwing the block of text a specific distance in the file depending on the strenth you swing the mouse.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
  6. Try It It's Great by nickgra · · Score: 2, Interesting

    Hi, Don't knock it untill you've tried it! I've been using (and modifying) acme within Inferno for a year now and I won't be going back! Hopefully This stand alone version will get the rest of the lab hooked on it too. http://www.caerwyn.com/acme/

  7. 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
    1. Re:Hmmm.... by Mr+Z · · Score: 2, Interesting

      Well, I suppose if you use a nicer font and space the menu labels further apart than is shown in screen shots like this one, it could be reasonable to work with. That, and ditch the ancient X11/Athena style scroll bars for something a little more contemporary, and we'll talk. :-)

      Since you've been using Plan9 for 10 years, do you have any counterargument-making screen shots of your own?

      --Joe
    2. Re:Hmmm.... by Mr+Z · · Score: 2, Interesting

      The rio (1) window manager gives me flashbacks to TWM, and gawdy color schemes inspired by 256-color displays.... More screen shots here. I'm not saying GNOME or KDE have the best look either. I actually was happy with OpenLook / OLVWM. If I have to go to a window manager look that's 10-15 years old, can I go to that one instead? :-) (Of course, anyone can make any window manager look bad.)

      --Joe
  8. Vi vs Emacs vs Acme? by Enderandrew · · Score: 2, Insightful

    Not only did I have to dig to understand what the story was about, I'm still not entirely sure.

    So, a text editor existed for a very small niche operating system. There already were unofficial ports if you really wanted it. After reading the Wiki page, I'm not entirely sure what makes this text editor special.

    But now there is a LEGAL port for Linux users. Great.

    That's all we need is another text editor to argue over.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. 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?
    2. 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?
    3. Re:Vi vs Emacs vs Acme? by CableModemSniper · · Score: 2, Informative

      I see now I picked a very poor example, something to easily done in a shell . Imagine a text editor along the lines of Notepad or Nedit. Now imagine that those menus across the top weren't really menu widgets, but rather another text buffer you had open. You can add your own commands, you can customize for what your working on. Also imagine that the results of make are piped into another buffer. When there is an error, you can highlight the part some_file.c:67 and use a mouse chord, Acme will open that file and move the cursor to that line number. Likewise you can pipe grep results to a window and do a similiar thing with selecting filenames, etc.

      --
      Why not fork?
  9. 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
  10. 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.

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

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

    1. Re:I don't know about this... by nickos · · Score: 2, Informative

      "If someone could figure out how to do one handed typing"...

      How about the BAT keyboard, CyKey or other chorded keyboards?

  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. Abaco by ems2 · · Score: 2, Informative

    There is also a new web browser called abaco for Plan 9 that is progressing fast.

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

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

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