Things at work

Well today I had my annual review at work, all went exceedingly well, it was also my contract renewal time which had previously been for 3 years,  man the last three years have flown by.  Anyway I now have my contract renewed for 5 years, along with a decent payrise to boot.

Started work on the shutdown agent, and doing the coding whenever I get some free time at work.  I have my agent displaying an initial GUI with list of server addresses that are currently hardcoded as  beliefs of the agent, and it’s responding to a manual shutdown command from the GUI, that is, it’s executing the shutdown plan (but not actually doing anything atm).  Another goal I’ve setup is to  monitor the UPS battery level, not reading anything yet but it looks like it is executing the goal every 5 seconds, and from this goal it is executing the monitor_ups plan.   Time to start fleshing out the the guts of the plans so the agent can start monitoring and making some decisions.

One problem I’ve come up against is actually bootstrapping my manager Agent which starts everything else from code.  Normally you start the agent container then load the agents ADF (Agent Definition File) into the AMS (Agent Management Service).  I have one manager agent that loads all my other agents (I only have one atm) and it’s working as it should, but I want to bootstrap it from my applications main class so that I don’t have to do it all manually, I just want to click an icon on the desktop.  I know it can be done, just have to re-read the API a bit more deeply. 

Network Shutdown Agent

The last few weeks at work have been shocking with power outages, I think mainly to do with the summer heat ramping up, 38DegC yesterday,  at one site I we have a fairly overloaded UPS that does not stay up for very long, while a new 8500VA is on order, I have decided to write a small agent application to shutdown all our servers at that site in a graceful manner based on a UPS battery life remaining,  i.e. initially all non critical services are shutdown, than as battery life decreases then core servers get shutdown.  The servers are a mix are a mix of Windows 2000, 2003 and of course Linux 🙂  

Now being the glutton for punishment I am, I know there is probably something already out there that will send out a broadcast to shut things down, but always wanting to implement agent based solutions I think this would be a nice project.   

Life….

Well it’s certianly been a long since my last post, sorry!  Between getting married and christmas (all on the same day lol), and the kids going back to school, my geeking (as my wife likes to call it) has been taking a back seat lately i.e. not a whole lot happening.  However I have managed to squeeze in bit of learning.  The first getting myself familiarilised with PIC micros, the picaxe although brilliant for small jobs, I have found to be limited, i.e. no timers etc.  so I have been playing around with their big brothers.  The fist learning project was a serial LCD using the 16F84,  I’m using the brilliant Sourceboost BoostC Compiler ( http://www.sourceboost.com/ ) 

Also came across a brilliant DSP guide in an easy to understand language and not heaps  if heavy maths , and its FREE for the online book http://www.dspguide.com/, this really made the light go on, ding! with the Ahh I get it in the smoke and mirrors world of DSP.    I’m definately looking at purchasing a hard cover version.