With the proliferation of open-source libraries and frameworks, it is easy to find solutions to common programming needs. However, given the rapid release rate of many open-source projects, it can be difficult to ensure that applications always ship with the latest libraries. There are many ways to receive notifications of library updates, ranging from subscribing to e-mail distribution lists or RSS feeds, to periodically visiting project websites or blogs. But all of these activities require "manual information processing." In this article, I present an automated approach to notification.
While many applications have built-in online update capabilities, the drawback is that users aren't notified of updates until they run the application! Running applications periodically to merely check for updates can be time consuming, especially if you wish to keep all of your installed applications updated.
Luckily, there are tools that can help automate the update notification and installation process. Like the ubiquitous Windows Update, these tools scan your system to detect out-of-date software and facilitate the downloading and installation of needed updates. These tools include:
- Version Tracker (www.versiontracker.com)
- Google Pack's Google Updater (pack.google.com)
- FileHippo's Update Checker (filehippo.com/updatechecker/)
But what if the software you wish to track isn't monitored by one of these tools; it might be an in-house application, a single-purpose domain-specific library, or the like? What if the software you wish to track doesn't have an auto update feature? You're back where you startedmanually checking websites, blogs, and e-mails.
There are websites and utilities that monitor web pages for changes. A quick Google search for "monitor website changes" shows many promising options. However, you still may not necessarily have control of what part of a page is monitored and how frequently this page is monitored. Another potential problem is monitoring pages that aren't publicly available (intranet websites, for instance).
It has been said that good programmers are lazy programmers. In other words, good programmers work hard to automate tasks. Such is the case with checking websites for changes. After frequently checking multiple websites daily for new releases of software I use in my projects, I decided to automate.