Friday, December 28, 2007

Why is Christmas slow to come and fast to go?

We look forward to Christmas all year and it's over in an instant. But think about the event we celebrate (New International Version). A young girl gets pregnant without being married (yet). She's visited by an angel who tells her how she became pregnant and who she is carrying. She was, probably, harassed by friends and relatives and her husband-to-be considered divorcing her. She held all these joys and troubles in her heart for nine months and, then, she had to take a long journey at the end of the pregnancy and, when they got to their destination, they had no place to stay and had to settle for a stable. Then, she had her baby in the stable. So, there was a long wait and a lot more trouble before Jesus was born than what we go through before our celebration of Christmas. But there was an even longer wait and more anticipation for the Jewish people whose prophets foretold the birth of a Savior for thousands of years.

While Christmas is quickly over for us, for Joseph, Mary and their baby, it was not over so soon and we can be thankful we don't have such trouble at our celebration. They were still in the stable for as long as it took to register for their taxes. Then they had the long journey (70 miles as the crow flies but longer depending on their route) back home with a newborn. I used to complain, in our nice, warm house, when I had to get up in the middle of the night to help take care of our kids. What was it like on a trip at that time?

Of course, there is no need to worry about Christmas "coming and going" if we truly celebrate Christmas year 'round. We often hear stories about "the true meaning of Christmas" around this time where people are being kind to each other and helping those in need. While that is laudable and is the right thing to do, it is the right thing to do every day and for every season - not just at Christmas (or during the Thanksgiving season) and not just while a reporter is watching. Being kind and helpful to the needy is the true meaning of being a Christian (or a human being for that matter) at all times. The true meaning of Christmas is that a child was born of a virgin. That child was our Savior who was God himself.

Merry Christmas!

Monday, December 17, 2007

And another great computer book


This entry is a follow-on to my earlier article titled "I'm going to read through Keeton this summer" where I talked about The New Turing Omnibus. Now, I want to talk a bit about another book I really like titled Practical Algorithms for Programmers by Andrew Binstock and John Rex

I've always been fascinated by algorithms - lists of instructions for carrying out a process or solving a problem. In one sense, a recipe is an algorithm for preparing a meal (or at least part of the meal). The best algorithms aren't just dry lists of instructions, though. Good algorithms explain why you are doing each step (much like how The Joy of Cooking handles food preparation). But sometimes, the reasons for each step of an algorithm are lost and someone has to go in and figure out why the algorithm is written as it is. Or, perhaps, the original explanation of the algorithm is poor and someone comes along and does a better explanation.

This book looks at some classic algorithms and explains them clearly and lists alternatives that may work better in some cases. It isn't a huge book and it doesn't cover a large number of subjects, like the famous Numerical Recipes series (with version for various programming languages from FORTRAN to C++). What Practical Algorithms for Programmers does is take the most useful algorithms and take the time to explain them well. It teaches you how to decide which of the algorithms to use for a given subject. It gives you background information on how the algorithms were developed. The subjects range from the basic (linked lists, stacks, queues, hashing, searching, sorting and trees) to the more advanced (date and time, arbitrary-precision arithmetic, data compression data integrity and validation). Each one is handled in a way to help you understand why you would want to use a certain algorithm and not to overwhelm you.

This is one of the books I bought because I was in a bookstore looking through all the books in a certain subject area. I didn't read other people's recommendations or do a search for any book with "algorithm" in the title. I was able to leaf through all the books and compare them. You can do this with many books on Amazon but not all. Of course, Amazon will have more books than can fit in a bookstore. But that can be part of the problem, too. Amazon often gives you too many choices. In a good bookstore, they have someone knowledgeable about a subject to pick the best books to stock. As I read through it and compared, Practical Algorithms for Programmers almost jumped out at me, grabbed me by the shoulders and said, "I can help you right now with this program and that program you are working on." That was enough for me.

Friday, December 14, 2007

Snow and the woods

We got our first real snow of the winter last night.It was so nice to see my wife, the kids and our dog out playing in it when I got home. I couldn't play, though. I needed to continue the shoveling my wife and mother-in-law had started. The kids spurred me on to keep moving by pelting me with snowballs. And Charlie Dog guarded me (and barked when I slowed down or did something he disagreed with). It's nice to be out in the snow. It looks so nice and muffles all the sounds. Also, it cuts down the volume of the traffic in front of our house - both the number of cars and the noise they make. But the worst part of shoveling snow is dealing with the heavy, wet, gritty snow that the town snowplows throw back into our driveway after we've cleared it. Am I the only person bothered by this? Am I a lunatic to think that there must be a better way to remove snow from the streets of our town? Not only did they cover up the end of our driveway but also the end of my mother-in-law's driveway and our neighbor's driveway (which I had also shoveled because he is elderly). Not only did they cover up the end of those driveways but they covered up the town sidewalk that I had just shoveled. Not only did they cover up the sidewalk but they covered up the street drain (which I had also shoveled out). So, when the street starts to melt, where is the water going to go? The worst part of this is that the plows make passes down the road even after the snow is gone - they come by to throw the snow at the side of the road even farther into our driveways and the sidewalk. Perhaps they get paid by the number of passes they make - not by the usefulness of the passes.

That was all last night and this morning. Today, at lunch, I went for a walk in the woods behind our office. I was the first person to use some of the paths. Here are some pictures. I always think of the Robert Frost poem Stopping by Woods on a Snowy Evening at these times. I've loved this poem since I first read it in high school. A Men's Chorus I used to belong to even did a musical version. It was a terrific arrangement. So quiet and peaceful.

I forgot how hard it is to walk in a deep, new snow. My walk usually takes about thirty minutes. Today it took fifty minutes. But I couldn't stop or rest. I had promises to keep. And code to write before I sleep. And code to write before I sleep.

Stopping by Woods on a Snowy Evening
By Robert Frost

