Journal: 2004-07-31

Hi. I have a few thoughts to write down, but it's late and my mind has reached that kind of sleepy, off-balance, (drunken?), poetic state. We'll have to see if I'm willing to admit I was the one to write this come morning. :)

I've been reading Le Guin's Earthsea trilogy. This evening, I was reading The Farthest Shore, the last book and the best I think. It's interesting that the mages and wizards in Earthsea call their greatest magic Patterning. It reminds me of what I do in my craft.

I got to spend a good amount of time working on my current programming project. It's progressing well, but I'm stuck at the moment. Stuck isn't quite the right word. I've reached a challenge and haven't had a chance to think my way through it. I was able to knock off a small piece using Beck's hammer - the simplest thing that could possibly work. But even Beck's hammer takes skill and practice to weild masterfully. I'm more used to tackling the whole problem at once. I think about it, scratch some notes, and only start programming when I can see how the whole pattern lays. (Or, at least enough of the pattern so that I have confidence I can fill in the gaps when I get there.) A tracery, a net (a graph) covering the vague blur of the problem space, defining how to partition it so as to be amenable to an algorithm. A patterning, like the mages of Earthsea. Or like the Archmage in the Nas Kan universe - figuring out the pattern of what is to be built, creating a mnemonic song that defines the plan, then setting out key boundary markers, singing the pattern into existence and filling in the substance.

So, anyway, I have to stop coding and go back to thinking again. Either to find pieces to knock off or to see the pattern whole. The funny thing is the problem I'm facing keeps reappearing. I've got the same one at work, though there I only have to port an existing peice of code. The problem is, given a set of changes to be made to a currently valid graph, how do you validate and apply the set as a whole when the individual changes in the set may produce invalid graphs? In fact, there may be no way to order the changes in the set such that you could apply them sequentially without producing an invalid intermediate graph!

I haven't seen any obvious incremental solution. Well, I guess one obvious answer is to apply the changes blindly and then revalidate the entire graph. I would rather come up with an incremental solution, but now that I think about it, revalidating the entire graph is not the end of the world. We'll see if I can discover something better. :)

[ < Prev | Calendar | Next > ]
C o m m e n t s :    
(nothing yet)
Edit