2015 Preconference Proposals
Pre-conferences are NOT included in the Code4Lib Conference price and will be held on Monday, February 9, 2015 as either full day or half day sessions.
- 1 Preconference Schedule
- 2 Pre-conferences
- 2.1 MORNING:
- 2.1.1 Coding Custom Solutions for Every Department in the Library with File Analyzer
- 2.1.2 Confessions of the (Accidental) Code Hoarder: How to make your Code Sharable:
- 2.1.3 Delivering and Preserving GIS Data
- 2.1.4 Linked Data Workshop
- 2.1.5 RailsBridge: Intro to programming in Ruby on Rails
- 2.1.6 Replace yourself with a painfully complex bash script...or try Ansible
- 2.1.7 Visualizing Library Data
- 2.2 FULL DAY:
- 2.3 AFTERNOON:
- 2.1 MORNING:
See below for further information on each session.
|Room (capacity)||Morning (9 AM - Noon)||Afternoon (1:30 PM - 4:30 PM)|
|Parlor A (30)||Confessions of the (Accidental) Code Hoarder: How to make your Code Sharable (9: Needs: projector, internet connection, and power strips)||Presentations workshop (1: Needs: projector/screen)|
|Parlor B (30)||Code Retreat (18: Needs whiteboard, dry-erase markers, projector)||Code Retreat (15: Needs whiteboard, dry-erase markers, projector)|
|Parlor C (30)||code4lib/Write The Docs barcamp (8: Needs: projector/screen, flipboard/whiteboard, power sources for laptops)||code4lib/Write The Docs barcamp (5)|
|Broadway I & II (70)||Linked Data Workshop (56: Bringing their own projector)||Intro to Git & possibly beyond (40: Needs: projector/screen)|
|Broadway III & IV (70)||Visualizing Library Data (60: Needs: projector)||Intro to Docker (52)|
|Galleria I (35)||Coding Custom Solutions for Every Department in the Library with File Analyzer (1: Needs PC laptop projection, monitor, internet access/wifi, attendees bring laptops)||CollectionSpace: Getting it up and running at your museum (5: Needs: Projector)|
|Galleria II (60)||RailsBridge: Intro to programming in Ruby on Rails (25: Needs: internet/wifi, overhead projection)||Fail4Lib 2015 (13: Needs: projector/screen; Requested: Conference table seating - must be in this room - limit 20 attendants)|
|Galleria III (35)||Replace yourself with a painfully complex bash script...or try Ansible (20: Need projector)||A hands-on introduction to GeoBlacklight (19: Needs: projector, outlets; Requests: list of attendees)|
|Studio (35)||(Empty)||Dive into Hydra (29: Needs: projector/screen; Requests: classroom style seating)|
|Directors (35)||Code4Arc (20: Needs: projector)||Code4Arc (18: Needs: projector)|
|Council (45)||Delivering and Preserving GIS Data (10: Projector, Video connector for MacBook Pro, wifi, power outlets)||DPLA API Workshop (34: Bringing their own projector)|
Coding Custom Solutions for Every Department in the Library with File Analyzer
- Terry Brady, Georgetown University Library, email@example.com
The Georgetown University Library has shared an application called the File Analyzer that has allowed us to build custom solutions for nearly every department in the library.
- Analyzing Marc Records for the Cataloging department
- Transferring ILS invoices for the University Account System for the Acquisitions department
- Delivering patron fines to the Bursar’s office for the Access Service department
- Summarizing student worker timesheet data for the Finance department
- Validating counter compliant reports for the Electronic Resources department
- Preparing ingest packages for the Digital Services department
- Validating checksums for the Preservation department
This hands on workshop will step through the components of the application framework and the process of customizing the application.
Confessions of the (Accidental) Code Hoarder: How to make your Code Sharable:
- Karen A. Coombs, OCLC, firstname.lastname@example.org
Have you built something cool and useful that you want to share with others? This preconference session will discuss techniques and tools for sharing code. Using our own OCLC Developer Network PHP authentication code libraries as an example, we will discuss a set of recommended best practices for how to share your code.
We’ll start with coding standards and test writing so you can be confident of the quality of your code. Next we'll discuss inline documentation as a tool for developers and how auto-generating documentation will save you time and effort. Lastly we'll provide an overview of the tricky areas of dependency and package management, and distribution tools. Along the way, we'll cover PHP coding standards, testing, and popular PHP tools including PHPDoc for documentation, Composer for smooth installations, and using GitHub and Packagist to manage distribution, updates and community feedback.
Delivering and Preserving GIS Data
- Darren Hardy, Stanford University, email@example.com
- Jack Reed, Stanford University, firstname.lastname@example.org
- Eliot Jordan, Princeton University
We will discuss how to set up a spatial data infrastructure (SDI) to deliver GIS data, to manage GIS content in a Fedora repository for preservation, and to establish metadata requirements for good spatial discovery. By the end of the workshop you will have a working SDI! This workshop is a compliment to the GeoBlacklight workshop in the afternoon.
Linked Data Workshop
- Karen Estlund, University of Oregon, email@example.com
- Tom Johnson, DPLA, firstname.lastname@example.org
Developer and metadata experts-focused linked data workshop. Topics covered will include: linked open data principles, converting existing data, and modeling linked data in DAMS.
RailsBridge: Intro to programming in Ruby on Rails
- Contact Carolyn Cole, Penn State University, email@example.com
- Laney McGlohon, Stanford University, firstname.lastname@example.org
- Additional instructors welcome
HOME WORK: Please do in advance!! http://docs.railsbridge.org/installfest/ To help the class run smoothly please complete the install fest before attending the class. If you have problems contact us!
Interested in learning how to program? Want to build your own web application? Never written a line of code before and are a little intimidated? There's no need to be! RailsBridge is a friendly place to get together and learn how to write some code.
Replace yourself with a painfully complex bash script...or try Ansible
- Chad Nelson, chad dot nelson @ lyrasis dot org
Ansible is an open source automation and configuration management tool that focuses on simplicity to help make your life as a developer, or a sysadmin, or even a full on devops-er, easier. This workshop will cover the basic building blocks used in Ansible as well as some best practices for maintaining your Ansible code. We will start by working through a simple example together, and then participants will be given time to work on their own projects with instructors providing guidance and troubleshooting along the way. By the end of the session, participants will have a working knowledge of Ansible and be able to write a working playbook to meet local needs.
Visualizing Library Data
- Matt Miller, email@example.com, New York Public Library, NYPL Labs
Visualizing your institution’s data can give new insight about your holding’s strengths, weaknesses and outliers. They can also provide potential new avenues for discovery and access. This half day session will focus on programmatically visualizing library metadata. Emphasis will be on creating web-based visualizations utilizing libraries such as d3.js but attention paid towards visualizing large datasets while keeping them web accessible. By then end of the session participants will have template, sample code and methodologies enabling them to start producing visualization with their own data.
- Jeremy Friesen, University of Notre Dame, jfriesen at nd dot edu
- Additional facilitators welcome; Especially if you have CodeRetreat experience.
"Coderetreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time." About Code Retreat
- Sarah Romkey, Artefactual Systems, firstname.lastname@example.org
- Justin Simpson, Artefactual Systems, email@example.com
- Chris Fitzpatrick, ArchivesSpace, firstname.lastname@example.org
- Alexandra Chassanoff, BitCurator Access, email@example.com
What does it mean to Code for Archives? Is it different than coding for libraries, and if so, how?
Code4Lib is a wonderful and successful model (you must agree or you wouldn't be reading this). This workshop is an attempt to create a space to replicate the model in an Archival context. A space to talk about development for archives, and the particular challenges of developing archival systems. Topics to discuss include Integration between different Archival software tools, and between Archival tools/workflows and larger institutional tools like institutional repositories, discovery and access systems.
The schedule may include the following:
- Panel type conversations about the State of Art in Archives
- Case Studies - discussion of workflows at specific institutions, including gaps in tools and how those are being addressed or could be addressed
- Tool Demos - access to demos of some of the open source tools used in an Archival Context (examples include ArchivesSpace, Archivematica, BitCurator, AtoM)
Artefactual will provide demos running Archivematica and AtoM, Lyrasis will do so for ArchivesSpace, BitCurator will for BitCurator. We encourage others to chime in here to expand the list of tools available to touch and play with.
When signing up, please indicate if you are an end-user or a developer.
Interested in Attending
- Laney McGlohon - developer
- Shaun Ellis
- Ryan Rotter - sysadmin/developer
- Matt LaChance
- Maureen Callahan - archivist, often-times product owner
- Liza Harrell-Edge - end-user
- Jessica Venlet - end-user/archivist (can be there in the afternoon)
- Andrew Berger - "digital" archivist
- Bill Kelm - sysadmin
- Jeremy Floyd - end-user (archivist turned metadata librarian)
- Sara Amato (morning only) - end-user
- Julie Hardesty (afternoon only) - end-user (metadata librarian)
- code4lib wrangler: Becky Yoose, yoosebec at grinnell dot edu
- Write the Docs contacts: TBA
Event page where you can find the latest information and... documentation(!) at 
Documentation. We all know that we need it for things we develop, but most of us either keep putting it off or write documentation that is not maintained, clear, concise, and so on. We're all guilty! So what's stopping us from doing better docs? Luckily, Portland is also the home to the NA Write the Docs conference, and is home for many folks who live and breathe documentation. This barcamp is open to both code4lib and non-code4lib conference attendees and is intended to provide a space where code4libbers can find practices and tools in creating better documentation for all as well as documentation wonks can find out ways in which the library wonks can help with better documentation access and organization.
Remember, like metadata, documentation is a love note to the future.
More information about Write the Docs at http://conf.writethedocs.org/ There will be a nominal fee (t/b/d) for non-Code4LibCon attendees (subject to organizer approval).
A hands-on introduction to GeoBlacklight
- Darren Hardy, Stanford University, firstname.lastname@example.org
- Jack Reed, Stanford University, email@example.com
GeoBlacklight is a discovery solution for geospatial data that builds on the successful Blacklight platform. Many libraries have collections of GIS data that aren’t easily discoverable. This will be a hands-on workshop, focused on installing and running GeoBlacklight which builds on the morning workshop "Delivering and Preserving GIS Data".
CollectionSpace: Getting it up and running at your museum
- Richard Millet, CollectionSpace.org, firstname.lastname@example.org
- Becky Escamilla, Oakland Museum of California, email@example.com
This workshop is designed for anyone interested in or tasked with the technical setup and configuration of CollectionSpace for use in any collections environment (museum, library, special collection, gallery, etc. For more information about CollectionSpace, visit http://www.collectionspace.org
Participants will be walked through the process of installing the software and performing basic configuration work on a stand-alone instance of CollectionSpace. Participants will learn how to create user accounts, set up basic roles and permissions, and may then catalog or otherwise document sample objects from their collections.
If possible, please bring a laptop capable of running the latest version of VirtualBox (www.virtualbox.org). I've prepared a VirtualBox machine for the workshop that I will share with you at the beginning of the session.
Dive into Hydra
- Justin Coyne, Data Curation Experts, firstname.lastname@example.org
Hydra is a collaboration of over 30 educational institutions who work together to solve their repository needs by building open-source software. Dive into Hydra is a course that bootstraps you into the Hydra software framework. We'll start at the basics and walk you through the various layers of the Hydra stack. We'll conclude by installing the Worthwhile gem, enabling every participant to walk away with their own Institutional Repository. Participants who have prior exposure to web programming will get the most out of this course. It's recommended (but not required) that you attend "RailsBridge" prior to this workshop.
DPLA API Workshop:
- Audrey Altman, DPLA
- Mark Breedlove, DPLA
- Mark Matienzo, DPLA
- Tom Johnson, DPLA
The Digital Public Library of America API workshop guides attendees through the process of creating an app based on DPLA's free, public API. The API provides access to over 8 million CC0 licensed metadata records from America’s libraries, archives, and museums in a common metadata format. This workshop is designed for people of all technical skill levels and will cover API basics, the capabilities of the DPLA API, available toolsets, and tips for using records from the API effectively. Members of DPLA's technology team will be on hand to help the group build their first application, and answer questions about tools and content.
- Andreas Orphanides, akorphan (at) ncsu.edu
- Jason Casden, jmcasden (at) ncsu.edu
Failure. Failure never changes. Since failure is an inescapable part of our professional work, it's important to be familiar with it, to acknowledge it, and to grow from it -- and, in contravention to longstanding tradition, to accept it as a fact of development life. At Fail4Lib, we'll talk about our own experiences with projects gone wrong, explore some famous design failures in the real world, and talk about how we can come to terms with the reality of failure, to make it part of our creative process -- rather than something to be shunned. Let's train ourselves to understand and embrace failure, encourage enlightened risk-taking, and seek out opportunities to fail and learn. This way, when we do what we do -- and fail at what we do -- we'll do so with grace and without fear.
This year's preconference will include new case studies and an improved discussion format. Repeat customers are welcome! (Fail early, fail often.)
The schedule may include the following:
- Case studies. Avoid our own mistakes by bearing witness to the failures of others.
- Confessionals, for those willing to share. Let's learn from our own (and each others') failures.
- Group therapy. Vent about your own experiences in a judgment-free setting. Explore how we can make our organizations less risk-averse and more failure-tolerant.
Case Study 1: The Healthcare.gov rollout
- Loren Thompson (Forbes): Healthcare.gov diagnosis: the government broke every rule of project management
- Optional, nice summary: Bo Crader (npEngage): Lessons learned from the healthcare.gov rollout
- Optional, very enterprisey: Alex Woodie (EnterpriseTech): The hyperscale lessons of healthcare.gov
Case Study 2: The Challenger disaster
- Engineering Ethics: The Space Shuttle Challenger disaster (case study instructor's guide)
- This is designed as an instructor's guide, but the summary material beginning on page 3 stands on its own as a case study report. The instructor's materials on the first couple pages are also worth reading.
- Optional, good technical detail: Wikipedia: Space Shuttle Challenger disaster
- Optional: Richard Feynman: Appendix F: Personal observations on the reliability of the Shuttle (Rogers Commission excerpt)
Intro to Docker
- John Fink, McMaster University, john dot fink at gmail dot com
- Francis Kayiwa, University of Maryland Libraries , fkayiwa at umd dot edu
Docker (jbfink code4lib journal article) is an open source Linux operating system-level virtualization framework that has seen great uptake over the past year. This workshop will take you through the basic features of Docker, including setup, importing of containers, development workflows and deploying. Knowing when Docker is useful and when it isn't will also be covered. Ideally, every attendee will have ample experience creating and running their own Docker instances by the end.
Intro to Git & possibly beyond
- Erin Fahy, Stanford University, email@example.com
- Shaun Trujillo, Mount Holyoke College, firstname.lastname@example.org
We can start with the basics of Git and discuss ways in which it can help you version control just about any file, not just code. Points we can go over:
- What is a Distributed Version Control System?
- What's the difference between Git and Github.com?
- How to initialize new Git projects locally and on a remote server/Github
- Cloning/Forking existing projects and keeping up to date
- The wonderful world of Git branches
- Interactive rebasing
- Contributing code to existing projects & what pull requests are
- How to handle merge conflicts
- Overview of workflows and branch best practices
- (time allowing) Advanced git: pre/post hooks, submodules, anything else?
- Chris Beer, Stanford University, email@example.com
- Additional facilitators welcome.
This is a preconference session intended for first time Code4Lib speakers, habitual procrastinators, experienced speakers, those thinking about offering lightning talks, etc. If you're preparing a talk for this year's Code4Lib, this workshop is an opportunity to rehearse your presentation, get feedback from peers, get familiar with the presentation technology, etc.