Whose woods these are I think I know.
His house is in the village though;
He will not see me stopping here
To watch his woods fill up with snow.
My little horse must think it queer
To stop without a farmhouse near
Between the woods and frozen lake
The darkest evening of the year.

He gives his harness bells a shake
To ask if there is some mistake.
The only other sound’s the sweep
Of easy wind and downy flake.

The woods are lovely, dark and deep.
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.

Tuesday, December 11, 2007

The tale of the check

Today, my company ended a strange little episode with Microsoft and a "missing" check and it reminded me of another strange little episode of my own with a check, a US Government agency and a small bank in Northern Virginia.

I used to work for the US Geological Survey in Reston, Virginia. Our lab was being closed and some of us were being transferred to other labs around the country. My good fortune meant I was being transferred to the Marine Geology office in Woods Hole, Massachusetts. Since it was a transfer between USGS offices, they agreed to pay my moving expenses. I tried to get them to pay a little extra to have my things packed but they refused. So, I paid the extra myself. The move went well and I was quite happy in my new location.

Then, out of the blue, I got a note from the main office of the USGS that they had reconsidered and would pay for the packing of my belongings. They just needed proof that I had really paid for it. Here is where the stupidity started - with me. I sent them the canceled check. This was back when the bank sent you the real, canceled checks at the end of the month. I should have sent a copy but I figured it was OK because it was canceled. No one could use it.

A long time later, long enough for me to forget about sending the check, I got a call from my old bank in Reston (I'm not sure how they got my phone number) explaining that my account was overdrawn. I explained that I had closed the account and moved. They said I still owed them the money and gave me the check number that caused the problem. I told them they had to be mistaken because I had all my canceled checks and would find it and prove them wrong. But, of course, when I went to find it, I couldn't find it - I had sent it as proof of paying for packing my stuff for the move. But I didn't know how the check was used yet. I just knew I didn't have it and couldn't figure out what I would have done with it.

A few days later, while I was trying to solve this mystery, I was contacted by the USGS accounting department that a check I had sent to them had bounced and I'd better send them a new one on a good account. I asked them for the check number and, lo and behold, it was the same number as the one the bank was complaining about. But I couldn't remember sending a check to USGS to pay for anything. In fact, they were supposed to pay me...WAIT A MINUTE! It finally all clicked into place. The check I had sent them as proof of payment somehow ended up in their pile of checks to cash - even though it wasn't made out to them. It was made out to the moving company! And it was canceled! Then, the check got to my bank and, even though it wasn't made out to the USGS, the bank attempted to satisfy the check - even though it was canceled and I no longer had an account there! And they both had the nerve to complain to me!

This happened about 29 years ago so I don't remember exactly how long it took to resolve this but I know it wasn't finally resolved for weeks after I had first figured out what had happened. None of them ever admitted making a mistake. I do recognize, though, that none of it would have happened if I hadn't sent a real, canceled check. Maybe it is good that we no longer get real checks back from the bank. If I was a little more paranoid than I am, I might even believe that banks don't send us real checks because of what happened to me :-)

Thursday, December 06, 2007

Evaluation day

Today I got my 6-month performance evaluation. We missed the one that was supposed to happen in May, though, so really this was my yearly review. The project we are still working on was originally planned to be released in April, 2007 and, I assume, the review was postponed because the project was late and they probably thought doing the reviews then would have made it even later. Well, NOT doing the reviews may have been the problem because we're still working on the project!

My review went well, by the way. I'm doing OK. Not stellar but they're not going to reprimand me. We talked about how the last year has gone but also about upcoming projects and where I fit in with them. Part of the problem is that so much of the work sounds so interesting, it is hard to decide which projects to be considered for. We also talked, in general, about how difficult some of the aspects are of the various projects. It brought up two points I had just been thinking about while reading one of the recent Joel on Software articles. The main point of the article was that projects that have a lot of problems to overcome are the ones that are best to do. That is because if it was easy, it would either be worthless or everyone would be doing it. The more difficult the project is, and if you can overcome the difficulties, then people will be happy to buy your product because you'll be helping them do something they didn't think they were going to be able to do.

Another point was that the areas of any project that are the most difficult are the ones you don't have control over. Their point was that it was more difficult to produce a program that runs on the customer's hardware and not on your own hardware (servers) that you control. The question you have ask is how do you get control of those difficult aspects? One method is to limit the types of hardware your product will run on. Another way is to make sure you have as many types of hardware for testing.

I'm writing this without thinking about it much. Maybe I'll get a chance to write more about this in another entry.

Wednesday, November 28, 2007

Raking up the leaves

