Archive for December, 2007

31 Decembris 2007

Hype and the biblioblogosphere

So Pew Internet has a new report out on people’s use of public libraries. This is the kind of thing Pew does, and while they need to fire whoever it is that slaps cutesy names on the demographics that shake out of their surveys (because “cutesy” has a really bad habit in their hands of shading into “offensive”), what they put out is generally at least worth reading and pondering.

The biblioblogosphere is usually pretty good about reading and pondering Pew stuff, but apparently Pew isn’t satisfied by its penetration therein, because they’re courting bibliobloggers in email behind the scenes. A few of the bloggers who have commented on the report thus far have noted that they were approached; most that I’ve seen have not. That doesn’t mean that anybody’s hiding anything; we can’t know which of them responded to Pew’s email and which just read the report and spontaneously found it interesting enough to comment on.

The email I got was fairly classy, as these things go; definitely not the kind of idiot PR spam that gets my back up. It addressed me specifically. It indicated more or less how my name came up and why I was chosen. No quid pro quo, not even wink-wink-nudge-nudge style. No arrogance. Really nicely done.

And it still bugs the crap out of me. I’m sorry, it just does.

One of the nice things about using blogs as a professional filter is the confidence I had that I was following people’s genuine interests, influenced by no more than their own curiosity and intelligence and the environment they exist in and interact with. These weren’t, in a word, people who were being told what to think, much less paid to think it. They weren’t being filtered, in turn, by any particular establishment, no matter how well-meaning, much less a vendor or other organization with enough dogs in the hunt to create actual bias. That’s useful, that is.

And now I don’t know how far I can trust the filter any more, and that’s a loss to me.

A number of bibliobloggers I respect have written policies about reviews and whatnot. I’ve resisted that here, because hell, I’m just a one-horse blogger with an antique (in web terms) theme, too ornery to mess with and too inconsequential to court. Best I can tell, in fact, I’ve lost readership in the last year or so; it’s been kind of a weird year, personally and professionally, and I can well believe old CavLec hasn’t been up to scratch lately.

But in the interests of transparency, I may have to change my mind. Here’s the deal. I value my bloggy independence, as I have from the very beginnings of CavLec, and I’m ornery as a kicked mule. If you push me to read and talk about something you have a direct interest in, not because you think it’s useful to me, and not because you intend to put my input to some sort of practical use (as with, say, a standards draft), but because you want to create buzz? To hell with you. I won’t just not read or review it, I’ll be more than a little tempted to call you out in public, as I’ve just done with Pew. That goes double if you try to hide your interest from me (which Pew was smart enough not to do).

Don’t mess in my biblioblogosphere, hypesters. I resent it. And bibliobloggers: it will help me, for one, if you disclose this stuff. Nobody has to be as ornery as I am about it, but as a blog reader, I would like to be able to take these faux-grassroots stunts into account as I read.

28 Decembris 2007

Kludging Manakin: IncludePageMeta

So I’m about to start wrangling my new DSpace/Manakin theme into shape in Internet Explorer, as you might have gathered from yesterday’s howl of anguish, and it occurred to me to wonder how to alter the stylesheet setup in Manakin to take note of more versions of IE. (Out of the box, it understands “IE” and “IE6.” I am wondering about IE5. Anything previous to that can jump off a cliff and die horribly.)

What I found was actually a limited but relatively simple way to add static information into a Manakin theme without mucking around in Java and whatnot. Note well, it’s a big fat ugly nasty kludge—but it’ll work, and future versions are highly unlikely to break it.

Open up a sitemap.xmap file. Look for the “Step 2″ comment, which introduces some map:transforms based on browser type. That’s your loophole, right there; the information there is going straight into the DRI, in /document/meta/pageMeta/metadata elements. (I’ve left out the namespaces, but you can’t in your XSLT. All the above are in the DRI namespace.)

So let’s take a closer look. The metadata elements in the DRI are structured more or less like good old familiar Dublin Core. There’s an element attribute and a qualifier attribute, and the value is there as the element’s content, so:

<metadata element="stylesheet" qualifier="screen">style.css</metadata>

How does the sitemap.xmap file make that happen in the DRI? Thusly:

<map:parameter name="stylesheet.screen" value="style.css"/>

See? Simple. But as I said, limited—this isn’t where you’re going to be able to put your entire static Help pages or FAQ. But you could, for example, introduce a new navigation bar or the like without having to hack the living hell out of Navigation.java in the ArtifactBrowser Aspect (which is frankly what I did, though it’s a lousy idea because that Aspect governs the entire system, not just one theme, so I’ll probably be replacing that hack with something based on this).

