Archive for July, 2006

31 Iulii 2006

Banzai

Getting back to hacking DSpace invariably means lots of things muttered under my breath that probably shouldn’t be. Hazards of working in a cube farm.

However, I did clean up a few things today, including actual configuration of the statistics plugin (the defaults are a wee bit absurd for MPOW), fixing up a lot of config stuff that I’d changed without initially remembering that I’d changed it, and clearing up some wording that was causing misunderstandings (what’s registration for, anyway?).

Oh, and I told DSpace not to put the filename as alt-text for image thumbnails on item pages. Who on earth put that in? That’s so sad and wrong from an accessibility standpoint that I’m probably going to emit a patch for it when I next have time to spare. Wish I’d noticed it sooner.

I think I’ve got the item lists re-hacked correctly, but I’m alarmed at the thought of testing them, because they refactored a lot of that code and I’m not sure I entirely understand how they’re sorting out ordering. But we’ll see.

There’s plenty more I need to sort out before I can even install this puppy and fix bugs. End of this week? Maybe? If I’m lucky? And if I remember that Java, like just about everything else in the world, is case-sensitive? (Maybe I just need a different font in my editor. Not enough visual distinction between “bslink” and “bsLink”.)

29 Iulii 2006

Why it matters

“All I did was tell a mud-wrestling joke,” says a man, astonished that a woman has taken offense. “I just quoted Frank Miller, or noted the flaming hawtness of the chick on his latest cover. I just tossed off a reference to the megabytes of pr0n I supposedly (but not really) have on my hard drive.” (Real-life examples have been modified to protect the guilty. Not modified very much, mind you.) “I didn’t mean anything by it. What’s the big deal?”

The big deal is that however innocent this stuff may be on its own (and I would actually argue that it isn’t, but right now I’m not going to), it is commonly wielded as a weapon by open misogynists. Go read some Slashdot if you don’t believe me; or check out Bess Sadler’s dreadful but true tale. I guaran-damn-tee you the guys who straight-facedly argue that women are ruining IT, or get so defensive at the least objection to their behavior as to respond with pure white-hot hatred—these guys toss off blonde jokes, booth-babe jokes, and PMS jokes right and left.

The world has improved enough that professional women can sometimes avoid these creeps, and most creeps have gotten the message that open misogyny on the job will get them fired. This does not, I am told, stop them from exchanging misogyny where women—especially female bosses—can’t hear them. This points to another part of the problem: eliminating overt misogyny isn’t enough. Women aren’t stupid. We know it’s out there (doesn’t the Internet constantly shove it in our faces, after all?), and we know dumb jokes are its most common manifestation.

So when you crack such jokes, or when you argue that they’re no big deal, or when you react with belittling disbelief to someone objecting to them, you immediately lose my trust. I have to assume you’re a creep and you’ve been hiding it, because if I give you the benefit of the doubt and I’m wrong to, you can find all sorts of clever and interesting ways to poison my professional life, or even worse.

Leaving aside, of course, that creeps are creeps and who actually wants to be around them except other creeps? Sure, that’s guilt by association, but a bunch of creeps is many times nastier and more dangerous than an individual creep. Ask yourself about the men who emailed Bess; isn’t it hard to believe they weren’t egging each other on?

At the very least, the best of them, even if he said nothing whatever to Bess, was complicit in a community that turned viciously on a female member. The first sexist joke in a community, particularly the first unchallenged one, raises the possibility of just such another savage pile-on. The thought of that happening in a community of practice that I belong to sickens me.

When I was younger, I was dead easy to intimidate, and I had my antennae up looking for reason to be afraid. Although PubStruct’s unfailing decency gave me some confidence, I lost some when Neurotic Ex-Boss took against me, because part of the explanation for that was that I was a woman and Neurotic Ex-Boss lashed out at competent women. (Nor was that all he did, but that’s telling tales out of school; suffice to say that he was the archetypal sexist creep and I hope I never see him again.)

I don’t get scared as much now. I get angry, and these days I get out. To the man who’s said one stupid thing, doubtless that seems excessive. But, damn, I have had my fill and more of sexist attitudes, and I never wanted to believe men who thought and behaved like that existed in the first place! There’s no such thing any more as “just one joke,” just one instance of cluelessness, just one time being overlooked. As was pointed out in Karen’s comments, Ellen Spertus wrote about this fifteen years ago. Fifteen. Years. Ago. And none of what she wrote reads to me as outdated. So, yeah, explain to me why the hell I shouldn’t be angry?

