Harold Carr

Harold Carr

music featuring harold


home :: writing :: 2004-01-06-bookOfEverything.html

Wed, 07 Jan 2004

Book of Everything

I first started thinking of this book when I was 17 years old. I recall being up at "rockroller", getting high, imaging a book of all knowledge.

I now know that feeling to be my "quest for continuity". Regardless of its initial impetus I am still drawn to the idea. When I mentioned it to Flavia recently she asked, "Do you think you'll have enough material?" Although she really meant it, I got a good laugh and a reality check.

Of course it's impossible to catalog everything. Persons more qualified than me have tried (and are trying) but that won't stop for taking the plunge.

I first worked on the book via the "Poet's Apprentice" program I wrote in the early 80s (based on the A* algorithm. In the later 80s I updated that program to be a simple Prolog language program. The third attempt was the idea to attach metadata (categories and relationships) to (structured) data, then to scan that data and build web pages from it.

My current work attaches metadata to data. The metadata are categories and relationships expressed in Prolog. The data is currently structured in DocBook XML. In the DocBook structured data, instances of categories are tagged with ids. Categories and relationships refer to those ideas in place (in comments next to the data - like placing RDF and JavaScript inside HTML comments). The category/relationship metadata is extracted from the data. The data is placed in an Berkeley DB XML database. Prolog queries on the relationships return appropriate identifiers. The identifiers are used to obtain associated data from the database. The data is then presented with the relationship links via HTML.

I'll use this to write. As an example, Gilgamesh. I've outlined it. Next I annotate the outline with "idea" identifiers. I find other instances of those ideas (by particular authors, such as Bataille) by doing Prolog queries and extracting matches from the database. I'll pick instances which I find most appealing and place those in place of the idea identifiers. I'll then take those idea instances and rewrite them using the Poet's Apprentice. Finally I'll take my imaginative final pass over the replacement/rewrite to produce the final work.

A word is now in order about the Poet's Apprentice. This program is given a text. For each word in the text it attempts to replace that word with a synonym which derives from Old English (or further back to proto-IndoEuropean). If it can't find a synonym it suggests the base meaning of the IndoEuropean root.

I just said Old English and IndoEuropean but it is actually possible to configure the program to look for words deriving in different ways, for example, from Semitic via Old French. My database for the Poet's Apprentice has been based on The American Heritage Dictionary of the English Language since the 80s.

At the current time my prototype for this system is written in a combination of Lisp, Prolog, Java, XML, and HTML.

/writing | link

xhtml   css   © cc

Harold Carr

Harold Carr