Now, if you’ve been paying close attention to that sitemap.xmap file, you’ll have noticed that all the code I’ve been referring to is inside some conditional stuff (map:select and map:when). I must say I haven’t tried this yet, but I think the way to just plain old add some stuff is to go outside the map:select element altogether and do something like this:

<map:transform type="IncludePageMeta">
  <map:parameter name="newElement.newQualifier" value="newValue"/>
</map:transform>

It should Just Work, showing up in your DRI where you can grab it via XSLT for whatever nefarious purpose you have in mind.

Kludge at your own risk, as always… but as kludges go, I think this one’s fairly safe and harmless.

27 Decembris 2007

IEEEEEEEEEE!

The title of this post refers to the horrible noise emitted by a web designer on her first glimpse of the havoc wreaked by Internet Explorer on a design that works beautifully in real browsers.

(Though honestly, it could have been worse. I’m scared of what I’ll see in IE6, and as for IE5…)

26 Decembris 2007

Win!

The bill requiring NIH-funded researchers to make their articles open-access within a year of publication is now law. (Via Open Access News, of course.)

This is an immense win, the first of a good many dominoes still to fall.

Doesn’t help repository-rats much, of course, but it doesn’t have to help us to be a big win!

23 Decembris 2007

Learning to teach

I’m all done with teaching except for final-project grading and final-grade calculation, so it’s as good a time as any to post a post-mortem in case I do this again (and I’ve already been asked if I’d be willing). I’ve been leery of posting much about teaching, because several of my soon-to-be-former-students do read the blog, but hell… if Michael Stephens does it, can it be that bad?

I liked teaching back in the day, even in the Department from Hell. I still like teaching. My hammy nature comes out to play, as does the highly opinionated part of me that holds Strong Views on what folks ought to know about and be prepared for. I walked home from classes feeling good, and that was a sustaining influence given the up-and-downness evident in my day job lately.

(Still hate grading, but no jam comes sans pill.)

In general, I think my syllabus covered useful stuff. Next time, though, I want to do some hands-on work, and I’m already looking for notions (Andrea Mercado’s kioskification of Firefox looks like a good one!). I can teach a basic SQL query from scratch in an hour or two. I should. Ditto regular expressions and the basics of HTML and CSS. It’s all about expanding one’s daily technology toolkit.

Of the three major assignments, two were solid hits and the third… needs work. The job talk and the position-description assignment went over really well (how often do students thank you for assigning them work? well, mine thanked me!) and I was chuffed at how useful the job talks actually were, for the rest of the class and even for me. The third I may separate out into two or three smaller assignments—it really isn’t safe to assign big, relatively unstructured projects, because students get more stressed than they should. It’s a shame, because big and unstructured projects are what the real world is all about, but there seems to be a limit to how far a class can go in acting like the real world.

So I think “write an implementation plan or project documentation” and “install, theme, and mod a new server-based technology” can and should be done separately from each other, likely as the dreaded group projects. Live and learn.

Our local course management system sucks rocks and I refuse to use it ever again for anything. Next time I’m putting in a Drupal install, and we’ll interact online that way. The blogs worked reasonably well, but they’d be better in a Drupal install (like Five Weeks’s) because of increased opportunity for interaction among students.

Using del.icio.us as a tickler file for current events was a winner. For one thing, it helped me tie what I was teaching to the real world. For another, it modeled the professional behavior of keeping one’s ears perked for relevant news. For a third—hey, readings for next time! (Though I’m happy with the readings I found for this semester, and will reuse a lot of them.) Drupal’s RSS module should let me put a few good blogs and technology-news sources (Ars Technica for the win!) within student reach.

I’m scheduling quizzes next time, instead of doing them ad-hoc. Should be a stress reducer for everyone, me not least—several weeks I ought to have written up a quiz, but life just kept on intervening in that annoying way it has. No major exams, though; in a class like mine that’s just goofy.

I can’t say enough about how great the students were. They took a chance on a brand-new class from a brand-new instructor. They put up with my genial weirdness (did I mention the day I played two Monty Python clips in class?) and my insane outside schedule. They let me know how I could make the class better instead of grumbling out of earshot. They expressed gratitude early and often, and sometimes in embarrassingly fulsome terms. They took chances with their final projects, several of them, trusting me enough not to let fear of a poor grade hold them back.

I will be proud to have them as colleagues, and the library world will benefit from their presence in it.

22 Decembris 2007

Painkillers ho

It must be something about the season. Last year I sprain my knee. This year I do I-don’t-even-know-what to my back.

