Don’t Forget to Kick the Tires – On Automatic Monitoring & Human Intervention

With as much as we use modern technology to automatically monitor, observe, and report on so many different systems, I think it is important to manually check the viability of these same systems from time to time.

While the quality of sensors and metrics always seems to be improving, there are still loopholes and lapses which make human oversight and investigation important. I have experienced a few situations in the past few months where the electronic/computer-based monitoring solution for systems have failed in ways that could have been particularly costly; yet human intuition and manual intervention ensured that the situation was addressed appropriately to avoid real damage or loss. Read more on Don’t Forget to Kick the Tires – On Automatic Monitoring & Human Intervention…

Script Away Your Annoyances – Glueing Evernote and Omnifocus via JavaScript

OmniFocus has become my personal task tracking tool du jour, and I’ve come to rely on it for a morning reminder of my daily routines. One of those routines is to clear my Evernote inbox–things in that notebook need to be filed away for long-term storage while I can still remember why I put them in the inbox in the first place.

After a few weeks, I found the task of bringing Evernote to the foreground so I could check the inbox fairly annoying; I don’t want to bring it up if there’s nothing to process. So I wrote a JavaScript program to keep my OmniFocus task updated with the number of unprocessed items in my Evernote inbox.
Read more on Script Away Your Annoyances – Glueing Evernote and Omnifocus via JavaScript…

Configuring a Laptop with Ansible, Part One

Setting up a new laptop can be disorienting. It’s easy to forget all the configuration tweaks that accumulate over time. With just a little work upfront, a configuration management system can turn those notes into executable documentation, making it easy to reproduce a heavily customized setup on other laptops down the line.

Read more on Configuring a Laptop with Ansible, Part One…

Gmail Filters for unattended-upgrades Reboots

I’m a big fan of Ubuntu & Debian’s unattended-upgrades package. I can install and configure it to automatically update packages and email me results every night. Sure, I’m aware of and can immediately address the high-profile security bulletins & fixes. But what about the more subtle, less severe problems? Read more on Gmail Filters for unattended-upgrades Reboots…

Script Away Your Annoyances – Testing a Data Import Process

Automation is good. Performing tasks manually is bad. Performing tasks manually is especially bad when the tasks are annoying. Let’s use a Ruby script to alleviate the pain of an annoying task.

Today’s annoyance: testing and working through the kinks of a brittle, ugly data import process.

We are planning to deploy Fedora Commons into our system soon. Fedora will help facilitate sharing data across a number of systems, including ours. Until now our system data has been stored in MySQL and on the filesystem; when we deploy Fedora, we also need to import the existing data into it. Future updates will go into Fedora as they happen.

The Original Process

We already have a script to import the data into Fedora, but before doing so, we’d like to test the import locally. Below is a picture that gives a rough idea of what must happen to run the test.

Read more on Script Away Your Annoyances – Testing a Data Import Process…

Seeing Stars – The Automated Way, Part 2

A while back I introduced the ASCOM platform and explained how it is used to automate astronomy observing. I wanted to spread the word about ASCOM for two reasons. First of all, it’s a great open source project with lots of opportunities for newcomers to participate. Second, automated observing is a great way to see your work come to life and interact with hardware. As an embedded developer, the thing I enjoy the most about my job is getting to interact with different types of hardware in unusual ways. I love throwing together a circuit packed with sensors, switches, motors, and other gizmos, and coming up with creative ways to make my code interact with the “real world”. Pulling off automated observing is not a simple feat and it requires a great deal of ingenuity. ASCOM makes the process much simpler by providing a set of standard device interfaces.

Most of the ASCOM drivers out there are written in C#, VB or C++.  However, it is possible to write software for ASCOM using any language that supports COM objects. In Part 1 of this article, I mentioned that there are no documented cases of anyone using Ruby with the ASCOM platform. I also promised that I would dish out some example code. So, let’s have some fun with Ruby… (Note: I would probably never write a full-fledged ASCOM client app in Ruby but if all you need is a simple automation script, and your a Ruby guru, the option is there for you?) Read more on Seeing Stars – The Automated Way, Part 2…