delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/01/03/22:26:14

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 207.224.51.38
X-Authenticated-UID: jpd AT noqsi DOT com
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Subject: Re: [geda-user] A fileformat library
X-Pgp-Agent: GPGMail 2.5.2
From: John Doty <jpd AT noqsi DOT com>
In-Reply-To: <CAC4O8c_tZ52RNV5qD3YJmd-Hhoi6j62pSZZt54S2z_L9YU1RxQ@mail.gmail.com>
Date: Sun, 3 Jan 2016 20:25:32 -0700
Message-Id: <A942261D-7C25-4F2D-9CB1-FFC60FA1C160@noqsi.com>
References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <CAJXU7q_qxdvJaejF-VcY=u7VHZ-zrfrc+Z7-qSwfFyPdy-umxw AT mail DOT gmail DOT com> <B02363CD-469D-493A-AC15-1D5DC7836982 AT noqsi DOT com> <20151222232230 DOT 12633 DOT qmail AT stuge DOT se> <0F6F1D0F-4F07-48EA-90FE-836EAD4E2354 AT noqsi DOT com> <CAM2RGhTficnys3a4xs=UBFvk8aPwpzYWUADFLP_pUQ+R1iKs0g AT mail DOT gmail DOT com> <0FCF3774-F93C-4BFF-BB61-636F75DCCACB AT noqsi DOT com> <CAC4O8c_UAiFE-vGfoE2tXppHLhaa0dSYz9o_rkdCBo7_SRRtxw AT mail DOT gmail DOT com> <FFBE7623-E240-4798-96B0-2BECF56C8E29 AT noqsi DOT com> <CAC4O8c980g1gj15=5njstC_BT-WYDgKQx9BRycdFKA8OvgtiOg AT mail DOT gmail DOT com> <B54C0E1F-1986-4C79-9F70-7F1919B8B26D AT noqsi DOT com> <CAC4O8c9bxJP1eMG4yz3YwKkQJRmsDGmLQ0aMd5pJRyu0WpdCtQ AT mail DOT gmail DOT com> <C1CFCCEE-C64A-4E49-AA64-446C061656D6 AT noqsi DOT com> <CAC4O8c-zt8B=joDd+ws77D2jt6aZf3MWfR_dAvpzGcNuBrTURQ AT mail DOT gmail DOT com> <alpine DOT DEB DOT 2 DOT 11 DOT 1601030040320 DOT 2176 AT newt> <D9825C8C-B6FD-4C7F-A8D5-B8AF06253B72 AT noqsi DOT com> <CAC4O8c_R5xWLmzj_cz0g0mPWNs6mR4efjXKGBoup8YO6nwnPTA AT mail DOT gmail DOT com> <20160103173859.ce123a8957899e5c3e!
496d9b AT gmail DOT com> <CAC4O8c_tZ52RNV5qD3YJmd-Hhoi6j62pSZZt54S2z_L9YU1RxQ AT mail DOT gmail DOT com>
To: geda-user AT delorie DOT com
X-Mailer: Apple Mail (2.1878.6)
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

--Apple-Mail=_47875EB9-9D5A-48EB-B290-768A1E2FABE2
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_202CD72B-CA51-4E3A-BAD9-A8D49192D6CE"


