The Linux Philosophy for SysAdmins, Tenet 21—There is no should

0

Author’s note: This article is excerpted in part from chapter 23 of my book, The Linux Philosophy for SysAdmins, with significant changes to update the information in it and to better fit this format.

This had not really been one of my tenets until I began writing my book and especially the part about the contest I created for Opensource.com. It struck me as I was writing that section that I had already used the phrase, “There is no should,” more than once. I even discussed it briefly in Chapter 2 so I started thinking about this in a new way and decided that it really should be a tenet.

This tenet is about possibilities. It is also the most Zen of all of the chapters in the book. It is more about how our minds work to solve problems than it is about specific technology. It is also about overcoming or at least recognizing some of the obstacles that prevent us from fully utilizing the potential we have in ourselves.

There are always possibilities

In “The Wrath of Kahn,” Spock says, “There are always possibilities.” With Linux there are always possibilities — many ways to approach and solve problems. This means that you may perform a task in one way while another SysAdmin may do it in another. There is no one way in which tasks “should” be done. There is only the way you have done it. If the results meet the requirements then the manner in which they were reached is perfection.

There’s an excellent example of this in “The pipeline challenge” section of Tenet 2 –Transforming data streams. More than 80 SysAdmins from around the world submitted their solutions to a problem I posed in the form of a contest on Opensource.com. A few of the solutions were very close to being alike but no two were exactly alike and many were very different. Each of those SysAdmins had a unique, creative solution that met the requirements of the contest.

How can a single problem, when presented to so many different people, result in such a wide range of solutions? There are two factors in play here. It’s because what at first glance is the seeming complexity of Linux is in actuality its incredible flexibility. The many diverse solutions to this one specific problem is the direct result of the many different commands and utilities available to the Linux System Administrators.

The second factor is that which Linux SysAdmins have learned Linux in many different ways and our experiences are so different. It is also the fact that these experiences have allowed us to realize that the unrestricted nature of Linux and open source software allows us to more fully understand and reason about the operating system. Even when using the exact same commands we can find different ways to apply them to the problem at hand.

The beauty of Linux

The beauty of Linux is that there are so many ways to solve problems and every problem is a unique opportunity to apply the Linux tools in different and creative ways.

Just as Linux furnishes users with multiple options for word processing, spreadsheets, financial management, web browsing, and much more, it also accommodates SysAdmins with dozens of options for many of the tasks we need to perform. Take the top command as just one example. We can choose from top itself, atop, htop, btop, iotop, powertop, free, and many others, depending upon the needs of the moment or our personal preferences.

This incredible flexibility is the hallmark of Linux — and its parent, Unix — that can’t be matched by any other operating system, desktop or otherwise.

In Tenet 17— Use your favorite editor, I explore text editors as an exemplar for every type of Linux tool, whether for regular users or SysAdmins. There are many text editors available for Linux, and everyone has their favorite. In addition to the staples Vim and EMACS, I found more than 20 others available in the Fedora repositories, some of which are targeted at specific types of tasks. While everyone who uses a text editor can use the one of their choice, there are times when using a different one from our favorite makes sense because it may have a feature that makes certain tasks easier.

The same is true of problem solving. We all have different methods for approaching a problem. No way is wrong, just different. We can all learn from those different ways of solving problems.

Thoughts

Those of us who are successful at Unix and Linux System Administration are by our very nature inquisitive and thoughtful. We take every opportunity to expand our knowledge base.

We like to experiment with new knowledge, new hardware, and new software out of curiosity and “because it’s there.” We relish the opportunities that are opened to us when computer things break. Every problem is a new possibility for learning. We enjoy attending technical conferences as much for the access to other SysAdmins they afford as for the amazing amount of new information we can gather from the scheduled presentations.

Rigid logic and rules do not give us SysAdmins enough flexibility to perform our jobs efficiently. We don’t especially care about how things “should” be done. SysAdmins are not easily limited by the “shoulds” that others try to constrain us with. We use logic, critical thinking, and tools that are flexible; and that produces excellent results. We create our own ways of doing things, which enables us to learn more while we are at it.

We don’t just think outside the box. We are the ones who destroy the boxes in which others try to confine us. For us, there is no “should.”

Leave a Reply