Follow Slashdot stories on Twitter


Forgot your password?

Acme for Windows 176

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."
This discussion has been archived. No new comments can be posted.

Acme for Windows

Comments Filter:
  • disambiguation (Score:5, Insightful)

    by Peganthyrus ( 713645 ) on Monday May 22, 2006 @01:28AM (#15378459) Homepage
    his two-dimensional text editor []

    As always, the central question of 'what's this story about?' is not a link. Sigh.
    • Wait, what? (Score:5, Funny)

      by Anonymous Coward on Monday May 22, 2006 @01:38AM (#15378486)
      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."
      • Re:Wait, what? (Score:5, Informative)

        by ems2 ( 976335 ) on Monday May 22, 2006 @01:42AM (#15378499) Homepage
        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.
        • Acme: A User Interface for Programmers explains what acme is.

          This looks awfully like EMACS.
        • >i>The Wikipedia article is crap.

          So fix it! ;-)

      • Re:Wait, what? (Score:5, Informative)

        by bonkeroo buzzeye ( 711311 ) on Monday May 22, 2006 @02:46AM (#15378630) Journal
        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.
        • by shish ( 588640 )
          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 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."

        Actually, I believe the correct phrase is "make it so"... :)
    • Try It It's Great (Score:2, Interesting)

      by nickgra ( 976334 )
      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. []
    • I prefer these links too. I want the link to be on the verb "PC World writes that ..."; or an adjective (or adjective type phrase) "open source developer ....".

      The summary shouldn't read like a begining of a news story - the links are functional, just out of place. Look at older stories compared to today.
    • Re:disambiguation (Score:2, Informative)

      by Briareos ( 21163 )
      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...)
      • From Acme: A User Interface for Programmers [] Acme is a new program, a combined window system, editor, and shell, that applies some of the ideas distilled by Oberon. Where Oberon uses objects and modules within a programming language (also called Oberon), Acme uses files and commands within an existing operating system (Plan 9). Unlike Oberon, Acme does not yet have support for graphical output, just text. At least for now, the work on Acme has concentrated on producing the smoothest user interface possible
  • Acme sucks! (Score:5, Funny)

    by Stormwatch ( 703920 ) <<moc.liamtoh> <ta> <oarigogirdor>> on Monday May 22, 2006 @01:31AM (#15378469) Homepage
    ...just ask Wile E. Coyote!
  • Rob Pikes 1994 paper (Score:5, Informative)

    by ems2 ( 976335 ) on Monday May 22, 2006 @01:37AM (#15378483) Homepage
    Worthwhile read: "Acme: A User Interface for Programmers" [] (PDF []). Its a bit outdated but explains acme beautifully.
  • wmii (Score:5, Informative)

    by John Nowak ( 872479 ) on Monday May 22, 2006 @01:40AM (#15378492)
    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.
    • Re:wmii (Score:3, Funny)

      by Vo0k ( 760020 )
      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.
    • Abaco (Score:2, Informative)

      by ems2 ( 976335 )
      There is also a new web browser called abaco [] for Plan 9 [] that is progressing fast [].
    • Yes, full circle back to the tiled window days of Windows 1.0. That's a concept that has died an early death for good reasons, but I guess some people just can't leave dead horses alone. Tiled windows suck so much that they had to add the "zeroth column" hack to support floating windows to show just how much they suck. Ok, at times tiling can be very useful to maintain some visual order in a set of windows, but **optional** tiling has been implemented much more usefully (and optionally) via docking windows,
  • Hmmm.... (Score:4, Interesting)

    by Mr Z ( 6791 ) on Monday May 22, 2006 @01:42AM (#15378498) Homepage Journal

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

    • I think it's just you.

      I've been using plan9 for 10 years and my eyes are not bleeding.
      • Re:Hmmm.... (Score:2, Interesting)

        by Mr Z ( 6791 )

        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?


        • I don't need a counter argument

          I use it all day every day, and it's the best UI I ever used, and I've used quite a few.

      • Re:Hmmm.... (Score:2, Interesting)

        by Mr Z ( 6791 )

        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. [])


  • 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.
    • Mouse chording and sam commands.

      It's the anti-christ for people who complain about having to use a mouse or who love keybaord short cuts.

      I spent the bulk of my time in my honours year with wily (an acme "clone" for unix/X11) running full screen - well I guess the bulk of the time was really spent playing risk, bulk of my working time... If you happen to like the interface and it suits you way of doing things it's an extremely productive environment.

      Of course anyone who fits in that category already uses it,
    • 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.
      • Still not clear. (Score:5, Interesting)

        by jd ( 1658 ) <> on Monday May 22, 2006 @03:12AM (#15378673) Homepage Journal
        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!

        • Re:Still not clear. (Score:5, Interesting)

          by sholden ( 12227 ) on Monday May 22, 2006 @04:16AM (#15378792) Homepage

          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.
          • So, this Acme editor lets you select any piece of text, and execute it as a shell command, with the results appearing in another window.

            Maybe I'm missing something, but if I valued that functionality, I'm pretty sure I could have it in vim with a macro or two.
            • It's just a programming environment, almost by definition anything you can do in it you can do in vi or emacs.

              It's not some amazing leap in technology it's just a progam that puts text on the screen for you to edit.

              If you don't try it you'll never know if it's methodology suits you better - though if writing a vim macro or two to do such thing seems like a good approach to you I suspect you're not going to like it at all. I'd put my money on you hating it and B2ing Exit pretty quick.
          • why not just type FILENAME=`find . -iname comment.txt`;vi ${FILENAME}
            • Why not just type vi `fine . -iname comment.txt`?

              Oh yes, because the whole idea was you couldn't remember the argument syntax and hence needed to run man find first, and then edit a conveniant example in the manpage to do you find the files modified after this date, between these sizes, and whatever else, and then of course only wanted to open one of the returned files not all of them.

              Obviously there's nothing you can do in acme that you can't do with vi and the shell - both vi and the shell provide you wit
      • Out of curiousity, couldn't this lead to some rather interesting scripting viruses? I'm thinking Word macro viruses all over again.
  • some of the links are already unresponsive. I bet they weren't expecting a website about a text editor to get Slashdotted!

    That's right! You never know when or where we will strike! ...and leave a smoking crater where the server was.
  • by mad zambian ( 816201 ) on Monday May 22, 2006 @02:01AM (#15378538)
    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.

  • Torrent (Score:3, Informative)

    by ems2 ( 976335 ) on Monday May 22, 2006 @02:02AM (#15378542) Homepage
  • what acme is about (Score:5, Informative)

    by geoff.collyer ( 610938 ) <geoff.slashdot@c ... t ['yer' in gap]> on Monday May 22, 2006 @02:08AM (#15378552) Homepage
    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
  • WinVI [] all the way baby!
  • Free, easy to use & WYSIWYG... Does one really need more?

    The paid version also does heaps for web makers (in HTML, etc)
    and programmers (using other languages).
  • 3D? (Score:5, Funny)

    by Tablizer ( 95088 ) on Monday May 22, 2006 @02:36AM (#15378606) Journal
    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?
  • by Eideewt ( 603267 ) on Monday May 22, 2006 @02:43AM (#15378620)
    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?
  • by m874t232 ( 973431 ) on Monday May 22, 2006 @02:55AM (#15378643)
    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.
    • Emacs is, in my personally confident opinion after a decade of emacs use[1], a lousy interaction paradigm. The chording paradigm of vi is significantly better. If something could be done that's even more efficient, it would be great.


      [1] Last year with vi keybindings, and then dropping emacs altogether and going with vim for about five years now.

      • I used vi for about 10 years and thought it was great. Then I started using acme. There's definitely a learning curve, but I've been using it constantly for about 8 years now, and I now find it really frustrating if I have to use anything else. The fact that the output of any command is text that can be used to drive acme itself is amazingly powerful. It also has sam's [] structural regular expressions [] which, combined with arbitrary undo/redo make it easy to figure out a way to make almost any kind of regular
        • How does it translate in terms of RSI problems? I'm willing to handle a learning curve, though I'm a bit worried about the fact that I use editors remotely in shell windows most of the time now.


          • The only glimmer of RSI problems I've ever had came when I was using a keyboard interface which required much use of Control- key combinations. I find using acme very comfortable. I get the feeling (and this [] seems to support the idea) that gesturing with the mouse uses a different area of my brain from the creative/analytical processes that I'm working on. For me, this makes for a very relaxing editing experience - most editing processes happen as directly as if I'd reached out and used my hand. This might
  • by JoeF ( 6782 ) on Monday May 22, 2006 @02:57AM (#15378647)
    Geez, if the Slashdot interview is all people remember...
    These ignorant kids of today ;-)
    Try his famous book The Unix Programming Environment []...
  • This program (the Windows standalone) is very much broken and doesn't seem to work at all on my Japanese copy of Windows XP. When I brought up the main screen and tried highlighting things, there was window drawing problems making the program look completely borked. Plus, what should I do if I want to run a shell command 'Del?' It might be in the docs, but by the time I might have gotten to documentation on that, the interface was destroyed.

    Quite unprofessional.
  • This looks like yet another non-working pre-alpha release of something, with a twist: it's not even clear what it is...

    I thought it was (or could be used as) a text editor in Windows, so I wanted to try it out.

    It said somewhere to right click "Acme" for documentation.

    Starting acme.bat opens a window in which you can indeed right click "intro" to see a man page about an obscure OS or something called Inferno. Unfortunately, right-clicking "acme" just gives "File not found".

    To illustrate my comment, I wanted
    • Acme out of Plan 9's water perhaps isn't a good idea: everything is consistent in Plan 9, but not when you take one program out and put it into Windows, where the conventions are different. For example, your copy problem is most likely solved by performing mouse chording. This is standard in Plan 9, but obviously not in Windows. See the Wikipedia article which deals with Acme's chording [].

      By the way, people have already listed the Acme paper above, which may help.

    • You didn't even scratch the surface! Wait till you start trying to figure out how the scroll bars work! It's a mouse driven system... in which left-clicking on a scroll bar does _nothing_! You can't drag the tracker up and down! It's actually _less_ usable than an xterm scrollbar! But by right clicking, middle clicking, and left+right clicking, you _can_ eventually scroll back to the place you want!

      OR CAN YOU?

      This thing's great. Wait till you get to the bit where you middle-click and drag over a word
      • This software only needs one thing -- a good way to trick unsuspecting people into trying to use it!

        Hey, what if we wrote it up and put it on Slashdot?

      • The scrollbars do require one to RTFM (I remember being very confused the first time I encountered them) but actually make a lot of sense. The middle button works similarly to using the left button on a conventional scrollbar. The left and right buttons scroll up and down relatively. The further down the scrollbar you click them, the further the movement. Clicking near the top moves line-by-line; clicking near the bottom moves page-by-page. Once you're used to it, it's a very efficient UI design - no moving
  • It's Caewyn's personal playings.

    just FYI
  • by kahei ( 466208 ) on Monday May 22, 2006 @06:37AM (#15379024) Homepage
    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!

      • I did RTFM, or at least RTFP -- the paper on Acme's design. And when TFP cheerfully described how Acme doesn't have an internal concept of global search and replace but rather relegates those to tool commands that one pipes together, I was certainly impressed. Just, you know, not in a positive way.

        Okay, that's not quite fair. From a design standpoint I think Acme is brilliant and I'll probably look at it again in more detail (I used it a few years ago, but briefly). From a practical standpoint, nothing I've
        • It's hard to see a serious advantage given us by replacing our ^S (or ^XS or Command-S or even :w) with a middle-click on the word "Put"

          From a user interface standpoint, one obvious advantage is that of affordance []. Any text in acme affords the command of that name. Command key combinations are hidden out of sight - "Put" is visible and evident, as are "Undo", "Redo", etc, etc.

          And when TFP cheerfully described how Acme doesn't have an internal concept of global search and replace but rather relegates th

          • I suppose I'd question whether "middle click on the word Put" actually "indicates how to interface with that object or feature," as the Wikipedia article puts it, any more than a menu that says "Save... ^S" on it. There's nothing about either of those that really implies what to do with the text no the screen -- the user has to have information that can't be derived from the UI appearance: in the latter CUA-ish case, that you can click on menu titles and release the mouse button on a command, and that comma
  • Acme SAC supports unlimited undo, a structural regular expression based editing language, mouse chording, plumbing, a programmable shell, networking, an IRC client, a wiki client, and the complete tool set of the Inferno operating system (mk, limbo, debugger, mount, bind, ...)

    and a paaaaartridge in a pear treeee!

    Doesn't emacs have all this?

Promising costs nothing, it's the delivering that kills you.