tl;dr I read the Ruby Community Conduct Guideline. There are some appealing elements, but it is not actually workable as a governance document. I see three key problems: lack of recourse, assumption of symmetry, and non-handling of bad actors.

recourse

The Ruby Community Conduct Guideline has an arresting blankness where I expected to see information on procedure. In particular, it doesn’t address any of the following:

How, and to whom, can conduct bugs be reported?

Who has the authority to mediate, or adjudicate, disputes under this guideline?

How are people selected for this role?

What sanctions may they impose? (What may they not impose?)

What procedures will they follow to:

Investigate situations

Reach decisions

Communicate those decisions to the aggrieved parties and the community at large

What enforcement mechanisms are (and are not) available after decisions are reached? Who is invested with the authority to carry out these enforcement mechanisms?

The absence of such procedures is obviously worrisome to people who identify with complainants and see themselves as being at risk of being harassed, because it indicates that there is, in fact, no mechanism for lodging a complaint, and no one responsible for handling it. But it should also be worrisome to people who see themselves as more likely to be (however unfairly) among the accused, because it means that if someone does attempt to lodge a complaint, the procedures for handling it will be invented on the fly, by people under stress, deadline pressure, and heavy criticism.

The history of such situations does not suggest this will go well.

symmetry

There are, again, some appealing statements of aspirational values in the Guideline. But the values are written as if they apply equally to all parties in all scenarios, and this has serious failure modes.

I expect, for instance, that the first guideline (“Participants will be tolerant of opposing views”) is meant to avoid folding an ideological litmus test into the Guideline. And I actually share the implied concern there; poorly drafted or discussed codes of conduct can indeed shade into this, and that’s not okay in large, international spaces. Insofar as this statement says “if I’m a Republican and you’re a Democrat, or I’m on Team Samoas and you’re on Team Tagalongs, or I’m a vi girl and you’re an emacs guy, we should be able to work together and deal with our disagreement”, I am all for it.

But what if my viewpoint is “someone should be allowed to check your genitals to see if you’re allowed to go to the bathroom“? Or “there aren’t many black software engineers because they’re just not as smart as white people”? (To be clear, not only do I not hold either viewpoint, I find them both loathsome. But you needn’t look far to find either.) Well. If I have any position of power in the community at all, my viewpoint has now become a barrier to your participation, if you are trans or black. You can’t go to a conference if you’re not sure that you’ll be able to pee when you’re there. And you can’t trust that any of your technical contributions will be reviewed fairly if people think your group membership limits your intelligence (unless you hide your race, which means, again, no conference attendance for you, and actually quite a lot of work to separate your workplace and social media identities from your open source contributions). Some people will laugh off that sort of outrageous prejudice and participate anyway; others will participate, but at a significant psychic cost (which is moreover, again, asymmetric — not a cost to which other community members are, or even can be, subject) — and others will go away and use their skills somewhere they don’t have to pay that kind of cost. In 2/3 of these cases, the participant loses; in 1/3, the open source community does as well.

And that brings me to the other asymmetry, which is power. Participants in open source (or, really, any) communities do not have equal power. They bring the inequalities of the larger world, of course, but there are also people with and without commit bits, people recognized on the conference circuit and those with no reputation, established participants and newcomers…

If, say, “Behaviour which can be reasonably considered harassment will not be tolerated.”, and low-status person A is harassing high-status person B, then even without any recourse procedures in the guideline, B has options. B can quietly ensure that A’s patches or talk proposals are rejected, that A isn’t welcome in after-hours bar conversations, that A doesn’t get dinner invitations. Or use blunter options that may even take advantage of official community resources (pipe all their messages to /dev/null before they get posted to the mailing list, say).

But if B is harassing A, A doesn’t have any of these options. A has…well, the procedures in a code of conduct, if there were any. And A has Twitter mobs. And A can leave the community. And that’s about it.

An assumption of symmetry is in fact an assumption that the transgressions of the powerful deserve more forbearance than the transgressions of the weak, and the suffering of the weak is less deserving of care than the suffering of the powerful.

bad actors

We write code in the hopes it will do the right thing, but we test it with the certainty that something will do wrong. We know that code isn’t good enough if it only handles expected inputs. The world will see your glass and fill it with sfdeljknesv.

When interpreting the words and actions of others, participants should always assume good intentions.

I absolutely love this philosophy right up until I don’t. Lots of people are decent, and the appropriate reaction to people with good intentions who have inadvertently transgressed some boundary isn’t the same as the appropriate reaction to a bad actor, and community policy needs to leave space for the former.

But some actors do not, in fact, have good intentions. The Ruby Guideline offers no next actions to victims, bystanders, or community leaders in the event of a bad actor. And it leaves no room for people to trust their own judgment when they have presumed good intentions at the outset, but later evidence has contradicted that hypothesis. If I have well-supported reasons to believe someone is not acting with good intentions, at what point am I allowed to abandon that assumption? Explicitly, never.

The Ruby Guideline — by addressing aspirations but not failure modes, by assuming symmetry in an asymmetric world, by stating values but not procedures — creates a gaping hole for the social equivalent of an injection attack. Trust all code to self-execute, and something terribly destructive will eventually run. And when it does, you’ll wish you had logging or sandboxes or rollback or instrumentation or at the very minimum a SIGTERM…but instead you’ll have a runaway process doing what it will to your system, or a messy SIGKILL.

