At work, my current project involves a database with about 55,000 records in it. There are several qualities in each record of interest to us; depending on which qualities a record possesses, it gets classified into one of about a dozen subsets. For various reasons, there is more than one way to perform this classification for each subset, and, for other various reasons, the process can get pretty complicated. Essentially, each subset consists of the combined results (the union) of at least three different searches or filters of the data (i.e., all the records that have these qualities and all the records that have these other qualities and all the records that have these other other qualities); these results are then imported into separate mini-databases to make it easier to analyze each subgroup. The trick is thinking of each needed search before this importing happens, especially since, with 55,000 records, steps like importing or deleting unneeded records can take 10-15 minutes at a time. I thought I had it all sewed up on Friday and made about five of the mini-databases before leaving (four hours of making a few keystrokes, pressing a button, and then waiting as the software cycles through my orders), but as I was shuffling papers and stacking manuals preparatory to walking out the door, I thought of one additional filter that each subset should include. No big deal, as it was perfectly doable, though it would mean trashing and recreating those five subsets. I came in Monday morning with this task in mind and was just rewriting my protocol document, a document that explains how each subset was created, when an additional needed filter occurred to me. This one was not so simple.
A certain string of qualities in these data can be “yes,” “no,” or “blank,” with “blank” essentially meaning “no.” My filters had all been for the purpose of isolating records that had one or two of these qualities and no others, and, sipping my coffee on Monday morning, I suddenly realized that I hadn’t allowed for the possibility of a mixture of “nos” and “blanks” in performing this isolation. Say these qualities described sports the respondents like. One of my searches for people who love only basketball would have looked for a “yes” in basketball and either all “nos” or all “blanks” in the rest of the choices. What dawned on me Monday morning was the possibility that some basketball-lovers’ records might have “nos” and blanks for the non-basketball blanks, and, for reasons probably too complicated to get into here (I can almost hear you breathing a sigh of relief), these records would be immeasurably harder to locate reliably.
So it was that, on a Monday afternoon in May, I found myself commencing a program of self-study of the “scripting,” or custom programming, capabilities of Filemaker. What I needed to figure out was how to tell the program to search for “blanks” in certain fields and change them to “nos.” This is about as basic as it gets, if you know anything about Filemaker scripts. In other words, it was not easy for me. Scripts are this weird combination of programming gibberish and elements that are almost but not quite in plain English. As you look over the commands, the solution quivers just on the far side of intuition; you get a sense of how it might work, but which gibberish goes with which step, and what order do the steps go in? Punctuation and spaces matter a great deal, too, so you can get it essentially right but for a misplaced quotation mark and spend an hour poring through the “help” screens trying to figure out the problem. I try to approach something like this scientifically, only changing one thing at a time (my independent variable) and checking the result, but remember that “checking results” with 55,000 records takes 10-15 minutes at a time.
I eventually figured it out, but doing so shot the day, and of course all of this was only so that I can get back to making my subsets, and making my subsets is just a preliminary step to being able to write up the analysis of the subsets. Incredible the “back end” work that can go into a simple, 24-page report.
I usually follow a strange route to and from work, in the sense that I purposely walk further than I have to. This is because the shortest routes would have me walking on streets that do not have high pedestrian traffic. In the evenings, I consider sticking to the crowds a good safety practice, but, morning and evening, I mainly do it just because it’s interesting to see other people, especially when you lead the isolated existence I lead currently. (Wife in Arizona, office at the end of a long hall no one walks down if they don’t have to, no social life to speak of.) So instead of walking on Calvert, I head west to St. Paul, even though I’ll eventually have to walk east again.
In addition to the people, I can check out the gardens along St. Paul. Grand Charles Village gardens are characteristic of St. Paul and Charles Street (one block west of St. Paul) but not the neighboring streets. Some of them are quite ornate. I suppose that, on plants alone, some of these gardeners must spend hundreds if not a grand or so per season. Then there’s the time investment of tending everything. I don’t let on that I’m impressed if I see one of these gardeners out at work (I don’t want them to get big heads), but I am, and it’s a beautiful walk, almost like a tunnel of greenery for brief stretches, with wildflowers and exotics offering little pools of color. On Monday, three different gardeners were out, primping, clipping, sweeping, observed by some of their neighbors who had come out to sip drinks on front stoops. One woman was bent over a planter on her front steps as I walked by; she was pouring water onto the plant from a wine bottle.
One advantage of this route is that I pass within a block of the new Barnes and Noble. I know I’m supposed to hate the fact that it’s a Barnes and Noble instead of some independent mom and pop shop, but we have one of those, Normal’s, over on 32nd, and the damn place won’t stay open a minute past six p.m., which means I can essentially never go, unless I take time off from work. Normal’s serves a much different clientele than Barnes and Noble (or “Barnes and Noble’s,” as the Baltimore pronunciation has it), and I don’t think they’re hurting, but if I ever hear of them complaining of the competition, I’ll have a simple suggestion: since, in order to buy books, people must have jobs, perhaps you should consider opening your store when people with jobs might be able to stop by. Frankly, I’d rather use the library than buy books, for the most part, but the local branch’s hours are tighter than Normal’s (though, unlike Normal’s, at least they are open one evening a week). Plus, it being a small branch, I must request what I want in advance, which isn’t always possible or convenient. (And, as a good, patriotic American like yourself, I must have convenience, above all else!)
I stopped into the Barnes and Noble on my way home. With the upcoming flight to New Orleans, I wanted to make sure I had a few new books with me. (On my last trip, to Missoula, I read four.) The problem was that I’ve been on a bit of a dry spell lately with reading. I haven’t had a book going regularly since my trip to Missoula, in fact. When I’m on a roll, reading the right stuff at the right moment, my next book will often be suggested by the current one, and I’ll roll like clockwork from one to the next. But when I let it drop off, it’s difficult picking up a new thread. Certainly the next book I wanted to read in March is far, far from interesting to me now, and besides, the ideal books for reading on airplanes and for a few minutes here and there in hotels are different animals from what I often read. That is, when traveling, you want a book that’s actually enjoyable and fun; because I’m pretentious and intellectually insecure, my more customary reading material doesn’t really qualify. I browsed the shelves and lucked out: an Ian McEwan novel, the one about the hot-air balloon accident, which I’d actually heard the author read from in Miami, and Cormac McCarthy’s No Country for Old Men. Suitable heft, enough plot to make you want to keep reading. Going in with nothing in mind, I’d been worried that I was in for an experience like when I go to the video store and spend an hour staring at the shelves, nothing appealing in the slightest. But my eye went to these titles like a dowsing rod to an aquifer and I was walking home again within minutes.
At home, I was almost afraid to look out the back window to see whether the promised bulk-trash pickup of the old water heater had occurred. I had called to request the pickup almost a month ago and was not what you would call confident that it would happen. Plus I had taken the chance of leaving the water heater in the yard, rather than dragging it into the alley. Hifalutin of me, I know. Who did I think these guys were, concierges at a fancy hotel? But the water heater was indeed gone, I saw from the kitchen window. The gate, of course, was open, but what trash man ever puts anything back the way he found it?
For dinner, for some reason, I prepared my first ever experience of Tuna Helper. I won’t be doing that again anytime soon.
Sorry if you’re dying for a Bird Camp update. A. called last night as I was dropping off to sleep, and I completely forgot to interview her. I even have questions prepared for my “About Bird Camp” page. Oh, well, no doubt I’ll get a lot out of her in New Orleans.