Resurrect Your Old Code With a DIY Punch Card Reader
First time accepted submitter mchnz writes "Need to read in some old punch cards? Have a hankering to return to yesteryear? I've combined an Arduino, the CHDK enhanced firmware for Canon cameras, and the Python Image Library to build a reader for standard IBM 80 column punch cards. You can see it in action in "Punch Card Reader — The Movie" or read more about it." This is an inspiring, intimidating project.
I'm too lazy for all that lego building. If I needed to read punch cards I'd just find a scanner that would accept media that narrow and feed em through the ADF, feed that PDF into a script to pop apart the pages and then process the images.
Democrat delenda est
I bet most Android / iPhone cameras could scan those cards easily enough.
-- By all means let's be open-minded, but not so open-minded that our brains drop out.
I was expecting something that mimicked the original way these cards were read. Anyone can take a photo of a punchcard :)
OK, this is really cool ... but how many people still have decks of punch cards?
The closest I've been to them is a box we had of them we used for notes.
Though, given the level of technology pack-rats we likely have on Slashdot, I expect several people to say they still have some cool program or another tied up neatly waiting for just such a thing. :-P
Lost at C:>. Found at C.
Why?
Why not use a desktop scanner with a feed tray and process that? Eliminate the need for the fancy camera rig, arduino, legos, etc.
You could still do all the python processing, but it would be far mor efficient and less prone to bugs.
I'm out of my mind right now, but feel free to leave a message.....
I'm 25 and I play a Sega Genesis emulator sometimes because those old games bring back fond memories and had such a different play style and difficulty. That's sort of the difference here. Who the hell had anything positive to say about punch cards back in the day that would make them want to experience it again? Fires, drops, manual collating, 1 missing card...everyone hated them! Nobody is going to say "oh wow, this is so fun just like back in the day" because it wasn't; it sucked.
I'm probably missing the point of this - is there anything that describes the system running the code, or is it just a way of converting punches to a listing?
Takes me back to my old Air Force days as a computer operator. Had to run decks through the 558 twice, replacing the wiring panel, to interpret all 80 columns.
http://www.columbia.edu/cu/computinghistory/interpreter.html
"He's lost in a 'floyd hole"
You insensitive clod!
A feeling of having made the same mistake before: Deja Foobar
Reminds me of an Amiga floppy archiving setup someone did.
This thing is glacial, whereas the original card readers read these things as fast as you could push them through. While physical contacts wear out, the best solution is simply some optical LEDs and photoreceptors, and a timer.
Get back to work on my 8" floppy reader!
I loved the confetti I would takes bags of the punched chads to the local football games and let the kids go wild throwing the stuff. They loved it.
Paul: Father... father, the sleeper has awakened! - Dune
...for the youtube video ;)
I wouldn't mind a good, solid DIY hard disc platter reader.
Hard disc platters in almost all cases are completely intact in any hard drive failure. The exceptions are heads smashing in to platters pretty hard, which can do some rather nasty damage to them
I'm still annoyed hard drives won out in the end.
Having the reading mechanism on the device is so backwards.
Oh yeah, certainly now it makes sense since the stupid precision needed for the head densities we have now.
Admittedly this could be replicated with a cartridge system, but it would likely cost more than a typical reader would due to the precision needed in placing the platter and head correctly. Not that much more, but still, near-term profits > all.
But the fun part is the disc and cartridge system itself would likely be considerably cheaper than any hard drive you can find even on Amazon. Considerably cheaper drives and just a once-off occasional expense of a drive to read it. Worth it for not having to deal with data loss due to silly head mechanisms crapping out, or boards dying, or Seagate being rubbish as usual.
RIP ZIP and floppy drives.
Guys, this isn't so fantastic. There are first lego league teams who could do this just using a few mindstorms bricks and light sensors -- to boot they would surely not be doing a hand cranked feeder. I'm just not seeing the novelty here -- sure if it were some high rate reader or something but what's the point.
When I hit that video the first time, the first couple of comments on that video aren't "cool!" "nice job!" or anything resembling constructive criticism. It's all "this is the wrong tech for the job" "seems like a hell of a lot of effort just to read what's already on the top of the card," etc.
Haters gonna hate, I guess. But what ever happened to just enjoying a hack for a hack's sake?
I think it's clever. Who cares how much time the guy spent, what technology he chose, as long as he enjoyed doing it.
3D Printing Tips and Tricks at Zheng3.com
The title of the post should be "Resurrect Your Old Code With a DIY Rube Goldberg Machine Punch Card Reader" It's neat, but why the hell would you use a camera + image processing software to actually read the punches when there is an arduino right there?
If you're doing this to learn something, do it the old fashion way. This method requires new technology, and thousands of lines of program code, to extract a few dozen lines of old code.
-- By all means let's be open-minded, but not so open-minded that our brains drop out.
Are the plans for the strange device on the right hand side of the video available, that's turning some kind of cranks to make the next card move, after the previous one was read? That seems to be some complex thing, but no explanations :(
Compared to the real thing, this is a wee bit slow. But of course I threw out all my punch cards years ago. They warped so bad in about 12 months time that they would jam the reader.
Quick way to win friends, jam the reader with about 15 people behind you.
Now get off my lawn!
"The ferrets, they're every where I tell you!"
Look at the title of books and documentation from the period when they were in use. They
ALWAYS refer to them as PUNCHED cards.
Just wondering, in case it's ever an issue.
It's just 12 rows of holes or non-holes... if you're already going Arduino... why not just... have a row of LEDs and photosensors...?
Had a work study job in the computer Lab at the University of Wisconsin. Went on more than one date with a pretty coed after helping her pick up and arrange the box of punch cards she dropped.
Now that is a positive you don't get with today's mass storage.
My CompSci 101 class had 200 students, and there were 4 terminals, with a long line for each machine, back in 1981. But I had become friends with Bob, who was an IBM service tech who supported, among other tools, punch machines. There were a dozen of them, and no line. No one but Bob and I used them, and we wrote 12, 18, 30 line programs in PL/1 and were out of there. He taught me how to correct typos on a card by reading it in and repunching it with a correction added in column 41, or wherever.
Before school I worked at a newspaper switching from hot type to cold type - cast molten lead type to printed-on-photo-paper type for offset use. The printers needed their boot-loader loaded in with octal switches on the front of the machine. The computers (PDP-11s, two of them ganged to handle tall the terminals) were boot-loaded with 8-bit mylar tape, plastic so it could be loaded once or twice a day, every day, for the life of the system.
I once spent the night lhying on the floor with a multi-meter on the phone with a tech in New Hampster, trying to troubleshoot an OCR, used for loading stories typed by reporters that didn't rate a terminal, mostly used by editors and type-setters doing ads.
Wonderful mix of 19th century and late 20th century technology! There was a fire extinguisher on one wall, surrounded with pots of molten lead, a glass ball filled with carbon Tetrachloride, a terrible solvent, poisonous, carcinoginic, but also a fire extinguisher! I bet it's still there on the wall. They can't tear the building down, or repurpose it. it's completely contaminated with lead, among other deadly substances. I'm 62 now, amazed that I made it this far.
Punch-cards. My friend Steve worked as a machine room operator, loading decks of cards, on summer break from school. He remembers a guy who came to the window each evening, with a huge box of cards, a complex program, larger each time it ran.
Then one night, he was bringing his huge deck to the machine room, and dropped it - without sequence numbers!!!! Months of work, gone in an instant. Steve never saw him again.
Suicide rates to increase on cmpletion of the project
A now-common one-terabyte disk drive, represented on punched cards, would occupy a cube approximately 15.3 metres (50 feet) on a side... similar to a decently sized five-story building, and would have a mass of over 34,000,000 kilograms.
If loaded into standard U.S. railroad boxcars, that one terabyte would physically fit inside 17 boxcars but because of weight would have to be divided amongst 631 boxcars (each boxcar being rated at 60 tons, or about 1.5 terabytes' worth of punched cards). That works out to a freight train over seven miles long.
Anyone who has to code JCL on a daily basis?
A now-common one-terabyte disk drive, represented on punched cards, would occupy a cube approximately 15.3 metres (50 feet) on a side... similar to a decently sized five-story building, and would have a mass of over 34,000,000 kilograms. If loaded into standard U.S. railroad boxcars, that one terabyte would physically fit inside 17 boxcars but because of weight would have to be divided amongst 631 boxcars (each boxcar being rated at 60 tons, or about 1.5 terabytes' worth of punched cards). That works out to a freight train over seven miles long.
I think you meant "about 1.8 gigabytes'" there (34,000,000kg / 1024 GB in a TB * 1.8 = 59,765.625 kg).
</pedantic>
PS: Don't get me started on binary equivalent of the long scale vs short scale thing, or such peculiarities as long, short, or metric tons.
Of all the technology changes over the last 50 years the one that I miss is synchronous error reporting. It used to be that when the cpu encountered an error, the exception generated could be traced to a specific instruction in the stream. Debugging was a lot simpler than when instruction pipelining came along -- you knew an error had occurred but precisely where was a bit fuzzy. My current Win7 systems go beyond that, the error reporting mechanisms simply ignore wide swaths of conditions -- so the reliability reporting always looks wonderful. So we can pretend that we are in the best of all possible worlds...
I don't want to pick on this too much. There are plenty of cool things that this developer did that are intesting in their own right. For instance, the image processing. But it looks like this machine is mostly manual. Doesn't it seem obvious to make it crank out the cards automatically? And couldn't the pictures be taken more quickly? And aren't there more efficient ways of detecting the holes in the cards? It's an interesting machine, but it's definitely not an efficient solution for this specific problem.