You are viewing a read-only archive of the Blogs.Harvard network. Learn more.

~ Archive for Code ~

Class::DBI

ø

While writing an email encouraging someone to consider using a database abstraction layer in his perl-based web application, I came across the Class::DBI module, which seems to provide a nice, simple but functional db abstraction layer for perl. I’ve looked for such a thing in the past and failed to find it, though Class::DBI seems to have been around for a while. I’m a big fan of such systems and always strongly encourage folks writing complexe database backed applications to consider using them — they’ve always saved a huge amount of time for the projects on which I’ve used them.

Word HTML

5

An unfortunate Berkmanite edited a hand written html file in Word today. Predictably, Word horribly mangled the thing, destroying the server side includes (understandable) and mangling the formatting (unacceptable). The worst of the damage was Word’s conversion of an ordered list from:

  1. list item

to:

5.      list item

Thus was spent 30 minutes of my day fixing the html to its original sane form. Argh.

Breaking Lines

1

I finally fixed a bug in the installation of slashcode that runs greplaw. Lovely folks were breaking the formatting of the comment pages by posting reallylongwordswithnobreaksinthem stretching our hundreds of words. These unbroken words cause IE to widen the page to display the whole word on one line, so the page becomes unreadable without massive amounts of side scrolling. So I added some code just to break any word longer than 50 characters. Unfortunately, doing so was breaking long links, so I had to add an exception for html tags.

Vandals suck.

WebGUI Submissions

1

I submitted a bunch of our local webgui changes back to the distribution today, including:

  • support for alphabetized site maps,
  • Hide from Navigation support for site maps,
  • record deletion for the DataForm object,
  • support for aggregate RSS feeds, and
  • Encrypt Login support

Some of these changes aren’t even running on our production server yet, since I’m waiting for a good time for a upgrade (I’d like to let the system sit for a while after the last painful upgrade process).

Regardless of my desire to give back to the webgui folks for their fine work, there’s actually a selfish motivation to get this stuff committed back to the distribution. Whatever changes I run on my local version of the code have to be re-applied to the code everytime I update the distribution. Depending on how many and which changes there were in any given update, this can be both a time sink and a risk of breakage for me. So it’s trememndously helpful to have everything bundled into the distribution so that my upgrades are as painless as possible. As a bonus, I get lots of other folks to test my local changes.

Log in