Re: Learning EEV

2022-06-29 Thread Tomas Hlavaty
On Tue 28 Jun 2022 at 23:06, Eduardo Ochs  wrote:
> On Tue, 28 Jun 2022 at 16:26, Tomas Hlavaty  wrote:
>>
>> eev changes my emacs settings too much so
>> I use eev-beginner only (subset of eev).
>
> Can you say more about which settings were changed by eev?

It changes many keys.



Re: Learning EEV

2022-06-29 Thread Tomas Hlavaty
On Tue 28 Jun 2022 at 22:57, Eduardo Ochs  wrote:
> for me `find-man' is "good" is `man' is "bad", because of these
> reasons,
>
>   2) calls to them can be "refined" with a pos-spec (this will
>  be discussed below),
>
>   3) they open the new buffer in the current window (to make it
>  easier to "go back" after following them - see the next
>  section),
>
>   4) they don't display much output in the echo area,

I know and agree with you.  It would be better if the built-in emacs
commands did that in the first place without having to reimplement them.
On the other hand, I rarely use the searching part.



Re: Learning EEV

2022-06-29 Thread Tomas Hlavaty
On Tue 28 Jun 2022 at 22:48, Eduardo Ochs  wrote:
>   Eev's central idea is that you can keep "executable logs" of what
>   you do, in a format that is reasonably readable and that is easy to
>   "play back" later, step by step and in any order. We call these
>   executable logs, or executable notes, "e-scripts".
>
> which answer your question about what are e-scripts...
>
> ...again: it is very easy to show what a certain sexp or what a
> certain e-script _do_ when they are executed, but it is much harder to
> explain what they _are_...

This might be confusing because a script is usually a text file which is
interpreted (as a whole) by a language interpreter.

An e-script is not that.  An e-script is a text file with free form
notes.  Additionally, some lines could run emacs-lisp code (one line per
key press) and some lines could be "code" lines that are sent (one line
per key press) to an associated interpreter buffer.



Re: Learning EEV

2022-06-28 Thread Eduardo Ochs
On Tue, 28 Jun 2022 at 16:26, Tomas Hlavaty  wrote:
>
> eev changes my emacs settings too much so
> I use eev-beginner only (subset of eev).

Can you say more about which settings were changed by eev?
Do you mean eev-mode-map? Or something else?
Do you use this trick to define a leaner eev-mode-map?

  (find-eev "eev-mode.el" "when-not-eev-mode-map")
  http://angg.twu.net/eev-current/eev-mode.el.html#when-not-eev-mode-map

Do you still call it eev-mode-map? Do you use another name for it?

  Thanks in advance!!!
E.



Re: Learning EEV

2022-06-28 Thread Eduardo Ochs
On Tue, 28 Jun 2022 at 16:26, Tomas Hlavaty  wrote:
> For example, a lot of things are redundant:
>
>(find-man "find")
>vs
>(man "find")

Hi Tomas,

for me `find-man' is "good" is `man' is "bad", because of these
reasons,

  2) calls to them can be "refined" with a pos-spec (this will
 be discussed below),

  3) they open the new buffer in the current window (to make it
 easier to "go back" after following them - see the next
 section),

  4) they don't display much output in the echo area,

that are from this bigger list here:

  (find-eval-intro "4. Elisp hyperlinks")
  http://angg.twu.net/eev-intros/find-eval-intro.html#4

This is an example of a find-man with a refinement/pos-spec:

  (find-man "1 find" "\nEXAMPLES\n")

  [[]], E.



Re: Learning EEV

2022-06-28 Thread Eduardo Ochs
On Tue, 28 Jun 2022 at 20:06, Quiliro Ordóñez  wrote:
>
> Perhaps it would be nice to have a glossary where your terms are
> described in one sentence.  I have found that I get lost in so much
> information.  When I don't understand something, I try to find the
> information about that which I do not understand.  If I do not find it,
> I do not know where to continue from there.  Sometimes the explanations
> are tool lengthy.  So I get tangled in long references to terms and lose
> my way to the main explanation.  I know that M-k is good to keep
> organized.  But I feel that it is not enough for me.  I have needed
> something more simple to start.  Now that I understand Emacs and EEV
> better, I can understand eev-begginer much better.  But I think that it
> would have been better to understand it without prior knowledge.

