. . . and Sparrowhawk could kick Harry Potter’s butt.
I’m turning my mind back to the knitting grapher. It’s a good thing that I’m not getting paid for this, because I’d be behind schedule by about eight months on it by now.
The next thing that I would like to do with the knitting grapher is teach it how to create non-rectangular graphs. Yes, I do mean ‘teach’. See, the best way that I know how to build software is to learn to describe something very precisely. Computers are like very methodical yet petulant ten-year-olds. They will do what you tell them, exactly what you tell them, whether or not that’s what you meant. Make no mistake, when the singularity comes and monster robots start blowing us up, it’s going to be because some human-entered instruction somewhere in the system could somehow be interpreted as “build an army of monster robots and blow us all up.”
Anyway, the point is that if you want a computer program to do what you want, you need to be able to describe very precisely what it is you want. “I want a PowerPoint™ presentation that will get me that promotion” just isn’t going to cut it. You need to say “My boss is Jane. Jane find the qualities of ambition and forcefullness of personality very valuable in her employees. Jane does not like employees who use lots of humor in their presentations. I need a presentation to describe the state of duct-taped hampster production for the third quarter. This report should convince Jane that I should be promoted.”
Of course, that’s not nearly detailed enough, but you get the general idea. (This is a blog entry, not a computer program. I’m not going to treat my readers like methodical, petulant ten-year-olds, though it’s possible there’s at least one out there.)
So, back to the problem at hand: I want the graph generator to display non-rectangular graphs. The candleflame pattern is perfect for this. It starts with one single cast-on stitch and expands in a triangular fashion. The first six rows go like this:
cast on 1 stitch
m3
p3
k1, m3, k1
p5
k2, m3, k2
etc…
Here, m3 means knit 1 without pulling the stitch off the left needle, yarn over, knit 1 in the same stitch and slip all three stitches to the right-hand needle.
Here’s the part where I’m thinking out loud.
We start with one stitch. You immediately make three stitches, then work all three stitches as they face you. The knitting grapher should know when a stitch represents an increase or a decrease, and it should compare the current row to the next row to see where the increases/decreases occurred. When an increase or decrease in the number of stitches occurs, the rows involved need to have spaces (or blacked-out squares) inserted into them to keep the stitches aligned.
Hm…. I’m going to have to play around with this some more. Anyway, that’s how I’m starting my day. I’ll post some updates as I work it out.
addendum
Sorry, I didn’t explain the title of this post. Sparrowhawk is a character from Ursula K. LeGuin’s Earthsea series. In that fictional universe, wizards derive their power from a combination of innate ability and a knowledge of the true names of all things. Part of Sparrowhawk’s training was a year spent in tedious study of names.
I’m not sure if LeGuin was ever a programmer, but she sure understands how we do our work. It’s all about knowing the exact names of the things you’re talking about, and being explicit in your instructions.
June 9th, 2004 at 8:28 pm
uh oh…war of the wizards ggg
it’s the question that drives us…
June 15th, 2004 at 11:26 am
I stumbled across your blog looking for other people who ride semirecumbent bikes (like me!!) And I guess I had to comment on this post- I just love the Earthsea books!! Did you hear The SciFi channel is turning the first two books into a movie? I have some beef about casting choices but it should be fun!!
http://www.scifi.com/earthsea/