
A Tour of Acme (2012) [video] - tambourine_man
https://research.swtch.com/acme
======
henesy
For the interested Plan 9 from User Space/plan9port is presently maintained at
[https://github.com/9fans/plan9port](https://github.com/9fans/plan9port)

More acme info at [http://acme.cat-v.org](http://acme.cat-v.org)

Acme has a cousin, sam: [http://sam.cat-v.org](http://sam.cat-v.org)

~~~
pjmlp
I would also like to point out to Inferno and Limbo.

[http://www.vitanuova.com/inferno/index.html](http://www.vitanuova.com/inferno/index.html)

[http://doc.cat-v.org/inferno/](http://doc.cat-v.org/inferno/)

Anyone trying Plan 9 ideas is missing out not trying its last iteration.

------
0x445442
The system seems cool but the UI's insistence on mouse usage is a non-starter
for a lot of people.

If you look at some of the white papers, Pike starts with assertions that the
mouse must be a front and center input mechanism. I reject the premise.

I'd argue pushing as much functionality to the keyboard and using natural
language to interact is more productive in the long run.

~~~
aaron-lebo
I lean towards this, but I've never seen anything that suggests it is more
than a (possibly wrong) intuition. If Starcraft players can do 200 actions per
minute, what suggests the mouse is the limiting factor?

I'd suspect we spend more time processing what we are going to do than we do
actually doing it. I often find myself pausing to think about how to get the
right layout I want in i3, but if I just could drag some windows around, it'd
be done.

The mouse is very intuitive, that's probably why Jobs got stuck on it. It's
hard to get much more "natural language" than literally using text to control
actions as Acme does.

~~~
0x445442
I'd suggest if you could map all your movement, navigation, pre-configured
layouts to a command box with fuzzy matching available with Ctrl-Space or the
like you would quickly become more proficient than with the mouse.

Spacemacs and the Hydra package for Emacs are interesting as well but I
actually prefer to just start typing commands until I get the match I want.

------
mjibson
I switched from vi to acme a few years ago after watching this video, and I'm
still happy with my choice. It took me a while to figure acme out, but it has
some killer features like:

\- files and command line sessions are both just windows. You can split, move
them, and EDIT (including output from CLI commands) anything you want. This
feels much more natural than having a dedicated run section in the editor or
using a separate terminal (that obviously can't be split next to a file
window).

\- a really short list of commands it supports (very little to memorize). But
since it's so easy to interact with acme through the filesystem, you can
easily customize your own workflow. For example I wrote
[https://github.com/mjibson/aw](https://github.com/mjibson/aw) which is a web
interface to Go's guru. But there are at least 2 other acme interfaces to
guru, both with different methods of interaction, depending on what the author
preferred. Overall I like this a lot more than memorizing a pile of vi
shortcut keys.

\- manipulating text is pretty fast with the mouse + acme's chords and the esc
key.

\- right click to search or go to file:line is much more powerful than you
expect.

~~~
thatmiddleway
"using a separate terminal (that obviously can't be split next to a file
window)"

Tmux can do that pretty easily!

~~~
mjibson
As described by the other commentator, this isn't quite the same. My normal
workflow is 2 command line windows and ~3-4 open files. Doing this in tmux
while trying to maintain the ability to move and split windows at will means
that's 3-4 instances of vim. Not a great experience if I want to save all.
Also, moving windows in tmux/screen has, for me, always been a huge pain of
remembering a bunch of keyboard shortcuts. In acme I just click and drag
stuff.

~~~
jeromenerf
Tmux in vim can be made quite convenient for an acme user :

\- tmux mouse support gets better every release, so you can actually select,
send or exec, there is no chording though. \- vim has remote features, so you
don't need multiple vim instances. Yoy can "send" to a running vim instance.
Vim splits are pretty powerful, buffers being independent. \- neovim has :term
support too, i would not recommend it

Acme found a nice usability sweet spot, mixing an editor with shell and a
tiling wm. Tmux and vim can imitate some interesting behaviour such as 3-click
to open, but the general behaviour isn't as consistent.

------
AgentEpsilon
Interesting! I wanted to try this out, but it looks like the download
([http://swtch.com/plan9port/plan9port.tgz](http://swtch.com/plan9port/plan9port.tgz))
is down.

~~~
carussell
The link for this HN submission is unfortunately not a good portal wrt plan9.
See [1] and [2].

1\. [https://groups.google.com/forum/#!topic/plan9port-
dev/OqSvUD...](https://groups.google.com/forum/#!topic/plan9port-
dev/OqSvUDfwS-M)

2\.
[https://github.com/9fans/plan9port/issues/79](https://github.com/9fans/plan9port/issues/79)

------
jrs95
If you use Go, you might find this useful as well:
[https://blog.karenuorteva.fi/list-of-go-tools-for-
acme-54bb1...](https://blog.karenuorteva.fi/list-of-go-tools-for-
acme-54bb1722cffa#.uw22mk1vs)

