Chapter 9. Miscellaneous

9.1. Project History

I had the idea that javadocs should be a web application relying on a backend database around 1998. It took me a couple of years to actually act on this. On a short vacation trip to hawaii in 2000, I wrote my first stab at a doclet to populate a db. It worked beautifully. The results were promising but with only a few days' work invested in this project, there wasn't much to show for: only a populator doclet.

The idea simmered a little longer and a year later I decided that I could no longer sit idle with this idea in my head without doing anything about it. So I took a 2-week vacation around March 2001 and shut myself in a small hotel room in houston and coded ~ 19 hour days for 14 days straight. The result was 90% of what ashkelon is today. This is what I accomplished:

  • developed my own MVC framework to support the web application (a la struts)

  • redesigned and implemented the database schema from scratch

  • refactored the javadoc html doclet into jsp pages

  • learned css

  • wrote an entirely new gui for javadocs, employing dhtml and css vigorously

  • wrote the viewer application in jsp

  • wrote my own crappy database connection pool

  • Added entirely new sections to the viewer app, going beyond the scope of just javadocs (stats section, authors section)

Over the next three years, I added these:

  • A second GUI, in the style of javadoc (html 3.2)

  • postgres and mysql support besides the original oracle version

  • mozilla support for the DHTML GUI

  • Added a "power search" feature to complement the simple search feature that had originally been built into the viewer app

One deduction from this story is that much more can be accomplished in two weeks of immersion compared to three years of trying to squeeze in an hour here or there in the middle of the night.