> It was not until the mid-20th century that the word acquired its modern definition; according to the Oxford English Dictionary, the first known use of the word computer was in a different sense, in a 1613 book called The Yong Mans Gleanings by the English writer Richard Brathwait: "I haue [sic] read the truest computer of Times, and the best Arithmetician that euer [sic] breathed, and he reduceth thy dayes into a short number." This usage of the term referred to a human computer, a person who carried out calculations or computations. The word continued to have the same meaning until the middle of the 20th century. During the latter part of this period, women were often hired as computers because they could be paid less than their male counterparts. By 1943, most human computers were women.
foxglacier 2 days 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.
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.
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 1 days ago [-]
This way of encoding numbers is great.
I knew the 7-4-2-1-S way to get 1-9 from 5 holes, and it is more intuitive to use, but once you write out the pattern for yours it is also easy to see
dalke 3 hours ago [-]
You should take a look at the Bourne book, if you can get hold of a copy. It's an amazing book which draws on the generation or more experience in working with mechanical systems, and the first generation experience in using digital methods. Here's what it says about the code you mentioned, compared to the triangle code.
"From a space standpoint, one of the most efficient and most commonly used schemes is the 7-4-2—1 code, which only requires four holes to represent any number between 0 and 14 (Fig. 5-6f). Normally the four holes are only used to represent the digits 0 to 9, with zero represented by an unnotched code field. This introduces some ambiguity since a field with no punches in it may represent either missing data or a zero digit. The 1 hole will be punched every time that the numbers 1, 3, 5, or 8 are punched. If there was a need to search the file to select the cards which were punched with a 1, then a single needle pass in the 1 hole would also drop out all the cards which were punched with a 3, 5, or 8. Similarly, a single needle pass in the 4 hole would also select the cards notched with 5’s and 6’s. For this reason, this particular code does not lend itself to rapid selective searches. However, it is extremely useful for applications that require sorting cards into sequence."
"Several other coding schemes that also permit relatively rapid serial sorting are available. These schemes, at the cost of using more code positions than the 7-4—2—1 code, incorporate a triangular display on the card in order to simplify the punching and recognition by the user (Fig. 5—6k, l). Two holes are punched for every digit. The positions to be punched are the ones whose guidelines intersect at the desired digit on the printed display. Serial sorting is performed in the same manner as for the 7—4—2-1 code except that one more hole must be needled. One efficient triangular display scheme uses four code positions with a double-row card (Fig. 5-6m)."
I got really into edge-notched cards about 10 years ago. I made my own cards for handling chemical data. You can see them at 43:41 of my talk at https://youtu.be/y6dUkCxlrd8 . I also visited the Calvin Mooers archive at UMN because of his work in Zatocoding, Chemical Zatocoding, connection tables, and substructure search (Zatopleg). He mostly published as white papers from his own company, which makes it hard to find copies anywhere else.
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 1 days ago [-]
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.
ktallett 1 days ago [-]
I have basically no real knowledge on the history of punch cards bar how they work, but this is why the internet is still special, these niche websites.
I don't know how people programmed during this time. There was at least a day between handing something in and getting the results.
I can't imagine the frustration of finding out you did whatever the equivalent of missing a semi-colon out was.
My mum has a different disposition to me, I don't think I'd have survived as a programmer back then.
https://en.wikipedia.org/wiki/Computer#Etymology
> It was not until the mid-20th century that the word acquired its modern definition; according to the Oxford English Dictionary, the first known use of the word computer was in a different sense, in a 1613 book called The Yong Mans Gleanings by the English writer Richard Brathwait: "I haue [sic] read the truest computer of Times, and the best Arithmetician that euer [sic] breathed, and he reduceth thy dayes into a short number." This usage of the term referred to a human computer, a person who carried out calculations or computations. The word continued to have the same meaning until the middle of the 20th century. During the latter part of this period, women were often hired as computers because they could be paid less than their male counterparts. By 1943, most human computers were women.
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.
"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:
To encode the value "8", notch out the holes (indicated with "U") which cross to 8 (indicated with "\" and "/"), like this: 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.
I knew the 7-4-2-1-S way to get 1-9 from 5 holes, and it is more intuitive to use, but once you write out the pattern for yours it is also easy to see
"From a space standpoint, one of the most efficient and most commonly used schemes is the 7-4-2—1 code, which only requires four holes to represent any number between 0 and 14 (Fig. 5-6f). Normally the four holes are only used to represent the digits 0 to 9, with zero represented by an unnotched code field. This introduces some ambiguity since a field with no punches in it may represent either missing data or a zero digit. The 1 hole will be punched every time that the numbers 1, 3, 5, or 8 are punched. If there was a need to search the file to select the cards which were punched with a 1, then a single needle pass in the 1 hole would also drop out all the cards which were punched with a 3, 5, or 8. Similarly, a single needle pass in the 4 hole would also select the cards notched with 5’s and 6’s. For this reason, this particular code does not lend itself to rapid selective searches. However, it is extremely useful for applications that require sorting cards into sequence."
"Several other coding schemes that also permit relatively rapid serial sorting are available. These schemes, at the cost of using more code positions than the 7-4—2—1 code, incorporate a triangular display on the card in order to simplify the punching and recognition by the user (Fig. 5—6k, l). Two holes are punched for every digit. The positions to be punched are the ones whose guidelines intersect at the desired digit on the printed display. Serial sorting is performed in the same manner as for the 7—4—2-1 code except that one more hole must be needled. One efficient triangular display scheme uses four code positions with a double-row card (Fig. 5-6m)."
Here's a copy of the section on encoding methods - http://dalkescientific.com/opto_Bourne.pdf .
I got really into edge-notched cards about 10 years ago. I made my own cards for handling chemical data. You can see them at 43:41 of my talk at https://youtu.be/y6dUkCxlrd8 . I also visited the Calvin Mooers archive at UMN because of his work in Zatocoding, Chemical Zatocoding, connection tables, and substructure search (Zatopleg). He mostly published as white papers from his own company, which makes it hard to find copies anywhere else.
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.