Code4Lib Proposed Preconference Workshops
Introduction to functional programming principles, including immutability, higher-order functions, and recursion using the Clojure programming language. This workshop will cover getting started with the Clojure REPL, building programs through function composition, testing, and web-development using ClojureScript.
Proposed by: Sam Popowich
This workshop will do a deep dive into approaches and recommend best practices for customizing Blacklight applications. We will discuss a range of topics, including styling and theming, customizing discovery experiences, and working with Solr.
Proposed by: Chris Beer, Jessie Keck, and Jack Reed
We all encounter failure in our professional lives: failed projects, failed systems, failed organizations. We often think of failure as a negative, but it has intrinsic value — and since it’s inevitable that we’ll eventually experience failure ourselves, it’s important to know how to accept it, how to take lessons from it, and how to grow from it professionally. Fail4Lib, now in its 5th year, is the perennial Code4Lib preconference dedicated to discussing and coming to terms with the failures that we all face in our professional lives. It is a safe space for us to explore failure, to talk about our own experiences with failure, and to encourage enlightened risk taking. The goal of Fail4Lib is for participants to be adept at failing gracefully, so that when we do fail, we do so in a way that moves us forward. This half-day preconference will consist of case studies, round-table discussions, and, for those interested in sharing, lightning talks on failures we’ve dealt with in our own work.
Proposed by: Andreas Orphanides and Bret Davidson
Intro to programming in Ruby on Rails
Proposed by: Carolyn Cole and Laney McGlohon
Amazon Web Services currently offers 58 services ranging from the familiar compute and storage systems to game development and the internet of things. We will focus on the 20-some services that you should be aware of as you move your applications to their cloud.
The morning session will be mostly overview and the afternoon session will be more practical examples and discussion. This could be broken into two sessions.
Proposed by: Cary Gordon, t/b/d, and t/b/d
FOLIO is a library services platform — infrastructure that allows cooperating library apps to share data. This workshop is a hands-on introduction to FOLIO for developers of library apps. In this tutorial you will work with your own Vagrant image through a series of exercises designed to demonstrate how to install an app on the platform and use the data sources and design elements the platform provides.
REQUIREMENTS Laptop (4GB) with Vagrant installed.
Proposed by: Peter Murray
Have an idea for an app? Want to work with FOLIO developers and others in the community on the FOLIO platform to make it happen. Come to this half-day hack-a-thon! Ideas for new developers will be posted in the project Jira, or bring your own concepts and work with others to make them reality.
REQUIREMENTS Laptop (4GB) with Vagrant installed. Attending the FOLIO Tutorial is recommended, but not required.
Proposed by: Peter Murray
In this workshop, we will step through the various types of applications that can be built with Google Apps Script.
(1) Custom cell formulas
(2) Spreadsheet Add On Functions (menu items, time based triggers)
(3) Google Apps Script as a Web Service
(4) Google Apps Script Add-Ons that can be shared globally or by domain
In this workshop, we will build sample instances of each of these types of applications (wifi-permitting) and spend some time brainstorming additional applications that would be useful for the library community.
Sample Applications: http://georgetown-university-libraries.github.io/#google-sheets
Proposed by: Terry Brady and Craig Boman
Calls to mindfulness and self care can have mixed reception in our field. While some view this important work as navel-gazing or unnecessary, it is integral to being present and avoiding burnout. Often this skewed attention to output comes at the expense of our personal lives, our organizations, our health, our relationships, and our mental well-being. Learning to prioritize self-care is an ongoing project among those who perform emotional labor. While some view the work of mindfulness as self-indulgent, it has proven to keep many on the track of being present and avoiding burnout.*
The purpose of this preconference is to provide a short introduction to self care and mindfulness with practical work we can use regardless of setting. We’ll discuss microaggressions and allyship (microaggressions being the brief and commonplace verbal, behavioral, or environmental indignities that marginalized people of various groups experience daily and allyship referring to the powerful role that individuals from privileged groups can play in supporting marginalized individuals). We will then transition to a modified unconference setting where participants can practice scenarios and learn practical solutions. Each of the presenters has different set of skills and experiences that allow for many techniques and strategies to be explored. Preconference attendees will participate in sessions like “Mentor Speed Dating” where they get to talk to and question potential mentors/mentees. They may be coached through a guided meditation or walked through a calming breathing exercise. For those looking to a more physical space, office yoga and stretching techniques may be shared depending on the outcomes of the unconference interest.
Foundational materials and articles will be shared with the registrants prior to the meeting with the option of further discussion at the workshop. An open access guide to all the resources and readings will be available after the preconference, and people will be encouraged to share additional their tools on a website.
Suggested Hashtag #c4lselfcare
* Abenavoli, R.M., Jennings, P.A., Greenberg, M.T., Harris, A.R., & Katz, D.A. (2013). The protective effects of mindfulness against burnout among educators. Psychology of Education Review, 37(2), 57-69
Proposed by: Carmen Mitchell, Lia Friedman, and Torie Quinonez
In this preconference, participants will be introduced to Virtual Reality uses in library settings, notably, by way of the VR Reading Room. Within the VR Reading Room prototype, users can collaboratively explore digital collections (e.g. HathiTrust) by way of VR headsets. Participants of this workshop will have the opportunity to experience HTC Vive functionality. The system will be setup with a prototype e-book experiment in order to model several VR affordances. Once attendees have been introduced to the HTC Vive hardware and sample project, groups of participants will have an opportunity to further brainstorm novel uses cases.
Proposed by: Jim Hahn
Python has become one of the dominant languages in scientific computing and is used by researchers around the world. Its popularity is due in large part to a rich set of libraries for data analysis like Pandas and NumPy and tools for exploring scientific code like Jupyter notebooks. Join us for this half-day workshop on the basics of using Pandas within a Jupyter notebook. We will cover importing data, selecting and subsetting data, grouping data, and generating simple visualizations. All are welcome, but some familiarity with Python is recommended, e.g. the concepts covered in the Codecademy or Google Python courses.
Proposed by: Bret Davidson and Kevin Beswick
Learn about the features and capabilities of Sufia, a Hydra-based repository solution. Attendees will participate in a hand-on demonstration where they deposit content, edit metadata, create collections, and explore access control options. Attendees should bring laptops with Chrome, Firefox, or Safari installed. Please plan on bringing at least one image, document, or other digital content that you’re comfortable uploading and using for demo and experimentation purposes 🙂
Proposed by: Mark Bussey and Justin Coyne
The web can be a trove of openly accessible data, but it is not always readily available in a format that allows it to be downloaded for analysis and reuse. This workshop aims to introduce attendees to web scraping, a technique to automate extracting data from websites.
Part one of the workshop will use browser extensions and web tools to get started with web scraping quickly, give examples where this technique can be useful, and introduce how to use XPath queries to select elements on a page.
Part two will introduce how to write a spider in Python to follow hyperlinks and scrape several web pages using the Scrapy framework. We will conclude with an overview of the legal aspects of web scraping and an open discussion.
You don’t need to be a coder to enjoy this workshop! Anyone wishing to learn web scraping is welcome, although some familiarity with HTML will be helpful. Part two will require some experience with Python, attendees unfamiliar with this language are welcome to stay only for part one and still learn useful web scraping skills!
Proposed by: Thomas Guignard and Kim Pham
Paper prototyping is a low-cost, structured brainstorming technique that uses materials such as paper and pencils to better understand the way users interact with physical, visual, and textual information. It can help us learn how to better think through workflows, space design, and information architecture. Session attendees will learn about the ways low-fidelity prototyping and wireframing can be used to develop ideas, troubleshoot workflows, and improve learning and interaction.
In the first half of the workshop, participants will step through activities in icon design, persona development, and task development. In the second half they will develop a low fidelity prototype and step through a guerilla usability testing process with it.