Hi Quiliro,

can you access this? I don't know how much JavaScript a browser, or
wget, needs to access this PDF...

  https://arxiv.org/pdf/1612.09375.pdf#page=80

The important paragraph is this one:

  In his excellent book Mathematics: A Very Short Introduction,
  Timothy Gowers (2002) considers the question: `What is the black
  king in chess?' He swiftly points out that this question is rather
  peculiar. It is not important that the black king is a small piece
  of wood, painted a certain colour and carved into a certain shape.
  We could equally well use a scrap of paper with `BK' written on it.
  What matters is what the black king _does_: it can move in certain
  ways but not others, according to the rules of chess.

There are many questions about eev that I find very hard to answer
because they are like the question "What is the black king in chess?"
above. It is very easy to show what a certain sexp or e-script... - obs:
this tutorial

  (find-here-links-intro)

starts with this paragraph:

  Eev's central idea is that you can keep "executable logs" of what
  you do, in a format that is reasonably readable and that is easy to
  "play back" later, step by step and in any order. We call these
  executable logs, or executable notes, "e-scripts".

which answer your question about what are e-scripts...

...again: it is very easy to show what a certain sexp or what a
certain e-script _do_ when they are executed, but it is much harder to
explain what they _are_...

  [[]], E.



Re: Learning EEV

2022-06-28 Thread Eduardo Ochs
On Tue, 28 Jun 2022 at 20:06, Quiliro Ordóñez  wrote:
>
> > I think that the problem is that eev grew organically from my needs.
> > In the beginning I was a person who couldn't write programs longer
> > than, say, 50 lines long, as I mentioned here:
> >
> >   https://lists.gnu.org/archive/html/emacs-orgmode/2022-06/msg00802.html
> >
> > I wanted to learn lots of tools and programming languages, and I found
> > that by keeping "executable notes" of everything that I did I became
> > capable of much bigger tasks. Then eev became a collection of the best
> > minimal tools that I had - a bit like Unix, in which many of the
> > programs in the "core utils" are standard, but many of these programs
> > only make sense to new users after several years - and from time to
> > time I would declare some of my old tools obsolete, because I had
> > replacements for them that were much more elegant... for example
> > `M-x eev',
>
> Nice story.
>
> > described here,
> >
> >   (find-prepared-intro)
> >   http://angg.twu.net/eev-intros/find-prepared-intro.html
> >
> > that was sort of replaced by eepitch.
>
> Perhaps it would be nice to have a glossary where your terms are
> described in one sentence.  I have found that I get lost in so much
> information.  When I don't understand something, I try to find the
> information about that which I do not understand.  If I do not find it,
> I do not know where to continue from there.  Sometimes the explanations
> are tool lengthy.  So I get tangled in long references to terms and lose
> my way to the main explanation.  I know that M-k is good to keep
> organized.  But I feel that it is not enough for me.  I have needed
> something more simple to start.  Now that I understand Emacs and EEV
> better, I can understand eev-begginer much better.  But I think that it
> would have been better to understand it without prior knowledge.
>
> > I _guess_ that a good way to understand how to use the tools in eev is
> > by following existing e-scripts -
>
> O.K.  What are e-scripts?
>
> > I learned Unix by understanding
> > well-written shell scripts and makefiles, so that's similar - and I've
> > been trying to create example of e-scripts that are easy to run and
> > that demonstrate techniques that I think that are important.
>
> Nice.
>
> > This is a
> > recent example:
> >
> >   (find-1stclassvideo-links "2022pict2elua")
> >
> >   Title: Pict2e-lua: a library for diagrams that is being developed
> >  with eev and test blocks
> >   MP4:   http://angg.twu.net/eev-videos/2022-pict2e-lua.mp4
> >   YT:http://www.youtube.com/watch?v=hiHsUhGVLGM
> >   Page:  http://angg.twu.net/pict2e-lua.html
> >   Comment: A very good demo of test blocks.
> >   Date:2022apr18
> >   Length:  8:13
>
> I watched the video.  But I did not understand.  Perhaps it is because I
> do not use or have interest in LUA.  Much of the energy I put into
> something comes from the applicability I find to my own situation.
>
> > My suggestion is: try to run that example, and if something doesn't
> > make sense, then ask a specific question, like "where can I find more
> > info about what happens in 5:26?"
> >
> >   Hope that helps =/,
>
> O.K.  Thank you very much for your input, your patience and disposition
> to help.  :-)


Hi Quiliro,

you seem to be trying to understand eev without trying it in practice,
and this usually doesn't work... please try to run the main tutorial
and tell me if - and where - there is anything in it that you can't
do. I would like to be able to answer your questions using sexp
hyperlinks, but I can't right now because I don't know which of the
"basic skills" you do have...

  [[]], E. =/



Re: Learning EEV

2022-06-28 Thread Quiliro Ordóñez
Thank you very much for your ideas, Tomas!  They are very useful and
complementary to Eduardo's.



Re: Learning EEV

2022-06-28 Thread Quiliro Ordóñez
> I think that the problem is that eev grew organically from my needs.
> In the beginning I was a person who couldn't write programs longer
> than, say, 50 lines long, as I mentioned here:
> 
>   https://lists.gnu.org/archive/html/emacs-orgmode/2022-06/msg00802.html
> 
> I wanted to learn lots of tools and programming languages, and I found
> that by keeping "executable notes" of everything that I did I became
> capable of much bigger tasks. Then eev became a collection of the best
> minimal tools that I had - a bit like Unix, in which many of the
> programs in the "core utils" are standard, but many of these programs
> only make sense to new users after several years - and from time to
> time I would declare some of my old tools obsolete, because I had
> replacements for them that were much more elegant... for example
> `M-x eev',