The ironic thing is, in everyday life, I more or less try to live by this guideline. I generally do assume good faith until proven otherwise. I can find ideas of value in a wide range of philosophies, and in fact my everyday social media diet includes anarchists, libertarians, mainline Democrats, greens, socialists, fundamentalist Christians, liberal Christians, Muslims, Jews of various movements, people from at least five continents…quite a few people who would genuinely hate each other were they in the same room, and who discuss the same topic from such different points of view it’s almost hard to recognize that it’s the same topic. And that’s great! And I’m richer for it.

Wow, it turns out if you have a ton of clients materialize over the fall, you have no time to tell the internet about them!

So here’s what I’m up to:

Running for LITA president! Yup. If you’re a member in good standing of LITA, you’ll get your ballot in March, and I’d really appreciate your vote. Stay tuned for my campaign page and official LITA candidate profile.

Coding for Measure the Future! This consists largely in arguing with Griffey about privacy. And also being, as far as I can tell, the first person on the internet to have gotten a Django app running on an Intel Edison, a tiny adorable computer that fits in the palm of my hand.

Coding for Wikimedia! So…that happened. I’m doing an internal project for The Wikipedia Library, improving the usability of their journal access application system (and creating the kernel of a system that, over time, might be able to open up lots more possibilities for them).

Coding for CustomFit! We’ve debuted straight-shaped sweaters along with our original hourglass (a coding process which was not unlike rebuilding an airplane in flight), so now you can make sweaters for people who may not want normatively-feminine garments. Yay! Also I implemented a complete site redesign last fall (if you’re wondering, “can Andromeda take a 12-page PDF exported from Photoshop, translate it into CSS, and rewrite several hundred templates accordingly”, the answer turns out to be yes). Anyway, if you’d been thinking of taking the CustomFit plunge but not gotten around to it yet, please go check that out – there’s a ton of great new stuff, and more on the way.

Keynoting LibTechConf! My talk will be called “The Architecture of Values”, and it’ll be about how our code does (or, spoiler alert, doesn’t) implement our library values. Also the other keynoter is Safiya Noble and I am fangirling pretty hard about that.

“I need an excuse,” I thought, “to talk to people and not just my cats,” because (great as my cats are) working from home is lonely sometimes.

“Gosh, there are lots of libraryland coders doing really cool stuff,” I thought, having brainstormed a giant list of them. “I could chat with them, and if I recorded it, I could call that a podcast!”

So here it is. Open paren is a series of conversations with coders in, and near, libraries, at all levels, with all sorts of use cases. It’s about starting something: conversations, projects, ideas. It’s about all these remarkable people doing fascinating things that connect tools, services, and values. Want to play along? You can!

In the first episode, the super-awesome Cecily Walker and I talked about Maptime, metadata, human stories, user experience, learning to code, digital humanities, inclusive librarianship, and more (I told you she’s super awesome). Soon I’ll talk to Francis Kayiwa about devops, and Ed Summers & Bergis Jules about their work doing rapid-response social media archiving of things like #ferguson (which may well be the coolest libraryland tech work happening today).

I don’t actually have time to do a podcast, so this is an exercise in incrementalism – what’s the minimum I can do to get this thing out the door? So there’s no fixed publication schedule, and I should probably get around to buying a proper mic but haven’t, and I definitely don’t have time to artisanally hand-edit audio, because the perfect doesn’t get to be the enemy of the good. I did have a pretty fun time writing scripts in a couple of languages I don’t really know to automate my production process, though, so maybe I’ll blog about that later. (Want to read the scripts? Go for it.)

Last night I made myself a whiskey sour and curled up to start watching Ken Burns’ documentary on Prohibition.

The early activists, as I’d known, as you likely knew, were women. They were the ones who had to bear the costs of alcohol-fueled domestic violence, of children with no other caregivers, of families without economic support (and in a world where both childcare expectations and restrictions on women’s labor force participation reduced their capacity to provide that support). And they needed the costs to stop, but they didn’t have a rhetorical or legal space to advocate for themselves, so they advocated for the children, for God, and against the conduct of men.

They had some early and dramatic successes — how could it be anything short of terrifying to have two hundred women kneeling in prayer and singing hymns outside the door to your saloon? — but ultimately the movement was unsuccessful before the founding of the Anti-Saloon League, where the pictures all flip from women to men, and the solutions are political, using suffrage (a tool women didn’t have) and targeting specific politicians (who are best targeted through conversations women couldn’t have, in places women couldn’t go). After prayer and hatchets failed — after women constrained to situate themselves within or dramatically against a tiny range of acceptable conduct failed — the political machine, and the men eligible to be part of it, succeeded.

I had the honor of being on an IMLS Focus panel this Thursday in Washington, DC. The theme of the day was needs of a national digital platform, one of the core IMLS funding priorities; my panel (chaired by the inimitable John Palfrey, and also featuring Bethany Nowviskie, Kim Schroeder, and Margo Padilla) was on professional development.

I had an outline about the nuts and bolts of ongoing coding skills training for librarians, based on my experience teaching workshops and what I learned interviewing librarians who code for my latest Library Technology Report. And then I found I couldn’t deliver it because, well, I had to say this instead.

There’s more I was trying to say, but I couldn’t quite find the words. Maybe you can help.

