sinking in.

Hmm. I’m starting to understand the state of cataloging a bit better. Reading Autocat today, it dawned on me…

Cataloging is heavily rule-based. You can learn the rules and apply them without glimpsing the underlying reason for each rule. People could conceivably make an entire career out of cataloging without ever taking that step backward to understand the underlying logic, reasoning, and principles of the work.

Yes, this is true of a lot of work. And yes, I am slow sometimes.

Now much of the freaking out that happens every time something changes makes a whole lot more sense.

I may have thought about this more than a lot of people because I have taught intro cataloging for years now, and students always ask, “Why?” My goal as a teacher is to instill in them a sense of the “Why.” I have not always done a good job of helping students understand this, but I aim to get better at it ever semester. Not only will this help them be better catalogers (if they choose or fall into that role), but my hope is it will make for public service and administrative librarians who have a bit more of a sense of why the catalogers do what they do and the value of it.

Well, one can dream anyway.


I had the feeling that more than a few of my Organization of Information students were looking at me with skepticism when I claimed the semantic web is not a pipe dream.

No, I cannot deploy my Agent to to make a vet appointment for my cat that works with the vet’s hours, and my sleep and work schedules. But, in the past week or so (pardon my lack of sense of time), the following have been announced:

Little by little… the web gets more semantic all the time.

Now, where is my semantic personal knowledge management tool that actually works? Blog post series in the works on that obsession…


Tonight I am thinking about teaching. Specifically, pedagogical patterns and Testable, Reusable Units of Cognition (TRUC).*

I’m also thinking about why I always gravitate to the abstract and high-level views of things instead of the practical applications of things. Well, it’s how my brain works. But I’d be better served (in the short term) by writing down topics and readings for week slots than thinking about design patterns for teaching.

* Very awkward to make this plural. TRUCs = Testable, Reusable Unit of Cognitions.

scroodle, or, how regexps are driving me batt(y|ier).

So cataloging is picky. The content recorded has to be right. The order of elements has to be right. The capitalization has to be right. The punctuation has to be right. The spacing has to be right. The handwriting has to be right. O WATE. Thank Gautama we are no longer at the latter…

Say the correct thing to put in a particular field (ISBN) is:

1234567890 (pbk.)

But students often want to do things like record:
ISBN 1234567890 Pbk.
1234567890 (pbk.).

or any combination of the above, but with a mistyped number OR another valid ISBN number appearing in the book, but not the right one for the field at hand.

Main varying elements:
whether the digits recorded are correct
whether “ISBN” is put at the front or not
whether hypens are recorded or not
whether the qualifier (pbk.) is included
whether the qualifier (pbk.) is included in parentheses
whether the p in pbk. is capitalized
whether the period at the end of pbk. is included
whether a period is placed at the end of the field

But someone always comes up with something creative… And the possible combinations of errors… an explosion…

I have been using a module (lesson) in Moodle (the course/assignment development app I’m using) which allows me to construct a series of regexps and regexp-like snippets to analyze student answers step by step based on these varying elements:

First, does the typed in answer match the correct answer? Yes? Good. Have some points. Go on…

Then, are the numbers right?
If that doesn’t match the answer, say “Did you record the ISBN for the manifestation you are cataloging? If you are sure you did, check to make sure you transcribed all the proper digits in order.”
If that does match, check for the next thing…

Did they include “ISBN”?
If that matches, say “Check MARC input conventions and ignore what AACR2 says about the format for recording ISBNs.”
If it doesn’t match, go to the next thing…

and so on.

But in this module, it is very cumbersome to create exercises. It is very cumbersome to *do* the exercises, as you can only fill in one field per page.

So there is another module (quiz)that is much better for developing exercises, providing as-you-go feedback on exercises, and taking the exercises. There is a plugin to allow regexp questions. The catch?

Because the Generation routine is meant to generate all possible sentences from a regExp, the set of special/meta-characters in such a regExp is restricted to: parentheses (), the pipe | and the ? characters, the square brackets [] and the escape sign .

So I’m having a bit of trouble figuring out how to check for all these different possible errors without the handy .*

The obvious answer seemed to be to construct a regexp like:

No match? Check the numbers you put in…

And then tweak various segments to check for the common errors, like so:

If that matches, say “Check MARC input conventions and ignore what AACR2 says about the format for recording ISBNs.”
If it doesn’t match, go to the next thing…

If match, hint not to put in hyphens.

If match, you seem to be missing the qualifying phrase.

If match, check the capitalization of the qualifier.


But of course this doesn’t work.

I’m afraid I’m being stupid and missing something about matching an optional phrase which is in literal parentheses. I can’t get any regexp-checker/expander/matcher thingie to accept anything I can think of to deal with this. They all choke on confusing the literal ( and ) I’m checking for, and the ( and )s I’m using to group optional strings.

So I can’t figure out how to set up this exercise to systematically check for errors, give helpful feedback and hints, and NOT require me to manually express the minor combinatorial explosion happening here.

Any ideas? Moodle is all in PHP, so I’m assuming that’s the regexp flavor in play.

Is there something about parentheses that has gone completely over my head here?


Alternately, how hard would it be to just make my own app/widget/dealio for these assignments?

I know how to do html forms.
I’m fairly familiar with basic regexps. (I think. Unless I’m doing something dumb above.)
I know the basic pieces of how I’d provide X feedback for Y response and tally scores.
I have various ideas about how collecting scores could work.
But I don’t know how to tie these pieces together and I really don’t have any extra time.

In fact, I’m kind of feeling physically ill about all the time I just spent figuring out what I couldn’t do with the tools at hand. And nothing to show for it.

Hence random yelling of wordless yells for catharsis… AAAAAAAAAAAAAAAAAHHRRRG!


Today I was the guest speaker in Jeff Pomerantz’ digital libraries class. I spoke about personal information management and personal digital libraries. I had a rough morning and ended up leaving my drugs, my cell phone, and my notes at home. Oops. The session still went swimmingly sans notes, though I have a whole lot of room to improve on facilitating discussion in the classroom. It is always refreshing to be reminded of just how much you do know. It’s so easy to focus in on all the things you haven’t read/learned yet, but hey… I know a lot about PIM and the organization of photo collections and I can pepper my talk with citations. Which is probably way annoying…

Does this change once you are done with your literature reviews? In a way I hope so. But in a way I hope not.

Also on the teaching front, Jeff gave me a tip from his days in library school. His cataloging instructor recommended students read AACR2 out loud to each other as though it were poetry. He said it worked… Future students, watch out…