I started out the day thinking I was just going to put together the leaf blower and learn again how to use it. I remember last year, when we first got the leaf blower and tried to use it, that it was not as easy as it looked. The leaves went everywhere and it seemed to only cause us more work. On top of that, I thought it would be better if we put all the leaves in the trailer that fits behind the lawn tractor and just haul the leaves behind the house and dump them in our woods. Well, the tires on the trailer were flat and I had to go and either get new tires (they were old and crumbling) or get them pumped up to last for a day. Mr. Cheap went with an offer to pump them up for free from our local tire company (yes, we do business with them so I didn't feel too guilty). I finally figured out how the blower was best used and it went fairly well. But all five of us (including Grandma) were out there raking as well as using the blower.

This year, I was going to be prepared. I was going to practice! It didn't take nearly as long to relearn to use it as it did to learn about it in the first place. After about ten minutes, I was having a blast! In about an hour and a half, I had the whole front yard in one big pile (see the top picture with our son Evan). As I used the leaf blower and learned more about it (you can start low and sort of blast the leaves into the air and then raise the nozzle and push them where you want) it made me think about how we go about learning anything and specifically how I learn a new project at work. It's always fun to learn new things but, for me, the best part is when you get to the place where you can actually do something useful with your tools. There is always a big debate about why more programmers don't use the code developed by others to save time and the need to make sure the code works correctly (I'm talking about using freely available software components or purchasing packages of software components - not stealing other peoples' work). The problem is that people get into this line of work because they like to fix problems and make new things - we like solving puzzles. Well, part of that is doing things your own way. In the back of your mind thinking, "I can do this a new, better way." That's how I felt with the leaf blower. I could have asked someone who had used one before to help me learn it. But it was more fun to figure it out for myself.

As you can see from the second picture (that's Emma buried in leaves, you can't see the fact thats she's lost one of her shoes and that we'd spend a long time looking for it :-), before hauling the leaves around back, I called the kids out to jump in the leaves. I should have taken more pictures - especially when they were jumping in together and throwing leaves at each other. Then Charlie the Dog came over and joined in. He had a great time, too. He helped us haul the leaves in the back (it only took four trips). Evan got to drive the tractor and Emma rode in trailer. We were all exhausted when it was over but it amazed me how fast it went. And to think, I wasn't going to really do the job that day - I was only practicing!

Sunday, November 18, 2007

New layout for my blog and...

This is just a quick note to mark that my blog template has changed. Blogger (the service which publishes this blog) has made it easier to add links to the list on the right. But I had to upgrade my blog to use the new features. I like this new layout. My profile is at the bottom now. That's good, too. Who wants me staring at them while they read the latest entry?

As a side note, we've been in our new house for just over a year (we started moving in on Saturday, November 4, 2006) and I've been blogging (intermittently) for over a year (first post was October 14, 2006). I've got a few stories to tell about our first year in the house. Like when we'd only been in the house for a week and a big rain storm hit (the night of Saturday, November 11) and we got water in the basement - where half of our stuff was still sitting from having just moved in! I'll try to add this and other stories soon.

We are also wrapping up our big project at work. It was originally planned to be done in April, 2007. The new plan is the end of this month (November, 2007) but we'll see. There is still a lot to do.

Also, in the middle of the rush to get the project done, our company had scheduled a one-day seminar in how to help our creativity. Perhaps I'll write a bit about that, too.

I know I've been bad about writing new posts for this blog. It's not that there enough things to write about. The problem is finding the time to create a well-written, understandable post about the people, events and things in my life. My main reason for doing this blog is for my own use - to document the everyday things. I want to remember when we did certain things. What I was thinking at certain times. Also, I want to push myself a bit to improve my writing. As someone once told me, "The best way to be a writer is to be a writer." Just having thoughts is not enough. You need to write those thoughts down to organize them. And, if the thoughts are only in your head, they are easy to forget. But, I need to treat this blog more like a diary and force myself to write something every day. I'm missing a lot of the little things that happen every day.

One final note, the reason I wanted to edit the layout of my blog was to make it easier to add a new link to my list of blogs. My wife has started blogging and I have added her blog, "A House with Two Cats", to my list.

Wednesday, November 14, 2007

How much reality do we need in a movie?

We are big Seinfeld fans in our house. And Bee Movie has opened which stars Jerry Seinfeld (he also helped write it). I've read three reviews of it so far and two like it and one doesn't. That's OK - we're going to see it no matter what. This is one of the many advantages of having children - we get to see a lot of animated features that we might not see. And I have to say, I've enjoyed almost all of them: Cars, Shrek, Brother Bear, Home on the Range, Finding Nemo, The Incredibles, Surf's Up, Hoodwinked, The Polar Express, Madagascar, Robots, Chicken Little, Jimmy Neutron: Boy Genius, Monsters Inc., Ice Age, Spirit: Stallion of the Cimarron and lots of others. And these are only the animated movies we've seen in the theater. We've seen live action movies in the theater and animated movies on tape and DVD. So I understand the idea of the non-reality of movies in general and especially in animated movies.

But it strikes me as odd that three of the movies are about the social insects: Bee Movie, Antz and A Bug's Life. And all three of those are about a "worker" insect and all three had male lead characters. This posting is really late. I originally started it back on November 2, 2007, the day before we were going to see the movie. Now (November 14), I see in the New York Times, there is an article about this very subject. I swear, I had the idea first! But they have quotes from famous biologists so you might want to read the Times article, too.

Now, we all know that the insects that do the real work in a bee hive or an ant colony are all female. The male ants and bees are kept around only to mate with the queen and then they die. Not that this isn't an important job! If it wasn't for them, the colony and hive would disappear after a generation. But this is not the job the males are given in these movies. Is it the fact that studios, writers and directors feel that the public will not accept a female lead in these movies? It's not that they think that "bugs" can't be voiced by women because there are plenty of females in the movie and the queen of the hive and nest are always female in the movies. Maybe it's the fact that the workers are sometimes called on to fight or lift heavy objects. We still haven't gotten used to women doing these things. And by the way, ants and bees are NOT bugs but of the order Hymenoptera. Bugs are the familiar name for the order Hemiptera.

Now that we've seen the movie, I can tell you that two of the three of us enjoyed it. Our 5-year old daughter didn't want to go ("Yuck, I don't want to see something about bugs!"). My son liked it and so did I (there are always great "parent" jokes in these types of movies and this one has more than the usual number). But my wife wasn't crazy about it. I wonder what she would have thought if it had had a female lead? Maybe the movie could have been about the lead character's conflict between just staying in the hive (cleaning up after everyone, teaching the young and making the food) versus getting out to look for pollen, defend the colony- you know - more the female athlete role. Now that would be an interesting movie about "bugs".

Tuesday, September 18, 2007

"I'm going to read through Keeton this summer"

When I was in college, I was a double major in a special program that took five years. I majored in electrical engineering and biology. I was hoping to get a job with a company that made instrumentation for medical research or for hospital use. But I was stuck with the mixed problems of needing experience to get a job and needing a job to get experience. No one was willing to take the risk on me. Perhaps I just didn't exude confidence. Maybe I wasn't as smart as I thought I was (only a 3.0 average out of 4.0). Maybe I didn't apply to the right companies. I probably should have gone to graduate school (like my friend in the program did - he is now a medical physicist working with doctors to design MRI and X-ray therapies and imaging). Anyway, that explains a bit about this story - why would an engineer be talking about a biology text?

Every spring, just before we would leave for summer vacation, every other biology major I would talk with about our plans for the summer would include the phrase, "...and I plan to read through Keeton before fall semester." What we were referring to was our general biology text, Biological Science by William T. Keeton (later versions include a second author, James Gould). It was a fantastic text book. It covered every major subject in biology in surprising depth. It covered everything from cell biology to phylogeny. Ecology to animal behavior. Evolution (its theory and its problems) to developmental biology. We used to joke that you could probably use that one book for any course on your way to a degree. But there was so much there that, to my knowledge, no one ever managed to find the time over the summer to actually read through Keeton! There were just too many things to do - like work enough to make money for the coming year of school.

I was reminded of all this recently when Jeff Atwood, at the Coding Horror blog, did a write up of The New Turing Omnibus by A. K. Dewdney. Here is the link to Jeff's article. This is NOT the Keeton of computer science but, in a lot of ways, it is better. It covers a large number of topics that would be covered in a computer science curriculum but the subjects aren't covered in the depth that Keeton covers its subjects. Each chapter is from four to sixteen pages with references and further reading lists. It covers subjects such as algorithms, random numbers, text searching and compression. It talks about Shannon's Theory, regression and Karnaugh Maps. Its long enough to explain what you ought to know but is short enough so you really could get through it over the summer and still get other things done.

I think the obvious difference is that Keeton was meant as a text book and later as a reference book. Dewdney's book is meant more as an introduction; like a preview of the subject. I am going to make an attempt to read through The New Turing Omnibus over the next few months and then see where that leads. Since I never went through a computer science curriculum, I will be learning a lot of new things. I am sure it will open up areas that I will explore more deeply at a later time. I can't wait!

Tuesday, September 04, 2007

Great ideas :-)

