I’ve been thinking a lot about automation lately.

First, I’ve been working a bit on this server, and I’ve noted how many things I’d like to be notified about. For example, I’d like to know when…

  • …the server logs get really big and need to be trimmed
  • …one of my webpages links to a webpage that’s now dead
  • …the traffic to one of my sites increases significantly
  • …some program on the server begins to eat up a large amount of processing time and/or memory

Thanks to Brennen, I have a little more automation running on this server. I’m now notified about most of the above things.

I’ve also been implementing some automation at work. I discovered that Microsoft Word will read a specially-formated XML document as a .doc file. This is a big deal for me, since it means I can write a script that will print out a .doc file. And that means that I can automatically generate a major report that we have to create every year or so.

One of my great automation inspirations is Vernor Vinge’s Marooned in Realtime, an SF novel involving people from multiple time periods. The really advanced humans have huge amounts of automation, both as robots and as computer programs that monitor and report all sorts of things. Everyone knows how to create these things.

That strikes me as a pretty neat future, one in which everyone can automate their lives. Seems to me that we don’t automate enough things. I have to tweak several files every time I upload a photo to my pictures; I would be so much more willing to upload photos if that were more automated.

What would you like to automate in your life?


Brennen Most of my job?

More realistically, I’d like to stop manually checking any of a dozen input streams (3 e-mail accounts, a bunch of blogs, etc.) for new material. It would be really nice to do much less bookkeeping on messaging systems in general. I should spend the 15 minutes to gin up a way to post new p1k3 content without leaving vim.

Brennen I think the problem is that automated processes require just enough initial thought to be vexing, and on top of that they’re fragile.

The first time I set up those nifty little shell scripts and cron jobs and what have you, I thought “gosh, why didn’t I do that ages ago?” By the fifth time a change in webservers or mail clients or whatever necessitated replacing them again, I was back to doing things the stupid way with more keystrokes, and it’s taken me forever to make the effort again. False laziness is endemic.

Brent Actually, you can automate those input streams nicely. I have several e-mail accounts that all forward to one, and are sorted into folders. The blogs are all syndicated into one newsreader. I spent about twenty minutes each night and I’m caught up on all my e-mail and (at last count) thirty blogs.
Brent But I definitely have felt frustrated when a script breaks or what-have-you. There’s a lot there for me to fix. That said, 1) a fragile script indicates an area where I can learn better programming skills, and 2) every bit of automation I’ve written has had at least one golden moment of revealing some fundamental flaw in my system, where it’s been worth every minute I spent writing it.
Brennen Concur.

I think there are some generalizable reasons the automation facilities we have are underutilized. One is that most people aren’t using a unix platform or any reasonable approximation, so the known available tools are pretty limited (they’re there, to an extent â€” I know Windows does scheduling, and surely somebody is using all those embedded scripting tools for something besides malware â€” Macs have had Applescript forever and a day â€” but most users don’t know this stuff exists). I think the more profound ones are close to what I mentioned above â€” automation takes thought, which is another way of saying that programming is hard. And automation really does tend towards fragility. I know the tools could be improved and made more robust, but I think they will continue to be fragile in some sense at least until we have strong AI.

I just had the thought, not for the first time, that part of all this has to do with how the computer systems we use have become generic and commodified, which is not the reality that automation-friendly environments like unix evolved in. A unix system still expects to be the world for a set of users, not one point of access out of many for a single user. This is reflected in everything from home directories to mail systems to all the little identity-related tools like finger and .plan files that have largely fallen by the wayside. In a long-lived computing environment which sees a significant portion of its users interactions with the software ecosystem, my guess is that the shortcutting and automation is a lot less fragile, just because the environment persists.

Brennen “users'”, I meant to say.
Brennen And does anyone else kind of miss that idea? The shared environment of your home machine? MOTDs and talk and the graceful mapping of some directory in your home onto
Brent Wow. My forum just became worth every hour I put into it. And yeah, I concur. I actually see my home machine as a shared environment, but I hadn’t realized that that’s probably because of my increased Unix experience over the past five years or so.

Leave a Reply

I work for Amazon. The content on this site is my own and doesn’t necessarily represent Amazon’s position.