Personal

Investigating Blogging Server Software.

A few days ago I tried to post my second blog entry of the month. Windows Live Writer returned a very helpful error message from my server that told me I was out of disk space on the SQL Server. That was troubling because I don't have that many blog entries. It was late though and I didn't feel like debugging the server software so I called it a night.

I finally got around to digging into the SQL database this morning and discovered the problem. Subtext (my blogging server software here) stores referrals in a database table. Well, that table had finally gotten big. Too big. So I jumped on the SQL administration console and truncated the subtext_Log, subtext_Referrals, subtext_EntryViewCount, and subtext_URLs tables. The fact that you’re reading this blog entry means that I finally fixed it.

Naturally the next thing I need to do in my “copious free time” is to figure out how to avoid this problem in the future. I know the best answer is to work with the Subtext community and upgrade to the latest build then add a feature to clean up these logging type entries from the database on demand (at least) or “automagically” (if possible). The problem is that I’m not sure I want to stay on Subtext.

The main concern I have with Subtext is that it is just big. There are about 45,000 lines of C# code (20,000 lines of comments). I expect all that code has its uses since Subtext has support for hosting multiple blogs and image galleries and such. However, I’m not terribly interested in all that stuff.

BlogEngine.NET is a new kid on the block and interesting because it’s about 16,000 lines of code (5,000 lines of comments). It does seem to be targeted at an individual blogger and is up with the latest blogging technology. However, on my first high level pass through the BlogEngine.NET code I found the formatting of the code style to be pretty inconsistent which is an indication (in my mind) of how much the code is cared for.

Finally, Fredrik Grohn created his own blog engine with something like 300 lines of C# code. However it doesn’t do comments, trackbacks or any other blogging functionality above and beyond RSS syndication. That makes it really bare bones but maybe a reasonable place to start from scratch… if I wanted to do that.

Ultimately, I’m probably going to stay with Subtext (and write a little utility to regularly truncate the logs) because I don’t really have the cycles to spend getting into a new codebase and community. While I’m sure I could learn some cool new tricks playing with blogging server software I expect it would just be a distraction from the much larger projects that I’m working on in my free time. However, I have to admit that writing unit tests for BlogEngine.NET as a way to learn the codebase and help improve/maintain quality of the codebase has quite a bit of appeal to me.

Anyway, I’m back. More blogging to follow.