delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2014/03/11/12:24:33

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
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=dxvTbI0xte0GIX8l6oo/lmzdEBKpAZXR5/mndpsjhPE=;
b=FXakmfCJx4BBQ7wweT+ZvBXo1KBHWWm8L0727qfeBAlCaGwg0Ti/7RYX3SYwahOPcu
5G2OHfxu4ZpCssAxT3W08gDjTQNrj9XeqjMVW9zyfD78AO5KmFa/0TY75YI/0pKIO6Jj
HWoVA6+7xBvf3sS0yjK/ImKmV/7SKFYhEVf3c5PRZQhueD3nWNh+vGoYRrhgVlH0P0oq
VxSlZSumbVz3zhu1QF6LQH0D/o1I/7xTqol4Q+heMifGyS06pcTaaCJScq/RmFndxeoj
dmWda5ThKNiA8+v2PbOxgEi3pvErF//xTnPxOv9uxakcLoT6fUEpnaqR0kJejkwL59N2
C4UA==
MIME-Version: 1.0
X-Received: by 10.182.204.41 with SMTP id kv9mr1191318obc.78.1394555043656;
Tue, 11 Mar 2014 09:24:03 -0700 (PDT)
In-Reply-To: <20140311130801.94D928020170@turkos.aspodata.se>
References: <CAG4ve9LgHNoVZoGaGgF67tadJ_n=L6Uy1g=UPPrkM0fL6Rgufw AT mail DOT gmail DOT com>
<20140127234944 DOT 924148045B78 AT turkos DOT aspodata DOT se>
<CAG4ve9+3jhFJ1Cr6CLUyLX_y02uigJECiUCwxjUWdP=heVocqg AT mail DOT gmail DOT com>
<20140128201110 DOT DF7D78045B78 AT turkos DOT aspodata DOT se>
<20140129072550 DOT GA24560 AT localhost DOT localdomain>
<CAG4ve9+v9QxNRaPSFkmGfr6bKsv7km-Gt_gwXF7Eh4TX+AmNug AT mail DOT gmail DOT com>
<CAOP4iL2JBUdF93kZF-iQ9Rv+VTN3iXoT+6C4LoBi5qaMxof=sA AT mail DOT gmail DOT com>
<CAG4ve9+QsUf=nVXPe-f3VddGiqHn8sjZUJNkdu3QV1cOQDWiAg AT mail DOT gmail DOT com>
<86CABBE6-EE80-4347-B7AA-3F5A8DA4C658 AT noqsi DOT com>
<CAG4ve9LX0mYk2a1zpfWJJC=OP5Weq9pt3PF7_Nqx5vX4wpR=Bg AT mail DOT gmail DOT com>
<1394402434 DOT 2151 DOT 28 DOT camel AT AMD64X2 DOT fritz DOT box>
<CAG4ve9KgoDkkXivoBGL8C2nwToNWjG_Zo61+XeR=sQNeSAnPow AT mail DOT gmail DOT com>
<20140311130801 DOT 94D928020170 AT turkos DOT aspodata DOT se>
Date: Tue, 11 Mar 2014 20:24:03 +0400
Message-ID: <CAG4ve9+D53V_nwT4aKs=4qPUFkGnv9AO52bJp6TZ=GwoVNmx-A@mail.gmail.com>
Subject: Re: [geda-user] identical symbol names
From: =?KOI8-R?B?4czFy9PFyiDowdLYy8/X08vJyg==?= <svetonomer AT gmail 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

--e89a8ff1c01cff3a7504f4572579
Content-Type: text/plain; charset=ISO-8859-1

> > Assume you have a symbol which was included in many your schemas from
> CVS.
> > Example capacitor or other usable for you.
> > Througth time autor change pin length and make this less.
> > All schemas in you archive is broken.
>
> You can solve this example noting the version you used and include it
> somewhere so people can exstract the same version from cvs. A checksum
> could be provided as an extra check.
>
What solve?
Symbol already changed.
Checksum wrong. Yes.
What gschem must do? Message report? Or CVS roll back? Or contact autor?

