delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/07/06/16:37:43

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on fly.srk.fer.hr
X-Spam-Level:
X-Spam-Status: No, score=-1.0 required=6.3 tests=ALL_TRUSTED
autolearn=disabled version=3.4.0
Date: Mon, 6 Jul 2015 22:37:51 +0200
From: "Ivan Stankovic (pokemon AT fly DOT srk DOT fer DOT hr) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Subject: Re: [geda-user] libgeda3
Message-ID: <20150706203751.GB2246@alpha2>
References: <CAM2RGhSkHSm8h571=3GePQUm-HAnxeb7-HCF=p2a+QUzP6rNkA AT mail DOT gmail DOT com>
<20150704082231 DOT GB27619 AT localhost DOT localdomain>
<CANqhZFyGJNuHtziafdfhwMOUKLLv_SGzThWQssPX5wGxrxw7ig AT mail DOT gmail DOT com>
<20150706160054 DOT GA24178 AT localhost DOT localdomain>
<20150706174952 DOT GA1057 AT alpha2>
<20150706195023 DOT GB24178 AT localhost DOT localdomain>
MIME-Version: 1.0
In-Reply-To: <20150706195023.GB24178@localhost.localdomain>
X-Operating-System: GNU/Linux
User-Agent: Mutt/1.5.23+89 (0255b37be491) (2014-03-12)
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, Jul 06, 2015 at 10:50:23PM +0300, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com] wrote:
> On Mon, Jul 06, 2015 at 07:49:52PM +0200, Ivan Stankovic (pokemon AT fly DOT srk DOT fer DOT hr) [via geda-user AT delorie DOT com] wrote:
> ...
> > Sadly, my own attempt hasn't been successful, either:
> > 
> >  http://repo.or.cz/w/geda-gaf/ivan.git/shortlog/refs/heads/libeda
> >  (see two last commits on that branch)
> > 
> > My original intention wasn't as ambitious as Peter's, but it did
> > begin to show a path toward a better libgeda (with emphasis on
> > documentation and unit testing), that one would then be able to
> > use as a foundation.
> 
> A lot of work. 

Well, both yes and no.  What's on the branch is merely the beginning,
but basically (most of) the skeleton is there.  What remains is the
tedious, but straightforward, work of supporting all existing libgeda
objects.  

Note that in the first iteration I aimed for complete .sch format
compatibility.  Nowadays, I'm not so sure about that, given that it
would be fairly trivial to write a sch-to-anything converter, which
would allow libeda to get a better format.  Actually, what I was
later thinking of is to decouple various functionalities roughly this
way:

   libeda => core data structures, in-memory representation (data model)
   libeda-reader => read .sch files and construct data model
   libeda-reader-sqlite => read from a sqlite database and construct data model
   ...
   libeda-renderer => take data model and render (possibly to various targets)

(At some point I even had a proof of concept of how to dynamically
make and register GObject-based renderers, which would allow anyone to
render the data model as they see fit; think previews, thumbnails etc.)

A future version of gschem would, for example, use all these and remain
relatively agnostic of the various details, that it currently knows
very much about.

Finally, for all of these GObject-based libs my idea was to provide
nice Python bindings, so that e.g. making an a new netlist backend
would be trivial.

> FWIW, unlike some other developers, I'd prefer to see
> that work in the main repository (say, as a separate branch) and don't
> see any reason to bury it from others so deeply. 

I'm afraid there's much more work out there that we haven't seen yet.
It's been a constant theme through the years.

> At least, other
> developers could look it through and use what they like from the code.

I did ask about help regarding this, but nothing happened.  Perhaps
the timing was unfortunate.  I remember Peter C and Peter B had both
been very busy at the time, and judging by their current activity, that
hasn't changed.

Myself, I lost motivation at some point and got busy with other things.
But the code is still there and if anyone wants to resume the
effort, I'm willing to join in.

> Otherwise, all those repos on repo.or.cz or github become a lost effort,
> never used and of interest to anybody. (And I believe that little but
> steady steps are better than large jumps from time to time.)

I completely agree.  However, I also believe rewriting libgeda
piecewise would be an order of magnitude harder than just coding
a new lib from scratch.

-- 
Ivan Stankovic, pokemon AT fly DOT srk DOT fer DOT hr

"Protect your digital freedom and privacy, eliminate DRM, 
learn more at http://www.defectivebydesign.org/what_is_drm"

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019