Bess Sadler wrote the other half of this post for me. Driving women out of casual conversations about computer systems and systems librarianship means more than mere incourtesy. It cuts off a key source of learning. Some men I know could doubtless have solved last week’s CVS problems in ten minutes flat. I don’t trust those men (and I am not alone; I heard “I’d never [go to them] unless I was desperate” from another female systems librarian last week), so I didn’t ask them.

Sure, I figured it out myself. But consider the time-spent differential, and consider that I now look less effective than someone who can comfortably ask—even though I’ve no fewer wits, no less ability.

It matters. It matters a lot.

28 Iulii 2006

Draw

I finally wrestled CVS and Eclipse to a draw. I still have to dump some changes in (including grabbing the right postgresql.jar off the server, let me not forget on Monday), but I’ve got a branch to dump them into, based on 1.4 final with most of my changes from the beta.

And I have a much clearer mental model of CVS now, which is not a bad thing.

The last hurdle was sorting out why CVS repeatedly refused to import the jsp/local directory from my beta changeset. The handy-dandy .cvsignore file that CVSing the code from SourceForge puts in your jsp folder turned out to be the culprit—I hadn’t even known it was there.

But it hath been sorted, and on Monday I can go back to hacking the new code. I wouldn’t want to administer a complex project’s CVS for a living, though. Ugh. Just the thought makes my head hurt.

Speaking of DSpace

So, yes, DSpace 1.4 went gold yesterday—with a caveat. If you’re using proprietary Oracle instead of free PostgreSQL, you’ll have to wait. (No problem for me; I’m PostgreSQL all the way.)

It’s not that the DSpace folks didn’t want to accommodate their big-iron users. It’s that they couldn’t. As they explain in the release announcement:

DSpace is an open source, community-developed and maintained project; none of the committers have access to an Oracle platform with which to test Oracle support, and so we have to rely on wider community participation to maintain that functionality.

Isn’t that interesting. Arguably, Oracle is losing potential business because developers couldn’t build on top of it because they don’t have access to it. I grant you it’s not much potential business, but it’s something… and I can’t imagine DSpace is the only software project, open-source or proprietary, to face a similar dilemma and make a similar decision.

Appropriate analogies to the research literature and access to it are left as an exercise for the student.

The behemoth stirs

I have referred to university faculty and academic administrators, none too kindly, as the slumbering behemoth as regards the march of open access.

Change is. (Is it ever. The slides for the scholarly-communication talk I gave as recently as April? Are utterly obsolete and need to be reworked. So it goes.) The behemoth is starting to yawn, stretch, and bestir itself.

I’m quite pleased and proud that one of the authors of the ACLS draft report on humanities and social-science cyberinfrastructure is from MPOW. (I’m trying to inveigle him into helping me with a brown-bag series, but no luck yet; he’s a busy man.) Recommended measure number two from the report: “Develop public and institutional policies that foster openness and access.” I can’t argue with that. Wish they’d fix the punctuation, though—em dashes and smart quotes seem to have dropped out of the PDF. Font-embedding problem, maybe?

And then we’ve got twenty-five provosts tossing a gauntlet (PDF) over FRPAA. That’s huge, stunningly huge; we’ve had libraries and the occasional faculty senate make their voices heard in the past, but this is Big Admin and it just cannot be ignored. (It contains a lot of the usual suspects, actually: California, Dartmouth, Purdue. But where are MIT and Cornell, I wonder?) I fear I can only look wistfully on from the sidelines, as when I brought this up with MPOW’s provost he only shrugged, but who knows? When there’s leadership, others may follow. There’s another meet-and-greet with the provost in a month; it’s in my calendar!

Interesting times. Interesting times. I do like what I do.

27 Iulii 2006

Bleh

I spent all day tussling with Eclipse and CVS, and I’m wiped. I swear to $DEITY I am starting to think that managing my own changes on my own filesystem is easier than coping with CVS’s labyrinthine organization combined with its byzantine options combined with its impenetrable messages. I am just finding it all remarkably frustrating.

But I swore up and down I’d get my DSpace mods into a CVS repository… so I’m guessing I’m going to have to start over (“plan to throw one away…”) and maybe possibly set it up right this time.

I’m really annoyed at the time I threw away rehacking mods in my incorrect setup, though. Grrrr.

