Minor Progress on Droll and Lump

I have two personal projects that are sorta primary for me right now. One of them is a die roller program that I hacked together in December 2010. The other is Lump, the ultralight CMS that I use for blogstrapping. I have been distracted by other little things for a while, including minor tweaks to some pretty big software that needs a major overhaul rather than minor tweaks (pertrack, a "persona tracker" primarily for RPGs but also potentially useful for managing the characters in a more static work of fiction). In addition to being distracted by little nothings, I have also simply not been writing much code of any substance in general.

I am trying to get back into hack mode, now -- doing more substantive work on both droll and Lump, and planning to do something in the near future with pertrack that actually addresses the need for a major overhaul. I have managed to make a little progress on droll and Lump lately.


Droll is a die rolling library written in Ruby, with a command line utility interface built in. Bundled with it is drollbot, an IRC dicebot interface to the functionality of the droll.rb library.

In recent weeks I have declared two version 1.0 release candidates and created bzip tarballs for download for those who do not want to screw around with Mercurial, created a logo for droll, fleshed out some of the help documentation, smoothed out some of its functionality, done a little code organization, and added a needed feature or two.

The release candidate status for version 1.0 pertains to droll.rb, the droll library and command line utility, itself. Drollbot is being handled separately. The release candidate downloads currently available in the Bitbucket repository only contain the library. Whenever I get around to calling drollbot a version 1.0, I will create separate tarballs for that which will include both the drollbot wrapper and the droll library, along with the peripheral stuff needed to make drollbot work, so that only a single download is needed.

I have not tested any of this stuff on MS Windows yet, though I intend to do so at some point. I have, however, been testing it using three Ruby implementations: MRI 1.8, YARV 1.9, and Rubinius (last I checked, 1.8 only). I have been using whatever release versions of each implementation I happen to have handy, and nobody else is leaping up to use these things and report back on test results so far, so to the extent your setup differs from mine -- congratuations, you are a software tester.

As things currently stand, the few things currently sitting in the issue tracker on Bitbucket that have not been resolved are either features that I have decided I want to push back for v2.0 inclusion or drollbot-related, so droll v1.0 itself is as of this writing issue-free, as far as I know. Droll v2.0 is nonexistent; no work has yet begun on the next major version.

At some point, I think I will package this up as a gem and make it available for installation via the gem utility.

If your curiosity runs that way, you can check out some development statistics for the droll project on ohloh.


Lump is not, in contrast to droll, any kind of "release candidate" yet. It frankly needs some distinct fixing-up and reorganizing to be done before I start thinking about versioning that thing toward 1.0 status. In fact, as things currently stand, the only "version" information in it is the reference to what version of the Open Works License currently applies to the Lump project.

At the moment, there is a template file (Lump depends on an eruby implementation) and a library file, plus a configuration file. This setup is unlikely to change. There are a couple other things associated with it as well; that might well change. The main template file is kind of a mess, with a bunch of the program logic (such as it is) mixed in with markup via eruby syntax. Before I call it a v1.0 release candidate, I want the template file to be very clear, with little or no program logic represented in it more obviously than by method names like page_head and page_foot. I have got a ways to go before that point, though.

I am definitely making progress along those lines, though. Today, I reorganized some of the logic, pulling some out of the template file and putting it into the library file in what I think is a halfway decently organized form, within a Lump class definition.

I do have some ideas about what I will want to do after releasing a v1.0 -- stuff that will work toward a v2.0 -- including one of:

One of the reasons I have felt motivated to get off my butt and do a little more work on Lump is the fact that a friend has expressed some interest in using Lump as a replacement for WordPress. As a result, I decided I should (to put it succinctly) make Lump suck less.

Another reason is the fact that I have registered a domain name (a while ago, now) for another Weblog that I want to set up, but I think I want to set up a single deployment of Lump with multiple interfaces to it using multiple content archives so I can minimize the work involved in maintaining multiple Weblogs. Before I try that, I figure I should do some more work on the Lump code to clean it up and so on -- so there I have more motivation to code quickly and well.

There is also an ohloh page for Lump.


As I work on this stuff, I expect I will have more occasions to write something for blogstrapping from time to time. I know I have been slacking.