This project and its concepts are copyright © 2002 James G. Robinson. All feedback greatly appreciated; if you'd like to comment or collaborate, just e-mail me at the address on the bottom of this page.
» Introduction
The Verse-O-Matic is a poetry calculator. Built around words, rather than numbers, it can easily retrieve meaningful and relevant poems by combining themes much as a traditional calculator solves mathematical equations.
» Concept
Before the introduction of the portable electronic calculator in the latter half of the twentieth century, solving mathematical equations was a time-consuming activity. Indeed, it was a rare mark of genius to be able to calculate complicated sums quickly.
The same situation exists today with poetry, a discipline that can be as relevant and meaningful to our lives as mathematics. Just as a proliferation of numbers have helped to revolutionize science and finance, a democratization of beautiful verse can add greater meaning and context to our relationships with each other, our lives and our environment by elevating our communication beyond cliches.
Why is poetry largely ignored in today's society? To a large part, it is because it is perceived as inaccessible. One must be highly motivated to begin an exploration of poetry without any previous exposure to verse; as a result, verse is seen as the domain of highly educated and/or pretentious types (the two are by no means mutually exclusive). Secondly, it is sometimes viewed as irrelevant. That may well be a perception borne of ignorance, since, in today's society, poetry garners widespread attention only when it offends us, not when it enlightens us. [link]
The Verse-O-Matic attepts to remedy this situation by providing a convenient, accessible interface to classic and modern poetry, requiring only a curiosity about life and redimentary knowledge of a mathematical calculator.
» Design
The Verse-O-Matic looks almost exactly like a regular printing calculator, although the digits are replaced by nine themes (love, happiness, beauty, humor, age, nature, separation, sadness, and despair). When a key is pressed, the calculator searches its memory to select all of the 70 poems in memory that refer to that theme. Additional themes can be added ("+" = AND) or subtracted ("-" = AND NOT) from the poetic equation simply by pressing the appropriate keys. When the user presses "=", the equation is completed and the calculator prints a poem that fulfills all of the thematic boundaries that the user has set.
For instance:
Love
+
Separation
-
Sadness
= "This bud of love, by summer's ripening breath,
May prove a beauteous flower when next we meet."
[William Shakespeare]
One serendiptitous departure from the original concept is that the poem is printed on a mailing label, rather than a supermarket receipt (as originally conceived). This allows the poem to be easily shared once read; it can be used to seal an envelope or affixed to a personal calendar. The print-out also affords a tactile intimacy with the words that cannot be matched in the hulking glare of a computer monitor.
» Prototype
A fully functional Verse-O-Matic has been built for this project, although using certain components (such as a laptop) that could well be unwieldy for everyday use.
Keypad: Originally planned as a bare-bones keypad interfaced to the computer via a serial connection and a microcontroller, I found that it was much easier and cheaper to use an existing interface; that is, a generic $10 PC keyboard from CompUSA. I sawed off the keypad portion of the board (using a bandsaw, great with plastic) after removing the circuit pad guts inside. Then I replaced the guts, rolling up the plastic originally in the discarded two-thirds of the board.
Using the keyboard solved two problems. First of all, it gave me a ready-made serial input into the computer. Secondly, it allowed me to use the PS/2 jack instead of the serial port, which I needed for the printer.
Printer: Originally, I'd planned to use a serial mini-printer interfaced into a BX-24 or PIC chip. [link] But when I found out how expensive those printers were ($100 and up, with a controller card) I started casting about for other options. At the last minute (that is, three days before this project was due) I discovered the wonderful world of computer label printers. These can also be very expensive, but there are a quite a few models well under $100. The problem was that only a few worked with Linux, which I was planning to use as my OS for the Perl brains of this project.
Luckily, I found that Linux drivers had been built [link] for Seiko's line of SmartLabel printers [link]. Even more incredibly, I found a used SmartLabel Pro for sale for $10 on craigslist.com on Sunday night. The woman selling it seemed a bit disconcerted about my excitement when I picked it up from her on Monday.
The printer is fantastic. It loads labels automatically and prints thermally, so there's no jams or inks to run out. There were some bugs printing in landscape so I decided to print the poems vertically instead with a very small font. I also had to set the label size much larger than the actual labels -- leading to the traditional Linux refrain: "who knows why, but it works!"
It is connected to the laptop through a serial port. I simply print to /dev/ttyS0 using the "slap" command included with the drivers.
Laptop: The brains of this project are hosted not a BX-24 or a PIC chip but rather a Toshiba 335CDS running Red Hat Linux 6.2. The program that receives the keyboard input, selects the proper poem, and sends the verse to the printer, is written in Perl with a few special CPAN modules (Term::ReadKey, which reads the input one character at a time, and Text::Wrap, which wraps the output in 16-column text for printing).
To indicate that poems were not available or that poems were about to print, I manipulated the keyboard LEDs (originally indicating num lock and caps lock) to blink when either of those events occured by using the /usr/bin/setleds command. (I didn't use the scroll lock light, which wouldn't respond properly to setled. I think that's an issue with the Toshiba BIOS.)
Each poem was stored in an individual file for simplicity. If this project is ever scaled, they would probably have to be moved to a proper database. Each file has three XML tags -- author, keywords, and poem. They are all read in when the Perl program is started.
Each poem is inputted using a basic CGI script hosted via Apache on the laptop. One interesting application that could be implemented in the future would be to host the poetry-submission CGI script on a public server, so that the world at large or individual groups could create their own databases of poems.
» Limitations of the Project (aside from certain bugs in the program)
Output: It's pretty impossible to fit anything more than four lines of poetry on each label, which means that what's being presented are merely snippets of verse rather than complete poems. In a way, this is a good thing, since it allows for an easy introduction into what may well be complicated works. But there should be a reference so that the reader can easily locate the original piece if they want to pursue it further.
Input: Limiting oneself to nine themes -- and deciding which nine to pick -- was in some ways the hardest part of this project. And deciding which labels to apply to which poems was a nightmare. It would be nice if some sort of classification system could be developed so that poems could be more easily and accurately classified.
» Class Presentation (thanks to Will Lee for the images)
» Acknowledgements
I am indebted to the following people for the success of this project:
Dr. Natalie Friedman, recent PhD graduate from NYU (English Literature) who helped suggest themes and poets;
The semi-anonymous Tamar, without whom this would be a printerless project;
Mike Shatzkin of the Idea Logical Company, whose ancient Toshiba laptop supplies the brains for the Verse-O-Matic;
Camille Norment, my instructor, who encouraged me to pursue this idea;
the wonderful and talented Bill Shakespeare, who supplied much of the verse for the project;
and of course my fellow poetry fan who inspired this project; you know who you are (I hope) and this is for you.
|