Jan. 6, 2007, 9:43 p.m.

My Photo Album's Tenth Year

I just noticed that my photo album is ten years old this year. Well, at least the end of this year, but the first image is dated Added: 1997-11-01 17:27:58 by dustin.

This has been my technology testbed. It started out as some perl CGIs, and then moved to mod_perl after a while. I had a custom templating system. I did some work on making an Eiffel version early on, but after making a CGI library and a postgres interface, I didn't seem to want to go through the effort of building out the rest of the required infrastructure to just to have another CGI based system.

When it existed as a perl CGI, I learned a bunch of stuff. I developed a decent perl library for database management and stuff (as decent as I could make it). I learned a ton about database schema design along the way, too.

In the application itself, I had neat stuff like single request display pages by embedding images directly into the web page for Netscape >= 4.6 (it was cool in 1998, and a bit easier on my web server). I also had per-user UI customization by storing CSS in a cookie.

At some point, it became obvious I was going to have to write java for work, and the servlet API looked pretty good, so I basically ported the existing code over, got jserv in place, and watched it go. I learned a lot there, and developed a bunch of java technologies I still use in pretty much ever java project I encounter today.

Throughout the years, there was a lot of morphing under java. Much of it was stuff I was considering for my day job. I started making a list of some of the highlights over the years, but as a technology playground with real-world use, the list went on and on and got boring fast. It's been clustered, split into different server-side tiers (image processing/caching separate from UI pages), had externalizable presentation (when I was doing XSLT, users could edit their own stylesheets and dramatically change the look and feel of the site). Way too much stuff to mention.

It's been mostly good, though. I've lost a few pictures to bugs, which is devastating. That has made me put a lot of effort into data integrity. My first backup system for the photo album was a shell script that took a postgres dump and checked it into RCS on a Sparcstation IPX. After a while, I just didn't have the disk space to do such hideous stuff (although it was space efficient storage). My backups eventually morphed into what I have today, dumped automatically and shipped off to Amazon's S3 for offsite storage. I also have tools to validate the stuff I've got stored against what it thinks I should have stored (with a fancy AJAX progress bar). Of course, I can still screw stuff up if I'm not paying attention.

As of the time I took off for Christmas, we can add pictures via email, too, so we should be expecting to see more crappy camera-phone pictures showing up. I may be working on what (I think) is my fifth UI technology as well.

I hope I don't ever finish this software.

blog comments powered by Disqus