June 30, 2007
While checking out the new features due for MySQL 6.0 (Falcon) the other day, I happened to browse my way past the Certification pages to see if anything had changed - am I glad I did!
It was during my browsing that I noticed the Important Information that detailed a typsetting error with the voucher expiry date found in the MySQL 5.0 Certification Study Guide……..the same guide that had been sat on my lounge floor for the last few months…..
Quickly flipping through the pages I found the voucher that offered 25% off your exam and then went straight to the site to check the actual expiration date - 30 June 2007. Well that gave me about 5 days to take advantage of the voucher and seeing as I was making the most of the few days holiday I had left from last year I decided to cash in.
I went for the DBA certification rather than upgrade my Core to a Developer, mainly as I tend to look after MySQL installations more than develop against them at the moment, but also as I wanted to start afresh and go back to basics before upgrading.
The exam definately tests your knowledge of MySQL and if it was not for having several installations to manage, and such a great book (MySQL 5.0 Certification Study Guide), I don’t think I would have passed. I was amazed at how much I remembered from the Core exam, I took that one over a year ago!.
So after 3 days of having my head in a book I passed the DBA part 1 exam (just), that leaves part 2 (maybe in a few weeks)….
June 23, 2007
While working on the mmEvents macro I decided to take a detour (another one) to write a companion tool that would make managing the few domains that I own easier - mmWhois.
The mmEvents package works great for notifying me about Domain expiry, but that got me thinking, wouldn’t it be cool to be able to view registrar information just by clicking the event? If I am adding an event to a page so that I can be notified of domain renewal dates, it makes sense that the event links to more useful information right?
The first release of mmWhois functions as a standalone action and can be used to perform Domain / IP lookups directly from your MoinMoin Wiki - just drop the WhoisLookup.py file into your actions folder and select Whois Lookup from your Actions Menu - simple.
The next release will include mmEvents integration and possibly results caching - seems like a good idea.
If you have any suggestions on how to improve the action just click the Issue Tracker button on this page and enter a new bug report (Don’t be put off by the term “bug report” - you can still suggest enhancements
).
Well it seems Adobe Apollo has now become Adobe Integrated Runtime (AIR).
My money is definitely on this platform winning the RIA (Rich Internet Application) race! It is such a simple platform to use and you can easily see it filling the gap that Applets never achieved - I just need an idea for a project to use it.
Now what else can I add to the Wiki?…..
June 11, 2007
I finally got my head round Python Eggs the other day and decided to put them to use while designing the Daemon for mmEvents.
For those of you who have never heard of Python Eggs, just think Java Jars or CPAN modules. I personally like to compare them to OSX apps - self contained apps that reside in a folder disguised as an EXE - just double click to run. In fact it was the double click to run that got me interested.
It turns out there are many more reasons for packaging your Python application as an Egg, here are five I intend to use:
- Simplicity - just create your folder structure and drop in a setup.py file to describe your project.
- Dependency Management - list your dependency modules and watch them download and install before your eyes.
- Resource Management - want to package some images with your script? Just drop them in a folder and add them to setup.py. There is even an API to handle the location of those files in a platform indipendant manner - Sweet!.
- Compression - when building an egg you can choose to compress your project into a single .egg file.
- Eggsecutable - by adding an entry point to your project (e.g. Main()) you can make your .egg run from the command line - I know I already told you that, but it’s so cool!!.
I started work on mmEvents a few months ago while looking for a way to recieve notification for Domain Names stored on my personal Wiki. The concept is simple, you just add the expiry date into a macro and save your page. All going well you’ll get notified as soon as the date arrives.
Anyway the project is picking up speed now and the Daemon should be checked in within the next few days…. 
June 02, 2007
I put the Asterisk Widget on the backburner this week to try and make way for another one of my many on-going projects - Informeer.
The concept is simple - a notification service - the implementation on the other hand will take some thinking
I originally planned to develop Informeer in Java and provide both client and server components to handle the notifications, however since I discovered Catalyst and started to read RESTful Web Services things have changed for the better.
Informeer in its essence is a framework that aims to simplify the distribution and management of notification messages. Huh?
Ok lets start at the beginning…..Question - how can I notify a group of individuals from OpenNMS? Easy - just create a notification command. Ok but what if the individuals want to be notified by SMS or Jabber? Just as easy - create multiple notifications per user.
Right - now what about all my other OpenNMS instances, IP monitor servers, Nagios servers and that cool script I wrote last summer?.
Enter Informeer

Informeer aims to be a single point of administration and management for notification messages and destination paths (SMS, Jabber, E-mail etc).
The initial API will be HTTP based so you can be pretty sure the mesasges will pass through your firewall, XMLRPC anyone?. There will also be a web interface for administration and form based notification submission.
Sounds cool huh? Well I better get back to it then….