Vision quests and databases
Aug. 27th, 2005 08:24 pmMany legends -- particularly Native American and Aboriginal ones, though I've also read Siberian and even Welsh stories which follow this pattern as well, not to mention Neil Gaiman comics and good old H.P. Lovecraft -- concern a main character whose quest requires him to travel into another world. Perhaps he's seeking a lost person, or he's looking for a lost artifact, or a mystical plant which can cure disease, or even just a child's missing toy. Stepping into the otherworld at all carries with it tremendous risks, and everyone knows that if he returns at all, it will be as a dramatically changed person.
I've always liked these kinds of stories, but I've always found them a little frustrating as well. The early parts of the story are usually lovingly detailed, with lush descriptions highlighting the subtle differences between the Near Otherworld and ours. We're human, though, so the descriptions tend to focus on the sort of things that humans already find particularly mysterious in our world: low-hanging tree branches wreathed in mist, distant hoots and calls and growls that don't sound quite like the birds and animals we're familiar with, peculiar alphabets that are nonetheless recognisable as some kind of written communication.
As the hero moves deeper into the Otherworld, the environment gets necessarily weirder. The laws of physics may be permuted or outright suspended. Time no longer moves at a single or constant speed. Physical forms change without warning, though they may very well do so for excellent reasons. It often isn't outright stated, but there's a Platonic implication that the hero, his companions and their surroundings are casting off illusions; that the shadows they have accepted all their lives are being discarded in favour of the truth.
Eventually there comes a point, if the character goes far enough, where description can no longer suffice. Paradoxically, this moment, which is certainly the peak of experience for the character and should be a moment of satori for the reader as well, is often just painfully dull. Once the storyteller gets to a point where words can no longer convey experience, there is no story left to tell. Thus, whatever happens in the Deep Otherworld typically gets handwaved, and the storyteller brings the hero back as quickly as possible in order to keep the tale moving. The lingering effects of the Deep Otherworld are visible on the hero in the form of his changed aspect and mien, but whatever went on out there is for him alone to know -- not his compatriots, and not even the audience.
What's funny is that there's a direct analogue between this and the Singularity. Charlie Stross, Greg Egan, Vernor Vinge et al. do a fantastic job of portraying the Near Futureworld to us, but even though they're depicting a post-Singularity world, there are Singularities beyond the Singularity which they cannot describe. (Ever notice just how much of the stuff about the Transcend, in A Fire Upon the Deep, was handwaved?) Our culture's shamans, our Rudy Ruckers and Cory Doctorows, may have visited the Otherworld in their own ways, but their ability to bring it back to us is limited by their ability to communicate and ours to comprehend. If we're really going to understand it, we're just going to have to see it for ourselves.
What's not so funny is the direct analogue between this and the project I'm working on. Database engines come in four parts: the parser, which makes sure that a submitted query is in the correct syntax and preps that syntax for the rest of the engine; the analyzer, which transforms the parsed query by simplifying wherever it can and turning arithmetic expressions into functions (among other things); the optimizer (also called the planner), which determines the fastest way to carry out a query; and the executor, which follows the path dictated by the planner and runs the functions the analyzer created for it.
The parser, for me, was the Near Otherworld. It's an odd place, but I've seen glimpses of it before, and although it's definitely alien, it's not too hard to get used to.
The analyzer was weirder; call it the Middle Otherworld. Data that came in as one type changed form and design -- a parse tree for an arithmetic expression becoming a function pointer, for instance. I had a much harder time keeping track of what everything was originally, and I'm still not sure where it's all going.
Now I'm in the executor. Yup, it defies description. Nothing to see here ... at least nothing I can put into coherent prose.
(If after next week I'm referring to myself as Points-to-Functions, you'll know why.)
I've always liked these kinds of stories, but I've always found them a little frustrating as well. The early parts of the story are usually lovingly detailed, with lush descriptions highlighting the subtle differences between the Near Otherworld and ours. We're human, though, so the descriptions tend to focus on the sort of things that humans already find particularly mysterious in our world: low-hanging tree branches wreathed in mist, distant hoots and calls and growls that don't sound quite like the birds and animals we're familiar with, peculiar alphabets that are nonetheless recognisable as some kind of written communication.
As the hero moves deeper into the Otherworld, the environment gets necessarily weirder. The laws of physics may be permuted or outright suspended. Time no longer moves at a single or constant speed. Physical forms change without warning, though they may very well do so for excellent reasons. It often isn't outright stated, but there's a Platonic implication that the hero, his companions and their surroundings are casting off illusions; that the shadows they have accepted all their lives are being discarded in favour of the truth.
Eventually there comes a point, if the character goes far enough, where description can no longer suffice. Paradoxically, this moment, which is certainly the peak of experience for the character and should be a moment of satori for the reader as well, is often just painfully dull. Once the storyteller gets to a point where words can no longer convey experience, there is no story left to tell. Thus, whatever happens in the Deep Otherworld typically gets handwaved, and the storyteller brings the hero back as quickly as possible in order to keep the tale moving. The lingering effects of the Deep Otherworld are visible on the hero in the form of his changed aspect and mien, but whatever went on out there is for him alone to know -- not his compatriots, and not even the audience.
What's funny is that there's a direct analogue between this and the Singularity. Charlie Stross, Greg Egan, Vernor Vinge et al. do a fantastic job of portraying the Near Futureworld to us, but even though they're depicting a post-Singularity world, there are Singularities beyond the Singularity which they cannot describe. (Ever notice just how much of the stuff about the Transcend, in A Fire Upon the Deep, was handwaved?) Our culture's shamans, our Rudy Ruckers and Cory Doctorows, may have visited the Otherworld in their own ways, but their ability to bring it back to us is limited by their ability to communicate and ours to comprehend. If we're really going to understand it, we're just going to have to see it for ourselves.
What's not so funny is the direct analogue between this and the project I'm working on. Database engines come in four parts: the parser, which makes sure that a submitted query is in the correct syntax and preps that syntax for the rest of the engine; the analyzer, which transforms the parsed query by simplifying wherever it can and turning arithmetic expressions into functions (among other things); the optimizer (also called the planner), which determines the fastest way to carry out a query; and the executor, which follows the path dictated by the planner and runs the functions the analyzer created for it.
The parser, for me, was the Near Otherworld. It's an odd place, but I've seen glimpses of it before, and although it's definitely alien, it's not too hard to get used to.
The analyzer was weirder; call it the Middle Otherworld. Data that came in as one type changed form and design -- a parse tree for an arithmetic expression becoming a function pointer, for instance. I had a much harder time keeping track of what everything was originally, and I'm still not sure where it's all going.
Now I'm in the executor. Yup, it defies description. Nothing to see here ... at least nothing I can put into coherent prose.
(If after next week I'm referring to myself as Points-to-Functions, you'll know why.)