Jump to content

Calvin Northrup Mooers

Calvin Northrup Mooers
Calvin Northrup Mooers | Credit IT History Society

Calvin Mooers (1919-1994) was an American information retrieval specialist.


Life

Calvin Northrup Mooers was born on October 24, 1919 in Minneapolis. He graduated BA summa cum laude at the University of Minnesota in 1941 and joined the Naval Ordnance Laboratory as a physicist. At the end of the war he became part of the Lab's newly created Computer Division under John Vincent Atanasoff. Mooers left in 1946 for MIT

where he completed a Master degree with a thesis on Application of random codes to gathering of statistical information. At MIT he met James Perry and became interested in information retrieval. In 1947 Mooers founded the proprietary Zator Company, and began marketing custom-designed mechanical retrieval systems using edge-notched cards. Raymond J. Solomonoff, interested in artificial intelligence, joined Mooers. Mooers created the Rockford Research Institute, a nonprofit corporation, in the early 1960s to facilitate his and Solomonoff’s grant-funded research. He died on December 1, 1994.

McBee Keysort Cards, front and rear
McBee Keysort Cards, front and rear

Contributions

  • Mooers coined the terms "information retrieval" in 1950 and "descriptors."
  • He promulgated "Mooers' Law": "An information system will tend not to be used whenever it is more painful and troublesome for a customer to have information than for him not to have it." (Bulletin of ASIS 22, no 1 (Oct/Nov 1996): 22-23).

TRAC programming language

In 1959, Mooers began to develop the Text Reckoning and Compiling (TRAC) language. Doug Engelbart, famous for “point and click,” used the his mechanical mouse in his famous 1968 demonstration to point and the "active function" of Mooers' TRAC language to click.

"In summary, Engelbart may be remembered as the “point” man, and Mooers as the “click” man. The point facility that Engelbart gave Mooers was just what he needed for the click facility. Mooers had described the function, but a more effective execution of the function awaited the mouse hardware." (Bemer 2004).

Zatocoding

Although Mooers was involved in the early design of digital computers, he also made his name through his development of Zatocoding for edge-notched cards. Before the 1980s individuals made heavy use of cards which had a row of small round holes along its edges. Cutting away card between the hole and the edge left a notch instead of a hole. In a simple case each card might represent a book and each hole could represent a possible feature (attribute), such as the topic of the book. If a card represented a book, notching the hole for "history" would code it as a history book, notching a hole representing "France" would code it as a book about France, and notching both the "history" and the "France" holes would identify a book about the history of France. Cards with desired notches were immediately identifiable by inserting a needle (or similar) through the hole(s) for code(s) of interest and lifting. Intact (unnotched) cards would be lifted; notched cards would drop or remain unlifted.

In a simple system in which each code used only a single meaning, the number of usable codes (attributes) was limited because the number of codes could not exceed the number of holes. Mooers explored the potential of using combinations of two or more holes to represent a single code. This meant, in theory, that there could also be as many additional different codes as there were unique combinations of two or more holes. In this case any single hole might be part of multiple combinations, but each combination of holes should represent only a single code. By using combinations of 40 holes more than 10,000 different codes could be uniquely encoded.

A vocabulary of indexing terms (keywords) had to be established and each term assigned code expressed as hole positions. Ordinarily each code was represented by two holes selected at random from the 40 positions on the top edge and two more from the 40 positions on the bottom edge.

In the "800" mechanical system that the Zator company marketed, search was in two stages: First, rods were set in the bottom of an empty card holding bin in the hole positions of codes of interest. Then cards were stacked vertically in the bin. Most cards (those without notches where the rods were) will remain raised and are quickly lifted out, leaving behind a set of cards of potential interest. (This process is repeated until all cards have been divided in this way.) Second, a rod is used in a hole on the top edge to lift out all unwanted (i.e. unnotched) cards from those remaining in the bin. This second process could be repeated with another hole to improve precision. What finally remained in the bin is the selected (retrieved) set. Any cards wrongly retrieved ("false drops") should few and easily eliminated by inspection.

Mooers explored mathematically the effects of assigning combinations of holes. He also concluded that conventional single hole coding was superior for codes having little variety and high frequency, but that Zatocoding had a complementary advantage for codes with large variety and low frequency. This use of combinations of holes can also be applied to encoding positions on punch cards and is also known as superimposed coding. It is a form of what in computing is called a hash code. (See Further reading below).  

Publications

  • "Calvin Mooers, the NOL computer project, and John Vincent Atanasoff." IEEE Annals of the History of Computing 23, no 2 (April-June 2001): 52-67. With introduction by Michael R. Williams on pp 50-51. Also a brief summary in vol. 15, no. 2 (April-June 1993): 54-55.
  • "TRAC, a Procedure-Describing Language for the Reactive Typewriter." Communications of the Association for Computing Machinery, 9:3 (March 1966), 215-219.
  • Putting Probability to Work in Coding Punched Cards: Zatocoding. (Zator Technical Bulletin No. 10), 1947. Reprinted as Zator Technical Bulletin No. 30 (1950).
  • The Zator - A Proposal: A Machine for Complete Documentation, 1947. Reprinted with preface as Zator Technical Bulletin No. 65 (1951).
  • "Zatocoding applied to mechanical organization of knowledge." American documentation 2, issue 1 (Jan 1951): 20-32.
  • "A case history of a Zatocoding information retrieval system." [With Claude W. Brenner.] In: Punched Cards: Their Applications to Science and Industry. 2nd ed. Ed. by Robert S. Casey and others. New York: Reinhold, 1958, pp 340-356.
  • "Rigors of a pioneer in information science." (1978 Award of Merit Speech). Bulletin of the American Society of Information Science 5, no 3 (1979): 14.
  • "'Mooers' Law or Why some retrieval systems are used and others are not." Bulletin of the American Society for Information Science 22, no 1 (Oct/Nov 1996): 22-23. [1]
  • Calvin N. and Charlotte D. Mooers oral history interview, 22 June 1993, OH 254, [2]

Awards

Further reading

  • Babbage Institute Finding list [3]
  • Weiss, E. "Obituary for Calvin Mooers." IEEE Annals of the History of Computing 46, issue 3 (Fall-1995): 79-81.

TRAC

  • Sammet, Jean E. Programming languages: history and fundamentals. Englewood Cliffs, NJ: Prentice-Hall [1969]. For TRAC see pp 448-454.
  • "TRAC (programming language)." Wikipedia [4]
  • Bemer, Bob. "Calvin Mooers - How he came to be known as the "click" man." IEEE Annals of the History of Computing 26, Issue 1 (Jan-Mar 2004): 66-67.
  • TRAC Foundation website, archived. [5]

Zatocoding:

  • Brenner, Claude W. & C. Mooers. "A case history of a Zatocoding information retrieval system." In: Punched Cards: Their Applications to Science and Industry. 2nd ed. Ed. by Robert S. Casey and others. New York: Reinhold, 1958, pp 340-356.
  • "Edge-notched card." Wikipedia [6]
  • "Superimposed code." Wikipedia [7]
  • Ceruzzi, Paul E. "Calvin Mooers, Zatocoding, and Early Research on Information Retrieval." In: Exploring the Early Digital, ed. T. Haigh. Cham : Springer International Publishing, 2019, pp.69-86.

Papers

  • University of Minnesota, Babbage Institute, Minneapolis, MN. Calvin N. Mooers papers CBI 81 55455. ca. 1930-1994. Finding aid [8]