Mobilize Blog

 

Application Modernization

Recent Posts

Posts by Topic

see all

Things wear out.

Posted by John Browne on Feb, 08, 2017 @ 15:02

 

The little sailboat pounded through the Caribbean chop, motoring northeast against the trade winds to Antigua.  My wife and two young children, all prone to seasickness, lay like so many corpses scattered around the cockpit, all sleeping off the Dramamine they had taken. I was basically alone, listening to the throb of the diesel engine and the sound of the boat smacking head-on into the rollers pushed by the non-stop winds all the way from France, thousands of miles upwind. Far ahead I could see the shape of Antigua rising from the turquoise water, drawing ever nearer. The beautiful trade winds were right on my nose, meaning I could motor straight ahead or put up the sails and zig-zag as I beat to windward, slowing my progress unacceptably. Because we had to get there today.

Like so many islands in the Eastern Caribbean, Antigua is a combination of volcanic mountains rising from the sea and bays created by encircling coral reefs. With good holding on the bottom and sheltered from winds on all sides, English Harbor was ground-zero for the Royal Navy to refit and hunker down for frequent hurricanes. Chains to hold the square-riggers against the storms are still on the sandy floor of the harbor, and the quays still hold 200-year old bollards at Nelson's Dockyard.

British warships in Malta harbor

But the age of sail faded with the development of steam power, which in turn fell to oil, which largely was displaced by nuclear power for the modern equivalent of Nelson's vast three-decker Victory. For nothing is certain except change, and living as we do in the world of technology we see a pace of change perhaps exceeding all other aspects of modern life.

We had come from Montserrat, my little family and I, where we had spent a mostly-illegal night on the evacuated NW side--evacuated after the first eruption destroyed most of the homes with mud and lava and mostly illegal because no one was supposed to be there. But the charter agreement on our Jenneau 37 sloop forbade us to travel after dark; navigation was largely visual ("sail where it's blue; anchor where it's green; avoid the brown"  summarized the accepted wisdom in the Caribbean) and you have to enter Antigua's English Harbor with the sun overhead to spot the boat-killing coral reefs ("the brown"). When it was clear that unfavorable winds would prevent us from making the long slog from St. Kitts to Antigua in time to make the dog-leg turn to port with the sun still high enough to show the reefs to a lookout on the foredeck, we diverted to Montserrat. A police boat roared up as soon as we anchored in Little Bay, sheltered beneath the eerily dark and deserted homes on the side of the active volcano. They agreed to let us stay, and the next morning early we weighed anchor, started the engine, and headed back out to sea. 

Casque d'Or off Les Saintes

 

I remember John Fine, one of the best program managers to walk the Earth, showing me the very first prototype of Visual Basic 1.0, code name "Thunder."  Compared to writing Windows programs in C using the API, Thunder was as revolutionary as I'm sure the first steam-powered battleship must have seemed to the British Tars who were used to the call of "all hands on deck" to reef heavy sails in bad weather.

Victory is still in Portsmouth, Nelson is just a statue in Trafalgar Square, and people are still running programs written in VB6--and maybe even VB1 (who knows?)--but that age, like Nelson and the age of sail, has passed. Procedural languages like VB6, COBOL, and even Assembly are old fashioned now that object oriented progamming is the only acceptable way to write most programs. Look at legacy code (like we do every day) and see how much cut and paste is used for similar objects where today a class would be created. Old code that is long dead hangs around--cut off from any possible entry point by some long-past revision but never deleted ("In case we need it someday").

This journey was a test of a sort to see if my wife and children could fall in love with living on a small boat--a sort of extended vacation with an eye to possibly making it permanent. With a lifetime of experience knocking about in boats, I was as comfortable untangling a line on a tossing foredeck as most people are brushing their teeth. Not so much my three companions. The stresses of modern life while raising small children had created tension in our relationships that I hoped trade winds could blow away.

 Trevor makes a pouty face.

 

The decision to migrate, rewrite, replace, or just ignore legacy code is never going to be an easy decision because no two applications are the same. What seems modern one day somehow gets old and creaky after years of good service. Software doesn't wear out exactly, but over time problems creep up. It gets harder and harder to find developers who are familiar with the syntax, the libs, the tricks of the trade. Younger coders used to the elegance of Java or C# are reluctant to work on old procedural crap. The external pieces are incompatible with today's operating systems. Old programs grow by accretion, not design, and it gets tougher to figure out how to extend or enhance them once the architecture turns into linguini. 

HMS Victory was made of stout English oak but even so those ships had to be constantly reinforced and rebuilt because nothing lasts forever. Anticipating this, the British planted hectares of oak trees, some forced into curves for future keels laid 100 years hence. No one could predict how quickly those ships would be made obsolete by ironclad, steam-powered innovations.  Even modern sailboats, like our chartered Casque d'Or, made of fiber-reinforced plastic and seemingly impervious to the elements, don't last forever. 

Nothing does.

Antigua would be the mid point of our journey through the Eastern Caribbean. My wife's parents would be joining us and we would shift ourselves off the boat to a shore-side hotel for a few days, enjoying unlimited hot water and ice. For me these hours in the open ocean were the best part of the trip; for others it was something to be endured, preferably asleep, a necessary penance for the pleasure of exploring the next landfall. As I listened to the throbbing engine and contemplated these catatonic corpses covering the cockpit seats, so much happier on shore than at sea, I could sense my dream of sailing around the world beginning to crumble.

And so it goes. We build things: ships, software, marriages, dreams. They inevitably age (gracefully or not so much), and eventually we are forced with a decision. Something must be done: continue, repair, rebuild, replace, abandon? Each carries risks and potential consequences, not all of which can be forseen. 

Wooden fishing boat on the hard, Port Townsend, WA

Later in the day than I would have liked we motored slowly between the reefs guarding the entrance to English Harbor. Perched on the foredeck, I peered into the water searching for the dangers while calling steering directions back to my wife at the helm. Finally we were in, safe and secure. Antigua brought time ashore, relatives for a visit, hot showers and clean clothes. In a rented car, driving on the left side of the road, we wound our way up to Shirley Heights, a former lookout for the Royal Navy, to look down on English Harbor. One of those specs was Casque d'Or, but which one?  Where would she take us from here and in what condition would we eventually arrive? Only time would tell. 

English Harbor in Antigua from Shirley Heights

 

One of the attractions of sailing to me is how the world--and all the decisions it requires--shrinks in size. Trim the jib or let it out? Anchor here or over there? Stay another day or move to the next island? If only everything else were so simple, so one-dimensional. But the real world--especially the world of technology--is never simple. Old apps--and old technologies--just grow older, and the decisions that present themselves can be difficult to navigate. Having someone familar with the abounding reefs and shoals, someone to watch from the foredeck, someone to help you to a sheltered bay, can help. In Nelson's day, that person was the ship's Master. If your journey to the future could use a Master, give us a call. We have a few available.

Topics: application modernization