This project was exceedingly simple to get working, but took me over 2 years
to implement, mostly due to laziness, but partially due to the unavailability
of equipment. I also kept brooding over the project thinking of the hard
way of doing things and when I finally got done thinking it over, I sat
down and in one hour wrote a 100 line program that did the job. I've done
some revisions since then and added some features, and I'm still developing
it some more, but getting the core system working was simple.
First off, I don't use a Cuecat: or whatever they're called. I'm certain that these would be viable alternatives to the commercial barcode scanner I'm using, but since I don't even own one, I wouldn't have the slightest idea how to use them for this purpose, and I'm not going to pretend that I do. What I AM using is a barcode scanner that I picked up at First Saturday for $30 one rainy day several months ago. It daisychains in with a PS/2 keyboard connector, gets power that way, and feeds the data in through the keyboard.
Software wise, I wrote a little program that accepts a UPC code as input for each line, then processes that UPC depending on if we're currently in add or discard mode. When I have the software in a stable state I will be releasing it as well. Right now, this is all the software does. In the future, I plan to extract the UPC product information from one of the free online databases, if that data already exists, and thereby save me the trouble of entering everything thats already been entered. I could probably go the other direction as well and feed back the data entered in the event that the UPC code is not found in that database, thereby adding to it.