Code4lib 2017 was hosted by UCLA on March 6-9, 2017. This was the 12th code4lib conference, and was attended by over 450 library technologists. Amazingly, and despite the increased size, the main conference has managed to stay a single track meeting. This contributes to its appeal, as the shared experience fosters a sense of camaraderie and a strong community ethos. It also results in exposure to topics and areas that might be slightly less central to each attendee's specific interests.
For the pre-conference day, I registered for a half-day morning "Introduction to Text Mining" session, and a half-day afternoon "Ally Skills Workshop". The Text Mining workshop was introductory, but was a good speed for most of the attendees in the room. Some of the workshop was done in SpaCy, so was a good second pass through that codebase for me. We got deeper into the entity recognition and word2vec features than I had previously, and I spent some time looking more closely at the code itself.
The second pre-conference was among the highlights of the conference for me. I attended the Ally Skills Workshop in the afternoon, and found it tremendously valuable. This workshop is based on the Ada Initiative's Ally Skills Workshop, which—according to their Website—was updated in 2016 to cover "race, sexuality, disability, age, class, and religion, as well as gender." Though taking the workshop made me feel the loss of the Ada Initiative even more acutely, it's great that the workshop materials live on and this important training continues to be offered in a variety of contexts. My key takeaways from the workshop included:
- Allyship is an action. It is something you do. Attitudes aren't enough.
- Allies need to take these actions because studies show that people who are minorities are penalized for engaging in diversity valuing behavior.
- Don't expect praise or credit for fighting inequality.
- Follow & support leaders from target groups.
- Follow your discomfort: find out more and understand why before reacting.
The contrast of these two pre-conferences foreshadowed the range of sessions in the conference itself. Code4lib, once a purely technical conference, has evolved considerably over the years and now includes as many sessions about the social side of code as on the technical. Some of the best material from the conference this year was focused on product and project management, leadership, inclusivity, and community building. This held true of the two keynotes as well.
This year's keynotes were hands down the best part of the conference for me this year. Unlike years past, both of the keynotes came from within the code4lib community. Normally I would prefer at least one keynote coming from an external perspective, but this year internal keynotes felt useful, perhaps because the community, our institutions, and the profession are at an inflection point.
The opening keynote, from Andreas Orphanides, started the conference off along the theme of humanism in technology. Titled "It's made of people: designing systems for humans", Dre's talk discussed the nature of systems and the nature of models of those systems, and included my favorite George Box quote: "All models are wrong, but some are useful." He noted that goals are also models, and that we risk inadvertently focusing on the wrong things if we target a metric without realizing the underlying context. Dre also discussed data as model, and briefly addressed the assumptions and biases inherent in both data and algorithms. It was a very thought provoking talk covering a lot of ground.
The closing keynote, from Christina Harlow, also combined the sociopolitical with the technical in a compelling and engaging way. Christina's talk was accompanied by an interesting technique for audience engagement: she provided a comment-enabled copy of her transcript, and encouraged people to add comments, notes, questions, and discussion both during and after the presentation. It's an great idea for how to generate a conversation around a topic, and her topic was remarkably rich. I can't do justice with a summary, but the gist was that we need to radically rethink our approach to data operations and data engineering in the library community. She drew on Riot Grrrl for inspiration on how this would work. Her conclusion was that the library technology community should radically rethink its approach to collaboration and infrastructure because much of the current way is hindering progress. Along the way, she covered community, ethics & politics, social justice, information security, preservation, documentation, tools, infrastructure, openness, and transparency. Her presentation was the first time I've seen a standing ovation at a code4lib. It was a great talk, and a great way to wrap up an engaging and exhausting conference.
These two great keynotes bookended a phenomenal meeting, and there were too many great presentations to include here. Some of my highlights were:
- Hector Correa's talk on software development as learning, sharing ideas, developing small pieces of infrastructure, and collaborating.
- The talk from the Rockefeller Archives Team on team-building, leadership, and management.
- Scott Young & Celina Brownotter's talk on UX as Social Justice, discussing participatory design with underrepresented populations.
- Karen Coombs' talk on how language influences software development, and on user driven vs. feature driven perspectives of development.
- Kevin Clair's talk on applying technical debt concepts to metadata management and metadata quality.
- Matt Zumwalt's talk about Data Refuge, de-centralized storage, and IPFS
- Stephen Schor's amazing presentation on AWS Elastic Transcoder, which was given entirely in Seussian Rhyme and was as coherent and informative as it was entertaining and absurd.
A useful practical outcome for me was the emergence of a small Spark interest group within the code4lib space. Currently, this consists of myself and about 10 others from DPLA, Stanford, and Temple. It primarily exists as a spark channel in the code4lib slack and periodic (currently bi-weekly) Google Hangout sessions to share code and ideas.
The links to the sessions above should eventually have video of individual presentations. In the meantime, you can find recordings on the Code4lib YouTube page.