How Athena Learned To Program
I would like to introduce you to Athena.
Some people think I'm a bit crazy for giving each of my computers a name, but I suspect those people simply haven't spent enough time working with computers. I've discovered, over the years, that each of my computers has their own personality, their own little quirks and idiosyncrasies. Just like people.
Athena is my graphics computer, the one I use to maintain the Passions in Poetry web site. She's a bit more demanding than Hera (which is a polite way of saying she can be a real bitch at times), and she generally won't work as hard or long as Apollo or Aries, but she's far more attractive (graphically speaking) than her roommates and she does have virtually unlimited storage (thanks to a CD burner). Oh, and Athena has a great sense of humor, too.
The Rise and Fall of Passions
Those of you have spent some time on our About page, and the biography linked from there, already know that I teach computer software and have a background in programming and databases. You might even have gathered that I'm a bit anal retentive (hey, just a bit!) and probably won't be surprised to discover I keep all of my poetry cataloged in a Microsoft Access database. And, as wonderful poets like Michael Anderson and PoetDevine started submitting their work to the web site, I added them as well.
Then came the big drive to add Classical Poets to the web site. The original idea was to add just my favorite authors, with just a touch of my favorite classical poems. Yea, right. I quickly discovered that's like asking a mother to pick her favorite child. Picking favorites means eliminating others, and neither a mother nor myself could do that. So my list started growing very, very large.
Nonetheless, I was determined. So I started making changes to the web site, adding page after page of new classical poems. Of course, that also meant making changes to the menus, so you could actually get to the Classical section. And, since this web site has a menu on every single page, that meant going back and making changes to all the poems already posted. Suddenly, I felt myself being crushed beneath the weight of a simple dream. Worse, once I started making those changes, I could no longer update the web server. If I published a half-completed projected, I knew half the links would take my visitors into never-never 404 land. And every day I went to my electronic mailbox, I found new poems submitted for publication, new poems written by marvelous, non-classical poets that were expecting to be added to Passions in Poetry as quickly as I had done the first few weeks we were here. My dream to add classical poets was slowly destroying my whole web site...
And, still, I was determined. Bleary eyed from reading thousands of poems to find the best, bone weary from typing in stanza after stanza of poetry, but still determined. I had, after all, invested too much time - too much of myself - to abandon the project. Okay, I'm anal retentive and stubborn.
The Eureka Phenomenon
I think it was two or three in the morning one cold night, when I realized I had entered a very mechanical mode of operation. Take an existing web page, rename it, cut out the old text, paste in the new, moving verses and biographies from the Access database into the web site. And that's when my bright new idea hit me. Humans are terrible at tedious tasks. Computers, however, are damn good at them. Maybe it would make more sense to let Athena do the cut and pasting for me?
I asked Athena (very nicely, I might add) to read a sampling of each kind of web page on the site into the Access database. There was one for the new poetry, another for the classical, a page with a form for voting and one with a form for emailing a poem, and ten or twenty others. Then, working in the database, I cut all the specific text out of the pages and added special instructions to the computer. Every time you see the code **poem table**, I told Athena, I want you to pull a poem from the database and insert it into the web page. Then give it a new file name, based on the author, and write it out to disk. And it really wasn't much more complex than that.
Of course, I had to teach Athena a bit of HTML along the way. And getting her to link each of the poems to each other in the right order, so the "Next" button worked, was a bit tougher. All of the poems had to also link to the Author's page, and Athena couldn't really write the Author's page until she'd read each of the poems, and - well, you get the idea.
The end result is that it now works. With the exception of the News section, the main entrance page, and just a few others, this entire web site was generated by Athena. When a new poem is submitted to the web site, or I discover a classical poem I some how missed, I just add it to the database in Access. Then I ask Athena to generate the necessary pages, linking them in the proper sequence and making changes to existing pages as needed. Look, Mom, no more coding!
Now. If I could just teach Athena to write really good poetry...