Remix.run Logo
foxglacier 5 hours ago

Those edge-notched cards for mechanically searching are amazing! I guess you could enter a binary number with several needles to instantly pick out a single card from a deck of thousands.

I have a child's puzzle game that works the same way. You poke a pin through a hole in the deck holder to choose your answer, then try to pull the card out. It won't come out unless you poked the correct hole.

By the way, punched cards live on in virtual form as text file formats used by engineers everywhere for popular products like Abaqus and Nastran. There are actual engineers today operating software by typing text into fields lined up by the column number of the card in a similar way to how they would have punched the cards in the old days but usually with some automatic card generating pre-processor to help with the tedious parts. They even use the jargon of cards and decks when they're actually lines and files today.

dalke an hour ago | parent | next [-]

There are two books you should take a look at.

"Methods of Information Handling", Charles Bourne - https://archive.org/details/methodsofinforma0000unse/page/n5... (not available to read)

"Punched Cards: Their Applications to Science and Industry", https://archive.org/details/punchedcardsthei0000robe (can be checked out)

The first of these is a much better book.

They show a number of ways to encode values, such as a 5-hole triangle code, where the "O" in the following indicates a hole:

    O   O   O   O   O
      9   5   2   0
        8   4   1
          7   3
            6
To encode the value "8", notch out the holes (indicated with "U") which cross to 8 (indicated with "\" and "/"), like this:

    U   O   U   O   O
     \9   5/  2   0
       \8/  4   1
          7   3
            6
This lets you encode 10-digit values with 5 holes and two needles -- remember, inserting the needles takes time. (And there were all sorts of devices made to minimize that time.)

There were also extensions of these to handle names, used to search small (< ~10,000) literature collections, and more.

The most mathematically sophisticated is likely Zatocoding, a superimposed coding method related to Bloom filters.

The Bourne book goes into these variations in detail.

Here's a video of someone scanning in edge-notched cards for bird identification. https://youtu.be/MBwP3YOxw3I

About 10 years ago I really go into the topic and made some cards of my own, using a cutting machine to make each card, precut, from an SVG.

opto an hour ago | parent | prev | next [-]

You could also use Zatocoding, or superimposed codes (https://en.wikipedia.org/wiki/Superimposed_code) as a way to 'tag' cards.

For example, many research facilities kept a stack of edge-notched cards as a way to find papers to read. You write the name of a paper or book on a card, and you notch out the holes which correspond to a search term, like 'polymer', or 'cellulose' -- then you can use needles in those holes to search for them later.

You can also then do things like boolean searches. Let's say you want all of the papers which are about polymers which are not cellulose. First you poke the holes for 'polymer', and collect up all the ones that drop. Next you take that stack and poke the holes for cellulose -- the cards which drop are about cellulose, so you ignore those, and the ones left on the needles are about polymers which are not cellulose.

I got really into the idea of doing this as a way to do something like a crazed zettelkasten, and reading material from the time this was widely used they would claim they could sort through thousands of cards in a few minutes. Not as quick as ripgrep, but not too shabby.

lboc 4 hours ago | parent | prev [-]

The s390x Linux install under z/VM boots from a virtual card reader, from cards generated by a virtual card punch from the installation files.