I was going to talk about why ongoing tech training is hard, the nuts and bolts of pedagogy, and what you can do to help. Maybe I still will in Q&A. But right now, 40 miles north of us, Baltimore is burning. Or it isn’t: it is ten thousand people protesting peacefully against many years of secret violence, violence kept secret by habitual gag orders, with national media drawn like moths to the mere handful of flames. The stories I hear on Twitter are not the same as the stories on CNN. And we, as cultural heritage institutions, are about our communities and their stories, and about which stories are told, which are made canon, and how and why.

So I want to talk about how technology training and digital platforms can either support, or threaten, our communities and their ability to tell their stories, and to have their stories reflected in the canonical story that we build when we build a national platform. I want to make it explicit what we are doing in this room, today, is about deciding whose stories get told, by whom, and how. Whose are widely recognized as valid, and whose are samizdat, whose get to reach our corridors of power only through protest and fire.

I was reminded this morning of an article co-authored by Myrna Morales, who was researching the Young Lords Party, which is a political organization in her native Puerto Rico, and she couldn’t find any literature about it, and she had a sinking feeling, she thought maybe she should check the header for gangs, and that was where she found information on this.

And I was reminded of a thing I did at a Harvard LibraryCloud
hackathon earlier, intersectional librarycloud, where I looked at the most popular elements circulated at Harvard, using the StackScore and their API, and I looked at whether they also had subject headers that reflected women’s studies or LGBT studies or African American studies, using code and meta data as a way to surface what people learn matters when they’re doing scholarship and learning at one of the most famous institutions on earth. TL;DR, it didn’t really turn out to matter. They’re not reading about stuff like that when they’re reading the things that they mostly read at Harvard.

So, the way that we structure our meta data, the content we seek, the tools we give people for interrogating the platform, whom we empower to use these tools and add this content and teach about these tools and construct them, how many they are, how diverse they are have these profound effects on which stories that we advance and we say matter as cultural heritage institutions, which in turn, shapes the present and the future.

I’ve said before that libraries are about transforming people through access to information and each other, and that’s true, but today I’m thinking more about what we can do to let more people transform libraries, and how libraries and our content and APIs and platforms can be tools for more people to transform each other. How the metadata that courses through digital platforms is the frame we have to tell, and interpret, stories, and how therefore as metadata creators we must be consciously inclusive. And how, when we train librarians to use and create national digital platforms, we can train them to use those skills in a contextually aware way, to not just understand technology but to interrogate it from a critical perspective. To see how technology interacts with our communities and their stories and where those gaps are, and how they can be part of bridging them. Because here we are, comfortable and safe and supplied with coffee, mostly white, talking about how millions of dollars should be spent, and Baltimore is convulsed by its history, and by the blind eyes so many of us have turned to it.

I’ve read the Council discussion and communicated directly with OIF (in my opinion, these conversations are generally moving in the right direction) and had lots of conversations around the internet with lots of people who have lots of different opinions. Here are mine. (Totally as bullet points because my brain hasn’t had time to paragraph yet.)

What should happen next

I do not support calls for the poster to be removed from the ALA Store. Banning materials for Banned Books Week is just a bridge too far for me. I’d rather let people buy it or not, as they prefer; stop promoting it; and don’t reorder when the stock runs out.

I do want to see the association choose something else to represent my profession to the world. Pick a new design and promote that.

Going forward, I want to see the association increase its commitment to involving a diverse array of stakeholders in public communications and major decisions — and take specific, concrete, public steps in this direction. This should have been caught before it was released. Future things should be, too.

As a divisional Board member, although LITA is not involved with Banned Books Week, I still bear some responsibility for enacting this commitment: consulting diverse stakeholders and noticing when decisions might need additional perspectives. I will be working harder to remember this. In fact, I’ve just set a recurring task in my todo system to remind myself. You should tell me if I’m doing a bad job of it.

Why I think this (diversity arguments)

It is extremely important to point out that:

veiling practices vary significantly throughout the Muslim world (and there are also non-Muslim cultures with veiling or head-covering practices);

women’s decisions about whether, and how, to veil exist at every point along the spectrum from coercion to choice — in particular, lots of women who wouldn’t face blowback for uncovering their heads or faces prefer to cover them;

there are all sorts of lively arguments among Muslim women, including Muslim feminist women, about veiling;

I knew this before seeing the poster, so it’s been really important to me to seek out perspectives from people who are Muslim, brown, and/or from the Middle East; I don’t want to assume they find it offensive, because that would just be projecting my own (white, western, non-religious) experience. And what I’ve found is that nearly all of the people I’ve talked to who do, in some way, see themselves in this poster have found it deeply troubling. (The notable exception to this is the designer herself; I haven’t spoken with her, but I am reliably informed that she is a Muslim woman who did not interpret the poster negatively.)

In light of all this, my feelings are:

Many (not all!) Muslim and/or brown women are very unhappy with this poster.

I’ve heard several librarians who serve Muslim populations say that they cannot use this poster in their libraries.

My impression of the poster is that it tends to reinforce the destructive trope that veiled women are oppressed; the visual equation of “re(ad)striction” with a key elements of a niqab reads to me like these are both forms of oppression. I think a lot of likely viewers of the poster will bring to it the assumption that Muslim women are oppressed, and they will have that assumption reinforced by the poster.

The people I’ve talked with who don’t approach it with that assumption have varying impressions, but mostly (not all!) they’re reading it as an equation of Islam with oppression, too.

Plus which it reads to me as brown bodies being used as a site of white gaze to serve the viewer’s – not the woman’s – values in a way I’m having trouble articulating but that totally squicks me out.

