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 Content-Type: multipart/signed; boundary="Apple-Mail=_6BD571A9-3CE2-4328-90C3-A7AB0E28CBA4"; protocol="application/pgp-signature"; micalg=pgp-sha512 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 In-Reply-To: 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> <20151222232230 DOT 12633 DOT qmail AT stuge DOT se> <0F6F1D0F-4F07-48EA-90FE-836EAD4E2354 AT noqsi DOT com> <0FCF3774-F93C-4BFF-BB61-636F75DCCACB AT noqsi 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 Precedence: bulk --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] wrote: >=20 >=20 > On Sun, Jan 3, 2016 at 6:25 PM, John Doty 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] 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] = 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
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:



On Sun, Jan 3, 2016 at 6:25 PM, John Doty <jpd AT noqsi DOT com> wrote:

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:


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.

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.

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.

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.

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.

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