Wednesday, March 24, 2010

Ada Lovelace Day

In honor of Ada Lovelace Day, I post an essay I wrote for an Ada Exhibit that took place in Caledon in July of 2008.

-=[Ada Lovelace, Queen of Engines, Queen of my Heart]=-
-=[Poetical Science and the Art of CodePoetry]=-


It is a sad tale to be separated from your soul mate by 120 years. But that is the way I feel about Lady Ada and me. The roads we have traveled has lead us to many of the same places. Though divided by the centuries she has set the path before me and I have walked it. You can say Lady Ada drew the plans, but I have been able to build it. She was the daughter of Lord Byron the Poet. Her mother, fearing that Ada may become a poet schooled her in science and mathematics. Even so, she still inherited the soul of a poet asking her mother, “if you can't give me poetry, can't you give me "poetical science?" “ In the same way I approach writing computer programs an artistic pursuit which I call “CodePoetry”.

During Ada's lifetime, Charles Babbage designed a machine called the Analytical Engine. This machine if built would have been the worlds first general purpose computer. Capable of performing any computational task, like the computer that sits on your desk today. The leading experts of her time saw the Analytical Engine as a means of calculating numbers flawlessly taking the tedium and error out of number crunching. Ada on the other had, saw the potential of Analytical Engine writing, "the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent."

But Ada was not a flighty poet by any means she had the training and knowledge of an accomplished mathematician and a grasp of computing beyond that of many of her peers. In a translation of a paper on the Analytical Engine by Luigi Menabrea she appended notes that were longer than the original paper itself, and in one of these notes included a method for calculating Bernoulli numbers on the Analytical Engine. It is this program that is considered today to be the world's first computer program.

I carry on this tradition every time I write a new computer program that for a moment in time is the world's latest computer program. And the Spirit of Ada guides me in my pursuit. Creating CodePoetry, is not simply programming, it is programming in a certain mindset, focusing on elegance, efficiency, and ingenuity. It is programming as an artistic pursuit, not as a technical science.

Though the writing of CodePoetry is an artistic pursuit, it is by no means extravagant or sloppy. It is based on certain rules (as all programs are) so the foundation must be extreme technical skill, once mastering the rules, one can learn to bend them, but never to the point of breaking (for if you break a rule, your program won't compile!).

I see writing CodePoetry as akin to playing improvisational jazz, or the architecture of someone like Frank Lloyd Wright, with a strong foundation of technical skill, going in an unexpected direction, and arriving at beauty.

It was Ada that first envisioned arriving at beauty with a computer, I like to think my centuries-separated soul mate smiles on me and I make her proud realizing her dream she had so long ago today.

-- ZenMondo Wormser
July 19, 02008.
Caledon Steam Sky City