I want to tell you about how three different services (along with my own PHPMyGTD application) and my phone have changed the way I handle my appointments and reminders.
Sandy has had iCal feeds for a while, but I couldn’t use them with Google Calendar. Well, now they’ve created “private” iCal feeds. I use quotes on “private”, because it’s not really protected in any way, except that it has an obscure, randomly-generated URL. However, this is good enough for an application like Sandy.
I’m going to post soon about how I use Sandy, Jott, and Google Calendar as a combined virtual assistant. Sandy aims to be a good virtual assistant on her own, but there are some advantages to using Jott and Google Calendar with her.
I have written before about the usefulness of command-line scripting in computational science.
Today, while looking for some information on various file test operators in bash (e.g. to check whether a file or directory exists), I found this amazing guide. As the author puts it,
This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction . . . all the while sneaking in little snippets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and a reference and source of knowledge on shell scripting techniques.
For instructional purposes, all along the examples have little comments like, “explain why this is the case…”, to test your knowledge as you go through the manual. This would make it excellent for use as textbook on basic programming ideas. It is even available in PDF format, and was updated March 18th of 2008.
I can assure you that every new member of the lab will be getting a link to this guide from me. Proper knowledge of shell scripting is an amplifier of one’s productivity. An investment of a few hours learning the basics will probably return a hundred-fold savings of time over a few months. More advanced concepts are naturally learned as more difficult scenarios are encountered. I’ll be writing soon about some of the more sophisticated issues I’ve encountered using shell scripting.