Recent blog entries for saintbrie

I've started working on annotateit! again after several months of hiatus. I've moved the project administration to berlios because it has subversion repositories instead of CVS.

I'm keen on exercising the subversion project so that the kernel developers will start to move to that system rather than the proprietary one they are working on now. Besides, subversion has a bunch of different language bindings that, once I get into it, I may want to release some software for myself.

I'm starting work on moving annotateit to mod_perl based environment. It is slow going. One file at a time, with all the different permutations means slow and steady. I had alot of problems with "this variable will not stay shared" initially. Mostly that is going away. I'm finding as I go through the system, a lot of minor issues that I wasn't aware of or that I had glossed over. This is because

  1. I'm not particularly careful, I've been more interested in getting the features in than getting the features right.
  2. I've not automated testing of anything, basically, and as a result, nothing is tested. Starting a system of testing at this point is going to be extremely painful. I really don't want to do it, but I know that it would greatly enhance the reliability of the system.

Thanks to subversion, I've decided on a release scheme. Apparently, each reversion of a repository committed increments the global revision number. This gives me an easy way to set revisions. I've bumped the minor rev to 0.5, and each release I make until 0.6 will be the subversion release number. When I'm ready to bump to .6, I'll branch, and my .

I have been doing some contracting work. Sometimes after I've got a lot of code written, and the project is about 85% complete, I just don't feel like working on it anymore. It is a real struggle sometimes to keep going until the client is happy. But that is just what I did. And I went above and beyond, and the client recognized that and told me so. That part feels pretty good.

28 Jul 2003 (updated 28 Jul 2003 at 20:50 UTC) »

I'm struggling to find a good release numbering scheme for annotateit. At the moment, I'm sticking with the common x.x.x numbering scheme, but it feels pretty arbitrary. I set targets for features that I want in annotateit, and when I achieve those targets, I bump the version number. But I'm not confident that those numbers actually signify anything to anyone.

One that I've seen that I think is fairly interesting is using the date of release in the filename of the distribution, but I don't think the dates convey enough information either. Maybe I need to settle on a hybrid release numbering scheme that would convey my opinion as to the reliability of the software, and the date it was released on. e.g. 0.20030728 might indicate a really unstable release, whereas 1.20030728 would indicate a more stable release.

CMM stands for Capability Maturity Model, not Code maturity model, as I had mistakenly assumed, and refers to the capabilities of the organization developing the software rather than the maturity of the software itself.

I'm finally moved to Baltimore. Not everything is unpacked yet, and my wife is still in Atlanta finishing up her semester of teaching there.

I've spent the last week putting up a fence around my property here. Not very open source of me, but I've 5 dogs that I need to keep track of.

I've got to get caught up in my email. 2 weeks worth of flood.

I made a release of annotateit that does some HTML scrubbing in inputs. As I go, I expect I'll get some feedback about what people would like to see scrubbed and what not.

I haven't yet had a chance to keep working on the mod_perl docs, but I expect I'll be able to get to that shortly.

I worked some with the auto generation of documents for the mod_perl project. It has some really cool stuff going on... automatically makes documentation from the comments and function prototypes in a class. But...

It isn't template driven. I like templates and templating systems. MVC... MVCC and all that. The mod_perl system has a module that generates the perldoc. That is pretty neat, and I guess it is a good thing that the author decided to reduce dependencies, but isn't templating a good thing (tm)?

It is possible that the number of conditional expressions needed in the template would make it worthless, but still. I don't know.... maybe I'm just hung up on templates.

Well, I've got all the tools in place, and tonight I have about an hour and a half, so I'll start working on some mod_perl2 documentation. Annotateit is written entirely in perl, and it takes a long time for some of the stuff in there to execute. I don't have much experience optimizing code, so I'm not really sure how to make it faster.

I'm aware of Benchmark and "time," but there has got to be a better way than to take a section of code, benchmark it and then see if there's a faster way to run it. How?...

So until I figure that part out, I'll work on mod_perl documentation and get a handle on how that works, and then just use brute force instead of finesse to get the execution speed I want.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!