Nice story.

> described here,
> 
>   (find-prepared-intro)
>   http://angg.twu.net/eev-intros/find-prepared-intro.html
> 
> that was sort of replaced by eepitch.

Perhaps it would be nice to have a glossary where your terms are
described in one sentence.  I have found that I get lost in so much
information.  When I don't understand something, I try to find the
information about that which I do not understand.  If I do not find it,
I do not know where to continue from there.  Sometimes the explanations
are tool lengthy.  So I get tangled in long references to terms and lose
my way to the main explanation.  I know that M-k is good to keep
organized.  But I feel that it is not enough for me.  I have needed
something more simple to start.  Now that I understand Emacs and EEV
better, I can understand eev-begginer much better.  But I think that it
would have been better to understand it without prior knowledge.

> I _guess_ that a good way to understand how to use the tools in eev is
> by following existing e-scripts - 

O.K.  What are e-scripts?

> I learned Unix by understanding
> well-written shell scripts and makefiles, so that's similar - and I've
> been trying to create example of e-scripts that are easy to run and
> that demonstrate techniques that I think that are important. 

Nice.

> This is a
> recent example:
> 
>   (find-1stclassvideo-links "2022pict2elua")
> 
>   Title: Pict2e-lua: a library for diagrams that is being developed
>  with eev and test blocks
>   MP4:   http://angg.twu.net/eev-videos/2022-pict2e-lua.mp4
>   YT:http://www.youtube.com/watch?v=hiHsUhGVLGM
>   Page:  http://angg.twu.net/pict2e-lua.html
>   Comment: A very good demo of test blocks.
>   Date:2022apr18
>   Length:  8:13

I watched the video.  But I did not understand.  Perhaps it is because I
do not use or have interest in LUA.  Much of the energy I put into
something comes from the applicability I find to my own situation.

> My suggestion is: try to run that example, and if something doesn't
> make sense, then ask a specific question, like "where can I find more
> info about what happens in 5:26?"
> 
>   Hope that helps =/,

O.K.  Thank you very much for your input, your patience and disposition
to help.  :-)



Re: Learning EEV

2022-06-28 Thread Tomas Hlavaty
On Tue 28 Jun 2022 at 10:07, Quiliro Ordóñez  wrote:
> But, upon several attempts to learn EEV, I have
> given up every time.

For me, the ideas in eev are interesting.