> > 2. When there exist different sources with the same name. For this case
> > > you can insert more data into the symbol, i.e. authors name and version
> > > number.
> > >
> > That is, all versions must be kept, even when they are outdated....
> > That is, project developers must have a centralized repository of
> > characters.
>
> You don't need a "centralized" repository, you need some kind of
> version control, and it is a good investment to use one.

All developers in his computers should have identical symbols (copies) and
version control, even if not editing, simple view.

For this they need to use  many third-party tools for to ensure reliability
his work, instead simple use of Schematic editor.
Not all engineers want it.

Many want to be sure that they can always open and see his scheme, which
they did years ago, when they need it, istead to make body movements with
version control program and others to eliminate unexpected bugs.

It is certainly possible to embed all symbols in his scheme, but why keep the
scheme in many of the same characters, if you can keep one as I propose to
do.
I do not really understand why we need these EMBEDDED characters in the
form in which they exist.
They only complicate the syntax of sch-file and complicate scripts
writing. EMBEDDED
[ ] and etc.

Check if you have a disk related problem, are your file currupt,
> contact the author of the symbol, etc.
>
 And the author will respond to you through a month. Surely... :)

A checksum is a check that "all are in order". The procedure to handle
> any mismatch is not solved by using a checksum, but it helps to _detect_
> possible problems.
>
That's understandable.
Followed by curses and body movements.

So your case for the "in the file library" solution is:
>
> 1, solve same name problem
> 2, get some reliability against sym file changes
>
And make this without manual activity.

3, and distribution
>
Am I right?
>
Yes.

1 and 2 could be solved by including author/vendor and version
> information.
>
Not solve. Only detect.

3 can be solved by making the your repo. public or by having some
> "collect and distribute" script.
>
Yes. It may be.

But all this is more difficult then 30-50 rows of C code for change libgeda.

 Also minus is that all these solutions are distributed.
There are thousands of scripts to make any changes to the schema file.
Only refdesrenum-like scripts are about 10, maybe 100.
But there is no one place where collected their descriptions.

Although this is the main function of the program and shold be performed
with gschem.

User, especially the new user, confused and repelled by this approach.


And yes, implementing thoose things, so your solution have a head
> start, but others can catch up. The most interesting thing right now
> is to identify problem areas of gschem sym file handling, proposing
> different solutions, and sharing experiences. Implementation comes
> later. You have a solution and an implementation, and that is a
> very good starting point when trying to nail down a problem and
> for discussions.
>
I agree completely.

--e89a8ff1c01cff3a7504f4572579
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><div class=3D"gmail_quote">=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"">
&gt; Assume you have a symbol which was included in many your schemas from =
CVS.<br>
&gt; Example capacitor or other usable for you.<br>
&gt; Througth time autor change pin length and make this less.<br>
&gt; All schemas in you archive is broken.<br>
<br>
</div>You can solve this example noting the version you used and include it=
<br>
somewhere so people can exstract the same version from cvs. A checksum<br>
could be provided as an extra check.<br></blockquote><div>What solve?<br></=
div><div>Symbol already changed.<br></div><div>Checksum wrong. Yes.<br></di=
v><div>What gschem must do? Message report? Or CVS roll back? Or contact au=
tor?<br>
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D""=
>
&gt; &gt; 2. When there exist different sources with the same name. For thi=
s case<br>
&gt; &gt; you can insert more data into the symbol, i.e. authors name and v=
ersion<br>
&gt; &gt; number.<br>
&gt; &gt;<br>
&gt; That is, all versions must be kept, even when they are outdated....<br=
>
&gt; That is, project developers must have a centralized repository of<br>
&gt; characters.<br>
<br>
</div>You don&#39;t need a &quot;centralized&quot; repository, you need som=
e kind of<br>
version control, and it is a good investment to use one.=A0</blockquote><di=
v>All developers in his computers should have identical symbols (copies) an=
d version control, even if not editing, simple view.<br><br></div><div>For =
this they need to use=A0 many <span id=3D"result_box" class=3D"" lang=3D"en=
"><span class=3D"">third-party tools for </span></span><span id=3D"result_b=
ox" class=3D"" lang=3D"en"><span class=3D"">to ensure reliability his work,=
 instead simple use of Schematic editor.<br>