So do I think that the woman in the poster must be oppressed by her implied religion? Nope, definitely not! (As opposed to the limitation on her reading choices, which is clearly repressive.) But I think the poster spreads and reinforces the message that Islam is repressive and that Muslim women in particular are oppressed, particularly if they cover their heads in some way, and I think that’s a gross message and I don’t want my professional association spreading or reinforcing it.

Why I think this (free speech arguments)

I totally, 100% endorse the right of private parties to make whatever sort of art they want, including posters like this, and sell them. I similarly 100% endorse everyone’s right to buy or not buy them, and to support or condemn them. (Insofar as people are condemning this poster, that’s not an attack on free speech: it is, in fact, an exercise of it.)

This is not a poster created by a private party. This is created by an association that represents me, as a dues-paying member. It represents people whom I also represent: LITA members. And it de facto represents the profession at large — including nonmembers, whether they like it or not — in the public eye. The association has a responsibility to consider its actions in light of its representational role. (Again, I’m pleased to see Council and OIF having these discussions.)

People have drawn analogies between challenging the poster and challenging books. I think these analogies don’t hold:

Challenged books are parts of collections. Librarians can quite reasonably say “if this book is not to your liking, check out another”; they can (and generally should) put together collections which encompass a wide range of viewpoints, some of which may offend some patrons. There is not a collection of motifs for Banned Books Week 2015 swag; there’s one motif. You can buy it or not buy it, but you can’t buy something else.

Challenged books can be discussed in light of collection development policies, and their inclusion in the collection defended (or not) on those grounds; there is, to my knowledge, no similar policy here.

The Banned Books Week swag is much more analogous to a One City/One Book selection. People might, quite defensibly, select a controversial book for that sort of event — but they ought to do so on purpose, having talked with people who have stakes in that controversy, fully prepared to have and to contextualize the ensuing conversation.

Some people have said that we’re having all these conversations about the meaty issues of intellectual freedom, so the poster has done its job and we should support it. Which is great, aside from the uncomfortable ends-justify-the-means-iness, and the fact that OIF did not actually intend for this poster to be controversial. Its job wasn’t to get us talking by sparking controversy. They got blindsided by this. If ALA wants to deliberately stir up controversy — and I’m not saying that’d be bad, necessarily — they should know they’re doing it. They should have enough diversity baked into the process to be purposeful about it.

Future one: I am afraid that the future of libraries looks like this panel: the one where we don’t make the time to cast a net widely, to discipline ourselves to consider the wide range of perspectives that might be relevant, to do the outreach.[ref]And for the purpose of this paragraph, “we” means people with power or influence or resources, big levers for affecting what questions and priorities get large-scale support in the profession. There are many other “we”s, many of whom are already having fantastic conversations and doing wonderful work on a wide range of questions. Pronouns are hard.[/ref] The one where we answer our top-of-mind problems with top-of-mind people – people who may, mind you, be perfectly good, may even be extraordinary, but who don’t represent the full range of excellence in the profession. I am afraid that the range of answers we find to our problems will be too narrow, and that the range of things treated as problems worth solving, by people and institutions with large-scale resources, will be too small as well. I am afraid that people with power and platforms won’t decenter themselves – not just let more people visit the space but let the space itself be changed by its constant inclusion of more people. I am afraid that public conversations only count as “public” when privileged people are having them, no matter how long and loud and intellectual and pragmatic and, yes, public these conversations have been among other discourse communities. What rich and extant conversations about library futures will we not be having tomorrow?

And I’m even more afraid because — as a white technologist, I know I’m unlikely to bring novel ideas to a future-of-libraries table, and as an Ada Initiative advisor I think a lot about diversity and inclusion and intersectionality and decentering — and I didn’t even think to ask, who else is on the panel. Because there was a short timeline, and I’ve got a million other things taking up headspace, and it’s easy for Griffey or Dan to sucker me into doing them a favor. And if I didn’t ask…how many will?

Future two: I hope that the future is otherwise.

Dear readers, I teach code because I don’t know the future, but I am certain it will be better if more people, and more kinds of people, have more tools for building it, and because I am so excited to see what you make. So you tell me: what pockets of unevenly-distibuted future am I missing? What rich conversations would I already been paying lots of attention to I were better at disciplining myself to listen for what’s best, not only what’s closest?

You know, Dan, I’m pretty sure our last email exchange ended with you owing me a favor. So how about it? Let’s do another future of libraries panel, and take the time to think this one through. To put people on it we’ve never seen on a library futurism panel – people who are having rich and extant conversations somewhere you and I might not have even been paying attention to. People who represent library roles and demographics we maybe haven’t seen in our last two or three or ten library futurism sessions. To hand them the mic and get out of the way.

my last post, which has links for various sites and ideas I mention throughout the talk.

There are numerous small audio glitches which I’ve filled in with my best guesses of what I was saying, where possible.

Architect for wanderlust: the web and open things

Nine years. Nine years ago we were in a much smaller building. Who was there? [pause for raised hands] Who wasn’t? [pause for many more raised hands] Who saw this coming? I knew there’d be one wiseass in the crowd. Hey, Mark. Nine years ago, except maybe for a token wiseass, no one knew we’d still be here for a tenth conference all this time later. That we’d have an IRC channel, a mailing list with three-thousand-some people, a journal — all these things we do. No one knew that it would evolve to be all this, but you built an open thing. You built a thing where lots of people can get write access and can build it all together.

