Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vru1ed$341a4$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vru1ed$341a4$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Don Y <blockedofcourse@foo.invalid>
Newsgroups: sci.electronics.design
Subject: Re: PCB version control
Date: Tue, 25 Mar 2025 03:44:24 -0700
Organization: A noiseless patient Spider
Lines: 58
Message-ID: <vru1ed$341a4$1@dont-email.me>
References: <67e1a08c$0$3831$882e4bbb@reader.netnews.com>
 <vrsia0$1mccv$1@dont-email.me> <lmj3ujpg8eqannemaq74f8s9vqh2a5iooc@4ax.com>
 <vrsjna$1q7cg$1@dont-email.me> <15l3uj5eed6mbtlnas1cemu2cn5iukog6b@4ax.com>
 <vrsngv$1s889$1@dont-email.me> <vrsvfm$23j3t$1@dont-email.me>
 <67e2588f$0$2785$882e4bbb@reader.netnews.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 25 Mar 2025 11:44:31 +0100 (CET)
Injection-Info: dont-email.me; posting-host="577d528b00c9b700d7c55af18df43ec7";
	logging-data="3278148"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18TxKrvxz1A39sRKXhbwfKy"
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.2
Cancel-Lock: sha1:oGGGNM55oT3oVpvcJKOCVvM4DCs=
Content-Language: en-US
In-Reply-To: <67e2588f$0$2785$882e4bbb@reader.netnews.com>
Bytes: 3867

On 3/25/2025 12:19 AM, bitrex wrote:
> How about a bidirectional hash table for part # generation

I just use a "serial" data type; it's an integer that automatically
increments each time you add a row (an entry/record) to a table
in a database.

A procedure in the database then computes the check digit for that
particular "serial" and appends it as the 8th digit.

The use of "serial" ensures there are no duplications in the table.
The check digit acts to ensure errors in using the part number
(serial+check digit) are caught:  1234567X is valid but
any other value of X is "not a valid part number".

(No way to identify WHICH digit -- including the check digit -- is
in error.  But, it reduces the chance of you mistakenly using, e.g.,
a *screw* instead of the intended *resistor*.)

The alternative, (putting significance in the numbering scheme)
means you will end up with more digits in your identifiers AND
lots of valid part numbers that you never actually use!

(What's your part number for the 44R2 1% resistor you use in
ONE of your designs?  Likely you also have available a part number
for a 43R2, as well??  In fact, you probably have 1000 part
numbers -- 3 digits -- reserved to address 1% resistors over 10
decades!  And, another digit to indicate package and lead orientation,
power rating, etc.  All "created" just because you chose to use
ONE particular device of that type /in your business/.)

((And, when SMT components came on the market, you had to adjust your
numbering scheme to accommodate them in the context of the existing
devices))

My first employer had fits trying to sort out how to assign part
numbers to the (EP)ROMs in our design:
   "What's *in* this particular EPROM?"

   <shrug>

   "What do you mean, you don't know?  How do we manufacture it?"

   "The program is a book.  That EPROM represents pages 100-199
   in the book.  Can you tell me which chapters that includes, today?
   Can you tell me which chapters it will include when I revise the
   book??"

   "Then, it only exists in the context of other related parts!
   The 'other chapters'.  And, can only be changed with changes
   to those other chapters!"

   "No.  I can replace a single page if necessary.  So, each EPROM
   /in the set/ can be at a different revision level.  It's up to
   Engineering to manage this (configuration management) so only
   valid "combinations" of those devices are incorporated into a
   released product."