X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=10X+dkvTSuQqaiNqPxpnOgi19iAvLD0sOODq5dcrLPA=; b=ZjUI6pTT9TbGw7SN0wb7to0PtrAG3L/XAOBWuZazphkYSxNYRJKIAIxG+r3AhgHLos Or88OTQv3UBvsszDQA1VDwMCyO1FqHc5U2nRRwvbibRTLML3R5VjqN7Y8DgW3RAjrW2B rA5vJStLGsYFg3VMugTocQf6xZ0YowWz/wr0UzLhQDyB2VR8Npqb0BgJhSkXQISewUpf Yr24i0XasDw5BLDwN7UPmKSlUhcjYaUeRqN9FOsRR1xb2kuLgayRWBtYjyo/lYLdP67p J6ZIaW07vM6OoYHZlMUDtGlE86NO8VmiqmRlsqqp9nLMmwGHy5HsoSN8GSeGlWfxNJ6P 7zIg== MIME-Version: 1.0 X-Received: by 10.194.6.196 with SMTP id d4mr125640742wja.120.1452366853859; Sat, 09 Jan 2016 11:14:13 -0800 (PST) In-Reply-To: <20160109112851.1129dc38@wind.levalinux.org> References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <20160106091006 DOT 5F67B809D7A1 AT turkos DOT aspodata DOT se> <20160106133049 DOT 5A0E9809D79B AT turkos DOT aspodata DOT se> <20160106143629 DOT 4D39D809D79B AT turkos DOT aspodata DOT se> <20160106164022 DOT D0D4E809D79B AT turkos DOT aspodata DOT se> <20160106180912 DOT 42ddf4079d91384f206b7c35 AT gmail DOT com> <20160106191433 DOT 5dc5cb59 AT jive DOT levalinux DOT org> <20160106202817 DOT 56197b2c539d426a1b724c9e AT gmail DOT com> <568E09ED DOT 1080508 AT m0n5t3r DOT info> <568E6354 DOT 80302 AT m0n5t3r DOT info> <20160108002640 DOT 03233b24 AT jive DOT levalinux DOT org> <20160108175259 DOT 127a3f073616758434f7edff AT gmail DOT com> <20160109020345 DOT 1e07cb84 AT jive> <20160109112851 DOT 1129dc38 AT wind DOT levalinux DOT org> Date: Sat, 9 Jan 2016 10:14:13 -0900 Message-ID: Subject: Re: [geda-user] (features: layers stack, padstack/vias) From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=047d7b5d497668705c0528eb824c 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 Precedence: bulk --047d7b5d497668705c0528eb824c Content-Type: text/plain; charset=UTF-8 On Sat, Jan 9, 2016 at 1:28 AM, Kovacs Levente (leventelist AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > On Fri, 8 Jan 2016 20:15:24 -0900 > "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" < > geda-user AT delorie DOT com> wrote: > > > The way to think about YAML/JSON is as portable text-based > > serialization formats for the couple most popular datatypes that get > > built into modern languages, in particular arrays, hashes, and scalar > > values (basically numbers and strings). JSON doesn't support native > > (non-tree) references so you have to add your own id field if what > > you want to refer to doesn't have already have a unique name. YAML > > does. JSON is much more common but unfortunately also more noisy. > > Some people like the noise because they don't trust any > > whitespace-based approach (bad experiences with make). > > Ok. I try to express my data model in YAML. The only problem is that I > don't > have any experience in YAML, but hopefully I catch up some in the weekend. > > Then we might write a library that is able to read write gpcb object > to/from > either YAML or SQL. It might be double work, but we can make performance > tests > at the end. > > So could we first think about an API? So we might work together parallel. > For > example, you implement the API in current pcb, and I write the file > handler? > > I think the first step would be to implement the current capability of pcb, > and later, when the infrastructure is there, we can fiddle with the GUI and > other logic. > Yes. First the existing parser needs to get separated from the innards of pcb. As things stand now there's no single data structure that corresponds one-to-one with the format. Once this is done other equivalent formats could be implemented. People are understandably skeptical about whether something like this will be useful, so it shouldn't be viewed as *the* pcb format. It's just going to be something pcb can export and read. > Another idea came in my mind to separate the exporter HIDs from the main > pcb. > For example, the gerber exporter would be a separate piece of program > (using > shared libraries). > I haven't looked at how export works yet so I don't know about this. But I think there's some consensus that moving things like this from apps (pcb, gschem) to libgeda is generally a good idea. Britton --047d7b5d497668705c0528eb824c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Sat, Jan 9, 2016 at 1:28 AM, Kovacs Levente (leventelist AT gmail DOT com) [via geda-user AT delorie DOT com] <geda-user AT delorie DOT com&= gt; wrote:
On Fri= , 8 Jan 2016 20:15:24 -0900
"Britton Kerin (britton.ker= in AT gmail DOT com) [via geda-user AT d= elorie.com]" <geda-use= r AT delorie DOT com> wrote:

> The way to think about YAML/JSON is as portable text-based
> serialization formats for the couple most popular datatypes that get > built into modern languages, in particular arrays, hashes, and scalar<= br> > values (basically numbers and strings).=C2=A0 JSON doesn't support= native
> (non-tree) references so you have to add your own id field if what
> you want to refer to doesn't have already have a unique name.=C2= =A0 YAML
> does.=C2=A0 JSON is much more common but unfortunately also more noisy= .
> Some people like the noise because they don't trust any
> whitespace-based approach (bad experiences with make).

Ok. I try to express my data model in YAML. The only problem is that= I don't
have any experience in YAML, but hopefully I catch up some in the weekend.<= br>
Then we might write a library that is able to read write gpcb object to/fro= m
either YAML or SQL. It might be double work, but we can make performance te= sts
at the end.

So could we first think about an API? So we might work together parallel. F= or
example, you implement the API in current pcb, and I write the file handler= ?

I think the first step would be to implement the current capability of pcb,=
and later, when the infrastructure is there, we can fiddle with the GUI and=
other logic.

Yes.=C2=A0 Firs= t the existing parser needs to get separated from the innards of pcb.=C2=A0= As things stand now there's no single data structure that corresponds = one-to-one with the format.=C2=A0 Once this is done other equivalent format= s could be implemented.

Peop= le are understandably skeptical about whether something like this will be u= seful, so it shouldn't be viewed as *the* pcb format.=C2=A0 It's ju= st going to be something pcb can export and read.=C2=A0
=C2=A0
Another idea came in my mind to separate the exporter HIDs from the main pc= b.
For example, the gerber exporter would be a separate piece of program (usin= g
shared libraries).

I haven&#= 39;t looked at how export works yet so I don't know about this.=C2=A0 B= ut I think there's some consensus that moving things like this from app= s (pcb, gschem) to libgeda is generally a good idea.
=C2=A0
=
Britton

--047d7b5d497668705c0528eb824c--