On Fri, 4 Jul 2014 07:32:19 -0500
Kent Tenney <kten...@gmail.com> wrote:

> the problem with UNLs is they don't allow choices which involve
> changing the headline. If I change the name of a method, I don't
> want to lose the choices for the implementation of that method.
> 
> Thanks for doing the work re: gnx setting. The code you provided
> works a champ.

As long as you don't go from

Node A ('ktenney', '20110117134522', 7)
Node B ('ktenney', '20140807232334', 7)

to

Node A ('ktenney', 'init_vars', 7)
Node B ('ktenney', 'init_vars', 7)

or something like that.

Also changing gnxs might break pointers to nodes from other places.

You could just 

  p.v.u.setdefault('space_vers', {})['id'] = uuid.uuid4()

or more readable

  if 'space_vers' not in p.v.u:
      p.v.u['space_vers'] = {}
  p.v.u['space_vers']['id'] = uuid.uuid4()

using the space_vers `namespace` assuming you'll want to store more
than one thing on the node.  Like the index of the version you're
currently viewing, I guess.

Oh, doh, but that's not helping at all with the @auto stuff.

> The idea would be a table in the companion db which, on closing
> the Leo file would generate key/value pairs  @auto tree UNL / gnx
> on opening the Leo file and after parsing the @auto file, the
> @auto tree gnx's would be reverted to the previous ones, simulating
> the persistence of regular nodes. No collision issues.

And doh again, really should have read the whole email before I started
replying :-}

Sounds like you're on a reasonable path.

@shadow has persistent uas and gnxs.

Cheers -Terry

