delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/01/04/17:28:08

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 63.119.35.194
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: <CAC4O8c8zk8=Py1yX6fVqF+35SYe39Li=y4jZ8bCeZ1Ev8WccAg@mail.gmail.com>
Date: Mon, 4 Jan 2016 17:27:54 -0500
Message-Id: <79E3B623-367A-43EC-A087-99C0CDAD9074@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> <CAC4O8c_tZ52RNV5qD3YJmd-Hhoi6j62p!
SZZt54S2z_L9YU1RxQ AT mail DOT gmail DOT com> <A942261D-7C25-4F2D-9CB1-FFC60FA1C160 AT noqsi DOT com> <CAC4O8c8zk8=Py1yX6fVqF+35SYe39Li=y4jZ8bCeZ1Ev8WccAg 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=_6BD571A9-3CE2-4328-90C3-A7AB0E28CBA4
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_786A9228-8CE7-4AE2-ADEA-CDCB848A7999"


--Apple-Mail=_786A9228-8CE7-4AE2-ADEA-CDCB848A7999
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On Jan 4, 2016, at 2:59 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
>=20
> On Sun, Jan 3, 2016 at 6:25 PM, John Doty <jpd AT noqsi DOT com> wrote:
>=20
> 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
>>=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.
>=20
> A stronger argument for text is that you can process it with =
text-oriented tools.
>=20
> But ultimately the reason for wanting to use those text-oriented tools =
is the same: you can see what you're working on with your own eyes.  In =
every other respect binary is better.

Not true. The easiest tool for changing all of the rev=3D attributes in =
your schematics to match the git tag is a shell script using sed. Text =
formats keep trivial transformations like this easy. Binary formats get =
in the way. Binary formats make complicated transformations slightly =
easier, but I think its more important to break down the barriers that =
make simple stuff much harder than it needs to be.

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



--Apple-Mail=_786A9228-8CE7-4AE2-ADEA-CDCB848A7999
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 4, 2016, at 2:59 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"><br><div =
class=3D"gmail_quote">On Sun, Jan 3, 2016 at 6:25 PM, John Doty <span =
dir=3D"ltr">&lt;<a href=3D"mailto:jpd AT noqsi DOT com" =
target=3D"_blank">jpd AT noqsi 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"><div style=3D"word-wrap:break-word"><br><div><span=
 class=3D""><div>On Jan 3, 2016, at 7:11 PM, Britton Kerin (<a =
href=3D"mailto:britton DOT kerin AT gmail DOT com" =
target=3D"_blank">britton DOT kerin AT gmail DOT com</a>) [via <a =
href=3D"mailto:geda-user AT delorie DOT com" =
target=3D"_blank">geda-user AT delorie DOT com</a>] &lt;<a =
href=3D"mailto:geda-user AT delorie DOT com" =
target=3D"_blank">geda-user AT delorie DOT com</a>&gt; =
wrote:</div><br><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"=
 target=3D"_blank">nicklas DOT karlsson17 AT gmail DOT com</a>) [via <a =
href=3D"mailto:geda-user AT delorie DOT com" =
target=3D"_blank">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>&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>&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>&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>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></span>A stronger =
argument for text is that you can process it with text-oriented =
tools.</div></div></blockquote><div><br></div><div style=3D"">But =
ultimately the reason for wanting to use those text-oriented tools is =
the same: you can see what you're working on with your own eyes.&nbsp; =
In every other respect binary is =
better.&nbsp;</div></div></div></div></blockquote><div><br></div>Not =
true. The easiest tool for changing all of the rev=3D attributes in your =
schematics to match the git tag is a shell script using sed. Text =
formats keep trivial transformations like this easy. Binary formats get =
in the way. Binary formats make complicated transformations slightly =
easier, but I think its more important to break down the barriers that =
make simple stuff much harder than it needs to be.</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=_786A9228-8CE7-4AE2-ADEA-CDCB848A7999--

--Apple-Mail=_6BD571A9-3CE2-4328-90C3-A7AB0E28CBA4
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

iQIcBAEBCgAGBQJWivHqAAoJEF1Aj/0UKykRKQwQAI8DlPojtahqk9grLJ9cp8Xu
SjWuJ17ieTHsV8W8HM3RkhZtNMPDBz7P5GocV+/644ZgNyTdyp6GSsOCRr/gcIOW
a4UGtXrdcFBAOVJAz5IE1oE+Ts1ois3dY4qDWF45UFU4qQHHz7FDTcfQcOjXf7/N
kqZm4tb0NH1xE3WCxpZxDdHYp/BhgAEeiCsgP28c6+3RKwgF/vFK4jSg85QqNLHF
T0B0UO6UJJVGJRYURaysgfq67askV0Mp+8m6lrIqf+tetuj37bVJxW2JVhTzuNeU
ikOb574vNT3Z3mD8ya/0I/zdlO4C2eFJyFR/4dVwNjII8GV6aVutfW9nI0RIZsir
gKQ5XWEbgE3PDLB6mSb0I/thD5WPQAHGrITsn3md9jJVUy5NWfjqv1savHgOR8UL
K/g2o9ujQyRtp2ZsexoDK7KW22HWxZZZT3DuHy7ZA/SEhJrQsYvohJuTvBtP+5n9
hDI5PP8LBp/hWw73iSpv7Yux0GWUxfDjmGlm4Ay3p6u6TYN/J+UiAe+cBOkY9TAk
8v+tTO5xtWYQd9Qu0GFGm8cEDF650smwj3NgjU4sXObMZFpCZIRyVyT5F6xgUriU
XvxkkU2rPytu2bQ9Pqc3sy03ig1gv032QgVZ6o9F7Md7AjwYWMj9QDt9pAAvoHM5
0J7zheudiOwRBDoum2E0
=H1Jj
-----END PGP SIGNATURE-----

--Apple-Mail=_6BD571A9-3CE2-4328-90C3-A7AB0E28CBA4--

- Raw text -


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