Incremental Improvement in Computing
Monday, July 22, 2019
Over at Hacker News this morning, I learned that something I have been doing for years has a nickname, "do-nothing scripts." (I was calling them "guide scripts.") The basic idea is that one can write a script for a cumbersome process one might ultimately want to automate, even when only pieces of it are immediately amenable to automation. In other words, the script serves to provide cues, help one keep one's place in the procedure, and act as scaffolding for a piecemeal automatization:
I do not write software for a living -- I see my software more as an "exoskeleton" -- and I am always on the alert for ways to make it even more useful. I stumbled upon the idea for this kind of script a couple of years ago, when I had to generate a large number of reports with very similar steps very quickly. I saw right away how to automate some of the steps, and knew I could do the same for others, but that I'd need to learn more about some software before I could do those. I also wasn't sure how long I'd need to keep creating the reports, so I doubted that getting myself up to speed on the unknown software was really a good use of my time.At first glance, it might not be obvious that this script provides value. Maybe it looks like all we've done is make the instructions harder to read. But the value of a do-nothing script is immense:
Image by Jannis Brandt, via Unsplash, license.
A do-nothing script doesn't save your team any manual effort. It lowers the activation energy for automating tasks, which allows the team to eliminate toil over time.
- It's now much less likely that you'll lose your place and skip a step. This makes it easier to maintain focus and power through the slog.
- Each step of the procedure is now encapsulated in a function, which makes it possible to replace the text in any given step with code that performs the action automatically.
- Over time, you'll develop a library of useful steps, which will make future automation tasks more efficient.
But in thinking about doing this, I did realize the value of having the computer keep track of where I was, so I wrote the script, anyway. This was so helpful that I have since written several other "do-nothing" guide scripts. The one I use for weekly data backups has been helpful in that that process has a couple of time-consuming steps. I don't need to babysit them, so I can focus on something else. I can turn again for a moment to backups at any convenient time, when the script awaits input between steps -- and I am in between tasks that require my full attention.
-- CAV
No comments:
Post a Comment