Whatever I did, it hurts. Getting up from a seated or recumbent position is amazingly painful. Walking hurts for the first few steps, but then levels out a bit. Last night I couldn’t sleep until I went for painkillers, and I have to turn over in bed very slowly and carefully indeed.

Part of it, I’m fairly sure, is the lazy way I sprawl on the couch… so I’m calling the couch off-limits until this heals up, and using the armchair instead. Found the heating pad, too.

And being remarkably grouchy even for me. Disturb not the injured repository-rat. She bites.

20 Decembris 2007

Moving community and collection logos

I don’t want to admit how long it took me to get this right. Weeks. A small glitch elsewhere in the stylesheet that would occasionally throw a wobbly and occasionally not did not help matters. (Have I mentioned that debugging XSLT server-side is an inordinate pain in the posterior? I haven’t? Well, it is.)

Still. If you hate as much as I do that community and collection logos live inside the community/collection box and not in the h1 of the page the way $DEITY intended, read on.

I actually had to comment out the ds-logo-wrapper bit in DS-METS-1.0-DIM.xsl, because nothing I did in my theme seemed to override it. The other sneaky way to dispense with it is to set it to display:none in your CSS.

For our first trick, we will fossick around in the METS and the DRI to determine whether there’s a logo at all, and whether we’re actually on a community or collection page. Add the following variables to the top level of your theme’s stylesheet (look for the context-path variable and put them beside those):

<!-- Whether the current page has a logo associated with it. -->
    <xsl:variable name="has_logo" select="boolean(/dri:document/dri:meta/dri:objectMeta/dri:object/mets:METS/mets:fileSec/mets:fileGrp[@USE='LOGO'])”/>

<!–  Whether the current page is a community or collection home page. –>
     <xsl:variable name=”is_comm” select=”boolean(/dri:document/dri:body/dri:div[@n='community-home'])”/>
    <xsl:variable name=”is_coll” select=”boolean(/dri:document/dri:body/dri:div[@n='collection-home'])”/>

Next, we will go into the template where we want the logo to live and add this to it:

<xsl:if test="$is_coll or $is_comm">
  <img>
    <xsl:attribute name="src">
      <xsl:value-of select="/dri:document/dri:meta/dri:objectMeta/dri:object/mets:METS/mets:fileSec/mets:fileGrp[@USE='LOGO']/mets:file/mets:FLocat[@LOCTYPE='URL']/@xlink:href”/>
    </xsl:attribute>
    <xsl:attribute name=”class”>logo</xsl:attribute>
    <xsl:attribute name=”id”>commcollogo</xsl:attribute>
    <xsl:choose>
      <xsl:when test=”$is_comm”>
        <xsl:attribute name=”alt”>xmlui.dri2xhtml.METS-1.0.community-logo-alt</xsl:attribute>
        <xsl:attribute name=”attr” namespace=”http://apache.org/cocoon/i18n/2.1″>alt</xsl:attribute>
      </xsl:when>
      <xsl:when test=”$is_coll”>
        <xsl:attribute name=”alt”>xmlui.dri2xhtml.METS-1.0.collection-logo-alt</xsl:attribute>
        <xsl:attribute name=”attr” namespace=”http://apache.org/cocoon/i18n/2.1″>alt</xsl:attribute>
      </xsl:when>
    </xsl:choose>
  </img>
</xsl:if>

There is an additional wrinkle if (as I did) you want the logo to live in the ds-div-head with the community’s name in it. For this, you need to test whether a given head on the page is an h1, or you’ll get the damn logo on every head on the page. (Yep. I made that mistake.)

The fix is relatively easy; just change the xsl:if line above to <xsl:if test="$head_count=1 and ($is_coll or $is_comm)"> and you’re golden.

I hope somebody else uses this. Figuring it out drove me crazy for weeks.

19 Decembris 2007

Winter fauna

Just because it’s winter and the ice-fishers are out doesn’t mean all the Madison fauna disappear. I surprise rabbits pretty regularly in the mornings walking to work.

Coming home today I came to an abrupt halt about eighteen inches away from a muskrat who was ferreting about somebody’s front stoop for whatever reason. They’re attractive animals, really; this one had russet fur shading nearly to black underneath. Shame about that tail, admittedly.

I think he’d have been happier if I’d kept going instead of stopping to stare at him. He trundled up and over the snow to disappear under the steps.

My shoes. Walk in them.

A valued local colleague asked me the other day whether I would be going to next year’s code4lib conference.