Twenty-four years ago, someone else built another open thing. This may not be the first web page, but it is the oldest known one, and you can still see it today at info.cern.ch. The top post in my blog right now has all the links I’m going to be referencing during this talk, and I tweeted that out so you can find all this stuff for your clicky clicky pleasure. And this is the oldest web page we’ve got.

And why did Tim Berners-Lee make this? Well, physicists needed to share data. They had a bunch of different research stuff, but they didn’t have shared servers, they didn’t have shared presentation software, so they needed a thing. And he made this thing, and it seems to have gone well. So…why did it work?

Well. One big reason it worked was a determined agnosticism about formats. He didn’t care what format your data was in, what software you’d used to create it. The internet at the time had a collection of protocols. I remember gopher — I sort of have a soft spot for gopher. But it had a whole bunch of different protocols and formats and he built his protocol so you didn’t have to care. So that it was a generalized idea of information connection that could hold all the things, without being prescriptive as to their content or nature. And in fact he considered — I was reading the wikipedia page on the history of the world wide web, which is a great way to lose, like, three hours — he considered what should he name this thing, and went through ideas like “The Information Mine”. Go ahead and think about if he had named that “The Information Mine”, and we still had to call that today. “The Mine of Information”. But he settled on “the World Wide Web”, and what that says to me is that the important thing about what he was building out of all the experiments and hypertext he’d been doing in the past, the important thing wasn’t the information, it was the interconnection. The important thing wasn’t the information you put in it; it was the way it enabled people to connect to information and each other. So he didn’t tell them what to do with this architecture he’d created. But —

— he told them how to do it. If you read his original proposal to CERN for the money to support this thing, building the prototype and so forth, it says in there one of the conditions of the work is that he wants “to provide the software for the above free of charge to anyone”. If he hadn’t said that, we wouldn’t be here today. We would literally not be here today. But he wrote into this proposal — he used the tools of bureaumancy — to make sure this was a thing that anyone — who admittedly met a pretty high barrier for technical connectivity and knowledge — could use. And he wrote a ton of documentation. He told you exactly what you needed to do to download this and set up your own web server. And documentation is a brand of hospitality. And that made it possible for this thing he’d built to spread, and become a thing that everyone, and no one, owned, and everyone could build together, and as a result of that we today, twenty-four years later, have —

lolcats

the Arab spring

our childhoods [delayed-reaction laughter as the audience reads the slide]

art and culture

and each other.

Let me tell you a bit about my origin story, and how the things that evolve don’t necessarily have anything to do with what we predict. This, also, is twenty-four years ago. I was at nerd camp, and a bunch of friends wanted to put on a scene for the talent show. They wanted to put on the scene from Monty Python where one is debating whether someone is a witch, and it becomes important to compare her to — a duck. And my then-boyfriend, now-husband, speaking of things you can’t predict twenty-four years ago, went to the mall and found this remarkably charismatic little duck. Which cost an outrageous amount, but it’s got this really cute houndstooth hat, and he bought it to be a prop in the talent show. And this talent show skit never happened. Because they weren’t just performing the scene from Monty Python; they were also performing the logician’s analysis of the scene which shows up in a BBC radio play, and which is so profane that no one is ever letting a bunch of fourteen-year-old boys do it on a stage. So the talent show act never happened, but we still had this duck. And I will get back to it.

But first, I want to say some stories about the rest of you. This is where we come from. This is where the organizing committees for this code4lib come from. And it’s kind of a lot of places. And this is just the committees — this isn’t counting all the people I’ve met here. If I counted them there’d be a whole lot more Canada on that map; there’d be a bunch more states; I’d have to zoom this out to include Japan and New Zealand. We come from all over.

But we come from all over metaphorically, too, and that’s one of my favorite things about librarianship, is we are people of wanderlust who found a home, here. You talk to people and you ask, “what did you major in in college?”, and you hear English, and history, and math, and religion, and philosophy, and musical theater. You ask people what they did before librarianship, because just about everyone had a “before librarianship”, and there’s teachers and publishers and marketers and designers and computer scientists and there’s all kinds of disciplinary backgrounds and perspectives and toolkits that we bring to librarianship, and that we can use to inform our work. The wanderlust that brought us here is a thing that lets us all enrich one another with our different perspectives.

And that is important for everyone’s stories. This quote, “a disciplined empathy”, is from Sumana Harihareswara’s keynote last year, which I loved, which you should read or watch if you were not here. And one of the things that she said is that user experience needs to be a first-class responsibility. And how do you get there, in software, is you have that empathy that comes from being able to see things from a variety of perpectives, and also the discipline to make yourself actually do it. To observe people, to do the user studies, to talk to people, to do the ethnography or the reading or what-have-you. Everyone has so many stories, and part of what we do with library technology is try to find ways for them to interact with their own and others’ stories, for them to make their stories legible and to find stories that are legible to them.