eev changes my emacs settings too much so
I use eev-beginner only (subset of eev).

There are a few things I learned to use quickly:

- duplicate line with M-h M-2

- eepitch for executable notes F8

  I like that Eduardo calls a sexp a button and pressing M-e executes
  that sexp.  Before eev, I used to do something similar, having sexp in
  comments and pressing C-e (go to end of line) and then C-x C-e
  (evaluate last sexp), but Eduardo named it properly, gave it a key
  (M-e) and built whole way of thinking around that.

  eepitch blocks are much more useable than for example org-mode code
  blocks, where it is difficult to figure out, how to specify/configure
  the code block.  With eepitch, it is simply all commands, and if you
  for example tunnel ssh or run stuff in various languages
  non-homogenously, it is just lines of texts run on a key press F8.

  Most of the time I do not use debian and globally installed packages
  so the predefined eepitch commands are not useable for me, but it is
  trivial to redefine them or define my own eepitch commands.

  I also use vertically split emacs window since ages ago so eev has
  been a natural fit for my screen habits.

However, I find that most of the stuff in eev is rather Eduardo-specific
so it is probably better strategy to cherry pick the good, reuseable
parts that fit your way.

For example, a lot of things are redundant:

   (find-man "find")
   vs
   (man "find")

or too long and not so readable (many of those find- functions for
example).  It is easier to define my own functions, e.g.  (rg-notes
"foo") which searches foo in my notes, etc.

There are also already existing ways of hyperlinking so for many things
I prefer ffap style M-f jumping or M-. and M-, code jumping on the
actual text rather than eev style button.



Re: Learning EEV

2022-06-28 Thread Eduardo Ochs
On Tue, 28 Jun 2022 at 14:07, Quiliro Ordóñez  wrote:
>
> I am convinced that the perspective of hidding code to make user
> friendliness is a flaw in software because it will be more difficult to
> start to learn hacking and making use of all the power that the person
> needs from the tool.  But, upon several attempts to learn EEV, I have
> given up every time.  I know it is my own fault.  I wonder if we could
> make it both easy by making the "guided" path more visible and making
> the other functionality available (not hidden) but less visible in some
> way.  I am not sure how this could be possible.  If I can be of help, I
> am available for any task.
>
> I hope this comment is useful and I wholeheartedly thank Eduardo for the
> work done on the project.


Hi Quiliro,

Thanks!!! There are many people in the same situation as you...

I think that the problem is that eev grew organically from my needs.
In the beginning I was a person who couldn't write programs longer
than, say, 50 lines long, as I mentioned here:

  https://lists.gnu.org/archive/html/emacs-orgmode/2022-06/msg00802.html

I wanted to learn lots of tools and programming languages, and I found
that by keeping "executable notes" of everything that I did I became
capable of much bigger tasks. Then eev became a collection of the best
minimal tools that I had - a bit like Unix, in which many of the
programs in the "core utils" are standard, but many of these programs
only make sense to new users after several years - and from time to
time I would declare some of my old tools obsolete, because I had
replacements for them that were much more elegant... for example
`M-x eev', described here,

  (find-prepared-intro)
  http://angg.twu.net/eev-intros/find-prepared-intro.html

that was sort of replaced by eepitch.

I _guess_ that a good way to understand how to use the tools in eev is
by following existing e-scripts - I learned Unix by understanding
well-written shell scripts and makefiles, so that's similar - and I've
been trying to create example of e-scripts that are easy to run and
that demonstrate techniques that I think that are important. This is a
recent example:

  (find-1stclassvideo-links "2022pict2elua")

  Title: Pict2e-lua: a library for diagrams that is being developed
 with eev and test blocks
  MP4:   http://angg.twu.net/eev-videos/2022-pict2e-lua.mp4
  YT:http://www.youtube.com/watch?v=hiHsUhGVLGM
  Page:  http://angg.twu.net/pict2e-lua.html
  Comment: A very good demo of test blocks.
  Date:2022apr18
  Length:  8:13

My suggestion is: try to run that example, and if something doesn't
make sense, then ask a specific question, like "where can I find more
info about what happens in 5:26?"

  Hope that helps =/,
Eduardo