</span></span></div><div><span id=3D"result_box" class=3D"" lang=3D"en"><sp=
an class=3D"">Not all</span> <span class=3D"">engineers want</span> <span c=
lass=3D"">it.<br><br></span></span><span id=3D"result_box" class=3D"" lang=
=3D"en"><span class=3D"">Many</span> <span class=3D"">want to be sure</span=
> <span class=3D"">that they can always</span> <span class=3D"">open and se=
e</span> <span class=3D"">his scheme</span><span class=3D"">, which they</s=
pan> <span class=3D"">did</span> <span class=3D"">years</span> <span class=
=3D"">ago</span><span>,</span> <span class=3D"">when</span> <span class=3D"=
">they</span> <span class=3D"">need</span> <span class=3D"">it</span><span =
class=3D"">, istead</span> <span class=3D"">to</span> <span class=3D"">make=
</span> <span class=3D""></span></span><span id=3D"result_box" class=3D"" l=
ang=3D"en"><span class=3D""><span id=3D"result_box" class=3D"" lang=3D"en">=
<span class=3D"">body movements</span> </span></span> <span class=3D"">with=
 version control</span> program and others <span class=3D"">to eliminate</s=
pan> <span class=3D"">unexpected</span> <span class=3D"">bugs.</span></span=
><br>
<br><span id=3D"result_box" class=3D"" lang=3D"en"><span class=3D"">It is c=
ertainly possible</span> <span class=3D"">to embed</span> <span class=3D"">=
all symbols in</span> <span class=3D"">his scheme</span><span>, but</span> =
<span class=3D"">why keep</span> <span class=3D"">the scheme</span> <span c=
lass=3D"">in</span> <span class=3D"">many</span> <span class=3D"">of the sa=
me characters</span><span>, if you can</span> <span class=3D"">keep</span> =
<span class=3D"">one</span> <span class=3D"">as</span> <span class=3D"">I</=
span> <span class=3D"">propose</span> <span class=3D"">to do</span><span>.<=
/span> <br>
<span class=3D"">I</span> <span class=3D"">do not really</span> <span class=
=3D"">understand why</span> <span class=3D"">we need these</span> <span cla=
ss=3D"">EMBEDDED</span> <span class=3D"">characters in</span> <span class=
=3D"">the form in</span> <span class=3D"">which they exist</span><span clas=
s=3D"">.</span> <br>
<span class=3D"">They only</span> <span class=3D"">complicate the</span> <s=
pan class=3D"">syntax</span> of sch-<span class=3D"">file</span> and compli=
cate scripts writing. <span class=3D"">EMBEDDED [ ] and etc. </span></span>=
<br></div>
<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Check if you have a disk related problem, are your file currupt,<br>
contact the author of the symbol, etc.<br></blockquote><div>=A0<span id=3D"=
result_box" class=3D"" lang=3D"en"><span class=3D"">And the author</span> <=
span class=3D"">will respond</span> <span class=3D"">to you</span>=A0<span =
class=3D""></span></span><span id=3D"result_box" class=3D"" lang=3D"en"><sp=
an class=3D""><span id=3D"result_box" class=3D"" lang=3D"en"><span class=3D=
"">through</span></span> a month.</span> <span class=3D"">Surely... :)<br>
<br></span></span></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

