apthorpe ([info]apthorpe) wrote,
@ 2006-03-01 23:55:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
More goo from eBay!
I took delivery on three Densei barcode scanners with PS/2 keyboard wedges earlier this week and I must say I'm pleased. I paid $21 total, the things smell like someone abandonded their grandma in the attic of Sears but despite the cosmetic issues, they all work. Sure, one of them had the LED circuit board flopping around inside since it had sheared off its mounting lugs inside the case and the mirror leading the photoreceptor looks cracked (what could provoke a booper to such violence? Perhaps the event that led to these scanners being salvaged and sold on eBay?...) That was solved by opening the case and judiciously applying packing tape - it works like a charm now. Honestly, I expected that maybe one or two would have worked reliably; for $21 I really shouldn't complain.



Here's an interesting observation: the CueCat is a linear contact scanner (my terminology) since you pretty much have to press it against the item and drag it across the barcode to get a scan. The downside is this is not very accurate (usually requires a few passes to pick up the code) and it scrapes the item. The upside is that it can scan a much longer barcode than the Densei scanners since those have a finite (2.5"-3") scan window. Regardless, for bulk scanning operations I'll take the Densei because they make a satisfying blink and "boop" when they scan plus they're faster, more accurate, and don't ding up the merchandise. I still don't have a good catalog program for the CDs and books but I'm still looking.



This comparison has informed me as a software developer that I have to keep my barcodes short. Coding schemes such as CODE128, CODE39, and Plessey can be of arbitrary length unlike the UPC, EAN, and ISBN codes. It's in my best interest to keep the codes short. Information theory would tell us that with a fixed error rate per character, a longer code is more likely to be misread than a shorter code (duh); I still like adding a human-decipherable code for quick inspection and decisionmaking. The problem domain I'm looking at is barcoding low-cost (<$20) theater tickets so that a trained box office staffer can look at a ticket ID# and know a) if the ticket is valid that night, and b) the hour, and c) the venue of the performance.



Assuming you can only use digits, the date can be encoded as {year-of-decade, month, day} which takes 5 digits, {hour} which is two digits, and {venue} which is one digit. That's 7 digits; assume the venue holds less than 1000 seats (at that point you have to be able to afford a commercial venue management system or you contract the job out...) so add three digits for the patron number which puts you at 10 data digits plus a check digit. This fits in rationalized CODABAR, CODE39, CODE128, interleaved 2 of 5, or ITF-14. I'm leaning toward interleaved 2 of 5 because I feel it renders better on inkjets and is less smudgy than the finer code formats. Now to get Terry Burton's pure-Postscript barcode writer code working with Ruby; I really don't want to punt a system() call to GNU barcode, which also works well. Ideally there's a way to generate barcodes sanely within a PDF file without paying for fonts or a commercial library. The bigger-picture goal is to produce a lightweight open-source web-based venue management system that will work for 50-500 seat halls. Indie theatre barely makes it as-is, and even with non-profit pricing, commercial venue management systems are expensive and rarely work on anything but a PC using an old-school client/server approach.



On a completely different note, I got another Handspring Visor Deluxe for about $16 on eBay. Sure it's monochrome, slow, and obsolete, but dammit, the thing runs on two AAA batteries for about a month between rechargings. It's good enough to hold data, hook to a keyboard, and take notes that easily sync to a linux box. Gobs of memory, speed, 802.11b/g and color would be nice but those all suck cash and power. The Visor does pretty much all that I really need and I'm always afraid my current one is going to crap out for the last time sometime soon. I'm a happy cheese.post/read comments



Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…