You know, there ought to be a principle of software engineering that says something like “Every one-off turns into an application.” I started working on some simple reports that were just going to basically dump the contents of a database table onto a Web page. Simple enough. Then I started adding features — splitting results onto multiple pages, letting the user sort based on columns, letting them adjust the time frame for the report and filter the results based on various fields. I showed it to other people. Soon you could customize the report to only show the columns that you wanted. Now I’m working on custom reports that let you specify the filter conditions for each report and which columns belong on that report. Next thing you know, you have a full blown reporting application and you’ve been working for two weeks on that project you planned to originally whip up over a weekend. Why do I always forget that that will happen?