I thought I'd better write these terrific ideas down before someone else uses them:

1) I remember a bunch of commercials years ago that stated that their product, or the people who used their product, were giving 110%. I believe this started when NASA was televising its launches and they would announce that the engines were running at 110% as the rocket or Space Shuttle rose. This meant that the engines were working harder than their rated specification. You wouldn't want to do this for long but with machinery, it was possible. Now, every other commercial says they are working 24/7 for us. This is just as silly as saying you're giving 110% but it sounds good when a customer is looking for a new bank or a new dog groomer but it's not real. But reality has never stopped advertisers. So, my idea is to come up with a marketing scheme where you say you are working 25/8 for your customers. That's like giving 114% on the days side of that expression!

2) The doctor always tells you to take two aspirin and call him in the morning. Well, my idea is to make each aspirin the size of two aspirin so you only have to take one pill. Think of the time you'll save. You'll be giving 200% when you take a pill.

3) I have a great idea for one of those one-panel New Yorker magazine style cartoons. A person is pushing a vacuum cleaner that has obviously broken (maybe a plume of smoke is rising from it) and they say to a person standing next to them, "Well, you know, nature hates a vacuum."

4) Another New Yorker style cartoon would show a husband and wife doing the dishes together and the husband has dropped one of the dishes he was washing and turns to his wife and says, "I thought you said these were dishwasher safe!"

Wednesday, August 29, 2007

Social engineering


One of my (many) pet peeves is the baggage claim area at the airport. You know how it is - the flight was late and crowded, many people are worried they'll miss their connection, everyone rushes to the baggage claim area and then waits and waits for the bags to appear. So, when the bags finally appear, everyone rushes forward to stand around the belt conveyor or spinning conveyor to grab their bag. Under ideal conditions, it looks like the top picture to the right. Sure, you can stand right up at the conveyor and wait for you bag. You're not blocking anyone's view and when you see you bag, grab it and swing it off the conveyor, there is no one right next to you that gets whacked with your bag.

But more often, the scene looks like the second picture below on the left. I couldn't really find a picture of a crowded baggage claim area so I substituted a picture that reminds me of one. They are very similar except here, the zebras are worried that the "luggage" is going to claim them :-)

There are more people looking for bags than there is room around the conveyor. Not only do the first or most aggressive people keep the rest from getting to their bags, the people in back can't even see their bags. The people in front probably think that no one else is under the same pressures they are under. No one else will mind that they push to the front to get their bags, knock into others as they swing their bags off the conveyor and bump into them as they leave. Why would we?

Well, my idea is that everyone should stand back. Far enough so everyone can see the whole conveyor. Then, when you see your bag (or think you see your bag), you move forward to check it out. If it is your bag, it is much easier to get it off the conveyor and get away from the claim area without bumping others or being bumped. Is it ever going to happen? No.

Monday, August 20, 2007

Squirrel on my walk

Normally, I wouldn't consider a picture of a squirrel all that exciting. But the squirrels in the woods behind our office are not the tame, gray squirrels I'm used to. These squirrels are very much afraid of humans. I can hear them scurrying off as I approach. Sometime, I'll see them run up a tree and hide on the side away from me. This is where their having eyes on either side of their head come in handy. If they cling to the tree with their head facing up, they can see a predator approach from either side of the tree and run to the other side. And that's what they've been doing to me for five months!