--Apple-Mail=_202CD72B-CA51-4E3A-BAD9-A8D49192D6CE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On Jan 3, 2016, at 7:11 PM, Britton Kerin (britton DOT kerin AT gmail DOT com) [via =
geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:

>=20
> On Sun, Jan 3, 2016 at 7:38 AM, Nicklas Karlsson =
(nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com] =
<geda-user AT delorie DOT com> wrote:
> > As I've mentioned previously I'm talking pcb, which is a more =
painful
> > format to parse (such that so far as I'm aware the parser in pcb is =
the
> > only one).  Personally I find formats like this:
> >
> >   device=3DRESISTOR
> >   T 44400 49300 5 10 1 1 90 0 1
> >
> > substantially less readable than ones with field names, but they are =
indeed
> > easy to parse.  The pcb format is quite a bit more elaborate and the
> > savings from not rolling your own parser are more significant.
>=20
> Yes this is simple to parse, use little file space but do not have =
field name. To use little file space and be simple to parse is actually =
two good properties of a file format.
>=20
> Lack of field names may be worked around by having a list of field =
names in the beginning. If this list of field names is sorted according =
to how often they are used and each row only have to list used values it =
would probably be a file format with rather good properties.
>=20
> To enumerate the field names at the beginning of the file may also be =
a solution. Or maybe to use representation of data structures from a =
programming language.
>=20
> Although these are good measures, once you adopt them you may start =
asking yourself why you aren't just using a binary format.  The argument =
for text is that you can glance at a chunk of it and easily tell what's =
going on.

A stronger argument for text is that you can process it with =
text-oriented tools.

>=20
> Britton

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd AT noqsi DOT com



--Apple-Mail=_202CD72B-CA51-4E3A-BAD9-A8D49192D6CE
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On Jan 3, 2016, at 7:11 PM, Britton =
Kerin (<a =
href=3D"mailto:britton DOT kerin AT gmail DOT com">britton DOT kerin AT gmail DOT com</a>) =
[via <a href=3D"mailto:geda-user AT delorie DOT com">geda-user AT delorie DOT com</a>] =
&lt;<a href=3D"mailto:geda-user AT delorie DOT com">geda-user AT delorie DOT com</a>&gt;=
 wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr"><br><div class=3D"gmail_extra"><div =
class=3D"gmail_quote">On Sun, Jan 3, 2016 at 7:38 AM, Nicklas Karlsson =
(<a =
href=3D"mailto:nicklas DOT karlsson17 AT gmail DOT com">nicklas DOT karlsson17 AT gmail DOT com<=
/a>) [via <a =
href=3D"mailto:geda-user 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">&gt; As I've mentioned =
previously I'm talking pcb, which is a more painful<br>
&gt; format to parse (such that so far as I'm aware the parser in pcb is =
the<br>
&gt; only one).&nbsp; Personally I find formats like this:<br>
<span class=3D"">&gt;<br>
&gt;&nbsp; &nbsp;device=3DRESISTOR<br>
&gt;&nbsp; &nbsp;T 44400 49300 5 10 1 1 90 0 1<br>
&gt;<br>
</span><span class=3D"">&gt; substantially less readable than ones with =
field names, but they are indeed<br>
</span>&gt; easy to parse.&nbsp; The pcb format is quite a bit more =
elaborate and the<br>
<span class=3D"">&gt; savings from not rolling your own parser are more =
significant.<br>
<br>
</span>Yes this is simple to parse, use little file space but do not =
have field name. To use little file space and be simple to parse is =
actually two good properties of a file format.<br>
<br>
Lack of field names may be worked around by having a list of field names =
in the beginning. If this list of field names is sorted according to how =
often they are used and each row only have to list used values it would =
probably be a file format with rather good properties.<br>
<br>
To enumerate the field names at the beginning of the file may also be a =
solution. Or maybe to use representation of data structures from a =
programming language.<br></blockquote><div><br></div><div =
style=3D"">Although these are good measures, once you adopt them you may =
start asking yourself why you aren't just using a binary format.&nbsp; =
The argument for text is that you can glance at a chunk of it and easily =
tell what's going =
on.</div></div></div></div></blockquote><div><br></div>A stronger =
argument for text is that you can process it with text-oriented =
tools.</div><div><br><blockquote type=3D"cite"><div dir=3D"ltr"><div =
class=3D"gmail_extra"><div class=3D"gmail_quote"><div>&nbsp;</div><div =
style=3D"">Britton</div></div></div></div>
</blockquote></div><br><div apple-content-edited=3D"true">
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
normal; letter-spacing: normal; line-height: normal; text-align: auto; =
-khtml-text-decorations-in-effect: none; text-indent: 0px; =
-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =
white-space: normal; widows: 2; word-spacing: 0px; "><p style=3D"margin: =
0.0px 0.0px 0.0px 0.0px"><font face=3D"Helvetica" size=3D"3" =
style=3D"font: 12.0px Helvetica">John Doty<span =
class=3D"Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span><span =
class=3D"Apple-converted-tab">&nbsp; &nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span></span>Noqsi =
Aerospace, Ltd.</font></p><p style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><a href=3D"http://www.noqsi.com/">http://www.noqsi.com/</a></p><p =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica"><a =
href=3D"mailto:jpd AT noqsi DOT com">jpd AT noqsi DOT com</a></font></p><br =
class=3D"Apple-interchange-newline"></span>
</div>
<br></body></html>=

--Apple-Mail=_202CD72B-CA51-4E3A-BAD9-A8D49192D6CE--

--Apple-Mail=_47875EB9-9D5A-48EB-B290-768A1E2FABE2
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJWieYtAAoJEF1Aj/0UKykRo6QQAK8LIB7qtzwR4/XN9NQmzxor
TSJqsgwbvb8XsxYFB0uM3GR5reRC8QqkLHM5mlBVKpeo421VRALkXNeSAiATfy5k
fPKyUiSy4gzGahnuNlvMuWCoFGFpABewwXcESraVqh/MxD93ulp7OrXXTebBvf61
x3kIx+dXtHgUkeFsxXxzIzh1mNCpmqMdM+KXLgPS0KljrphnNIf4T0k8we5cgYzt
zKfS2cNvfUVVUyuQKT4FSHzSZhnZotM+hpHB8EQGsq8u1XcrJ5jmDY5j67duUzAO
PkiAqbtnNRJ9mnpHFydQaJajczupYwKRyky2J0W373lmTsdk3CFwVyTNCG6JxIn8
E3nu5uX2/yqCVS/UdFovzetOJt1U1MevXqB/p8gOageitucFtuoPrNCWWTFQxf89
IjJDpCUnn8CNPK8bOMs4o5+CJMyPwToIAJSnQrnLVvXVjtAuwIynC3kP/+320irx
AhhZiB0hlm1iGyAoJUhkJy/KaCvZBcGL+SyyNJqTtCgbvxgr7+rl3HJVEvQ2QYpl
/FVfO+LoweoER5G3lwePFNP3dQ2AhMCJugqqno3XRjn2AIlHm4BX3jUVnmTFSPBY
47qXN75SStP1lJ3Lbko0KSIXCSPKUkIGSBdPYgFGixownhOS6zrW2ml5kJiwQCil
91b/WgLrP+9jct+ongh3
=1qR6
-----END PGP SIGNATURE-----

--Apple-Mail=_47875EB9-9D5A-48EB-B290-768A1E2FABE2--

- Raw text -


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