what I learned about leadership from the Emerging Leaders

About five and a half years ago, I was sitting in a big room in conventionland (San Diego, but who’s counting) with my class of Emerging Leaders, as we brainstormed about the qualities of an excellent leader.

Someone was writing those qualities up on a flip chart and, gosh, would I have liked to work for flip chart lady. She was so perceptive and thoughtful and strategic and empathetic and not bad at anything and just great. Way cooler than me. Everyone would like to work for flip chart lady.

And then one of my brainstorming colleagues said, you know, there’s one quality we haven’t put up there, because it’s not actually a core competency for leaders, and that’s intelligence. And the room nodded in agreement, because she was right. You probably can’t be an effective leader if you’re genuinely dumb, but all other things being equal, being smarter doesn’t actually make you a better leader. And we’ve all met really smart people who were disastrous leaders; intelligence alone simply does not confer the needed skills. Fundamentally, if “leader” were a D&D class, its prime requisite would not be INT.

The whole room nodded along with her while I thought, well crap, that’s the only thing I’ve always been good at.

So I was in a funk for a while, mulling that over. And eventually decided, well, people I respect put me in this room; I’m not going to tell them they’re wrong. I’m going to find a way to make it work. I’m going to look for the situations where the skills I have can make a difference, where my weaknesses don’t count against me too much. There’s not a shortage of situations in the world that need more leadership; I’ll just have to look for the ones where the leader that’s needed can be me. They won’t be the same situations where the people to my left and right will shine, and that’s okay. And if I’m not flip chart lady, if I’m missing half her strengths and I’m littered with weaknesses she doesn’t have (because she doesn’t have any)…well, as it turns out, no one is flip chart lady. We all have weaknesses. We are all somehow, if we’re leading interesting lives at all, inadequate to the tasks we set ourselves, and perhaps leadership consists largely in rising to those tasks nonetheless.

So here I am, five and a half years later, awed and humbled to be the LITA Vice-President elect. With a spreadsheet open where I’m sketching out at the Board’s request a two-year plan for the whole association, because if intelligence is the one thing you’ve always been good at, and the thing that’s needed is assimilating years’ worth of data about people and budgets and goals and strengths and weaknesses and opportunities, and transmuting that into something coherent and actionable…

Well hey. Maybe that’ll do.

Thanks for giving me the chance, everybody. I couldn’t possibly be more excited to serve such a thoughtful, creative, smart, motivated, fun, kind bunch of people. To figure out how LITA can honor your efforts and magnify your work as, together, we take a national association with near fifty years of history into its next fifty years. I can’t be flip chart lady for you (no one can), but I am spreadsheet lady, and I’m here for you. Let’s rock.

Let’s measure the build of Measure the Future!

Bret Davidson and Jason Casden wrote this Code4Lib journal article I adore, “Beyond Open Source: Evaluating the Community Availability of Software”.

From their abstract:

The Code4Lib community has produced an increasingly impressive collection of open source software over the last decade, but much of this creative work remains out of reach for large portions of the library community. Do the relatively privileged institutions represented by a majority of Code4Lib participants have a professional responsibility to support the adoption of their innovations?

(Protip: yes.)

Davidson and Casden then go on to propose some metrics for software availability — that is, how can the developers producing this software estimate how installable and usable it might be for institutions which may not themselves have developers? The first of these is:

Time to pilot on a laptop. Defined as the time needed to install and configure, at minimum, a demonstration instance of the application, particularly for use in organizational evaluation of software.

Well! I now have an alpha version of the Measure the Future mothership. And I want it to be available to the community, and installable by people who aren’t too scared of a command line, but aren’t necessarily developers. So I’m going to measure the present, too: how long does it take me to install a mothership from scratch — in my case, on its deployment hardware, an Intel Edison?

tl;dr 87 minutes.

Is this good enough? No. But I knew it wouldn’t be; the priority for alpha is making it installable at all. And this took about two days; my sysadmin-fu is weak, and the Edison is a weird little platform that doesn’t have as big a software ecosystem as I’m used to, or lots of handy internet documentation (as far as I can tell, I’m the first person to have ever put Django on an Edison).

It’s going to be an additional chunk of work to get that 87 minutes down – it’s hard to make things easy! I need to bundle what I have into a shell script and package up the dependencies for faster installation (luckily fellow MtF developer Clinton Freeman has already done some work on packaging dependencies for the scouts, which will speed things up for me). The goal here is that, after end users have installed the operating system (which will unavoidably take several steps), they’ll be able to run one command, which will then take care of everything else (possibly prompting users for a little information along the way). After that, download and installation will probably still take some time (a lot of bits need to move across the network), but that time should be unattended.

