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=TAhCPF0q0uWfVkuj3ACpFDQBi+VZxmY4tcf0/jP3oF4=; b=xgVUsZkX+et+TAbDai7x00mKwMCI1sbGxgXx3WzfypNH+vp8aVZo6kVhfxFxppxTsq nD5zwSIk2ejG17rm2NK73H+u25hqOwHADheIgTqLrCum6EROqXr5QXkPvpL1jqc65OJ2 81qsxezyK1Nf9VhvF3WBcnn/7T5/P7hrtR7RxKyAixiSyK1DpzGClT2umQR6oXMWRRbW YxfjzjW4KBBP6jp/1voBXIG8PWS+GKraKpjLMk00+S6BsrOynmNO+EcZLYyKEGJp7tce 8zo40lQQOaqQKjgVq4CpyW6E0h628628dUM4gnwXYNbALtqDaNgNg9jqj5AtOYyr4XUr ubpw== MIME-Version: 1.0 X-Received: by 10.181.13.82 with SMTP id ew18mr3485417wid.22.1394550727395; Tue, 11 Mar 2014 08:12:07 -0700 (PDT) In-Reply-To: References: <20140127234944 DOT 924148045B78 AT turkos DOT aspodata DOT se> <20140128201110 DOT DF7D78045B78 AT turkos DOT aspodata DOT se> <20140129072550 DOT GA24560 AT localhost DOT localdomain> <20140309173951 DOT 738798020179 AT turkos DOT aspodata DOT se> <531CF3BE DOT 8070407 AT ecosensory DOT com> Date: Tue, 11 Mar 2014 08:12:07 -0700 Message-ID: Subject: Re: [geda-user] identical symbol names From: Ouabache Designworks To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=f46d043c7cccbaccfe04f45624bd 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 --f46d043c7cccbaccfe04f45624bd Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable On Tue, Mar 11, 2014 at 6:18 AM, =E1=CC=C5=CB=D3=C5=CA =E8=C1=D2=D8=CB=CF= =D7=D3=CB=C9=CA wrote: > > "The Pragmatic Programmer" was written by two guys with lots of experienc= e >> in real world firmware design. A lot of the book also applies to Hardwa= re >> design. One thing that they stress through out the book is to NEVER copy >> any data in your database. >> > Most commercial programs for pcb design copy library components in the > project files. > > An organisation like gEDA should keep all libraries under a revision >> control system that anyone can check out. >> > Users have the right to keep their own components and not include them in > any repository. > Not all users have Geda gedasymbols account due to obvious reasons. > >> Then you can easily check for updates and revisions. >> > And do it all manually. > And if suddenly the updated components create bugs in the old schemas nee= d > to manually roll back, and then stored in directories with these old > schemas. So you come to my version. > > A lot of designers do make copies of things all the time. A lot of commercial projects run into problems. Some designers have traced the root cause of these problems back to somebody using the wrong copy of something. That is why we want you to stop making copies, you are making our jobs harder. Everybody MUST keep their components in a repository. We call that "keeping a backup". It does not have to be on the internet and visible to the world. My personal backups are a monthly dump to dvd and stored it in the barn in case the house burns down. If you work for a company then you may work on a local copy of your files on your workstation but the "official" copy will be kept by the company in their repositories. You will make frequent (ie: weekly or even daily) check ins so that your latest work is always stored in a repository. That's how the pros do it. Updating components do not break old designs. Once a component is released and used in production then you cannot make any material changes to that component. You can however create a new revision of that component and release that one with a different version number. When a user does an update then they will see that there are new versions and can decide to stay with the old or replace it with the new. Nothing breaks unless the user takes action. If something does break then they can back out by deleting any changed file and restoring them from the repository. Now during the early development phase before anything is released there is a chaotic period where everyone is making changes without doing an official new versions and things are breaking every day. You simply have to warn the other designers and hope it settles down quickly. Besides versions there is a concept called variants. In IC design you want to create components that are flexible so the end user can customize them to their exact needs. We do this using parameters. But parameters do not work in two cases, they cannot modify a port list or a file list. These require variants. If you have a cpu with the option of having a debugger interface then you cannot select this with a parameter. The debugger will have io ports that don't exist on a non-debugged cpu. So you will release two variants, one with debugger ports and one without. John Eaton --f46d043c7cccbaccfe04f45624bd Content-Type: text/html; charset=KOI8-R Content-Transfer-Encoding: quoted-printable



On Tue, Mar 11, 2014 at 6:18 AM, =E1=CC=C5=CB=D3=C5=CA =E8=C1=D2=D8= =CB=CF=D7=D3=CB=C9=CA <svetonomer AT gmail DOT com> wrote:

"The Pragmatic Programmer" was written= by two guys with lots of experience in real world firmware design. A lot o= f the book also applies to=9A Hardware design. One thing that they stress t= hrough out the book is to NEVER copy any data in your database.
Most commercial= programs for pcb design copy library components in the pro= ject files.

An organisation like gEDA=9A should keep all lib= raries under a revision control system that anyone can check out.
Users have the right<= /span> to keep their own components and not include them in any repository.
Not all users have Geda gedasymbols account due= to obvious reasons.
Then you can easily check for updates and = revisions.
And do it all<= /span> manually.
And if suddenly the up= dated components create bugs in the old schemas
need to manually roll ba= ck, and then stored in directories with these old schemas. So you= come to my version.



A lot of design= ers do make copies of things all the time. A lot of commercial projects run= into problems.=9A Some designers have traced the root cause of these probl= ems back to somebody using the wrong copy of something. That is why we want= you to stop making copies, you are making our jobs harder.

Everybody MUST keep their components i= n a repository. We call that "keeping a backup". It does not have= to be on the internet and visible to the world. My personal backups are a = monthly dump to dvd and stored it in the barn in case the house burns down.= If you work for a company then you may=9A work on a local copy of your fil= es on your workstation but the "official" copy will be kept by th= e company in their repositories. You will make frequent (ie: weekly or even= daily) check ins so that your latest work is always stored in a repository= . That's how the pros do it.

Updating components do not break old d= esigns. Once a component is released and used in production then you cannot= make any material changes to that component. You can however create a new = revision of that component and release that one with a different version nu= mber. When a user does an update then they will see that there are new vers= ions and can decide to stay with the old or replace it with the new. Nothin= g breaks unless the user takes action. If something does break then they ca= n back out by deleting any changed file and restoring them from the reposit= ory.

Now during the early development=9A ph= ase before anything is released there is a chaotic period where everyone is= making changes without doing an official new versions and=9A things are br= eaking every day. You simply have to warn the other designers and hope it s= ettles down quickly.

Besides versions there is a concept ca= lled variants. In IC design you want to create components that are flexible= so the end user can customize them to their exact needs. We do this using = parameters. But parameters do not work in two cases, they cannot modify a p= ort list or a file list. These require variants.

If you have a cpu with the option of h= aving a debugger interface then you cannot select this with a parameter. Th= e debugger will have io ports that don't exist on a non-debugged cpu. S= o you will release two variants, one with debugger ports and one without.

John Eaton
=9A







=9A


--f46d043c7cccbaccfe04f45624bd--