summaryrefslogtreecommitdiffstats
path: root/computer
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@cepl.eu>2017-12-01 01:47:14 +0100
committerMatěj Cepl <mcepl@cepl.eu>2017-12-01 01:55:42 +0100
commitae69eb6d01be572875c1613a212dc8a67d878eb8 (patch)
tree919a20b37d4c35f88586d875037a26a2683d41ff /computer
parent18132aaedb567c80fa2faa3ae0a9f73744bdd9d1 (diff)
downloadblog-source-ae69eb6d01be572875c1613a212dc8a67d878eb8.tar.gz
Convert ACME paper to use proper bibliography.
Diffstat (limited to 'computer')
-rw-r--r--computer/parsing_milestoned_xml.rst4
-rw-r--r--computer/vim-acme-design.rst155
2 files changed, 96 insertions, 63 deletions
diff --git a/computer/parsing_milestoned_xml.rst b/computer/parsing_milestoned_xml.rst
index 3d438a0..78a1612 100644
--- a/computer/parsing_milestoned_xml.rst
+++ b/computer/parsing_milestoned_xml.rst
@@ -16,8 +16,8 @@ code for the Bible texts.
Let me first explain what is the milestoned XML, because many normal
Python programmers dealing with normal XML documents may not be familiar
with it. There is a problem with using XML markup for documents with
-complicated structure. One rather complete article on this topic is
-:xcite:`@derose:proceedings`.
+complicated structure. One rather complete article on this topic
+is :xcite:`@derose:proceedings`.
Briefly [#]_ , the problem in many areas (especially in documents
processing) is with multiple possible hierarchies overlapping each other
diff --git a/computer/vim-acme-design.rst b/computer/vim-acme-design.rst
index 899c6c0..0dcf1e6 100644
--- a/computer/vim-acme-design.rst
+++ b/computer/vim-acme-design.rst
@@ -4,20 +4,27 @@ Design notes on plan9-for-vimspace
:date: 1970-01-01T00:00:00
:status: draft
:category: computer
-:tags: vim, plan9, ACME
+:tags: vim, plan9, ACME, GUI
.. komentovaný článek je lokálně dostupný na
file:///home/matej/Dokumenty/clanky/ACME/index.html
-When I have seen for the first time the screencast_ presenting ACME,
-modular text editor from Plan9, I was intriguied by its design which
-seemed to put Unix philosophy on steroids. However, in the same time
-I was driven away by the mouse-driven nature of the result. I am
-a strong believer in Zenclavier_ and mouse is the first thing which
-breaks any attempts of learning my fingers patterns of behavior.
-I remember I was thinking when I saw the screencast whether it would be
-possible to transfer somehow the modular nature of ACME to the vim
-world. I haven’t came with anything, so I gave up then and forgot whole
+.. zotero-setup::
+ :style: chicago-author-date
+
+.. default-role:: xcite
+
+
+When I have seen for the first time `@cox:2012tour` presenting
+ACME, modular text editor from Plan9, I was intriguied by its
+design which seemed to put Unix philosophy on steroids. However,
+in the same time I was driven away by the mouse-driven nature of
+the result. I strongly agree with `@christiansen:1999zenclavier`,
+and mouse is the first thing which breaks any attempts of
+learning my fingers patterns of behavior. I remember, when I saw
+the screencast, I was thinking whether it would be possible to
+transfer somehow the modular nature of ACME to the vim world.
+I haven’t came with anything, so I gave up then and forgot whole
thing.
.. image:: {filename}/images/glenda_sshot.png
@@ -25,19 +32,20 @@ thing.
:align: center
:alt: screenshot of Plan 9 desktop
-So, I was very excited when looking for something else I found on GitHub
-project_ trying to bring some Advantages of ACME text editor to the vim.
-However, it is obviously in the early stages of development and it
-didn’t give much of description on what’s going on (or what’s at least
-planned to go on). So, I have asked_ for help, but then I decided that
-actually what I was asking for (to summarize the screencast, separate
-individual ideas, and try to relocate them to the vim universe) could be
-done by myself. For annotation the actual paper is better than
-screencast, so I have found (because of the great Bell Labs tradition of
-documenting their design in standalone papers) Rob Pike’s paper_
-describing design of ACME. This article is basically commentary on this
-paper, trying to identify individual features, and translate them to the
-vim universe.
+So, I was very excited when looking for something else I found on
+GitHub project_ trying to bring some Advantages of ACME text
+editor to the vim. However, it is obviously in the early stages
+of development and it didn’t give much of description on what’s
+going on (or what’s at least planned to go on). So, I have asked
+in `@cepl:2016some` for help, but then I decided that actually
+what I was asking for (to summarize the screencast, separate
+individual ideas, and try to relocate them to the vim universe)
+could be done by myself. The actual paper is better than
+screencast for annotation, so I have found (because of the great
+Bell Labs tradition of documenting their design in standalone
+papers) `@pike:acme` describing design of ACME. This article is
+basically commentary on this paper, trying to identify individual
+features, and translate them to the vim universe.
User Interface
==============
@@ -89,15 +97,17 @@ Primary mouse button [#]_ is used more or like normal way the mouse is
used in other text/word-processors, i.e., for selection, cutting, and
pasting of text.
-Most of what ACME does in the body of text is nothing more than just
-a normal hypertext, but not the limited version we have now in the World
-Wide Web, but it is closer to the original ideas of hypertext as
-envisioned by Vannevar Bush (Memex_), Ted Nelson (Xanadu_), and Neil
-Larson (`Maxthink and Houdini`_). Target of the link can be a way richer
-than just a jump to other document (or some particular place in
-a document). Links are in their nature either local (somehow connected
-to the local path name; of course, local in Plan 9 is quite relative
-term) or activation of some command.
+Most of what ACME does in the body of text is nothing more than
+just a normal hypertext, but not the limited version we have now
+in the World Wide Web, but it is closer to the original ideas of
+hypertext as envisioned by `@bush:1945as`,
+`@nelson:1974computer`, `@nelson:1960project`, and
+`@larson:1984maxthink` and `@larson:1986houdini`. Target of the
+link can be a way richer than just a jump to other document (or
+some particular place in a document). Links are in their nature
+either local (somehow connected to the local path name; of
+course, local in Plan 9 is quite relative term) or activation of
+some command.
Of course, hypertext is not completely new idea in vim (``Ctrl-]``, to
some extent ``K``), so it would be probably wise just to extend already
@@ -142,41 +152,64 @@ activating the link.
Acme-specific programs
----------------------
- Although Acme is in part an attempt to move beyond typescripts, they
- will probably always have utility. The first program written for
- Acme was therefore one to run a shell or other traditional
- interactive application in a window, the Acme analog of xterm. This
- program, win, has a simple structure: it acts as a two-way
- intermediary between Acme and the shell, cross-connecting the
- standard input and output of the shell to the text of the window.
-
-Obviously plenty of commands mentioned in the original document are
-pointless, because vim already contains functionality provided by them
-(``g`` command) or there are other means of achieving the functionality.
-There is an interesting question of the internal term. I guess there are
+ Although Acme is in part an attempt to move beyond
+ typescripts [#]_, they will probably always have utility. The
+ first program written for Acme was therefore one to run
+ a shell or other traditional interactive application in
+ a window, the Acme analog of xterm. This program, win, has
+ a simple structure: it acts as a two-way intermediary between
+ Acme and the shell, cross-connecting the standard input and
+ output of the shell to the text of the window.
+
+First of all, I needed to disentangle what I think about those
+“typescripts”. It seems to me that Plan9 user interface was child
+of the same primary enthusiasm after the invention of computer
+mouse which drove user interface of the first Apple MacIntosh
+(albeit Plan9 didn’t have to conform to the commercial reality,
+so they could use the best display technology, best monitors, and
+three-button mice). When looking on `@cox:2012tour` demo of ACME
+functionality, I can see user inteface filled with quite
+interesting ideas, but fighting my deepest persuasion that for
+the activity which consists mostly from creating text, the
+keyboard oriented user interface is the best, in short phrase “we
+don’t write with mouse”. It seems significant to me that
+`@christiansen:1999zenclavier` came a lot later primary as
+a reaction to this enamorment to mouse. So, let us ignore this
+desire to “move beyond typescripts” and let us consider what we
+have left here otherwise.
+
+Obviously plenty of commands mentioned in the original document
+are pointless, because vim already contains functionality
+provided by them (``g`` command) or there are other means of
+achieving the functionality. Originally, when I started to write
+this paper, I was consdiering whether the internal term is a good
+idea. Now it is part of vim8, so the question is moot. However,
+it is simply terminal displaying output of programs run from vim
+(or inside of the terminal itself), but the editor should be also
+able to react back on (and read from) the content of the
+terminal.
+
+.. FIXME could we open new split/tab in vim from the command in
+ :term?
.. I don't understand what the mentioned ``g`` is supposed to
mean. There is no isolated just ``g`` command, AFAIK. There
is ``gf`` and similar.
-.. [#] Befing a leftie, I don’t like to assume that the left button is
- a primary button, so instead of left, middle, and right labels I use
- primary, middle, and secondary buttons.
+.. [#] Befing a leftie, I don’t like to assume that the left
+ button is a primary button, so instead of left, middle, and
+ right labels I use primary, middle, and secondary buttons.
+
+.. [#] By “typescript” the author means content of the terminal
+ emulator or console, or bascial normal UNIX command line
+ oriented interface: “The typescript—an intermingling of
+ textual commands and their output—originates with the scrolls
+ of paper on teletypes.”
.. _project:
https://github.com/plan9-for-vimspace/plan9-for-vimspace/
-.. _screencast:
- https://www.youtube.com/watch?v=dP1xVpMPn8M
-.. _Zenclavier:
- http://archive.oreilly.com/pub/a/oreilly/news/zenclavier_1299.html
-.. _asked:
- https://github.com/plan9-for-vimspace/plan9-for-vimspace/issues/4
-.. _paper:
- http://doc.cat-v.org/plan_9/4th_edition/papers/acme/
-.. _Memex:
- https://en.wikipedia.org/wiki/Memex
-.. _Xanadu:
- https://en.wikipedia.org/wiki/Project_Xanadu
-.. _`Maxthink and Houdini`:
- http://maxthink.com/
+
+References
+==========
+.. bibliography::