Sunday, July 30, 2006

softwear engineering

I spelled that the way I meant that :-)

I've been knitting since I was nine. I love to knit, and find it very relaxing. I knit socks, sweaters, Aran knits, and am currently attempting an Icelandic pattern I brought home from Iceland.

It occurred to me that it is not all that surprising that I like both knitting and programming. In many ways, knitting is very similar to programming - knitting is executing a design in yarn; programming is executing a design in a particular language. The designs are written down (patterns/specs). In both, it is best to know what you are setting out to do ahead of time, and the end result is hopefully useful. And it is the more experienced knitters/programmers who write the designs.

The similarities run deeper still. The state of mind I find myself in when knitting is similar to that I experience from coding, and I get similar rewards from looking at the finished product.

Perhaps there are things to be learned from knitters in programming. Imagine if the creation of a sweater was handled as a software product. Assignments would be doled out - this team member does the cuffs of the sleeves, another does the rest of the sleeves, another the back, another the front, another would be in charge of putting it together, and yet another fixing any issues that arose, and there would be someone in charge making sure it all hung together in the end.

But as a knitter, I would never ever pick up anyone else's sweater and start working on it. The knitting project is a very personal endeavor. Everyone's stitch is unique - if I started knitting in the middle of a sleeve on someone else's sweater, the sleeve would have a discontinuity. The other knitter would be highly annoyed. And the end result would be the less for it.

Today's software projects are usually way too large for a single person to build themselves, but the lessons to be learned from the craftsman are still important. The differences in knitters' stitches are a very visual clue, but the software product does reflect the programmers who put it together, too. When dividing up a project, we need to make sure that each programmer has something they can look at and say "I did that!" and feel the craftsman's pride in accomplishment. And we need to manage the boundaries between different areas of code to ensure that they fit together seamlessly (pun not intended, it just happened...) Those seams affect the feel of the product.

I still remember one of the best things anyone ever said to me.... Speaking of ViP, a senior Lotus architect told me that he could see me in the product. That is one of the best things anyone can tell an engineer. When we divide up a software project, we need to make sure that every engineer can hear that!

Tuesday, July 25, 2006

memory lane

As Carly Simon would say, "I'm home again, in my own narrow bed..."

I'm in Buffalo, and spent the day in the hospital in which I was born. My mom was there for a very different reason today, but she is now recovering from successful heart surgery. A scary day, but a good one since it went well.

It's odd being in Buffalo. I've forgotten so much, at least superficially. Yet when I missed a turn on the way home from the hospital, I maneuvered my way through some old shortcuts I used to know. Turn off the brain, trust the instincts, and found my way home. When I got home, I walked around the block. The names on the houses are different, but the houses are labelled in my head just as they were when I left home for grad school. I didn't recognize a soul, and I'm sure those who saw me had no idea I lived here for 21 years.

Tomorrow I am going to stop by Canisius on my way to the hospital. I've forgotten this part of me, this part that never touched a computer and had very different dreams. I certainly love my chosen path, and couldn't abandon it, but wonder how to synthesize in the rest of me. Those parts of me are as alive as the ingrained memories of the paths home.

Life is fragile, as seeing my mom connected to a host of monitors reminds me. We can't afford to let any bit of ourselves be neglected - maybe I do need to start that novel!

Friday, July 07, 2006

I was just bringing my son to an island violin maker to see if my old violin needed any work before he started taking lessons with it. It was my grandfather's violin, so is a bit fragile, but fortunately it just needed a string. The violin maker is an amazing craftsman, based here on the island. In telling the tale of my violin, I mentioned that when I was little, I had really wanted to play cello, but with the wisdom only parents understand (sometimes), was told that I should start with the violin (which I believe had more to do with the fact that we already had a violin ready for me to use). I took lessons for about three years, but never felt I had anything to say with a violin, and when I was a teenager, moved on to guitar. In the past few years, though, I've fallen in love with the tone of the viola. But I don't have time to play and much of what I once knew about playing the violin has been overwritten pretty thoroughly.

But then he showed me a viola he had made, gave it to me, and said try it.

It's home with me now for a trial. I have much to remember and yet to learn, but I think it's going to be fun :-)

Monday, July 03, 2006

at least I wasn't barefoot

It's been a pretty quiet morning. No (scheduled) work today, slept in a bit, did the dishes, let the dogs run in and out of the house to the fenced yard freely for a bit, sat down at the computer *well, it *is* here...), felt something soft under my sandal... Looked, piece of dark cloth? What has Batman found to chew now.... No, not cloth. A very wet but completely intact (but probably scared to death) baby mouse or rabbit. It seemed a bit dark for a mouse, but it may just have been wet.

And five spaniel faces looking at me, none confessing.

I'm closing the door to the outdoors before they find the rest of them.