Oh, yeah, and DSpace 1.4 is out finally.

26 Iulii 2006

Getting past Cro-1337non Man

I recently added Feminist SF — The Blog! and Written World to my home blogroll. Also don’t miss Girl Wonder if you’re a comics geek, and perhaps even if you’re not.

Some of the discussions in these venues can sound frighteningly like the current libraryland dustup over sexism, the latest episode of which is Karen’s. (Oh, and y’all? Don’t make this about feminism. It isn’t about feminism. It’s about sexism. Let’s kindly remember that, and not get distracted by waving red capes. Er, so to speak.)

Take, for example, this thorough dissection of a brain-dead remark by Marvel’s Joe Quesada about female representation amongst comics creators. Section II in particular is highly relevant to Karen’s post’s comment section, and don’t miss the quote by Laura Q of Feminist-SF!

I honestly wonder if Dr. Miller (and it is Dr., and I apologize for not having used the title previously; I wasn’t aware he held it) understands how insulting an “I can’t find good women!” claim is in librarianship. This is a majority female profession, for those following along at home. Mostly-male panels, mostly-male conference-speaker rosters, mostly-male administrations—they proclaim “A minority of men is smarter and more able than the majority of women.”

There’s no acceptable way to make this claim in librarianship. Just no way. If you’re not finding capable women in this field, you’re not looking or you’re driving them off. Even in systems librarianship where the gender ratio is skewed masculine compared to the rest of the field, if you’re not finding, you’re not looking. Laura Q just told you why you’re not looking, and Karen explained clearly in her post’s comments why sitting back and waiting for female speakers to fall from the nearest tree is a losing strategy. So go look.

I recommend a very simple weak-ties technique, for starters: when a speaker turns you down, ask him or her to recommend other speakers. Make a point of following up with this question if the speaker who turned you down is likely to have a significantly different professional network from you. Asking best buds for recs, especially if your network’s demographics are pretty much like yours and one of your goals is to broaden your speakers’ demographic range, isn’t going to expand your horizons.

I won’t comment on Dr. Miller’s “I won’t beg,” because if I did, it’d get ugly. It does, however, lead me a long way past Dr. Miller to the beyond-the-pale phenomenon that sends my blood pressure into the stratosphere, the phenomenon I was dismayed and disheartened to find in my chosen field: forthrightly misogynistic jokes.

I understand how representation issues become invisible. I do. I don’t blame Dr. Miller for getting caught out; he’s far from the only one, and I do believe given the exchange in Karen’s comments that he’s going to put some real effort into diversifying his corner of the library world. So go him.

I also understand knee-jerk defensive reactions. I have to talk myself down from them too, generally around issues of race or class (where I’m privileged and I know it). I’ve been hard on Dr. Miller about his in this post, because knee-jerk defensiveness is not (she said sheepishly) an attitude that wins friends and influences people. In fact, in my experience (on both the offense-giving and offense-receiving end of things) it magnifies an original error a hundredfold. At least.

What I don’t understand is how anyone can think that a sexist joke is acceptable in company containing strangers (never mind professional colleagues). Sure, stuff gets said around people you know well that in any other context would be out of line. But… around people you don’t know all that well… why why why? And yet it happens. When I say “tech-boy locker room” and “Cro-1337non Man,” y’all, this is what I mean. Oh, and, um, don’t ask me to be specific in public unless you really, really mean it, because I can curl your toes with some of the stuff I’ve personally witnessed, and some of my friends have experiences that make my toes curl.

What makes a Cro-1337non? I won’t even speculate, though I’m fond of the “their folks didn’t raise ’em right” theory. It’s not that they’re single; I know married Cro-1337nons. It’s not that they’re youngsters; the ones I know are more than old enough to know better. I don’t know why they’re out there. I’ll just assert that they’re out there, and they’re a problem. Since libraryland’s Cro-1337nons are naturally concentrated in systems… I don’t need to finish this sentence, do I? Supply your own ending. Or three. Could Cro-1337nonist disrespect among library-software vendors be part of the problem libraries have getting what they want and need? I dunno. Could be.

I think part of the difficulty (and Mr. G-rm-n will have yet another reason to want my head on a pike after this) is that librarianship doesn’t have enough native-born techies. We find ourselves forced to import from the exterior, and the exterior is brim-full of the Slashdot demographic, prime examples of Cro-1337non Man.

