Flexo Revived · 87 days ago

This is a continuation of the story of Flexo.

Shortly after writing the last post, I lost interest, and abandoned work on Flexo. I have now revived it, and also published it on GitHub, as all cool Ruby-developers do. (this one can be found under “PerfectlyNormal/Flexo:http://github.com/PerfectlyNormal/flexo.)

The big changes since last time is that the plugins actually work now. Also fixed up some missing require’s that seemed to get included automatically on the Linux-box, but not on the Mac.

So it’s now possible, although a bit clumsy, to install Flexo and get it up and running. The rest of the work will be to write plugins allowing it to actually do anything. And to do that, documentation is useful. Meaning I should get the website up and running, and add some more comments on the inner workings on Flexo so it’s possible to create a RDoc that actually does anything.

And maybe create and publish a gem.

Comment

Introducing Flexo · 281 days ago

Flexo is, in addition to being a character in Futurama, an IRC bot hacked together by me. (He’s also the first image to be featured in this blag).

Written in Ruby, and very much based on Flux. In fact, some 80% of the code is probably identical. The difference between Flexo and Flux is that Flux was written as a framework for creating IRC bots, while Flexo is written to be a single, stand-alone, extensible bot.

The base of Flexo is pretty much complete. Only problem is, the bot is pretty much useless as well. Right now it can connect to IRC, join channels, and idle. That’s all it’s supposed to do. The rest will be done using plugins.

Working slowly on a plugin for adding restricted triggers to Flexo, which will use a small database for storing users and their access levels. The restricted commands will in turn let me write a plugin for controlling Flexo directly through IRC. Additionally, I was planning on making a DBus plugin as well, so that outside scripts can interface with a Flexo-instance easily.

After those plugins are done, it’s finally time for my master plan. The main reason why Flexo was born. A svn notifier. I want it to inform a channel each time a commit to one of my svn repositories is made, with some basic information about it. I don’t want everything to be public, so something like CIA is out of the question. Plus, writing my own is much more fun.

When it’s done, it might even get released out into the wild. That’s how much I like it.