Well, honestly? No. Not this year and I daresay not any other. At best, considering the history, that could only be an exercise in overanxious, easily-triggered people (myself hardly least) harshing each other’s mellows. At worst, I’d be forcefully reminded why I exited that group to begin with. Hope not, but you know? behaviors change slowly, and attitudes more slowly still.

As evidenced by a recent uproar on the web4lib mailing list, started by a Swiftian yahoo with a masculine name whose ethnicity I do not know (but I’ll eat my brand-new noise-cancelling headphones if he isn’t as white as I am). The code4lib conference offers two diversity scholarships, one for women and one for people of color. Mr. Swiftian Yahoo doesn’t think that should be. It’s patronizing, don’t you know, and librarianship is female-dominated anyway, innit?

Numbers don’t necessarily equal power, Mr. Yahoo, and in systems librarianship women don’t even have the numbers. Bet you didn’t know that. I bet, in fact, that you still don’t believe it. You don’t have to. It doesn’t mess with your job. It doesn’t cut you off from valuable support systems. You are never the freak in the room. You don’t have to worry that you aren’t credible in the eyes of potential employers, that you’re cut off from one of the more lucrative parts of the profession. You don’t have to go to conferences and watch a parade of people onstage who look nothing like you. You don’t have it assumed that people like you aren’t on that stage because they didn’t put in the effort to get there. You don’t have it assumed that you’re onstage because after all, we gotta have tokens, even if they’re inferior. You don’t have to worry that the vendors on the exhibit floor (or the developers of the open-source software you depend on) aren’t taking you seriously. People like you are not the constant butt of sophomoric locker-room humor and jawdroppingly, grotesquely offensive statements tossed off like they don’t mean a thing. People like you don’t have to watch their profession, their own profession reduce them to their sexualized body shapes. People like you don’t have to cluster at conferences to avoid—well, people like you!

These are my shoes, Mr. Yahoo. My sensible low-heeled librarian Munros. I have big feet; they might well fit you. Howsabout you walk a little in ’em before you open your big fat thoughtlessly privileged mouth? Before you have the gall to assault a few guys who are at least aware of the problem and singing the right notes on the subject?

And if you can’t be arsed to walk in my shoes, or at least listen to me about my experiences walking in ’em, you need to shut the everliving hell up.

And then maybe discussions about women might include women, instead of Swiftian yahoos who think they know all about us and can tell us what we ought to find patronizing. Wow, imagine that. Inclusion. Voice!

The web4lib discussion didn’t include women for quite a space, until Darci Hanning and Karen G. Schneider stepped in at last. It’d be funny if it weren’t so damn angry-making—and yes, I’m pretty mad right now, if you hadn’t guessed. I’m grateful to the men who spoke up for code4lib, don’t mistake me; that’s necessary, helpful, and valuable. Not to mention that it takes guts. But I can’t help being irked at the same old pattern of being talked about, at, and around instead of talked with.

This is bad of me, but I can’t help feeling just a wee tiny bit of schadenfreude, because some of the same people who jumped all over one male code4libber because he had the temerity to challenge a sexist marketing tactic are now finding themselves jumped on in essentially the same way. I think they’re learning the hard way how wretchedly difficult it really is to change behaviors and attitudes.

That’s healthy. Personally, I don’t think the code4lib scholarships are actually about the women and people of color; I tend to agree that in and of themselves, they’re a sop and they don’t accomplish much. As symbols, though, they’re important; they create mindfulness. They’re fundamentally about not letting the privileged folk who don’t have to think about the problem (because it doesn’t directly impact them) turn into Swiftian yahoos because they’ve blithely forgotten the problem exists. It’s about holding their noses to the grindstone until the problem is solved.

And when the problem is solved—when systems librarianship looks like the rest of the profession, when I have the same tech-support networks everybody else does, when I don’t have to put up with sexist crap or people who defend it, when a woman is treated as courteously as a man and taken as seriously as a man in all professional and professionally-liminal contexts—I’ll be the first to say that the gender-diversity scholarship is patronizing and ought to be done away with.

The problem? Is so very, very, very not solved. As Mr. Swiftian Yahoo has amply demonstrated. Kudos to code4lib for being mindful, and defending that mindfulness.

Edited to add: Missed Darci Hanning’s post to the list and shouldn’t have. Fixed omission, and I apologize for it.

17 Decembris 2007

Join the chorus

You know, I hated writing Roach Motel. I’d write a bit and then feel angry. It wasn’t a catharsis, because writing it hasn’t changed anything—and may well not—not where I work and not at the larger library-policy (or, $DEITY forfend, higher-education-policy) level.

But it helps, it does help, not to be the only person saying these things louder than a whisper.