Hi Eduardo:

I do get this and see this is why you have not leveraged Hyperbole or Org
for eev implementation.  (I do feel eev has a number of interesting and
useful ideas, and as I've said to you personally, I just hoped you could
use Hyperbole or other existing Emacs infrastructure to avoid embedding so
much code within eev).

I took a brief look today at some of the code in the latest packaged
release of eev from ELPA, as well as a bit at some of your email archives
and video links.  What I see is that you like things extraordinarily
concrete and packages like Hyperbole and Org try to build up generalized
abstractions that can be used in many contexts.  When you try to break down
how these abstractions work at the very low-level concrete mental model you
like, you find them too complex and therefore have to set them aside.  If
you can't bend on that, then I think your choice is right, to just build
large amounts of low-level code that meets your needs.  I think the way you
archive long lists of hyperlinks into videos for every few words spoken in
the video speaks to this style.  I see the utility but this is not a common
style or need.  It feels like we are offering a 'pour a glass of water'
function and you are trying to understand the physics of the molecular
movement within the water while it is pouring.  Because you struggle to do
so, you decide you can't use our functions/capabilities, which is fine if
this is how your mind works, but really should not be a commentary upon the
packages provided.

You see each day new people are coming to these packages and figuring out
not only how to use them but to extend them to meet their needs, either
through new hyperbutton types or snippets of additional code.  So they can
be bent to people's wills but you have to be willing to deal with
abstractions, not the equivalent of assembly language to do so.

Maybe if you could pick a single eev function that you think could be
implemented with Org and Hyperbole and pointed us to the documentation for
that, then we could show you an equivalent one using these packages and
begin to give you a better sense of how you would go about leveraging what
has been built.  You document everything in detail, so this should be
pretty simple.

>From my perspective, I do really like your idea of replayable notebooks for
training and interaction purposes.  And you have certainly made that easy
to use via eev.  But your implementation could use much better organization
and abstraction which would likely greatly reduce the code size as well.
You should separate out computation of what you want to display from how
and where you will display it as one technique.

-- rsw

On Sun, Jun 26, 2022 at 1:52 PM Eduardo Ochs <eduardoo...@gmail.com> wrote:

> On Sun, 26 Jun 2022 at 13:29, Robert Weiner <r...@gnu.org> wrote:
> > Hi Eduardo:
> >
> > I really think that you are confused in saying that Hyperbole and Org
> are hacker-unfriendly.  Yes, they are targeted at users who don't have to
> understand the programming, but if you do understand Lisp programming well,
> the interactive features are available as Lisp functions in almost all
> cases, so you simply have to dive in, find the functions you want and
> utilize or change them.
> >
> > In fact, Hyperbole offers 'action implicit buttons' that utilize
> angle-bracket syntax to turn any Lisp function (or hyperbole button type
> call or variable reference) into a hyperbutton that runs the function with
> arguments or displays the variable, e.g.  <find-file "~/.org/
> my-org-file.org">.
> >
> > With Hyperbole, much of the behavior is factored into class-like
> libraries with the 'methods' alphabetized and separated into public and
> private groupings.  Now some of this code is complex in order to handle
> many contexts and make things simple to the user but that is a matter of
> you understanding this complexity if you want to hack on it.
> >
> > I'm not sure what else you could ask for in packages.
>
>
> Hi Robert,
>
> let me see if I can find something useful to say...
>
> Most of the people that I know who became active users of eev were
> "beginner programmers" when they started using eev - by "beginner
> programmers" I mean that their mental buffers were still quite small,
> and they couldn't understand well functions that were more than a few
> lines long. I wanted to make eev more accessible to people like them,
> and I treated their feedback very seriously.
>
> One of the techniques that I used to make eev more accessible to them
> is described in this video,
>
>   http://angg.twu.net/find-elisp-intro.html
>   (find-1stclassvideo-links "2022findelispintro")
>   (find-2022findelispintrovideo "14:36")
>
> from 14:36 onwards - "put several similar examples close to one
> another, starting by the most basic ones".
>
> I treated that technique as "obvious" for many years - I just used it
> in many places, and I thought that the users would notice that
> pattern, and start to use it in their own notes. That didn't work, and
> I saw that I had to spell out that technique explicitly, and repeat it
> often.
>
> When I asked you questions about how to create eev-style sexps that
> would behave as hyperbole-style buttons, in some of the e-mails that I
> point to here,
>
>   http://angg.twu.net/hyperbole.html
>
> I was signaling that my mental buffers were almost full... at that
> point explanations in English helped me very little, and I was trying
> to write "several similar examples close to one another, starting by
> the most basic ones" to factor your code conceptually via tests.
>
> I _still_ think that your buttons and menus are hacker-unfriendly. The
> source code is available, yes, but I spent several evenings trying to
> understand them in my "non-user" way, and I got a mental buffer
> overflow instead of enlightenment... and I also spent many hours
> writing e-mails to the Hyperbole mailing list, but the answers left me
> very frustrated.
>
>   Hope that helps, =/
>     Eduardo Ochs
>     http://angg.twu.net/#eev
>

Reply via email to