Archive for August, 2007

New website launched on the topic of Simple Living

August 7, 2007 10:34 pm

This is pretty exciting to me. I just got an email from Carol Holst, editor of the forthcoming book “Get Satisfied: How Twenty People Like You Found The Satisfaction Of Enough”, about the companion website that just launched.

This is a great resource for people who are finding themselves dissatisfied with the life they lead and who wonder if there is more to life that living paycheck to paycheck and chasing after the latest new shiny object. Without resorting to religion, that is.

If that resonates just a tiny bit with you, head over to www.getsatisfied.org and look around. I think you’ll like what you find.

Observations on making live music and writing code

August 4, 2007 3:27 pm

A long time ago my daughter performed a piece of harp music at a recital held at her teacher’s studio. She wasn’t playing on her own harp, and she hadn’t really learned to read the music as she was playing her song. Her teacher asked her to play a duet with her, and she reluctantly agreed.

They started playing, and at some point one of the strings on the harp made a strange noise that threw her off. She stopped playing and her teacher said, no problem, let’s pick it up again at such and such measure. Well, since she hadn’t learned the music, she couldn’t find the place and they had to start from the beginning again. This happened a couple more times. My daughter said afterwards: “That’s why I don’t like playing duets.”

This got me thinking about how making music together is a lot like writing code together.

It’s usually not too difficult play a piece of music by yourself. You’re going at your own pace and can stop and make corrections as you go. But as soon as you have another person involved, things get more complicated. You have to stay in sync somehow. One way you can do this is by following the beat of the music, and practicing until you can play together without mistakes. Another way is to improvise together in the style of great blues and jazz musicians, but it takes years and years of experience playing together to get to that level. When you have more than two people, things get even more complicated. At some point you usually need a conductor to keep it all together.

Here’s how that works when writing code:

You can write a piece of code by yourself pretty easily. You know what you want to do, and you can correct mistakes you make as you go along. But as soon as you have another person involved, things get more complicated. Now you have to agree on all kinds of stuff, and you don’t have a musical beat to help you. Who works on what? How do things interface? How do you keep the code in sync? You can’t really practice this, since most code-writing is coming up with new stuff. You can agree on a common language (patterns or idioms) to communicate, but that takes time to learn. When you have more than two people, things get even more complicated. Now you need to agree on source control procedures, more frequent synchronization and communication. At some point you usually need a technical lead to keep it all together.

How you go about doing all this when the people writing the code are not in the same physical location is quite astonishing to me.

Imagine trying to make music together when half the people are 12 hours away from you.

I bet that wouldn’t sound very good.

A truly brilliant description of cloud formation

2:59 pm

Eric Lippert paints such vivid pictures of cloud formation, I just had to link to his two part miniseries:

Talking About The Weather, Part One

Talking About The Weather, Part Two

I’ll have to go back and read these one more time. Fascinating.