2012 talks proposals
Deadline for talk submission is Sunday, November 20.
Prepared talks are 20 minutes (including setup and questions), and focus on one or more of the following areas:
* tools (some cool new software, software library or integration platform) * specs (how to get the most out of some protocols, or proposals for new ones) * challenges (one or more big problems we should collectively address)
The community will vote on proposals using the criteria of:
* usefulness * newness * geekiness * diversity of topics
Please follow the formatting guidelines:
== Talk Title: == * Speaker's name, affiliation, and email address * Second speaker's name, affiliation, email address, if second speaker Abstract of no more than 500 words.
- 1 VuFind 2.0: Why and How?
- 2 Open Source Software Registry
- 3 Property Graphs And TinkerPop Applications in Digital Libraries
- 4 Security in Mind
- 5 Search Engines and Libraries
- 6 Beyond code. Versioning data with Git and Mercurial.
- 7 Design for Developers
- 8 Building research applications with Mendeley
- 9 Your UI can make or break the application (to the user, anyway)
- 10 Why Nobody Knows How Big The Library Really Is - Perspective of a Library Outside Turned Insider
- 11 Building a URL Management Module using the Concrete5 Package Architecture
- 12 Building an NCIP connector to OpenSRF to facilitate resource sharing
- 13 Practical Agile: What's Working for Stanford, Blacklight, and Hydra
- 14 Quick and Dirty Clean Usability: Rapid Prototyping with Bootstrap
- 15 Search Engine Relevancy Tuning - A Static Rank Framework for Solr/Lucene
VuFind 2.0: Why and How?
- Demian Katz, Villanova University, firstname.lastname@example.org
A major new version of the VuFind discovery software is currently in development. While VuFind 1.x remains extremely popular, some of its components are beginning to show their age. VuFind 2.0 aims to retain all the strengths of the previous version of the software while making the architecture cleaner, more modern and more standards-based. This presentation will examine the motivation behind the update, preview some of the new features to look forward to, and discuss the challenges of creating a developer-friendly open source package in PHP.
Open Source Software Registry
- Peter Murray, LYRASIS, Peter.Murray@lyrasis.org
LYRASIS is creating and shepherding a registry of library open source software as part of its grant from the Mellon Foundation to support the adoption of open source software by libraries. The goal of the grant is to help libraries of all types determine if open source software is right for them, and what combination of software, hosting, training, and consulting works for their situation. The registry is intended to become a community exchange point and stimulant for growth of the library open source ecosystem by connecting libraries with projects, service providers, and events.
The first half of this session will demonstrate the registry functions and describe how projects and providers can get involved. The second half of the session will be a brainstorming suggestion of how to expand the functionality and usefulness of the registry.
Property Graphs And TinkerPop Applications in Digital Libraries
- Brian Tingle, California Digital Library, email@example.com
TinkerPop is an open source software development group focusing on technologies in the graph database space. This talk will provide a general introduction to the TinkerPop Graph Stack and the property graph model is uses. The introduction will include code examples and explanations of the property graph models used by the Social Networks in Archival Context project and show how the historical social graph is exposed as a JSON/REST API implemented by a TinkerPop rexster Kibble that contains the application's graph theory logic. Other graph database applications possible with TinkerPop such as RDF support, and citation analysis will also be discussed.
Security in Mind
- Erin Germ, United States Naval Academy, Nimitz Library, firstname.lastname@example.org
I would like to talk about security of library software.
Over the Summer, I discovered a critical vulnerability in a vendor’s software that (verified) allowed me to assume any user’s identity for that site, (verified) switch to any user, and to (unverified, meaning I didn’t not perform this as I didn’t want to “hack” another library’s site) assume the role of any user for any other library who used this particular vendor's software.
Within a 3 hour period, I discovered a 2 vulnerabilities: 1) minor one allowing me to access any backups from any library site, and 2) a critical vulnerability. From start to finish, the examination, discovery in the vulnerability, and execution of a working exploit was done in less than 2 hours. The vulnerability was a result of poor cookie implementation. The exploit itself revolved around modifying the cookie, and then altering the browser’s permissions by assuming the role of another user.
I do not intend on stating which vendor it was, but I will show how I was able to perform this. If needed, I can do further research and “investigation” into other vendor's software to see what I can “find”.
If selected, I will contact the vendor to inform them that I will present about this at C4L2012. I do not intend on releasing the name of the vendor.
Search Engines and Libraries
- Greg Lindahl, blekko CTO, email@example.com
We have exhibited at a couple of library conferences, and have received a lot of interest. blekko is a free service.
Beyond code. Versioning data with Git and Mercurial.
- Stephanie Collett, California Digital Library, firstname.lastname@example.org
- Martin Haye, California Digital Library, email@example.com
Within a relatively short time since their introduction, distributed version control systems (DVCS) like Git and Mercurial have enjoyed widespread adoption for versioning code. It didn’t take long for the library development community to start discussing the potential for using DVCS within our applications and repositories to version data. After all, many of the features that have made some of these systems popular in the open source community to version code (e.g. lightweight, file-based, compressed, reliable) also make them compelling options for versioning data. And why write an entire versioning system from scratch if a DVCS solution can be a drop-in solution? At the California Digital Library (CDL) we’ve started using Git and Mercurial in some of our applications to version data. This has proven effective in some situations and unworkable in others. This presentation will be a practical case study of CDL’s experiences with using DVCS to version data. We will explain how we’re incorporating Git and Mercurial in our applications, describe our successes and failures and consider the issues involved in repurposing these systems for data versioning.
Design for Developers
- Lisa Kurt, University of Nevada, Reno, firstname.lastname@example.org
Users expect good design. This talk will delve into what makes really great design, what to look for, and how to do it. Learn the principles of great design to take your applications, user interfaces, and projects to a higher level. With years of experience in graphic design and illustration, Lisa will discuss design principles, trends, process, tools, and development. Design examples will be from her own projects as well as a variety from industry. You’ll walk away with design knowledge that you can apply immediately to a variety of applications and a number of top notch go-to resources to get you up and running.
Building research applications with Mendeley
William Gunn, Mendeley email@example.com (@mrgunn)
This is partly a tool talk and partly a big idea one.
Mendeley has built the world's largest open database of research and we've now begun to collect some interesting social metadata around the document metadata. I would like to share with the Code4Lib attendees information about using this resource to do things within your application that have previously been impossible for the library community, or in some cases impossible without expensive database subscriptions. One thing that's now possible is to augment catalog search by surfacing information about content usage, allowing people to not only find things matching a query, but popular things or things read by their colleagues. In addition to augmenting search, you can also use this information to augment discovery. Imagine an online exhibit of artifacts from a newly discovered dig not just linking to papers which discuss the artifact, but linking to really good interesting papers about the place and the people who made the artifacts. So the big idea is, "How will looking at the literature from a broader perspective than simple citation analysis change how research is done and communicated? How can we build tools that make this process easier and faster?" I can show some examples of applications that have been built using the Mendeley and PLoS APIs to begin to address this question, and I can also present results from Mendeley's developer challenge which shows what kinds of applications researchers are looking for, what kind of applications peope are building, and illustrates some interesting places where the two don't overlap.
Your UI can make or break the application (to the user, anyway)
- Robin Schaaf, University of Notre Dame, firstname.lastname@example.org
UI development is hard and too often ends up as an after-thought to computer programmers - if you were a CS major in college I'll bet you didn't have many, if any, design courses. I'll talk about how to involve the users upfront with design and some common pitfalls of this approach. I'll also make a case for why you should do the screen design before a single line of code is written. And I'll throw in some ideas for increasing usability and attractiveness of your web applications. I'd like to make a case study of the UI development of our open source ERMS.
Why Nobody Knows How Big The Library Really Is - Perspective of a Library Outside Turned Insider
- Patrick Berry, California State University, Chico, email@example.com
In this talk I would like to bring the perspective of an "outsider" (although an avowed IT insider) to let you know that people don't understand the full scope of the library. As we "rethink education", it is incumbent upon us to help educate our institutions as to the scope of the library. I will present some of the tactics I'm employing to help people outside, and in some cases inside, the library to understand our size and the value we bring to the institution.
Building a URL Management Module using the Concrete5 Package Architecture
- David Uspal, Villanova University, firstname.lastname@example.org
Keeping track of URLs utilized across a large website such as a university library, and keeping that content up to date for subject and course guides, can be a pain, and as an open source shop, we’d like to have open source solution for this issue. For this talk, I intend to detail our solution to this issue by walking step-by-step through the building process for our URL Management module -- including why a new solution was necessary; a quick rundown of our CMS (Concrete5, a CMS that isn’t Drupal); utilizing the Concrete5 APIs to isolate our solution from core code (to avoid complications caused by core updates); how our solution was integrated into the CMS architecture for easy installation; and our future plans on the project.
Building an NCIP connector to OpenSRF to facilitate resource sharing
- Jon Scott, Lyrasis, email@example.com and Kyle Banerjee, Orbis Cascade Alliance, firstname.lastname@example.org
How do you reverse engineer any protocol to provide a new service? Humans (and worse yet, committees) often design verbose protocols built around use cases that don't line up current reality. To compound difficulties, the contents of protocol containers are not sufficiently defined/predictable and the only assistance available is sketchy documentation and kind individuals on the internet willing to share what they learned via trial by fire.
NCIP (Niso Circulation Interchange Protocol) is an open standard that defines a set of messages to support exchange of circulation data between disparate circulation, interlibrary loan, and related applications -- widespread adoption of NCIP would eliminate huge amounts of duplicate processing in separate systems.
This presentation discusses how we learned enough about NCIP and OpenSRF from scratch to build an NCIP responder for Evergreen to facilitate resource sharing in a large consortium that relies on over 20 different ILSes.
Practical Agile: What's Working for Stanford, Blacklight, and Hydra
- Naomi Dushay, Stanford University Libraries, email@example.com
Agile development techniques can be difficult to adopt in the context of library software development. Maybe your shop has only one or two developers, or you always have too many simultaneous projects. Maybe your new projects can’t be started until 27 librarians reach consensus on the specifications.
This talk will present successful Agile- and Silicon-Valley-inspired practices we’ve adopted at Stanford and/or in the Blacklight and Hydra projects. We’ve targeted developer happiness as well as improved productivity with our recent changes. User stories, dead week, sight lines … it’ll be a grab bag of goodies to bring back to your institution.
Dirty Clean Usability: Rapid Prototyping with Bootstrap
- Shaun Ellis, Princeton University Libraries, firstname.lastname@example.org
"The code itself is unimportant; a project is only as useful as people actually find it." - Linus Torvalds 
Usability has been a buzzword for some time now, but what is the process for making the the transition toward a better user experience, and hence, better designed library sites? I will discuss the one facet of the process my team is using to redesign the Finding Aids site for Princeton University Libraries (still in development). The approach involves the use of rapid prototyping, with Bootstrap , to make sure we are on track with what users and stakeholders expect up front, and throughout the development process.
Search Engine Relevancy Tuning - A Static Rank Framework for Solr/Lucene
- Mike Schultz, Amazon.com (formerly Summon Search Architect) email@example.com
Solr/Lucene provides a lot of flexibility for adjusting relevancy scoring and improving search results. Roughly speaking there are two areas of concern: Firstly, a 'dynamic rank' calculation that is a function of the user query and document text fields. And secondly, a 'static rank' which is independent of the query and generally is a function of non-text document metadata. In this talk I will outline an easily understood, hand-tunable static rank system with a minimal number of parameters.
The obvious major feature of a search engine is to return results relevant to a user query. Perhaps less obvious is the huge role query independent document features play in achieving that. Google's PageRank is an example of a static ranking of web pages based on links and other secret sauce. In the Summon service, our 800 million documents have features like publication date, document type, citation count and Boolean features like the-article-is-peer-reviewed. These fields aren't textual and remain 'static' from query to query, but need to influence a document's relevancy score. In our search results, with all query related features being equal, we'd rather have more recent documents above older ones, Journals above Newspapers, and articles that are peer reviewed above those that are not. The static rank system I will describe achieves this and has the following features:
- Query-time only calculation - nothing is baked into the index - with parameters adjustable at query time.
- The system is based on a signal metaphor where components are 'wired' together. System components allow multiplexing, amplifying, summing, tunable band-pass filtering, string-to-value-mapping all with a bare minimum of parameters.
- An intuitive approach for mixing dynamic and static rank that is more effective than simple adding or multiplying.
- A way of equating disparate static metadata types that leads to understandable results ordering.