> Come to think of it, the table in the companion db could also
> trivially save the ua of the @auto tree nodes, ... at which point the
> @auto tree nodes are as rich a data store as a regular node.
> 
> If the file had been edited outside Leo since Leo saw it last, the
> nodes in the db could be tagged as obsolete, or new records created
> accordingly.
> 
> If the db were updated on changes instead of on closing, less would be
> lost in a crash.
> 
> I'll ruminate this approach until the reason it won't work rears it's
> ugly.
> 
> [-:
> 
> On Thu, Jul 3, 2014 at 8:50 PM, 'Terry Brown' via leo-editor
> <leo-editor@googlegroups.com> wrote:
> > On Thu, 3 Jul 2014 18:30:32 -0500
> > Kent Tenney <kten...@gmail.com> wrote:
> >
> >> p.gnx is not currently writable, would it be a big
> >> deal to make it writeable? If not globally, for
> >> @auto tree nodes?
> >
> > So wow, p.v.gnx is a property which only supports get, which is why
> > you can't write to it, which wasn't a surprise.  What is a surprise
> > to me, it's not just returning a hidden variable, it's calling
> > g.app.nodeIndices.toString(v.fileIndex), where v.fileIndex
> > is a tuple like ('tbrown', '20140703203404', 26811)
> > i.e. username, start of session timestamp, count of gnxs created in
> > session.
> >
> > So it looks like making it writeable would be a big deal.  Although
> > g.app.nodeIndices.toString() shouldn't take long to execute, I do
> > wonder how much total CPU time it takes, given how often it must be
> > called.  Well, having said that, maybe it's not called that much.
> > Other than serialization, you're usually dealing with in memory
> > objects directly.
> >
> > Still, interesting I'd never looked at such a fundamental piece of
> > Leo.
> >
> > Kent - you could write to it like this:
> >
> > p.v.fileIndex = (p.v.fileIndex[0], my_info, p.v.fileIndex[2])
> > my_info = p.v.fileIndex[1]
> >
> > although that trashes the timestamp and jeopardizes the uniqueness.
> >
> > I think you should aim to use UNLs instead, seeing they can easily
> > persist in @auto etc.
> >
> > Cheers -Terry
> >
> >
> >> Thanks,
> >> Kent
> >>
> >> On Thu, Jul 3, 2014 at 7:46 AM, Edward K. Ream
> >> <edream...@gmail.com> wrote:
> >> > On Thu, Jul 3, 2014 at 6:40 AM, Kent Tenney <kten...@gmail.com>
> >> > wrote:
> >> >> The version I'm developing on is using a back end with a bunch
> >> >> of dependencies, but I'll see about simplifying it, Sqlalchemy +
> >> >> sqlite should be sufficient. (someone with sql chops could
> >> >> eliminate sqlalchemy)
> >> >>
> >> >> Dang, I've been testing choices development with regular nodes,
> >> >> but day to day I'm always working in <@auto somefile.py> trees,
> >> >> and gnx is ephemeral. Maybe a hash of UNL would work for primary
> >> >> key instead of gnx
> >> >  ...
> >> >
> >> > Interesting coincidence of several recent trains of thought:
> >> >
> >> > 1. Recently I removed almost all clones from leoProjects.txt and
> >> > leoNotes.txt.  You could call it a matter of housekeeping, but
> >> > I'm moving towards a workflow in which clones exist only until a
> >> > project is done.  So they are becoming more ephemeral.
> >> >
> >> > 2. ArmageDOOM mentioned this link on #leo:
> >> >  https://news.ycombinator.com/item?id=7511979
> >> >
> >> > One of the comments was that Leo's file format "hadn't taken
> >> > off". Without gnx's, Leo's external files would be identical (or
> >> > nearly so) with org mode.  No, this doesn't really make @auto
> >> > processing any easier, because even org mode sentinels will be
> >> > unacceptable to most non-Leonine users.
> >> >
> >> > 3.  I recently realized that clones are a bit of a nuisance for
> >> > find/change.  The more clones I have, the more duplicates there
> >> > are when using F3 (find-next)
> >> >
> >> > For all these reasons, I am beginning to wonder whether clones
> >> > can somehow be put a little more behind the scenes.
> >> >
> >> > To be sure, clones (vnodes) are likely always to exist as a basic
> >> > capability, but if clones can be made just slightly more
> >> > "ephemeral" then gnx's might not be needed in external files.
> >> > For example, I wonder whether my work flow could be based on a
> >> > combination of Terry's bookmarks and (perhaps) automatically
> >> > generated (and thus more ephemeral) clones.
> >> >
> >> > In this context, your comments about hashing the UNL fits right
> >> > into the zeitgeist.  Bookmarks are, iirc, just unl's...
> >> >
> >> > In short, this could be an important new direction for Leo.  No,
> >> > we aren't going to get rid of clones.  No, we aren't going to
> >> > get rid of sentinels.  But there might be important benefits if
> >> > we can convert sentinels to org-mode format, and if we can make
> >> > clones more of the plumbing than the porcelain (to use git
> >> > terminology).
> >> >
> >> > In short, it looks like you are leading the way again, Kent.
> >> >
> >> > Edward
> >> >
> >> > --
> >> > You received this message because you are subscribed to the
> >> > Google Groups "leo-editor" group. To unsubscribe from this group
> >> > and stop receiving emails from it, send an email to
> >> > leo-editor+unsubscr...@googlegroups.com. To post to this group,
> >> > send email to leo-editor@googlegroups.com. Visit this group at
> >> > http://groups.google.com/group/leo-editor. For more options,
> >> > visit https://groups.google.com/d/optout.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "leo-editor" group. To unsubscribe from this group and stop
> > receiving emails from it, send an email to
> > leo-editor+unsubscr...@googlegroups.com. To post to this group,
> > send email to leo-editor@googlegroups.com. Visit this group at
> > http://groups.google.com/group/leo-editor. For more options, visit
> > https://groups.google.com/d/optout.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.
  • Re: spatial v... 'Terry Brown <terry_n_br...@yahoo.com>' via leo-editor
    • Re: spat... Edward K. Ream
      • Re: ... Kent Tenney
        • ... Edward K. Ream
          • ... Kent Tenney
            • ... Edward K. Ream
              • ... Kent Tenney
              • ... 'Terry Brown' via leo-editor
              • ... Kent Tenney
              • ... 'Terry Brown' via leo-editor
              • ... Kent Tenney
              • ... Edward K. Ream
              • ... Edward K. Ream
              • ... Edward K. Ream
              • ... 'Terry Brown' via leo-editor
              • ... Kent Tenney
              • ... 'Terry Brown' via leo-editor
              • ... Kent Tenney
              • ... Edward K. Ream
              • ... Kent Tenney

Reply via email to