Welcome
On this site you'll find some papers I've written, some open source projects I've messed with, my bio, and some other gorp.
On Automated Testing
Test everything somewhere. Test nothing everywhere.
-- Andrew Fuqua, December 2007
We were talking about automated testing, particularly test coverage, in Agile Atlanta the other day when I coined that aphorism. At least I don't think I've heard it anywhere else before. The concept had been in my head forever and I've worded it similarly thousands of times, but perhaps not so succinctly.
When writing test code it's good to have almost everything tested in some fashion. But there is little reason to test anything multiple times. Just cover everything well, in one layer or another. Any concept well covered in unit tests doesn't need to be tested in higher layer functional tests. Any concept well covered in integration tests doesn't need to be tested in customer acceptance tests. It would be inefficient to cover the same area so many times.
Of course, it's okay to leave certain cases to be tested by hand, as long as they are relatively few in number. Leave what can't be automated easily for manual testing.
Down the elevator shaft!
Summer 2007
I dropped my keys down an elevator shaft today. I just fumbled as I was stepping off. I hadn't been at work for very long before I realized that I left my cell phone at home. I figured I'd just run home and get it. You should have seen me on my knees looking down the crack to see if I could see my beloved key ring. Nope. I couldn't even see down four inches. Well, my prior experiences prepared me for this day: I had a spare set of keys in one of those magnetic lock boxes stuck to my truck. Ran home, got my phone, came back, and stopped by the building's property management office to see if they could help me. To my great pleasure (sick, I know) this isn't the first time this has happened. Oh, the fee to get the elevator guy to come out and retrieve my keys? Over $100. I don't think I need my keys that bad. Well, I left my name and number and said "no hurry but the next time the elevator guys happens to come around..."
At lunch I drove down to Decatur to take a look at a desk a guy (Jason) was hocking on craigslist. I missed my turn at Clairmont and didn't realize it until I was all the way up to Shallowford. I got cocky and thought I could feel my way to Jason's a different way. Wrong! A few miles later I realized I should just back-track to Clairmont. Oh, the hits just keep on coming. I was a little concerned about missing my appointment with Jason, but when I got to Jason's house no one was home. He said he would be there all day packing up. But he forgot that they were closing on his house about that time. Oh, and he also forgot to tell me that he sold the desk to someone else yesterday.
Chuckle. I've never been so at ease with misfortune. A few years ago my stomach would have been tied up in knots with angst over my keys and phone and this guy Jason. I would have been mad at everything and everyone: the management company for charging me to get my keys, the guy in the car in front of me, my boss for scheduling a 10 o'clock meeting, my kids for not reminding me to take my phone to work. I would have spent half an hour trying to figure out how to break into or climb through whatever I'd have to break into or climb through to get up under that elevator. I would have left nasty phone messages.
But none of this got me rattled. It was a good run of trials today, but God kept blessing me in spades. I didn't get locked out of my truck. I made it back to work in time for my 10 A.M. meeting. I kept my cool in traffic. And later, on my way back from lunch, I got a call from the property management office. The elevator guy just happened to stop by today and retrieve my keys. Cool. Very cool.
It's truly amazing to me how my outlook and my fortune changed for the better once I actually began to walk daily with Christ.
Truly God is good... to those whose hearts are pure. But as for me, I almost lost my footing. My feet were slipping and I was almost gone. ... Then I realized my heart was bitter, and I was all torn up inside. I was so foolish and ignorant... How good it is to be near God! I have made the Sovereign Lord my shelter, and I will tell everyone about the wonderful things you do. Psalm 73
The Lord is good to those who depend on him, to those who search for him. Lamentations 3:25
The Most Rewarding 3-Year Undertaking Ever
Thanksgiving 2006
Last week I finished studying the Bible all the way through. It took about 3 years (one or two chapters per day) and was very rewarding. I am fascinated about all the things the prophets said would happen that happened. It has really strengthened my faith in Jesus Christ. It's all so clear now.
My Testimony
Those of you who knew me in school or at IBM or ISS may be amazed at how I've changed. I'm not referring to my hair loss. I'm talking about my attitude, happiness, outlook on life, health -- that kind of stuff. I've done many things I'm not proud of. I've even been the date from hell at least once. My biggest life-long problem has been controlling my temper and dealing with anger.
While at the University of Alabama, an ex-girlfriend told me "you sure are an angry young man." That was an eye opener. I struggled to change myself for years but had no success.
Somewhere in the early 2000's I started hanging out with a better crowd. Three men in particular had a great impact on me: Eric Smith, Garry Holton, and Carl Jameson. I met these guys at the Atlanta Street Baptist Church. They pointed me back to Christ. I turned my anger problem over to God by renewing my dedication to Jesus Christ. Since then life has been fantastic.
I thought life was good before, but I never knew how great it could be. I couldn't see what I was missing. I'm much more easy going now; full of peace. I'm much happier.
Easter: The Resurrection of the Christ
The Greek historian and physician Luke wrote a fascinating account of the resurrection of the Christ, which picks up where Mel Gibson's wildly popular film The Passion of the Christ leaves off. After his resurrection from the dead, Jesus appeared 11 times over 40 days to more than 500 people! It's a fact. Jesus is alive. Read Luke's account.
Everyone has sinned and the punishment for that sin is separation from God. Jesus took our punishment for us -- he died in our place for our sin. He was separated from God for a short time, but he conquered death because he was sinless. Everyone who accepts this free gift gets to spend eternity in paradise. Everyone who rejects this gift will suffer eternal punishment for their sin. They will suffer eternal separation from God. And that is hell.
There is an afterlife and everyone, including you, will be in it. Where will you be then?
Hurricanes and Rockets: awesome power
I had the privilege of watching Discovery rocket off its pad and disappear into orbit. Wow, what a complex and powerful machine! I saw the cloud of smoke engulf the ship. I heard a bang and then saw Discovery lift out of that cloud. The flame from the engines was so bright it hurt my eyes. As its column of smoke grew taller its roar grew louder. 3000 miles per hour now. I could barely see the solid rocket boosters fall off. 5500 miles per hour. It was just a spec. I don't hear its roar any longer; it dissipated as slowly as it grew loud. Then, I could see Discovery no longer as it was off chasing the International Space Station. The astronauts were taking off their orange assent/descent suits before I found my car in the parking lot. 17,500 miles per hour and the astronauts are changing clothes.
A couple of weeks earlier I was at the beach when hurricane Dennis was out in the gulf. Dennis was making the waves pound the shore way over on the east coast of Florida. I was in awe of the power of the waves and even more in awe of the power of a storm having an impact so far away.
Rockets are pretty impressive, but nature can be much more powerful.
I have been reading my way through the Bible for about a year and a half. At the beach I had just gotten to Psalm 93 (New Living Translation);
The LORD is king! He is robed in majesty. Indeed, the LORD is robed in majesty and armed with strength. The world is firmly established; it cannot be shaken. Your throne, O LORD, has been established from time immemorial. You yourself are from the everlasting past. The mighty oceans have roared, O LORD. The mighty oceans roar like thunder; the mighty oceans roar as they pound the shore. But mightier than the violent raging of the seas, mightier than the breakers on the shore-- the LORD above is mightier than these! Your royal decrees cannot be changed. The nature of your reign, O LORD, is holiness forever.
Now, that's something to be in awe of.
Be specific
We were having a problem at work that we just couldn't solve. I had my best engineers on it. I looked at it myself multiple times. Toby tried lots of stuff, even reinstalling things. We thought about it and worked on it for three weeks. I even got BEA's support staff involved. The application worked just fine on the previous imaged hard drive. We couldn't find anything on the new hard drive image that could break our application. How frustrating. I was feeling like we had gained no ground and were spending all our time on this issue. We finally figured it out, but what's interesting is how:
I prayed specifically to gain some ground on one of two issues we were having. As soon as I was done praying, BAM! God gave me the solution. I walked over to the computer, tried it, and it worked!
Wow.
I believe God answered that one so swiftly because He knew there would be co-workers around that would ask how I came up with the solution -- that He would be praised and so that it could be shown that He is active in our lives and in our company.I often pray about work. It's generally a generic prayer for help or wisdom or for the lost, but the results are far greater when I get specific.