So let’s get back to mine. This is my friend Allegra, the one transformed by joy, and my friend Sam. Allegra just graduated from the University of Chicago last year, Sam is a senior at MIT, and that piece of paper that Allegra is holding, I wrote in 1991, twenty-four years ago. And it had the Legend of the Duck, in the most bombastic way that teenagers can find to write a thing. I had the best handwriting, so that’s why it was me. And I told the story that I told you earlier, except with fancier language. But at the end I said that every year the Holder of the Duck would pass it on to a new Holder of the Duck, from now into forever. And I wrote a bunch of lines for people to sign their names. Not because I thought that would ever work — just because that’s how much paper I had. So Grant signed the first one, and he gave it to Meggin, and Meggin gave it to me, and I gave it to Frank, and so on and so forth, and Max gave it to Allegra, and Allegra gave it to Sam, and it came to be the most important thing at this nerd camp even today. And there’s a Wednesday in August when a hundred and fifty incredibly excited teenagers will gather in a room to see who gets this next. Because being the Holder of the Duck is the most important thing they can imagine. We had no idea it would do this, but we built an open thing that people could be part of, that people could inscribe their names upon, and make into their story, and facilitate their wanderlust.

Of course open things don’t always go so well. This Icelandic pony is not by Kathy Sierra, who takes these unbelievably ethereal photos of her ponies, and it’s not one of hers because even though they’re the best ones out there I’ve ever seen, she doesn’t have clear license terms on them, and I didn’t want to be just another random person from the internet in her inbox, because she’s had way too many of those. If you’re not familiar with Kathy Sierra’s story, she basically got chased off the internet years ago by someone who’s widely held to be a nerd hero in some circles. She was threatened and her children were threatened and it became altogether not worthwhile. She came back recently, pretty much got chased off again. This is not Kathy Sierra’s work. This is not Randi Harper’s work, or Zoe Quinn’s, or Brianna Wu’s, or Anita Sarkeesian’s. There are many people who are severely threatened by open and ungardened things. Because the things that grow in open places can be vicious indeed.

And even for the people who don’t face that kind of peril, there’s a million quieter ways that open things — the openness of neglect — can be threatening or scary or overwhelming. If you have ever tried to teach yourself to code or take on the mantle of technologist, and you’re not a nineteen-year-old white man in a hoodie, you may have looked into technology and had a lot of trouble seeing yourself there. And that’s one of the things that comes up over and over when I teach people to code. It’s not just about, how do variables work or functions, although that’s challenging, but the more challenging questions are the questions of identity. When people look in the mirror, do they see someone who looks like themselves? When people look in the mirror and try to figure out how to piece together the disparate fragments of their identity and one of them is ‘technologist’, can they fit it together into a coherent whole with all the other things that they also are, and aren’t going to give up? The openness of neglect is a way of not noticing the barriers that don’t affect you personally, but that’s not the same as the barriers not being there.

That’s why this mattered to me so much. This is the commit history, part of it, from the CodeOfConduct4Lib. This is how you operationalize a disciplined empathy. I angsted for like a year about joining code4lib. I spent a solid year wondering if I was, like, cool enough, or smart enough, or technologically skilled enough to be part of code4lib. And I finally got over myself, and I joined the mailing list, and I started hanging out in the IRC channel, and it was fun, actually, and I liked the people I met, and I was having a good time. But I didn’t realize that I had been spending that entire time waiting for the other shoe to drop until Bess Sadler displayed the remarkable political courage to ask us to do this thing. And in the ensuing discussion — which, of course, had a variety of perspectives, which you would expect — but the thing that stood out to me is so many people in this community who have political capital, who have influence, who matter, were willing to put that status and capital on the line to be part of this thing, to draft it and to sign their names to it. And that was when I knew that it’s not just some weird freaky coincidence that nobody has yet been, like, a horrible misogynist to me. That that’s actually who you are. You’re nice to me because you’re nice. And I, I didn’t know that until people took this explicit step.

And it’s not just me, of course, right? There’s a lot of first-timers in this room, and I was a first-timer in this room two years ago, and now I’m on this stage, and none of us knew that would happen. And there are first-timers in this room who a year or two from now will be on this stage, or who will be writing the software that is the new hotness that all of you want to use, and you don’t know who they are. Hospitality matters.

It also matters because we don’t always do it as well as we did right here. This picture that I included on an earlier slide, I wanted something that was a story sculpture. I wanted something that showed people interacting in a really tangible way with a book that was larger than life. And this is what I found, and that was great, and I didn’t realize until much later that everyone in this picture is white. Everyone in this picture is young. Probably everyone in this picture is able-bodied. And I looked at the exif data that Flickr so graciously exposes and realized this is the Grounds for Sculpture in Trenton, New Jersey, which I know because my in-laws live just up the road and they always keep saying we should go there and we never get around to it. But because of that I know that everyone here had at least $10 and the free time to spend on this afternoon. Probably everyone here speaks English, probably natively. There’s a good chance they’re all really highly educated. My in-laws live up the road in Princeton. There’s a lot of really highly educated people who live in this area. Part of architecting for wanderlust is thinking about whose wanderlust you are architecting for. Whose stories are actually tellable in the systems that you create? Whose stories are recognized? Whose stories are writeable in the systems we write? It’s not just about not consciously erecting barriers. It’s about going out of your way to notice what barriers might have been erected and doing something to take them away.

Switch gears for a bit and ask, what is a library? This is a library. They don’t know it. My hometown, Somerville, has Artisan’s Asylum, which is one of the best-known makerspaces in the country, and that’s great, and honestly I pretty much never go there. I go here. This is Parts and Crafts. It is the kiddie, unschooling version of a makerspace about a mile down the street. That’s my kid. And pretty much every Saturday they have an open shop, and people come in and you can just kind of do whatever you want in a really self-directed way. There’s not really rules; the grownups don’t tell you what to do. But every so often, one of the Parts and Crafts staff will kind of wander over and say something like, “[dramatic voice] You know what? That thing you’re doing, you could do it better with a hot glue gun. Do you know how hot glue guns work? Do you want to?” And then they go find the hot glue gun, and suddenly it’s part of your eight-year-old’s repertoire, and next time she shows up she just goes over to the hot glue gun and starts gluing stuff to other stuff.