Librarian techies don’t have to be female to fix the problem, though. If it accomplishes nothing else, sitting through an MLS will teach just about any guy the basic rules for coping with a roomful of women. A CS degree, not so much. And in my (admittedly anecdotal) experience, guybrarians mostly aren’t the problem, though I’ve met one or two systems guybrarians I wouldn’t personally want to work with on this account, and other guybrarians I could name have been known to magnify existing problems with knee-jerk defensiveness.

Did I mention “Don’t do that?” with regard to defensiveness? Oh, good. “I acknowledge the problem,” “I’m sorry,” “I’ll fix it,” and “I’ll try not to do it again” are vastly more useful (and, of course, kinder and more courteous) reactions. A defensive reaction to a complaint makes the complainant, who was undoubtedly nervous and unhappy about complaining in the first place, feel many times more nervous, unhappy, and unwelcome. Been there, done that, left the T-shirt behind me.

And for heaven’s sake, if you want to avoid the Cro-1337non label, don’t whinge about how a given group was so much freer and nicer in the old days (before, you know, all those women started demanding some respect), how self-censorship is such a drag. (Yes, has happened.) That’s heinous. That’s saying that lousy sexist jokes are more important to you than the women around you. What self-respecting woman wouldn’t seek friendlier shores?

A particular pet peeve of mine is being asked to monitor a Cro-1337non Man, or a group that contains them, for faux pas. (Yep. Has also happened.) Often this is well-meant, but it still rankles. I don’t like to worry about other people’s behavior; I have enough trouble keeping tabs on my own! Never mind that I can’t relax and enjoy a social group if I’ve been cast as its den mother. Nor, I might add, can the other group members be entirely comfortable around me. How could they? I’ve been told to judge them!

The more fundamental problem, though, is that I’m being asked to solve a problem I didn’t create and bear zero responsibility for. I ain’t nobody’s mama, nor nobody’s nanny, nor nobody’s etiquette coach, and I decline to be nominated to these roles merely because someone else’s behavior shows a need for them. Cro-1337non Man needs to change his attitudes or at the least learn to self-monitor, and there’s plenty of reading material on and off the Web to help him. (I recommend the Women in Linux HOWTO, for starters.)

An awful lot of good work and good intent can be unraveled by one Cro-1337non. Maybe that’s unfair, but that’s how it is—any techie woman you name has been dealing with Cro-1337nons for ages, and she’s learned to vanish when they turn up. That’s especially dangerous in librarianship, because nothing gets done in a library without a woman involved somewhere. Frustrated library techies take note; if you want change in libraries, you need women, so don’t tick ’em off over something as stupid and pointless as sexist jokes.

Whether we hunt down the Cro-1337nons or just out-compete ’em till they go extinct, the sooner they’re gone, the more gender-representative systems librarianship will be compared to the rest of the field, and the more pleasant it will be to be a female systems librarian. Believe me, I’m all for that!

25 Iulii 2006

Things to do with round tuits

I set myself up a bitsy MySQL database today to help me track all the stuff from MPOW’s school of IT that, luck permitting, will make its way into the repository. Needed a book to disambiguate some of the datatypes for me (does anybody use anything but varchar for text fields? if so, why?) and sort out how to add foreign-key constraints, but it’s up and working and I may even write some PHP around it.

(We all know I don’t know any PHP, right?)

And since I had a round tuit to spare yesterday, I spent it applying to said IT school as a nondegree student. I need another bloody master’s degree like a hole in the head, but should I get through their four “foundation” courses, I might consider a certificate or something.

Past time I garnered a real clue about some things.

22 Iulii 2006

Silenced

I had a post all ready to go in response to Rachel’s query about private reactions to public questioning of sexism in library technology. It was an outspoken philippic in the best CavLec tradition of unabashed, fiery candor.

After writing it and saving it as a draft, I got up, walked around the apartment a bit, hopped on the exercise bike and drove it the fastest mile I think I’ve ever driven it, walked around the apartment some more, did a stretch or two, ate some tortilla chips by way of comfort food, sat down again, opened a new post window, and started transplanting the least-inflammatory segments of that draft into this post.

For the record, Rachel, I noticed exactly the behavior you did. I’ve gotten email aplenty on this subject. What’s more, when I politely urged some of my correspondents to take their aptly-expressed concerns and experiences public (for mailing-list values of “public”), what I heard without exception was, “Oh, I can’t—I have to work with guys like that. It’ll play merry hell with my daily worklife.”

