delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/01/09/14:14:25

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>
<CACwWb3CcsYJ9KgDFAa5pZqDzfTewhvbuatbxoKUp6PtHRCoa+w AT mail DOT gmail DOT com>
<20160106133049 DOT 5A0E9809D79B AT turkos DOT aspodata DOT se>
<CACwWb3Cyk4yLwt3=V1Mu5C4RieOQEjYH3ej5MXZSNnLPbshqDg AT mail DOT gmail DOT com>
<20160106143629 DOT 4D39D809D79B AT turkos DOT aspodata DOT se>
<CACwWb3BXbnQXs+DwVVzmC8DrhwOYxPgVyUhZTPL9bM9cJbHimw AT mail DOT gmail DOT com>
<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>
<CACwWb3AhSh-+NNu--bVMGZBfjaoA+hHg7gbXnoyNv3oMq=e17g AT mail DOT gmail DOT com>
<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>
<CAC4O8c-nqs2+9rgsD-Gsks-wSmJ1eCkJ9PFMi3XqMrYE2FO3Ew AT mail DOT gmail DOT com>
<20160109112851 DOT 1129dc38 AT wind DOT levalinux DOT org>
Date: Sat, 9 Jan 2016 10:14:13 -0900
Message-ID: <CAC4O8c_tFOOXCA5ABEMuSU8BnXMZWauV+uJYy-TJO7nJYBS9+A@mail.gmail.com>
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]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
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

--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] <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

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Sat, Jan 9, 2016 at 1:28 AM, Kovacs Levente (<a href=3D"mailto:leven=
telist AT gmail DOT com">leventelist AT gmail DOT com</a>) [via <a href=3D"mailto:geda-us=
er AT delorie DOT com">geda-user AT delorie DOT com</a>] <span dir=3D"ltr">&lt;<a href=3D=
"mailto:geda-user AT delorie DOT com" target=3D"_blank">geda-user AT delorie DOT com</a>&=
gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D"">On Fri=
, 8 Jan 2016 20:15:24 -0900<br>
&quot;Britton Kerin (<a href=3D"mailto:britton DOT kerin AT gmail DOT com">britton.ker=
in AT gmail DOT com</a>) [via <a href=3D"mailto:geda-user AT delorie DOT com">geda-user AT d=
elorie.com</a>]&quot; &lt;<a href=3D"mailto:geda-user AT delorie DOT com">geda-use=
r AT delorie DOT com</a>&gt; wrote:<br>
<br>
&gt; The way to think about YAML/JSON is as portable text-based<br>
&gt; serialization formats for the couple most popular datatypes that get<b=
r>
&gt; built into modern languages, in particular arrays, hashes, and scalar<=
br>
&gt; values (basically numbers and strings).=C2=A0 JSON doesn&#39;t support=
 native<br>
&gt; (non-tree) references so you have to add your own id field if what<br>
&gt; you want to refer to doesn&#39;t have already have a unique name.=C2=
=A0 YAML<br>
&gt; does.=C2=A0 JSON is much more common but unfortunately also more noisy=
.<br>
&gt; Some people like the noise because they don&#39;t trust any<br>
&gt; whitespace-based approach (bad experiences with make).<br>
<br>
</span>Ok. I try to express my data model in YAML. The only problem is that=
 I don&#39;t<br>
have any experience in YAML, but hopefully I catch up some in the weekend.<=
br>
<br>
Then we might write a library that is able to read write gpcb object to/fro=
m<br>
either YAML or SQL. It might be double work, but we can make performance te=
sts<br>
at the end.<br>
<br>
So could we first think about an API? So we might work together parallel. F=
or<br>
example, you implement the API in current pcb, and I write the file handler=
?<br>
<br>
I think the first step would be to implement the current capability of pcb,=
<br>
and later, when the infrastructure is there, we can fiddle with the GUI and=
<br>
other logic.<br></blockquote><div><br></div><div style=3D"">Yes.=C2=A0 Firs=
t the existing parser needs to get separated from the innards of pcb.=C2=A0=
 As things stand now there&#39;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.</div><div style=3D""><br></div><div style=3D"">Peop=
le are understandably skeptical about whether something like this will be u=
seful, so it shouldn&#39;t be viewed as *the* pcb format.=C2=A0 It&#39;s ju=
st going to be something pcb can export and read.=C2=A0</div><div>=C2=A0</d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex">
Another idea came in my mind to separate the exporter HIDs from the main pc=
b.<br>
For example, the gerber exporter would be a separate piece of program (usin=
g<br>
shared libraries).<br></blockquote><div><br></div><div style=3D"">I haven&#=
39;t looked at how export works yet so I don&#39;t know about this.=C2=A0 B=
ut I think there&#39;s some consensus that moving things like this from app=
s (pcb, gschem) to libgeda is generally a good idea.</div><div>=C2=A0</div>=
<div style=3D"">Britton</div><div><br></div></div></div></div>

--047d7b5d497668705c0528eb824c--

- Raw text -


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