They’ve got a lot of stuff besides hot glue guns as well. Here’s a close-up of one of the shelves, which have this wonderful mishmash of this, and yarn, and tongue depressors, and motors, and this-that-and-the-other. All kinds of stuff. And what makes this a library to me is that it is about self-directed exploration. It’s about transforming yourself through access to information in ways that matter to you. And it’s supported by this remarkable collection, and a staff who don’t tell you what to do with it, but who are intensely knowledgeable in what they have, and able to recognize when their collection is relevant to your interests. So to me, this is a library, and it’s one of the best libraries I know.

What is library software? This is not library software. [applause] This is a screenshot from my local public library’s OPAC, and this is what happens when you do a keyword search that returns no hits. It dumps you on this gigantic page of search delimiters that probably not even a librarian could love, and let me tell you, if I didn’t get any original hits from my search, limiting it to large print Albanian will not help. [laughter] And this page outright angers me, because there are so many options it could have that would allow you to continue wandering. This could have an Ask-a-Librarian feature. This could have something that told me that ILL existed, which I didn’t know until library school, and as you recall I already had another master’s degree. This could be something that did a WorldCat search of other libraries for this thing. This could be any number of things that let me take another step that had a chance of success, but instead, it gives me a baffling array of ways to get large print Albanian hits for a book that doesn’t exist.

Other things that are not library software include API keys you can’t get, documentation and examples behind paywalls, twelve-billion-step ebook checkout processes. These are not library software. These do not facilitate wanderlust. These do not let people transform themselves through access to information and one another.

This is library software. This lets you — not just wander among hyperlinks — but write your own things. Write your own things in text, write your own things in code. This lets you build and generate.

This is library software. Partly maintained by Misty De Meo, who’s sitting right there. [applause] For those of you who are not familiar with Homebrew, it’s a package manager, and if you’ve ever tried to install things by, like, going to the web site, and trying to find the thing, and then realizing you don’t have the dependency, and finding another thing, and then, like, your whole house is full of yak hair, this does that for you. You type ‘brew install the thing’, and it goes and finds the thing, and all the things that the thing needs, and it just does it for you. And this is library software because it lets use make the things and learn the things we wanted to make and learn with fewer impediments, and totally nonjudgmentally.

This is library software. This is something I wrote during a Harvard Libraries hackathon a little while back, intersectional librarycloud. The Harvard Libraries has an API that returns the kind of collection data you would expect, but it also returns this thing Stackscore, which is a weighted 0-100 average of various popularity measures. So what intersectional librarycloud does — it’s one of the things you can link to, you can try it out — it lets you search for subject terms, and it brings back the most popular things in the Harvard collection that match that subject term. And it also examines their subject metadata to see if they have any terms consistent with women’s studies, or African-American studies, or LGBT studies. And I wrote this because I wanted to see, when students and scholars are forming their mental models, their understanding of how the world works, at one of the most eminent universities on earth, are these perspectives included by default? Because the consequences of them not being there is you get out into the world and you have to have all these stupid arguments about misogyny or what-have-you because people think it’s not a thing because hey, they didn’t study it in school, right? It’s not a part of the mental model they built when learning about history. This is a search for ‘history’, and as you note, looking at those grey and grey and grey blocks in the columns, when Harvard thinks ‘history’ it doesn’t think women’s history, or African-American history, or LGBT history.

And I also wanted to see, you know, if I search for something that really is, like, ‘women’s studies’, do I get hits in any of these other columns, too? Are the perspectives we see intersectional or is it all just kind of separated? Is it like, oh, well, if you’re studying women, you’re clearly not studying gay people, or whatever. That’s bunk. Unfortunately, that’s how it works, as far as the Harvard library usage data are concerned. Chris Bourg talked about this in a great keynote she gave at the Ontario Library Assocation just a couple weeks ago, mentioning — She was talking about how our cataloging systems can reinscribe prejudices and hide things from us. And she mentioned the book ‘Conduct Unbecoming’, which is really the foremost history of gays in the military. And, if you were looking for it at her library, you would find it shelved between gay porn. Not that any of us have a problem with gay porn, but you don’t find it shelved in the military history section. So if you were looking, if you were browsing the shelves, if you’re looking at a subject search, right there, for the history of the military, the history of gay people in the military is not a thing. So I wanted to interrogate whose wanderlust we’re supporting.

This is library software. The New York Public Library does these amazing things with the vast pile of cultural heritage data they’re sitting on top of, and their remarkable software resources. And they use that place as a cultural institution to create software that connects people to the world around them and to their own cultural heritage in a way that is creative and inspiring and moving. And so this, for instance, there’s so many things you could look at. They just got a Knight grant to do this Space/Time thing, which is basically like Google Maps mashed up with a historical slider, so you can look at stuff at different points in history [] address change, and you can look up addresses that no longer exist, and it’s not really built yet, but they got money to do it, so it’ll be awesome. But this is their menus page, which you can look at right now. Adn they digitized a whole bunch of menus from different times in the city’s history, and so you can see what were people eating, what sort of things did people aspire to eat, what counted as high-class or low-class in people’s brains at the time during all of these different decades. This is the 1920s and it’s mostly things you wouldn’t see in restaurants today. But it’s fun! It’s neat. And it also — one of the great things that they do is they have APIs. So Chad Nelson, who may be somewhere in this room unless he had an early flight, he wrote this adorable little Twitter bot called @_badtaste_ that mashes up dishes from this with truly distressing words to create…vomitous menus, actually. It’s pretty funny. Don’t browse it right before lunchtime. But it’s funny. And so the fact that they had an API makes it even more library software, right, because it made it possible for Chad to have fun with this, and to build his own thing that let him explore this cultural heritage data in his own way, and connect to it in his own way.

