Wednesday, January 31

a moment of cut-rate technologist, several overlapping flavors

1. p1k3 needs a better architecture. For starters, it needs one where things which don't belong in a strict hierarchy of dates can still live in the namespace of the blog thing and use its facilities. I've thought about this off and on for a long time, but the other night I realized that it already has one and I'm just not using it: Everything here is a file or a directory anyway. Files and directories are imperfect, but they are very well understood, and they're the unifying abstraction for just about every tool I work with. So I'm going to import a largish set of things into this namespace by the simple expedient of moving the directories and changing a couple of Apache mod_rewrite rules.

I want to be careful with this sort of thing, because strong hierarchy in general is worrisome and often needlessly complicating (or simplifying). Things do have relationships, many of which are in some sense directional or capable of being viewed as containers. It's just that some combination of the physical constraints on old-school paper information storage and its conceptual relationship to files/directories has rigidified the way we think about organizing information (the folders you see in every desktop system may be a dead metaphor at this point, but they're telling nonetheless). Things have a unique existence and need to go in a place, and so it is seen as important that they go in the right place. The human tendency to classificatory mania is actually encouraged in an environment that should ameliorate its worst effects.

I spend a lot of time dealing with software that represents strong hierarchy, either in its fundamental structure (which is constraining) or as a layer on top of that structure (which is deceptive and often distracting). In part, this is probably because I work in a Java shop, but I think you find it everywhere in the world of serious software which costs someone real money. Meanwhile, you can knock out a wiki in an afternoon with a flat namespace and dumb two-way linking, which is proof that we shouldn't have to burn so much of our lives on a misdefined problem.

1a. Back to paper media. I suspect and fear that cheap computing and the Internet are creating the conditions of a historical (historiological?) apocalypse. This is not an original notion. The materials of our shared future history are now your blog (yes, with the cat pictures), your e-mail account, all the crap you have on flickr. If you want to become deeply depressed about our collective capacity to retain all this data, talk to a professional archivist for a few minutes about audio tapes. No matter how much redundancy we build in, electronic information systems are fragile, and they will remain fragile for the foreseeable future. Most electronic documents are orders of magnitude more likely to vanish than anything we've ever put on paper.

(Side note: And here is another reason to build things on the file system, despite its limitations: Of all the abstractions and containers available to you in computing, it is the most likely to be intelligible in 50 years.)

So I've decided that an available output mode for p1k3 needs to be a relatively well-organized printable document. This isn't a hard or interesting problem to solve just-well-enough for archival purposes, but it is damned difficult to do as good art. And thus perhaps worth attempting.

2. I talked to Levi yesterday, and he had this really interesting project in mind that would involve a large collection of structured records for variously sourced historical data. The parts that I think make it more interesting than Your Average Big Dumb Database App are what structured and sourced are going to mean. (Quasi-arbitrarily and with sufficient rigor to impress professional historians while not being a complete pain in the ass to work with, respectively.)

Of course, I know what about databases? That's right: nothing. It's probably all a solved problem, but it's a problem I've never had to solve. You'll hear more about this, especially since I feel like it's interesting for reasons other than technical.