Tuesday, May 22, 2007

I suppose it's like skydiving

This is one of those things you tell your kids, "Now, it's OK for me to do this but you shouldn't try this." Last night, we had to run a test of our system. It was supposed to be an all-night test so we could still see everything running when we came back in the morning. We're being put under increased pressure to make faster progress on this project. Most of the group have been staying late and/or working at home on this.

So, just before I left for the night, a need arose for a function (or method as we object-oriented programmers say :-) to read a large data file and get the information at the beginning and save that to a separate file. The "end" of the section at the beginning varies and you have to read part of the beginning section (the beginning section is called a "header" in Information Technology) to find out where the end of the header will be. Not hard but not obvious, either. We have other methods to do parts of this but nothing to do the whole task and do it simply. So, I stayed a little later to write the code and then add it to our code repository (we use CVS on this project) so the other programmers can get to it. I didn't have time to test it because I needed to leave (I was late already) and because my test program hadn't been updated in a long time. So, I told the fellow who was running the all-night test about my untested code being available. He said he'd use it - we both took a leap of faith!

We came in this morning and the test had run successfully all night. One more milestone to cross off the list and we didn't waste an evening. But I'd never make it as a skydiver. I worried about this all night. When I found out the test ran successfully this morning ("You mean the 'chute opened?"), I promised myself I'd never pass untested code on again. I hope I can keep to that promise.

Sunday, May 13, 2007

Why can't we see movies in a movie theater?

Well, this is a stupid post! Of course you can see movies in a movie theater. New movies, that is. Don't bother looking around for a classic movie coming to a theater near you. I first thought about this a long time ago but was just recently reminded of it while my 10-year old son saw Star Wars (Episode 4 or is it 1? :-) for the first time - from a DVD in our living room. He had actually seen it before but does not remember it. I think Twentieth Century Fox brought this and the other Star Wars movies back for a short time before the final episode (Number 3, or is it 6? :-) was released.

But it sure would be nice to be able to see some of the great classics again. What about the American Film Institute Top 100 movies? Wouldn't it be nice if those movies would be re-released to tour the country once in a while? Plays on Broadway are revived and travel around the country. Most popular bands play some of their old songs in concert. Orchestras routinely include great music from the past in their performances - as a matter of fact, it's harder to hear new music by an orchestra than music by Beethoven or Mozart!

Well, if you're willing to travel to Los Angeles, I guess you can see the old classic movies. AFI has a deal with ArcLight Cinemas to show the classics there. But that's it. What about those of us in the rest of the country? We must resign ourselves to watching everything on our TV from a DVD or VCR. I suppose you can go all out and build a home theater and screen your own movies for your family and friends.

That's what is great about books. You can always re-read a book.

Thursday, May 03, 2007

Fanfare for the Common Man

The title for this post comes from the famous, short musical piece by Aaron Copland. I'm not exactly sure what triggered this thought but since I'm late again with a "weekly" post I thought I'd try to develop this idea.

One of my favorite episodes of Star Trek: The Next Generation was titled "The Tapestry". In this episode, the Captain is given a chance to go back in time and change a mistake in his life. It will allow him to continue living (the mistake he made caused him to need an artificial heart which has failed at the beginning of the episode). He does go back and relive the incident where previously, as a rash young ensign, he gets in a fight to save a friend but is stabbed through the heart. This time, he plays it safe and stays out of the fight (keeping his friend out of the fight, too) but loses the respect of his friend for allowing him to be "dishonored" by not fighting. He ends up making a new mistake trying to show he can care for a female friend without needing to be the womanizer of his previous, impetuous self. His life continues on but he no longer becomes the captain of the Enterprise but is "merely" one of the engineers. He has to report to the chief engineer and tries to discuss his future with the first officer and the councilor but they try to discourage him from seeking too lofty a goal for himself because he hasn't shown any initiative in the (new) past. He isn't willing to take the risks needed to get ahead. He doesn't want to live if it means he must remain in this kind of job. So, he is given the chance to go back once again to the fateful encounter and this time he gets in the fight, is stabbed and gets the artificial heart. But this time, in the future, he doesn't die! It was all a test - or a lesson. He realizes that changing one piece of our life can unravel the rest of our life (like a thread in a tapestry, hence the name of the episode). We often learn great lessons in life from the mistakes we've made.

Well, I didn't like this episode at first. It seemed to be saying that the life the rest of us live, the Common Man (or the Common Engineer) isn't a goal in life but just settling for what we can get. They seemed to be saying that unless we could eventually become a leader or famous or indispensable, our life isn't worth living. But this was not what they were saying. This was true for the character only because that was how his life was supposed to go. It would have been a waste for a man of his talents and abilities to be anything but what he had (or should) become. Where would we be without the Common Man? Who would do the work? Who would carry out the orders? Who would make sure things are right? I often run into engineers who must always be working on the latest thing. They can't wait for new parts to come out so they can incorporate them into a new machine. This is good. We need innovation like this. But we have to guard against this being the only criteria for getting ahead. Those engineers have a hard time finishing things. Their projects tend to work "some of the time". They end up needing other people to come in and make the new machine a finished product. What they consider drudgery, the Common Man considers their job.
I think about all the stories I've read and it seems that we're always reading about the king, the queen, the princes or the princesses. We read in the papers about the stars of the sports teams, we don't often hear about the regular players (unless someone like Cal Ripken, Jr. is working on a record breaking streak of playing in consecutive games). But then I think of one of my favorite books, The Lord of the Rings, where some rather ordinary fellows from an ordinary race end up saving the world. There is nothing I enjoy more than fully understanding a machine or a program and then going on to improve it - to make it work correctly - to make it easier to use.

"This ... is to be
Good, great and joyous, beautiful and free;
This is alone Life, Joy, Empire, and Victory." -- Percy Bysshe Shelley Prometheus Unbound