I talked last week with another library blogger who’s written on this subject. She’s leery of writing more, though she said she’s got more to say. She’s got plenty of work and personal crises on her plate; why should she sign up for one more crisis?

I explained in my own prior post on the matter that I’d kept another fine, fiery post in draft instead of publishing it. I explained why I did that. It’s worth noting, I think, that after the post I did have the cojones (thanks for the mot juste, Karen!) to publish, two #code4lib members, wholly independently of each other as far as I know, told me that my “airing dirty laundry in public” (direct quote) had angered a third member. Would I please smooth it over, asked one. Next time I ought to talk to the principals first, said the other.

Is it a coincidence that Rachel was the first to ask publicly about the public-private divide in women’s behavior around this? I don’t think so, not at all; Rachel doesn’t work in a library. I do. I surely do fear for my career if I stir up the kind of tornado that I was about to, the kind of storm that if you ask me, this problem deserves.

There’s a pattern here, I will make bold to assert. It’s not just that female systems librarians who have dealt with misogyny and sexism (and I’ve rarely met one who hasn’t) are leery of speaking up about it, though goodness knows that’s hideous enough. It’s that we are actively being silenced, even by extremely decent people who mean nothing but good.

That’s just ugly. Silence doesn’t fix this. Pluralistic ignorance (“oh, nobody else is complaining, so it must be just me”) doesn’t fix it. Fear doesn’t fix it—not fear of saying it, and definitely not fear of hearing it said.

And so now I’ve silenced myself, too. Twice now—quite a bit more than twice if you count the experiences I’ve shut up about, never mind the stories I’ve heard and would like to retell. I’m so frustrated and angry about all the things I want to talk about but don’t dare to—crazy ironies, jawdropping disrespect, absurd defensiveness, common and damaging pushback—that I’m ready to shed burning, acid tears. I want to talk; I want to be heard. I’m deathly tired of this knot of sorrow-laced wrath that wound itself up somewhere underneath my sternum months ago, churning destructively away ever since.

I’m lucky, though. This isn’t a workplace issue for me, thank goodness; it’s only come up in communities of practice. I think that’s what frees me to say as much as I’ve said, just as I noted that it frees Rachel. Sure, I worry about my future marketability, but at least I don’t have to worry about my present job!

I’m lucky to have gotten where I am at all, I now begin to understand. I’m so lucky that Allen and Jerry and Jon and Gene and James and the rest of the PSWG techies held to mannerly and honest standards of personal behavior. Their open respect for me led directly to what I now do, and I do, in spite of everything I’ve just said, love what I do.

20 Iulii 2006

Nope, Java’s still evil

I swear, I didn’t write yesterday’s Java growl to get attention. Get it I did, however, and in spades—a month’s worth of CavLec-related email, all to tell me that in Java, strings are objects, and == applied to two String objects checks to see whether they’re the same object, not whether they contain the same string.

I won’t forget it again. Believe me, I won’t!

The best explanation I have for yesterday’s attack of pure stupidity is that I imprinted on string-related programming. I was a text wrangler. Regular expressions and fancy search-and-replace tricks and splitting strings up and jamming them back together, that was what I did. I once wrote a program that decomposed Quark’s XPress Tags to translate them into CSS. I swear I did. It was a heinously bad program in hindsight (I didn’t know nothin’ ’bout writin’ no parser), but it worked. It even understood defaults and left them out of the result—no background-color: white; color: black outta me, no sir!

And I did it in Python, which kindly treats strings as basic data structures. You compare two strings, you’re comparing two strings. None of this object nonsense to get in the way. Because really, how often do you need to check whether two String objects are the same object? Compared to how often you need to know whether they contain the same sequence of characters?

I mean, sheesh, even strings being objects isn’t necessarily a barrier to sane comparison behavior. If you were to implement strings as objects in Python (and for all I know, they are implemented that way; I’ve never peered that far under the hood—I doubt it, though, because I suspect that stuff is all in C), you could simply make == Do The Right Thing with a smidgen of operator overloading—

Oh. Wait. Java doesn’t do operator overloading. (As far as I can tell, anyway. Google says that people have been talking about it since 2001 or thereabouts!)

*headdesk*

I give up. Sorry, y’all, Java is still Teh Evil. I do appreciate the efforts of all my Java-aficionado readers to teach me the One True Java Way, however.