Lead Image © saracorso, 123RF.com

Lead Image © saracorso, 123RF.com

Welcome

Dividing by Zero

Article from ADMIN 37/2017
By
I love automation. Almost every day I write scripts to automate some task, and then I schedule that task to take place at a specific time. Sometimes I automate so many things that I forget they're automated. I'm not sure if that's good or bad, but it does happen.

I love automation. Almost every day I write scripts to automate some task, and then I schedule that task to take place at a specific time. Sometimes I automate so many things that I forget they're automated. I'm not sure if that's good or bad, but it does happen. Part of the problem is that I don't document as well as I should – I know, shame on me. I am a writer after all, so shouldn't documentation be sort of second nature? Well, writing is a thing that I do, but documentation seems unnecessary, and I can mathematically make a case for never documenting a single automated task. For me, documenting automated tasks is dividing by zero.

I'm taking a task, creating a pseudo entity to handle the processing, and then I set the whole thing into motion with a schedule. Why should I document that process for this pseudo entity that I've created? No one is going to read it. And if they do, my motto has always been, "It was hard to write, so it should be hard to decipher as well." Not really. Full disclosure: I stole that from some forgotten source.

I've taken a time-consuming thing – a repetitive thing – and I've removed the human element from the equation. There is this thing that happens, and it takes zero people to perform it, hence the division by zero metaphor. The more tasks I automate, the weirder, in a mathematical sense, it becomes.

I feel a sense of joy from defying mathematics in this way. I can just see Mr. Spock raising one eyebrow over a Saurian brandy while having this conversation with me. He would no doubt implore me to document my automated tasks, even if for historical purposes alone. "It's gonna take a lot more Saurian brandy to convince me, Mr. Spock, because nobody likes to document." See that? Another zero entered into the equation. Nobody likes to document. Zero people like to document, which includes me. Another mathematical dilemma with no resolution.

Automation is a good thing. Documentation of automation is a bad thing, but it shouldn't be. So, why is it so difficult to do? Why is it so difficult for people to document their code, their procedures, their recipes, and their actions? I propose to you the idea that it's mathematically impossible, or at least improbable, to document a process because of the division by zero thing. The undefined character of it bothers us. It bothers me and, by extrapolation, I make the assumption that it also bothers you. Sure, some people document their code, but they actually expect someone to read it. My automated processes require no human intervention; therefore, I expect no audience. My effort would be pointless. I would get zero results from the effort. Another zero. I hope you're keeping track.

There is a certain discomfort to writing something that you feel no one will ever read. A diary, for example, is merely for catharsis. It's written with no audience in mind. Autobiographies or memoirs, by contrast, both have intended audiences. Automated processes have no such audience. They're written. They're scheduled. They go. Interference not required.

Perhaps you think that I don't document these things because I'm lazy. Not true. I automate processes and tasks because I'm lazy. I don't document because it's a waste of my time, when I could be automating some other undocumented tasks.

When asked how my documentation is coming along, I'll reply mathematically to avoid ambiguity. I have documented zero automated tasks because I have multiplied the number of potential automated task documentation readers by the number of automated tasks and the expected result is zero. I have also used mathematics to derive a formula for saving labor: (Number of hours not spent repeatedly typing commands into a shell)/(Number of humans required to not type in those repetitive commands into a shell) = Undefined. And no, I can't define it, because it's mathematically impossible to define. You see kids, math can be fun and useful. Numbers don't lie.

Ken Hess * ADMIN Senior Editor

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • The Unbearable Lightness of Being Human
    For many years, I've written about the plight of sys admins, about our bottom-feeding status, and about how we love our jobs so much that we'll take abuses dished out by employers, colleagues, and users. The only refuge we have is the computer world that we govern.
  • AWS Automation Documents

    AWS Systems Manager Automation documents let you customize your Amazon Machine Images to improve security and avoid config drift.
  • No Hands
    As system administrators, we deal with a variety of issues, problems, and tasks that face us on a regular basis. Our managers ask us to solve problems with fewer staff. They ask us to "make do" with underpowered systems.
  • Eat. Pray. Script.

    Lazy … er, smart … administrators are hard at work in the background via scripts, cascading scripts, and cron jobs.

  • Automating the Azure infrastructure using a command-line interface
    When it comes to merging the cloud with local resources, Azure offers some useful automation tools.
comments powered by Disqus