The Right Distractions

February 21, 2012 by Gabe | [mmd] |

Distraction free environments are all the rage. Or at least writing about them is.

Do you know what is a real distraction? A system meltdown.

I don't consider the fuel gauge in my car a distraction. I don't consider my smoke detector a distraction. They are all about reducing consequences and preventing larger distractions. They are about priorities.

When I am deep into a problem, my desktop is not visible or is set to plain black. I don't watch a timer or a clock but depend on alarms to remind me of scheduled events. I don't immerse myself in a sensory deprivation tank. I set priorities for my interruptions. If my phone rings and it's not from day care or the CEO, I ignore it. But there are interruptions that I don't get the option to ignore. If a critical system goes ass-up then I need to know about it. At work, we deploy Nagios for many of these systems and I am alerted to serious conditions like high load or low memory.

Perhaps if my job did not involve timely problem solving, I would care less about alerts. For many of my daily activities, I need interruptions.

The Home Front

I deploy a similar methodology at home. I played with Nagios at home but decided it was overkill. Instead, I have several scripts running that check the status of my systems and services.

I keep running to execute mail rules and perform spam and message filtering. For this purpose, I have a Keyboard Maestro scheduled task that restarts Mail if it is not running. The same goes for OmniFocus which is integral to some Mail rules. If there's a problem running the task, I will get a notification via Prowl. I've written about Prowl before. It's great.

More recently, I have begun to rely on my home server for blogging from Simplenote1. In this case, I'd like to know when a post makes it to the Web site. Ifttt fits that bill.

System Monitoring

I use iStat Menus by Bjango. I only care about three metrics. Free memory, CPU load and HD Space. Everything else is useless for me. Those three things are harbingers of bigger problems. If I'm just writing in BBEdit and my CPU's are maxed out then something terrible is happening inside my machine. iStat is a passive notification system. I don't get alerts by I can glance at the menu bar to see the status.

For this site, I use a couple of basic alerting systems. None of these are particularly distracting.

I use Pingdom now that Marco Arment mentioned it in an episode of Build and Analyze. It's free for a single site and works like a champ. If the site goes down, I get an email. I get a followup email when the site comes back online. Simple and informative.

As mentioned above, I use Ifttt to alert me when a new post is available on this site. This happens within seconds of submitting the post so it really is less of an alert and more of a confirmation that the post process completed successfully.

I use Keyboard Maestro for scheduled task, similar to cron. I run a regular Fever Reader refresh so that when I ocassionally read my feeds, they are already up to date and ready to go.

Weak Links

Since much of my notification system is running on my home server, I have a single point of failure: My home. If Keyboard Maestro goes down several jobs will stop functioning. I will not receive alerts when this happens. Fortunately, this is a minor annoyance.

If my Internet access is down I've got problems I can not immediately solve. I'm already at the mercy of Verizon so this is the price of being online.

If I have a power outage that does not impact the Verizon repeaters then I will get a remote alert before shutting down. My Mac is on UPS battery and so is my network router and Verizon box. If the power to my house goes out, I may get a push notification through Prowl.

  1. for example, this very post.