The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Tuesday, August 21, 2001

Notes on a blog morgue

I'm getting closer to getting the Boston Diaries public (for now, I'm using Apache's mod_rewrite to hide the fact that this still isn't an Apache module. One day … ) so I started work on getting the archive section to work.

It's tougher than I expected. I somewhat knew this the first time I started talking about it (and ever since, see the Obligatory Sidebar Links). It's not really about the code, but about the design—how should I do it?

The problem I have is one of extreme flexibility here—the code allows me to display an entire year, an entire month, as well as a day and even arbitrary range of days. If a person selects the archive of a month, she should then get a list of days, plus maybe the titles of each entry—yet if she picks a large enough range of months (say, six months) then that might get too large.

So then I'm thinking that if the number of days exceeds some threshhold (like, 60 days) then just list the months and days, and if it exceeds some larger threshhold (like 180 days) then just list the months.

But then, if someone selects something like seven months, two full days and a half day, then what? Perhaps I should just give what was asked for. Perhaps.

I identified thirteen specific cases to examine:

SpecificationWhat I should return
nothing specified years only?
y list months
y/m list days and entries
y/m/d list entries
y- list months
y-y list months
y-y/m list months
y-y/m/d ?
y/m- list months
y/m-y/m list months
y/m-y/m/d ?
y/m/d- ?
y/m/d-y/m/d ?

[I should note that as I was doing the table, I originally had sixteen cases, but found out that three cases could not happen (which goes to show I don't even fully understand my own code) so I no longer have to worry about them.]

Entries are automatically archived, and displaying an arbitrary range works fine now; I want the archive list to work automatically too. I should be able to add new entries and have the computer do everything else for me. After all, isn't that what a computer is for?

Obligatory Picture

[The future's so bright, I gotta wear shades]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site:, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2024 by Sean Conner. All Rights Reserved.