Thursday, November 16, 2006
Cost of the first poem
Steve Kimbrough does a lot of different kinds of work in textual analysis. In papers and conversations about his work in Formal Language for Business Communication, he often refers to the "cost of the first transaction." In any system that performs distributed (or for that matter local) transactions, that system has to be built first. When the first transaction is performed, its cost is not just the transaction cost associated with that individual activity, but all of the costs incurred in designing and building the system. So if it cost $1,000,000 to build the system, that first transaction has cost you $1,000,000+. The price goes down fairly quickly. Upon executing the second transaction, the per-transaction cost is $500,000+. But you never know for sure if the system is really going to work until you get to that first transaction.
ALG systems are like that. I'm approaching the point in etc3 where it will compose its first complete poem. There have been some fragments from unit tests, but nothing that exercises this new system as I intend for it to. I've been working since May, just on the infrastructure and formatting of the source texts. Every time I begin work on a new component, I have to write several support modules. For example, I broke down and used pronunciations in some stemming and inflecting modules. That meant creating a table of pronunciations and then loading it from a pronouncing dictionary and then writing a table maintenance utility to add words from the source texts that weren't in there. Whew....
The cost of finding out if this monster can compose a decent poem is high: Seven months of database stuff, document planners, poetic forms classes, TAG trees, TAG nodes, word classes, randomizers, enums, utilities, etc., etc., etc., with nary a poetic moment. Getting this right takes time, practice, and lots of patience. Either that or a grizzled old coder driven just to the edge who doesn't quite get it that to most folks he makes no sense at all.