As the examples in the collection demonstrate, the rebus as a representational device has been adopted throughout various historical and cultural movements since the earliest forms of writing and communication. In the 20th century, the advent of computers and programming languages produced what might be considered as alternate forms of rebuses–code as rebus writing. Whereas pictorial rebuses act as puzzles and pastime amusement, code establishes consistent, accessible language standards with the goal of global accessibility. However, both rebus writing and code share similar characteristics of representation.
A technological feat of the information age, punch cards used in early computing and data processing machines can be considered a type of rebus. Versions of the punch card have existed as far back as 1725 to operate weaving loom machines, collect census data, help schools record registrations, track time for employers, and more. The emergence of punch cards in the 1950’s for the FORTRAN programming language used for IBM mainframe computers has had a direct impact on contemporary coding practices, laying the foundation for binary code and data processing. Cards were designed with columns of digits. Holes were punched by hand in different formations to represent information. Multiple cards formed entire programs which machines could read to tabulate quantifiable data. The act of punching the cards is comparable to authors or printers creating rebuses on paper in the form of advertisements and letters. In pictorial rebuses, an illustration depicts a word or syllable. On punch cards, the holes, or absence of material symbolizes data. The secret language of code is symbolically embodied in the physical object of the card.
Because computers can essentially interpret only binary information (“zeros” and “ones”), they need encoding rules to display characters. The word encode can be defined as a conversion into a form, like a rebus converts words and syllables into pictures. For example, in ASCII (American Standard Code for Information Interchange), the letter ‘b’ is displayed by typing ‘01100010’, the letter ‘a’ is ‘01000001’, etc. The limitations of the Latin alphabet led to the creation of Unicode in 1987, a universal character set which contains a combination (letters and numbers) for every character, in every language. Today, Unicode can even be used for emojis. For example, with the Unicode keyboard enabled on a Mac, typing Option + 266B will yield ♫. Using letters and numbers in place of images, character encoding and unicode are visual representations akin to rebuses: a coded language shared between user and computer. In rebuses and code, a particular knowledge is required to use and translate the language.
Many programming languages use functions and variables which ‘hold’ information such as values, calculations, queries, and instructions that are stored in memory to be reused multiple times in a program. Functions and variables are timesaving methods for the programmer because they do not need to re-type the same information. Similarly, rebuses ‘hold’ information and often use the same pictograms repeatedly. Perhaps rebus authors were not only attempting to save time, but also establishing the pictograms to memory, enabling the reader to translate the rebus with ease by embedding certain pictograms to the mind’s consciousness. For example, an “eye” illustration is frequently used to replace the letter “i,”the word “I” or any word containing the short vowel sound /i/ or long vowel sound /ī/.
In HTML (hypertext markup language) and CSS (cascading style sheets), the markup and style sheet languages used to create this website, there are many instances of code acting as rebus writing. All HTML elements represent pieces of website content. Heading tags such as <h1> and <h2> delineate headlines, paragraph <p> tags for body text, bold <b> tags for bolded words, and so on. The web browser communicates with a web page to interpret html tags and display information correctly to the user. For example, the browser knows to show headlines as larger and bolder, paragraph text as smaller, etc. Additionally, the web browser can translate rules in CSS to add color (#000000 is black in hexadecimal color code), control spacing, and other layout specifications.
So, the web programmer is essentially writing rebuses, using a coded language for the web browser to read and translate – the most explicit example being the ‘alt’ attribute which is added to image <img> tags to specify alternate text and description for an image. The first image of this article contains the ‘alt’ attribute Pink punch card used at the University of Stuttgart, Germany for the input of Fortran programs in the IBM mainframe, c. 1970s. The alternate text enables viewers who can’t see the image to receive and interpret information about the image, to have an awareness of the image. It is crucial for websites to provide this information and accommodate levels of access and connections.
Rebuses are not relegated to historical ephemera. In the modern, technologically-advanced world, they can be seen everywhere from computers to smartphones. In fact, rebus writing in the form of code is integral to technology, and allows websites like this to exist!
“The IBM Punched Card.” IBM100 – The IBM Punched Card, https://www.ibm.com/ibm/history/ibm100/us/en/icons/punchcard/.
“Overview.” Unicode, 17 July 2019, https://home.unicode.org/basic-info/overview/.
“What Every Programmer Absolutely, Positively Needs to Know about Encodings and Character Sets to Work with Text.” What Every Programmer Absolutely, Positively Needs to Know About Encodings and Character Sets to Work With Text, https://kunststube.net/encoding/.