Building notes, projects, and occasional rants

Alter Ego, your friendly agent

If you want to try some agent-love, then let me introduce you to Alter Ego, your friendly pluggable agent.

Alter Ego is a XMPP agent, where everything is a plugin. You can clone the current version with git (recommended, easy to keep track of new features and fixes) or use the tarballs.

Right now, you can find it running under my own JID, so yes, I trust it enough to run it on my main account.

The only plugin I wrote is a User Location (XEP-0080) updater. With all the cool geo toys (like Fire Eagle) around, I wanted to play a bit with location-aware services. So the current UserLocation plugin does a very simple thing:

  • discovers the mac address of your default gateway;
  • searches the mac address in a local database;
  • if found, he publish the information to your User Location PEP node.

So you do need a PEP-enabled server like ejabberd 2.0 or OpenFire.

Also, nothing prevents you from using other sources of location like a GPS. For example, I'll probably include something like this perl-GPS simple example in a future version of the plugin.

You can look at the roadmap to see what I'll be working on, or you can subscribe any of the zillions of feeds that github provides. I usually keep all the development of each plugin in a separate topic branch, so you can track a specific development easily.

If you want to pitch in, I recommend that you get an account at github and fork the project. Github has some nice workflow tools that make it very easy to track each other work. If you need a github invite, ping me via XMPP.