Anyway. That’s the plan! I’m making a public record of my 87 minutes here so you can see how much progress I make in future, and also to provide some insight into the very real work that goes into streamlining build systems.

analyzing the Ruby Community Conduct Guideline

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.


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.


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.

And the Guideline is still a bad piece of community governance.

what I’ve been up to

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:

  1. 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.
  2. tiny adorable computer

  3. 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.
  4. 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).
  5. 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.
  6. 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.

Introducing Open paren: a podcast about libraries and code

should we write it all again
I’d end it with
a close-paren.
xkcd, With Apologies to Robert Frost

“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.)

Little white cat and big orange cat curled up together adorably
My cats are super great, though. FYI.


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.

Things have changed less than I might have hoped.

My #IMLSFocus remarks

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.

about that poster: what I think

What’s happening

So the design for this year’s Banned Books Week poster has come out, and a number of people on the interwebs have found it … “problematic” if we’re being delicate, “gross and Islamophobic” if we’re not. There are lots of conversations going on, including among ALA Council and within the Office of Intellectual Freedom (which runs Banned Books Week), as well as a petition for the poster to be removed.

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;
  • the West has a habit of assuming that any woman in a veil is ipso facto oppressed and that unveiling her is an important step in her liberation, and this assumption is totally patronizing, threatening, and incorrect.

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.

The future of libraries (and how to stop it)

I’m on a panel tomorrow about the future of libraries. This is atypical for me because, as I have said many a time, I am Not A Futurist. I’m a technologist, yes, but my interest in technology has always been primarily in its impact on society, which means all the predictive questions that interest me are second-order — not merely “what will the technology be” (a hard enough question!) but who will we be when it has become technologically boring enough to be social interesting. But hey, Griffey and Dan needed a panelist on short notice, and they’re pretty good at suckering me into doing them favors, and it sounded fun, so what the heck.

And then Erin Leach and Courtney Young opened a really good conversation about the panel on Twitter and it’s making me all thinky. So here you go: two possible futures of libraries.

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.

How about it?

#c4l15 keynote transcript

Following up on my last post, I made a transcript of my keynote at code4lib; here you go! In case you missed it:

  • video (I start around 7 minutes in);
  • 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.

Title slide: "Architect for Wanderlust: the web and open things"

Architect for wanderlust: the web and open things

Lasells student center, Oregon State University; slide text: "nine years"

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.

Screenshot of http://info.cern.ch; slide text: "twenty-four years"

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?

Fortune cookie which says "meh"; slide text: "a determined agnosticism"

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 —

Ikea instructions: puzzled Ikea man makes phone call for help; slide text: "the tools of hospitality"

— 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 —

http status cat (408: request timeout; kitten facedown in food bowl)


Sign with "Facebook" and Arabic text

the Arab spring

Screenshot of Oregon Trail, saying "edsu has dysentery"

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

Screenshot of Radiotopia campaign summary from Kickstarter

art and culture

Montage of code4libbers

and each other.

A stuffed duck with a houndstooth hat; slide text: "what evolves isn't what we predict"

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.

Screencap of Google Maps with numerous placemarkers; slide text: "where we come from"

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.

People climbing through a giant book sculpture; slide text (in quotes): "a disciplined empathy"

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.

happy teenage girls hugging; slide text: "architect for wanderlust"

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.

Icelandic pony; slide text: "the dark places"

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.

Person taking selfie in a mirror made of fragments

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.

Screenshot of Github commit history; slide text (not in quotes): "a disciplined empathy"

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.

People climbing through a giant book sculpture, same pic as earlier slide; slide text (in quotes): "architect for whose wanderlust?"

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.

Kid and grownup in front of shelves containing bins; slide text, "what is a library?"

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.

closeup of bins on shelves; slide text: "what is a library?"

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.

Screencap of 'no results found' page in library catalog; slide text: "this is not library software"

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.

Screencap of info.cern.ch, same pic as earlier; slide text: "this is library software"

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.

Screencap of brew.sh; slide text: "this is library software"

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.

Screencap of intersectional librarycloud; slide text: "this is library software"

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.

Screencap of NYPL menus project; slide text: "this is library software"

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.

Montage of congressedits-style bot screencaps; slide text: "this is library software"

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.

Computer font with "@praise zoia" and zoia's response "itself is an original maverick"; slide text: "this is library software"

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.

Google maps screencap showing Corvallis to Portland route; slide text: "year ten"

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.

Computer font with "@praise zoia" and zoia's response "itself is an original maverick", same as earlier slide; slide text: "build library software"

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.