Well, I've finally succeeded. I think this one must be a young squirrel who isn't as afraid of people as it should be. It did run away as soon as it heard me but when it climbed the tree, it decided to watch me from a branch. I guess it felt safe enough because I was pretty far away. He (or she, I can't tell) didn't know my camera has a 12x optical zoom (equivalent to a 420mm lens on a 35mm camera) so I was able to snap these two pictures without needing to move too much. He didn't seem to be scared off by the various "beep" sounds the camera makes as it changes modes and focuses. I could have gotten more pictures if I didn't have to get back to the office. I continue to be impressed with this camera, a Panasonic Lumix DMC-FZ7S, with this wide zoom range and its built-in image stabilization - I don't use a tripod on my lunch-time walks.

Friday, August 17, 2007

I love history, too, but...


...some of the ways we discover history bother me. I read the other day about an Etruscan tomb that was found intact in Italy. The archaeologists are both excited (that it is perfectly preserved) and surprised that it had not been looted: "When we found fragments outside, we thought we would find that the tomb had been violated. But the main burial room was completely intact." Until now, that is. It's one thing to investigate old buildings and other common sites. But when we disturb burial sites or religious shrines, I don't like it. We make big trouble when someone tries to disturb our own burial sites (or even our battlefields) but seem to think nothing of disturbing sites of Native Americans or other, older civilizations. Perhaps that is because no one is left (or has the power) to tell us to back off.

I guess I would be disappointed to know how much of the history I read and love has come from excavating burial sites. I'm slowly working my way through J. M. Roberts, History of the World now (an older edition than the link points to). The book would probably be half its size if it wasn't for shady archaeologists' plundering of old burial grounds. It does seem that there is more concern being shown about this, though. I hope this continues. There are small differences between people looting old tombs to make money and museums and universities looting old tombs to increase knowledge. For instance, the museums and universities usually put the items on display. Sometimes, they are able to preserve them. They study them to see how they fit in with other objects while the people who loot for money often just spread the items out to the high bidder. Usually, only the owner sees them from then on.

But why do we have to see these things? Do we have to bring Mount Everest to a museum near us to believe that it exists? Do we dismantle it piece by piece to study it? Couldn't we leave the artifacts where they are and carefully let some researchers look at them where they are? I'm probably being too simplistic here but I'll fall back on my "this is my blog and I'll say what I want" statement. You're welcome to disagree!

[Update - I put a new link on the right. It points to the History Channel site "This Day in History" section. I find it fascinating to look at brief stories about things that happened in the past on this day. Often, the stories will follow over a few days and you can try to imagine being back there when it really happens. The parallels between then and now are very interesting.

Unfortunately, they've changed the site in the last year and it starts off playing a movie highlighting the top stories so turn your speaker down if you find it embarrassing.]

Sunday, August 12, 2007

Living in an amusement park

We live in an area that a lot of people visit for their vacation. I sometimes feel that these visitors think that those of us who live here are just employees at the "Vacation Amusement Park". The picture to the right is supposed to be one of those mascots that walk around the amusement park so that people can have their pictures taken with them. From what I understand, visitors to the parks seem to think they can ask anything of the people inside these costumes. They can treat them any way they want. After all, "These people are paid well enough and trained to handle these situations." Well, that's not true. And for those of us who aren't employed in the vacation industry at all, it can get a little ridiculous.

Visitors get quite upset when we don't know the location of every street and business in our area. They get upset when we don't know the dates and times of various special events, fairs and movies. We don't necessarily know the time of the next high tide and we may not even realize that their favorite band is playing some place we've never heard of. Because we live here, we are supposed to memorize the local events calendar.

Another disappointing thing is to see how people act when they are on vacation. They seem to think it's OK to act like a fool if they aren't home where people they know will see them. Well, it turns out that screaming out your car window while driving through a residential area at 1 AM is wrong no matter where you are. Making U-turns in the middle of town is illegal no matter where you are. Cutting in front of people in a line is impolite whether you're late for the ferry or not. Even if we were all paid to endure these things, it wouldn't be right. But it's one of the things I guess you have to put up with when you live in a beautiful place where lots of people wish they could live.

Wednesday, August 08, 2007

Building boom


You may have heard that there is trouble in the housing market. Well, that's not the case everywhere. Take the place where I take my walks at lunch. In the past week, I've noticed a tremendous amount of activity. Can't see what I mean? Look at the path in the picture on the right. You'll a large number of ant hills (the light brown mounds about an inch high) running along the path in two rows. What I find strange about this is that they all seemed to appear overnight although more are appearing every day. They are all in shaded areas along the path. Finally, I never see any ants around them! Usually you see ants entering and leaving a nest but none of these show activity. But I know they are active because some of the hills have gotten run over by bikes or stepped on and the next day they are cleaned up. Some idiot even tried stuffing things into the holes and they were cleared out the next day. Still no ants visible. Maybe, since they build them in the shade, these are ants that don't like the heat and only come out at night. Could we be in the middle of an invasion from Canadian ants? I'll keep my eyes on this and let you know what I find.

Sunday, August 05, 2007

Dragonfly

I've been continuing with my walks in the woods behind our office. I walk during lunch and usually take my camera (Panasonic DMC-FZ7S). I've mostly been taking pictures of the birds I find back there but, once in a while, something else gets my attention. I noticed a dragonfly one day. It would speed off looking for something and then come back to the same spot. It did this a number of times which allowed me to get ready for this shot. I've taken pictures of other dragonflies but they always seemed to be resting on something that hid their wings. This one, with bold, amber colored wings, really stood out.

Dragonflies have always fascinated me. They are terrific fliers (they are fast, over 20 miles per hour, yet they can hover). They seem to actually have a sense of curiosity. When I used to try to catch them, and would miss with the first swipe, they would often come back to have a look - or were they gloating? Their colors can be amazing. I've seen bright red, metallic green and mixes of blue and black that are as striking as some butterflies.

Can you imagine seeing a dragonfly with a wing span of two feet or more coming at you? There are fossils of dragonflies this size from the Permian period (between 250 and 300 million years ago).

I'll be trying to post some more pictures I've taken during my lunch-time walks in future articles. I'll also be talking more about the camera I use. I'm very impressed with its features but I'm still learning to use it correctly.

Posted by Picasa

Tuesday, July 31, 2007

Once again I realize...

...being a parent is tough. It's little things that happen (to me at least) that make me wonder how anyone can be a successful parent.

So, our daughter is having a rough morning. She is five years old now and starting feel like she knows it all. She gets going on something and starts thinking my wife and I know nothing. She starts refusing to do things and seems to think that, "But, I don't want to" is a reason to disobey us. We spend the whole morning (before I leave for work - how does my wife deal with this all day?) reprimanding her, telling her she is wrong and finally punishing her (time out in her room).

So, now I'm in the groove. Everything my daughter has done this morning has been wrong. Everything she says is a mistake. So, we're in brushing our teeth together and she refuses to use her new tooth brush. I start to argue with her about it and I'm getting ready start yelling ("Shouldn't do that" says the parent conscience in the back of my head) and preparing a different punishment when I finally catch what she is saying, "The toothbrush tastes funny, Daddy." I take a sniff of the brush and it doesn't smell nice. I've let my daughter use a new tooth brush without washing it first. I get her old toothbrush and everything is OK.

Now I'm worried that she has lost confidence in me. I had to take back what I said in anger and now she's going to be SURE I don't know what I'm talking about. And this seems to happen almost every day. How does my wife do this every day - all day? Either I'm an example of a bad parent or I have to wonder how anyone ever raises children without ruining them (the children) or going mad (the parents). I'll let you know in seven or thirteen years (when our two children, now eleven and five, reach eighteen) if it works out.

Tuesday, July 24, 2007

Trying to get started again

I can't believe I've let this go so long. My last entry was back in May. I was working on a new post but it was taking too long and I kept trying to edit it down. I'll post that some day (it is about getting a flat on my way to work one day).

There is not much to say today except for one thought I had after hearing a small fact stated (as a teaser for another program) on Morning Edition on National Public Radio: Most people in advertising don't listen to (or watch) ads. It seems they don't have much faith in their own profession. But this probably happens all the time. I'll bet there are a number of Aeronautical Engineers and workers who don't like to fly. There are a lot of Civil Engineers and construction workers who never ride on the roads or use the buildings they work on. And there are a lot of contract programmers and Electronics Engineers who never use the products they design for companies they only work at for a limited time.

But I wonder if this affects their work? I have always used the products I've worked on. I think it has helped me to get better at my job and helped make revisions and updates to the products better. Maybe we should be encouraging people who work on any product to use it at least once. Of course, there are limits to this. The people who work on the Space Shuttle can't all go up in it. And I wouldn't want to force an aircraft worker who is afraid to fly to have to fly in an airplane. And we certainly wouldn't want to force munitions designers and workers to use their products.

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

Monday, April 23, 2007

Living by Faith

This won't be a long post but I wanted to publish it while the thought is still fresh in my mind and also because, once again, I'm behind my "post at least once a week" guideline.

The title of this post is something you might see in a post about religion. You may have seen some thing like "We live by faith, not by sight." 2 Corinthians 5:7 (New International Version) from the New Testament and say, "I could never believe that. I have to be able to prove everything." Well, when was the last time you checked that chair you're sitting in? Did you realize that it is possible that there is a screw or joint about to come loose and if you shift just..a..bit..to..the..left - it could collapse? Or, that a train wreck occurred two miles away a half hour ago and the deadly chlorine it was carrying and that spilled out will reach you just as you're taking your next breath? No, I'll bet you didn't think about those things until you read them here. This just proves a point that we all live by faith. Every day. For most of the day. You may say, "Well, I could prove that my chair is solid before I sit in it or I could install gas sensors that would alert me to poisonous gas if I wanted to take the time to do those things. But you can't ever prove that God exists or that your faith in Him is worthwhile." I counter that it is all a matter of degrees of faith. We don't all have the same amount of faith. Some are blessed with more faith than others. But I assert that you can never fully prove that your chair is completely sound or that your chlorine sensors haven't malfunctioned, either. You can only ever "prove" something to a certain extent. And I would say that the proof that God exists comes every day when I look around at His creation. You may put your faith in the ideas of science and that all of this came about by chance but I put my faith in a Creator. For every law of physics or theorem in evolution, just replace the action verb by, "And God said...". And take a good, deep breath of fresh air. It's a beautiful day!

By the way, happy day after Earth Day. We are only stewards of this planet, not the owners. We should be taking care of it and not ruining it. This picture is from NASA from the Apollo 17 mission to the moon. Those guys had a lot of faith in the low bidder!

Friday, April 13, 2007

When is it OK to help people?

I heard another interesting story on NPR this morning. This time it was about the collapse of some subprime mortgage lenders. One of the proposals was that, because some of the people facing foreclosure were the victims of so called "predatory lending practices", the government or other agencies may help some of the borrowers out. There were comments for and against this and at first I sided with the guy who said (I paraphrase here because I don't remember exactly what he said), "These people bet on the fact that their house would increase in value and it didn't. Why should we bail them out for a bad decision?" You could say that these people need to learn a lesson. But why should be less willing to help these individuals and families than we would to help a company or group in the same situation? Chrysler made a number of bad decisions in the 1970's and the government loaned them money until they got back on their feet. We help out some industries facing foreign competition by raising tariffs. We subsidize our farmers to help them through the ups and downs of the weather.

I've seen arguments that these are proper because if we didn't, large numbers of people would be affected and our economy as a whole would suffer. Well, that's right. And I'm not saying we should choose between helping corporations and helping these borrowers. I'm saying that this is also a large group of people who just don't all work for the same corporation or have the same occupation. But make no mistake that it will have a large economic impact. Not only will it flood the market with low-priced houses (further depressing the price of houses for people who need the worth of their homes to increase or at least stay the same) but home owners, as opposed to renters, support their community in a number of ways. From buying at the local lumber yard and hardware store to being able to fit in with a long-term community where they have roots. They work on their houses more (nicer looking neighborhoods), care about the schools and support the police and fire companies because they are there for the long haul.

Another argument I read stated that not all the people facing foreclosure were victims of "predatory lending practices" and that is probably true. We should look at these on a case by case basis. The reason these are subprime loans, though, is because the people taking out the loan are already in bad financial shape. They don't have any other options. The only way they could buy a house was to grasp at the straw a less than scrupulous lender might hold out to them.

Many people have a hard time putting themselves in the place of another person who is facing a crisis and is in need of help. The nice side of me prays that those people never find themselves in the same situation and hopes that they will just open their heart to the people in need. The nasty side of me says, "Just wait till you need help - we'll ignore your pleas, too."

Tuesday, April 10, 2007

Pictures from my walk area

I've been having lot of trouble getting Blogger to show me the buttons I need to attach pictures to my messages. And when it did show the buttons, when it allowed me to attach a picture, it corrupted the picture and the message. I'm trying this from a Macintosh running Firefox with many less restrictions on web pages (because this Mac is safer than a Windows machine). So, the problem is probably not with Blogger but with the restrictions I've been forced to put on web pages through the browser. Enough complaining here is the post I've been wanting to enter.

I promised to post some pictures from the area of my lunch time walks. I'm still walking after about two weeks but of course that doesn't mean much. To do myself any good, I need to keep this up for at least three months. Then keep going! I got a new camera just as I was starting to walk again and I plan to take it with me on the walks. I hope that will be an added motivating factor to keep me going. This first one reminds my of the Robert Frost poem, "The Road Not Taken". You can see that spring has NOT hit us here yet. The only green are the pine trees. These two paths seem to head off in completely different directions but you can actually get from one to the other about ten minutes down either path. So, I've been making a loop by going down one of the paths and coming back on the other. That gives me about a half hour walk.

As you can , perhaps, see from this picture, we share these woods with dirt bikes and all-terrain vehicles. While they help by keeping the path open, they do cause a lot of damage to the path when it rains. These ruts make it difficult to walk, sometimes, and collect water when it rains. I noticed someone dragged a dead tree across the path trying to keep the bikes and ATVs away but they just treat that as a challenge and are probably happy that it was done. The smashed pieces of the tree are still across the path adding "excitement" to an otherwise easy ride for the motorized folks.

There aren't any great views n this walk because it is pretty flat. It would be nice if there was a hill along the way that you could look out and see a larger area. But there just aren't any hills here. I grew up in Western Pennsylvania where there is no "flat". You're either on a hill or in a valley. That has its pluses and minuses. My wife jokes about all the cemeteries there being on a hill where it is hard to walk to the grave sites or to stand as you look at the stones. I tell here that hills are all they have there. The only way to have a flat place is to dig the top top off a hill.

Here was a pleasant surprise on my of my walks. I haven't been seeing butterflies as much as I remember when I was younger. It seemed like you'd see hundreds of butterflies in a day but now you're lucky to see one a week. Well, this day I saw five or six of the same species (what ever this is). I thought I kept seeing the same one and that it was following me. Then I saw two of them together and then three. My new camera has a really nice zoom lens that can go to the 35 mm equivalent of about 420 mm (12x) so I was able to get this picture from about ten or twelve feet away. I will talk more about this great camera in another post.

Here is the largest "hill" I have to deal with on my walks. You can see more ruts, too. I'll bet the bikers like this part. They get to slip and slide and test their abilities when it is wet here. It tests my abilities, too, when it is wet and muddy. I've had some close calls going up and down this section. I did some volunteer work maintaining trails at one time and I'm tempted to try what I learned there on this section. But there just isn't enough time. And I'd probably just get it fixed and it would rain and the bikes and ATVs would rip it up again. I may be neurotic but I'm not a masochist! I'll just leave it as it is. Maybe it will get so bad that the motorized folks will leave and go somewhere else. There have been dirt bikes back here for years, though, and I don't remember seeing the paths this beat up before. Maybe it is just some new people who are doing all the damage. Maybe they'll move away and leave our paths alone.

I was going to show some pictures from another section of the woods that I used to walk but that other path is completely gone. There is a lot of construction there now. Here is a picture of that. It looks like they are carrying away a lot of the dirt and rock. The machine in the middle of the picture (you can only see the top of it here) is separating the dirt from the gravel and the rock with three conveyor belts that make three piles - one for dirt, one for gravel and one for rocks. This area is becoming a larger and larger industrial park. It doesn't look like many of the spaces have been sold yet but they are digging again so I guess they think they will be selling more.

For my final picture, I've got a picture of , what someone has told me, is a Turkey Buzzard (or Turkey Vulture). I've only seen them soaring so I've never seen one resting to really see its head or see the upper side. I've only seen the bottom. Last year I only saw one or two but this year I see at least four of them. I don't know if we're seeing the young of the older pair or new birds are moving in. They look so graceful. They rarely flap their wings. They like soaring over our parking lot to get the heated, rising air to give them lift. I used to think they were watching me when I started to walk in previous attempts to exercise regularly. I was moving so slowly at that time that they may have thought they'd soon have a meal.

Monday, March 26, 2007

I've started walking for exercise - again

I start exercising like some people quit smoking. An incentive the last time I did this was that our company started a fitness challenge where we would form into teams and compete for prizes at the end of a six-week period. It was very interesting: The definition of "exercise" was left intentionally vague and we were graded on our ability to meet or beat our own estimate of how many minutes we would exercise per week. So, for instance, I estimated I would exercise for 210 minutes a week. I figured it would be no problem to walk for a half hour seven days a week. Well, it turned out to not be as easy as I thought (kind of like writing at least one blog entry a week). But, the fact that I might be letting my teammates down got me outside on days I didn't feel like doing it. It was good motivation and, if I really felt bad some day, I knew I could catch up later in the week. I had a few really long walks on Sundays to catch up for the week!

So, here I go again. I'm starting to gain back the fifteen pounds I lost during our move out of the old house and into the new house and I'm feeling it more when I climb the stairs. This time, while there is another fitness challenge going on, I'm not a member of a team so it is going to be harder to keep going. The best I ever did in getting good, prolonged exercise and sticking with it was when I was bicycling to work. I was riding 14 miles a day round trip and the weather didn't usually stop me. I did that for about ten years. Of course, I was younger then and unmarried. Now with the office moved farther out (it's now a 20 minute drive in the car and on a highway that doesn't allow biking), I can't do that. I'll try to take some pictures of where I walk behind our office and post those. I'll also try to post my progress here from time to time. Maybe that will be my motivating factor.

By the way, the picture at the top is one I took of my son and our dog about five or six years ago. We were walking in the woods not far from our house at the time. It is one of my favorites. It was not taken where I am walking at the office. I'll show some of those pictures another time.

Friday, March 16, 2007

A World Bug List

By "Bug List", I mean a list of problems that must be dealt with. Humanity needs to keep a bug list of problems. We need to be reminded every day about the safety of our food supply, the lack of potable water, how many people are going to bed hungry tonight. We need to be aware of the rising number of homeless people, the state of financial institutions (people were worried about the sub-prime lenders before this week when one of the largest threatened bankruptcy). Our children are not reading as much as they should and antibiotic resistant bacteria are on the rise. There needs to a bug list that we all check every day and a way for people to either be assigned to work on those problems or a way for people to volunteer to work on those problems. We can' just wait around for the problems to reach their tipping point and then start worrying. These kinds of things just should not be allowed to sneak up on us.

Once a problem gets big enough or critical enough, it will be noticed and stories will be written about it. Television and radio will do shows and specials about it. Movies will be made. But, usually, when a problem gets to that point, it is too late to save some people. We all need to wake up each morning and think about what we are going to do that day and decide if there is anything we can do to help some problem on the list. We need to go to bed each night and consider if our actions that day helped with any of the problems on the list. Of course, there is no one list. And, of course, if there was one place, say the United Nations, where such a list was kept, who would have the authority to assign tasks? The people who worry about a world government would not want to be associated with it. It would have to be voluntary and that's just the situation we have now.

I don't want to sound like I don't think anyone is doing anything about any of this. Certainly there have always been good people trying to solve the problems that affect us all. Governments were probably first formed to handle these sorts of things. And there have been companies who were either founded to solve some of these problems or who donate to helps some of these problems. It's just that it seems so disorganized and uneven. I remember a coworker once saying that he was as apt as anyone to give money to people on the street but that he was against government programs to help them. What he didn't understand was that people can't exist on a haphazard "I'll help you when I feel like it" attitude. We need to dedicate resources that can be depended on year in and year out to fix these problems.

I know people who keep personal lists of people and events they pray about and help out with every single day. I need to get more organized and do something like this, too. In the end, this blog entry is not accusing anyone who reads it of not doing enough. This entry is just my own realization that I do not do enough. I m too concerned with my own little problems. I don't pay enough attention to things that affect the world and instead focus only on things that affect me. I hope this will be a start in the right direction.

Tuesday, March 13, 2007

"It's all downhill from here"

This is one of my favorite expressions when I get to one of my favorite times on a project. I can't say much specific about the project I'm working on right now but I can share some general ideas.

I work for a company that makes electronic products. To design these products, we need electronics engineers (the hardware engineers who pick out the parts to use and figure out how the parts will be connected together and to the outside world), firmware engineers (since just about everything we make uses a microprocessor, these are the guys that write the instructions that run the microprocessor which runs the product), mechanical engineers (who design the case or enclosure for the product and any special connectors or support hardware the product may need) and software engineers (our products are mostly used by connecting them to a desktop or laptop computer to start them up, make changes to them or get the information that our product collects). In this particular product, I'm part of the software team. The hardware part is mostly finished and the firmware and mechanical parts are in the works along with the software. It's kind of like building a bridge where you have to build supports up to a certain level to build the bridge up to that level and then work off the bridge to build a higher level of supports to build the next stage of the bridge. Nothing can be completely finished without the other parts coming along at nearly the same pace.

So, I am sitting at my desk with partly finished hardware and firmware and I am supposed to be able to send certain commands to the board and get a certain response back. Specifications are written for each part of the project but, since we've never built exactly this device before, no one is sure how it will really run or what is the best way to do things. As we go along and one method appears to be inefficient, we change the specification just a bit to make things better. So, the specification is just like the supports for building the bridge. You can't build the complete support structure before the bridge starts because the fact of building the bridge will change the area where the supports will be. The trick is to keep everything on as close a similar schedule as possible. I've been attempting to send commands to the board and get a good response for about two weeks with no luck. Part of it was a lack of completely understanding the specification and part of it was the specification not being completed. Also, I am building on software written by someone else based on an earlier version of the specification which has changed. So, yesterday, I finally reached the point where I was able to generate a complete, well formed command which should have gotten a good response from the board but didn't. That's a hard way to end the day and I was in a race at the end of the day to get a good response from the board.

It turned out to be a combination of problems - which is usually the case. Single problems are easy to find and fix. The problems that cause you trouble are when two or three simultaneous simple problems interact to cause a big, honking problem that keeps you up at night and makes you wife and kids afraid to see you arrive home at night. In this case, one piece of hardware had been misconfigured so that it and the board under test were trying to interact at different speeds. Also, the firmware of the board should have been returning a "partially" meaningful response but was not. And finally, the software had been written for an earlier version of the specification which had changed - but the software hadn't. I was able to reconfigure the hardware to talk at the correct speed and I was able to find the problem in the software and fix it. The firmware couldn't be changed (the firmware guys were gone for the day) but that didn't matter if I fixed the hardware and software problems. So, the last thing I did before going home was to send the "Let's start talking and assign me an ID" command and the board sent back the "It's nice to see you and here's your ID" command! Now, since all the other commands will use these same building blocks, I should be able to send any command and get a reasonable response. That's what I'll be working on next.

So, now is the time I say, "It's all downhill from here!" To me this is good. It means I'm no longer struggling up the hill. I've gotten past the hard part, taken in the beautiful view from the top and I'm heading down the hill which is easier. Plus I can see the end of the trek. This is the best part of any project to me. I feel I understand how everything works now and there are no limits to what I can do.