On tools and their appropriateness

Last week I was in Dallas, USA, working with some of my “zAcceleration Team” colleagues on an exciting enablement capability for a new IBM product. Watch this space! Well, maybe not this space in particular… šŸ˜€

One of the tasks I’m performing for this project is the development of a sample web site to “underlay” what we’re delivering. I’d already been through the process of building the web server and enabling some sample HTML to host the project. Making it more visually appealing by simulating an intranet portal rather than a simple grey screen is the next task. I like the idea of using a full portal application, which would allow us to “skin” the environment to customise it for each usage. This looks pretty daunting and would dramatically increase the attack surface of the system, so I may simply go the path of borrowing some of the code from my z/VM Express System Installation (ESI) web interface.

Photo by Pixabay on Pexels.com

While I was away in the US, my wife was preparing for some minor construction work we’re having done at home by removing the built-in shelving from our bedroom wardrobes. Some nice cathartic minor destruction to assuage the stress of a busy working week — I was a little jealous I missed out! Once I was home she proudly showed off the work she had done. There were a couple of holes in the wall under and behind where the shelves had been, which was a great effort considering how long the shelves had probably been there.

At that moment though, the realisation that I had seen one of my large flat-head screwdrivers on her desk a few minutes before connected with the very screwdriver-bladed shape of the holes in the walls… The subsequent conversation about the use of the screwdriver as a pry-bar could have gone very badly. I’m glad to say, however, that it was good-natured and light, with both of us conveying our thoughts and motivations humorously.

One of the lessons my father had tried to instil in me while he was alive was taking care of tools; I utterly failed to grasp this concept until many years later. Maybe I didn’t get it until after I’d become a systems programmer, where the plethora of specific utilities and programs are all tools that have a certain task. The UNIX philosophy of simple single-purpose tools brought together to achieve greater tasks reinforces the idea that a tool has a purpose. Screwdrivers drive screws (it’s right there in the name).

Sometimes though, there’s a need to just get a job done. Not only that, getting the job done becomes more important than the tool used to do it. Early in my Linux career I must have spent hours hand-editing files using vi to make simple changes rather than using something like sed, because vi was the tool I was familiar with (and even in vi I still manually do repeated multi-line edits rather than taking the time to commit the block-insert operation to muscle-memory).

When my wife was working on the wardrobes, she had to get the job done. We’re not regular DIYers so we don’t have a fully-stocked tool chest at our disposal. She looked at what was available and found the closest thing that would suit the task. It was not an invalid choice just because it wasn’t what I would use.

Even my dad once showed me how to localise the source of a noise in a running car engine by using — you guessed it — a long screwdriver.

Disclaimer: I am not advocating for indiscriminate tool usage, or anything unsafe. Don’t open a tube of glue with a chisel, for example. While getting the job done is important, doing so safely is paramount.

As many photographers say, the best camera is the one you have with you. The most appropriate tool for a job is the one that will get the job done — safely, and without damaging the tool or its user.

For my web task, I might just end up using the time-honoured duo of tools trusted by web developers everywhere for decades: View Page Source and Save As. For appropriate inspiration only, of course.

Leave a comment