This is library software. Probably a lot of you have seen Ed Summers’ @congressedits bot. It checks out anonymous wikipedia entries that are edited from Congress and posts them to Twitter, and has gotten actually kind of a lot of media coverage. But the thing about that that really took it to the next level was he put the code on github and he documented it, and that made it possible for people to fork it and made their own bots that checked up on South Africa, or Israel, or Switzerland, or whatever parliament or what-have-you they wanted to look at, so this became a worldwide phenomenon. And this is library software not just because it’s creative and playful that way, but because it’s something that lets us be more engaged with the world around us, more connected civically. It’s code that lets us find and tell stories that matter to people. And it’s a platform. It lets people tell more and more.

This is library software. This is something we created all together. It’s got little bits of many, many, many of us, and it’s changing every day, and it’s our little thing. Zoia was kind of transformative for me, also, in becoming part of code4lib, because the first time I wrote a plugin for zoia, which was a thing that totally intimidated the heck out of me — but then I did! And people helped me deploy it, and then I saw people using it. And within, like, thirty seconds, I saw people mashing it up with the outputs of other zoia plugins, and making it their own thing. And then I wrote documentation of how I did it, and subsequently I saw people use that documentation and make even more of their own things. Again, documentation is a form of hospitality. It’s a way that we bring more people into the community and let them write code that matters to them in their own ways. So this is library software.

Year ten. We’ve come an hour and a half up the road, and nine years. We’ve spent the last nine years inventing code4lib. I totally had a fencepost error in the first version of this talk, by the way, but this is the tenth conference, ten minus nine is one — anyway. We’ve spent the last nine years inventing code4lib. And I want to think about what we spend the next nine years inventing, and how we spend the next nine years inventing code that is deeply informed by library values. That is library code.

I want us to spend the next nine years inventing, building, library software. Building systems that question our own assumptions. That intentionally remove barriers and make space for all kinds of people, from all kinds of backgrounds, to tell their own stories, to build their own technology, to use in their own ways, that transform themselves in ways that matter to them. I want us to decenter ourselves so the systems we build aren’t things we own but things we give, and can then evolve in ways that we can’t predict. I want us to build library software. Architect for wanderlust.

Links and ideas!!!

I mention a bunch of links in the talk and here they are so you can click on them. There’s also a bunch of ideas I mention, or allude to, or had in the back of my head, or wanted to put in this talk but couldn’t. Here you go. They fit into the talk in roughly this order.

This talk is under a CC BY-NC-SA license, except for third-party copyrighted content used here by permission.

I learned to program from _why’s Poignant Guide to Ruby, and I think this sentence is the very moment it clicked: ‘You will be writing stories for a machine.’ Coding as creative act, as artwork. Not algorithms or math or business rules. That caught my attention, and that got me going.
Misty De Meo (quoted in my upcoming Library Technology Report, available April 2015 from ALA TechSource)

Let’s put our privilege as members of this academic community to work. Is there something to learn in these 13 million tweets, these letters from ordinary people. The thousands of videos and photographs, and links to stories? I think there is.

Monday I was at a hackathon for the Harvard LibraryCloud API. So this was great, not only because it’s good for us work-from-home types to leave the house and talk to humans instead of just our cats, but also because I got there and there were a whole lot of other women in the room! This hackathon shared at least one organizer with the prior one where I was the only woman at the table, so I really appreciate that he took my vehement criticism in the best possible way and conducted obvious outreach.

Then he asked who was there for the tutorial, not the hackathon, and literally every other woman in the room raised her hand. *sigh* [ref]Subsequently a few more women showed up, so I ended up being one of 2 or 3. Yay? Also not exactly escaping my attention that all but about two people in the room were white, so if I were a woman of color looking to not feel isolated, game over.[/ref]

What you’re seeing on that web page are the most commonly used Harvard Library resources that match a given subject search. (The page is randomly seeded when you load with a popular topic, but do try your own!) The results are sorted by stackscore and highlighted with whether their subjects include terms commonly associated with women’s studies; African-American studies; or LGBT studies. (Thank you to Harvard librarian Vernica Downey for the cataloging help.)

With this page, I want to examine the question: when Harvard students and faculty develop their understandings of various topics, are those understandings informed by intersectional perspectives? (Answers are left as an exercise for the reader.)

This was the work of a day (…plus way too long shaving yaks to get it onto Heroku), so there are some issues with the code I’d love to see fixed. For one thing, I don’t handle substrings, so some subjects that should definitely be coded as matches, aren’t. For another, in my initial plan I wanted to look at disability studies too, but my first-pass layout doesn’t accommodate it and I don’t have a suitable set of subjects. This is an exercise for the reader too, though! Because I’ve got code, and you can hack on it: woo yeah intersectional librarycloud repo.

This is the sort of code that invites human-language commentary as well; would love to hear your thoughts.