A checksum is a check that &quot;all are in order&quot;. The procedure to h=
andle<br>
any mismatch is not solved by using a checksum, but it helps to _detect_<br=
>
possible problems.<br></blockquote><div><div id=3D"gt-res-c" class=3D""><di=
v id=3D"gt-res-p"><div id=3D"gt-res-data"><div id=3D"gt-res-wrap"><div id=
=3D"gt-res-content" class=3D""><div dir=3D"ltr" style=3D"zoom:1"><span id=
=3D"result_box" class=3D"" lang=3D"en"><span class=3D"">That&#39;s understa=
ndable.</span> <br>
<span class=3D"">Followed by</span> <span class=3D"">curses</span> <span cl=
ass=3D"">and</span> <span class=3D"">body movements.</span></span></div></d=
iv></div></div></div></div></div><br><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin=
g-left:1ex">
So your case for the &quot;in the file library&quot; solution is:<br>
<br>
1, solve same name problem<br>
2, get some reliability against sym file changes<br></blockquote><div class=
=3D"">And make this without manual <span id=3D"result_box" class=3D"" lang=
=3D"en"><span class=3D"">activity.</span></span><br>
<br>
</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex">3, and distribution=
<br></blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


Am I right?<br></blockquote><div>Yes. <br><br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">

1 and 2 could be solved by including author/vendor and version<br>
information.<br></blockquote><div>Not solve. Only detect.<br><br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">

3 can be solved by making the your repo. public or by having some<br>
&quot;collect and distribute&quot; script.<br></blockquote><div>Yes. It may=
 be. <br><br></div><div>But all this is more difficult then 30-50 rows of C=
 code for change libgeda.<br><br><div id=3D"gt-src-c" class=3D""><div id=3D=
"gt-src-p">
 </div> </div> <div id=3D"gt-res-c" class=3D""><div id=3D"gt-res-p"><div id=
=3D"gt-res-data"><div id=3D"gt-res-wrap"><div id=3D"gt-res-content" class=
=3D""><div dir=3D"ltr" style=3D"zoom:1"><span id=3D"result_box" class=3D"" =
lang=3D"en"><span class=3D"">Also</span> <span class=3D"">minus</span> <spa=
n class=3D"">is that</span> <span class=3D"">all these</span> <span class=
=3D"">solutions</span> <span class=3D"">are distributed</span><span class=
=3D"">.</span> <br class=3D"">
<span class=3D"">There are thousands of</span> <span class=3D"">scripts to<=
/span> <span class=3D"">make</span> <span class=3D"">any changes to the</sp=
an> <span class=3D"">schema file</span><span class=3D"">.</span> <br class=
=3D"">Only refdesrenum-like scripts<span class=3D""> are about 10</span><sp=
an class=3D"">, maybe</span> <span class=3D"">100</span><span class=3D"">.<=
/span> <br>
</span><span id=3D"result_box" class=3D"" lang=3D"en"><span id=3D"result_bo=
x" class=3D"" lang=3D"en"><span class=3D"">But there is no</span> <span cla=
ss=3D"">one place</span> <span class=3D"">where</span> <span class=3D"">col=
lected</span> <span class=3D"">their descriptions</span><span class=3D"">.<=
/span> </span><br>
<span class=3D""></span><span class=3D""></span><br class=3D""><span class=
=3D"">Although this</span> <span class=3D"">is</span> <span class=3D"">the =
main</span> <span class=3D"">function</span> <span class=3D"">of the progra=
m and shold be performed with gschem.<br>
<br class=3D""></span><span class=3D"">User</span><span class=3D"">,</span>=
 <span class=3D"">especially the new</span><span class=3D""> user,</span> <=
span class=3D"">confused</span> <span class=3D"">and</span> <span class=3D"=
">repelled by</span> <span class=3D"">this approach.</span></span></div>
</div></div></div></div></div></div><div><br><br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex">

And yes, implementing thoose things, so your solution have a head<br>
start, but others can catch up. The most interesting thing right now<br>
is to identify problem areas of gschem sym file handling, proposing<br>
different solutions, and sharing experiences. Implementation comes<br>
later. You have a solution and an implementation, and that is a<br>
very good starting point when trying to nail down a problem and<br>
for discussions.<br></blockquote><div>I agree completely. <br></div></div><=
br></div></div>

--e89a8ff1c01cff3a7504f4572579--

- Raw text -


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