Mail Archives: geda-user/2016/01/02/22:08:06
--Apple-Mail=_3EF14EB4-B8C1-4383-9B26-B261F1580307
Content-Type: multipart/alternative;
boundary="Apple-Mail=_3369C536-8C29-4AFC-92DB-78CA802B3476"
--Apple-Mail=_3369C536-8C29-4AFC-92DB-78CA802B3476
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252
On Jan 2, 2016, at 7:47 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 Sat, Jan 2, 2016 at 4:38 PM, John Doty <jpd AT noqsi DOT com> wrote:
>=20
> On Jan 2, 2016, at 6:07 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
>> Personally I find formats like this:
>>=20
>> device=3DRESISTOR
>> T 44400 49300 5 10 1 1 90 0 1
>>=20
>> substantially less readable than ones with field names, but they are =
indeed easy to parse.
>=20
> Personally, I rarely edit these things manually except for the text =
fields, which are not difficult to find. The fact that they=92re easy to =
parse is handy for automation.
>=20
>> The pcb format is quite a bit more elaborate and the savings from =
not rolling your own parser are more significant.
>>=20
>> I think you're criteria for what should go in libgeda are spot-on =
btw. Nor do I have any problem with a C interface calling python or =
gschem or for that matter C++. I do think providing a clean C interface =
to libgeda gets by far the best return on investment, since it's so =
widely known and with a little care wrappers can then be provided almost =
automatically for a wide variety of languages (via SWIG or some other =
similar mechanism -- or maybe Xorn facilitates this, I'm a little =
unclear).
>=20
> I don=92t find deconstructing C data structures particularly easier =
than parsing the format above. Just another layer I have to penetrate to =
get to the data. I do significant processing with simple things like =
sed, which don=92t handle binary data.
>=20
> Wrappers CAN be provided, but will they? FFI programming is not the =
easiest thing. I hear complaints about the need for developers to =
maintain code. It seems to me that one way to address these concerns is =
to avoid and eliminate unnecessary code.
>=20
> Good question. It's a great result if you get it but a lot more work =
than using a serialization library, which is why the latter approach =
seems to me like a useful step in the right direction.
Serialization library? Why do you want a extra, unnecessary, opaque =
interface? What, exactly, are you trying to accomplish?
>=20
> Britton
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd AT noqsi DOT com
--Apple-Mail=_3369C536-8C29-4AFC-92DB-78CA802B3476
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=windows-1252
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On Jan 2, 2016, at 7:47 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>] =
<<a href=3D"mailto:geda-user AT delorie DOT com">geda-user AT delorie DOT com</a>>=
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 Sat, Jan 2, 2016 at 4:38 PM, John Doty <span =
dir=3D"ltr"><<a href=3D"mailto:jpd AT noqsi DOT com" =
target=3D"_blank">jpd AT noqsi DOT com</a>></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 2, 2016, at 6:07 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>] <<a =
href=3D"mailto:geda-user AT delorie DOT com" =
target=3D"_blank">geda-user AT delorie DOT com</a>> =
wrote:</div><br><blockquote type=3D"cite"><div =
style=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-varia=
nt:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text=
-align:start;text-indent:0px;text-transform:none;white-space:normal;word-s=
pacing:0px">Personally I find formats like this:<br><br> =
device=3DRESISTOR<br> T 44400 49300 5 10 1 1 90 0 =
1<br><br>substantially less readable than ones with field names, but =
they are indeed easy to =
parse.</div></blockquote><div><br></div></span>Personally, I rarely edit =
these things manually except for the text fields, which are not =
difficult to find. The fact that they=92re easy to parse is handy for =
automation.</div><div><br><blockquote type=3D"cite"><span class=3D""><div =
style=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-varia=
nt:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text=
-align:start;text-indent:0px;text-transform:none;white-space:normal;word-s=
pacing:0px"> The pcb format is quite a bit more elaborate and the =
savings from not rolling your own parser are more =
significant.<br></div><div =
style=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-varia=
nt:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text=
-align:start;text-indent:0px;text-transform:none;white-space:normal;word-s=
pacing:0px"><br></div></span><span class=3D""><div =
style=3D"font-family:Helvetica;font-size:12px;font-style:normal;font-varia=
nt:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text=
-align:start;text-indent:0px;text-transform:none;white-space:normal;word-s=
pacing:0px">I think you're criteria for what should go in libgeda are =
spot-on btw. Nor do I have any problem with a C interface calling =
python or gschem or for that matter C++. I do think providing a =
clean C interface to libgeda gets by far the best return on investment, =
since it's so widely known and with a little care wrappers can then be =
provided almost automatically for a wide variety of languages (via SWIG =
or some other similar mechanism -- or maybe Xorn facilitates this, I'm a =
little unclear).</div></span></blockquote><br></div><div>I don=92t find =
deconstructing C data structures particularly easier than parsing the =
format above. Just another layer I have to penetrate to get to the data. =
I do significant processing with simple things like sed, which don=92t =
handle binary data.</div><div><br></div><div>Wrappers CAN be provided, =
but will they? FFI programming is not the easiest thing. I hear =
complaints about the need for developers to maintain code. It =
seems to me that one way to address these concerns is to avoid and =
eliminate unnecessary code.</div></div></blockquote><div><br></div><div =
style=3D"">Good question. It's a great result if you get it but a =
lot more work than using a serialization library, which is why the =
latter approach seems to me like a useful step in the right =
direction.</div></div></div></div></blockquote><div><br></div>Serializatio=
n library? Why do you want a extra, unnecessary, opaque interface? What, =
exactly, are you trying to accomplish?</div><div><br><blockquote =
type=3D"cite"><div dir=3D"ltr"><div class=3D"gmail_extra"><div =
class=3D"gmail_quote"><div><br></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"> <span =
class=3D"Apple-converted-space"> </span><span =
class=3D"Apple-converted-tab"> <span =
class=3D"Apple-converted-space"> </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=_3369C536-8C29-4AFC-92DB-78CA802B3476--
--Apple-Mail=_3EF14EB4-B8C1-4383-9B26-B261F1580307
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
iQIcBAEBCgAGBQJWiJB+AAoJEF1Aj/0UKykRdnQP/09izPWq4hIOu3ub5dsapJtN
H+G1ZycIArcyVQwd9s1MUIhEytkaJZmhl1QMV4tLYI4rTd76R+8RQk+XhBKX9BKz
wRVAbj83fkWNay3VReYeafe3C2NsKNW0rSBiGaunHu6VGAbwZHanXZAzxaBEv8eM
aua1mfnxd78zEkbTxAqHu8NfLOr12TuQoxVSy+yvp1+6iZcxTLPYNcX9vvjmuTOg
A6mXF0W+Il9IBbzN3z0PSJjYqiHLsybEu53d359swbFkovXRoMnuQR0lBL3LlHEe
IyXcbCjzLLkmNilhI7PvXDgLGFRpM3kyZlJ+P6SauQ/37LUSraL8uvppzBEosHLP
kSqtAFJWcOJ2pOrBmQqx4q7dDZub5KSkYqsUDLSMUxkJDH86hIkbjYeGSB7teyIv
COs/rqblqobQl6R3CzmVOygOLbkMQCKqAtq6ePE9NYE34dliOx5jes3fqAei/5bl
ObMw2qbtnOvgjOaBrOJvEMW2GKv9mJyGd6Z0iJZwMNcWgyjbKQnQzYhQpEIpYQCz
35czE6Sa8gL1pm4volPVrFXKDsPaJv3l+TnSsmSrL+gcGtDaijLXfW2Wf+YIPviF
Vp+pCW7mT6gq3QBs++6MjQJEB9FNDeshhmg/0wOqL54otijK5oHqG8QP8hTPEz5v
6K8ai9QRUFVZ7RboWj74
=vQmp
-----END PGP SIGNATURE-----
--Apple-Mail=_3EF14EB4-B8C1-4383-9B26-B261F1580307--
- Raw text -