conferences

2014 Code of Conduct

Code4Lib seeks to provide a welcoming, fun, and safe community and conference experience and ongoing community for everyone. We do not tolerate harassment in any form. Discriminatory language and imagery
(including sexual) is not appropriate for any event venue, including talks, or any community channel such as the chatroom or mailing list.

Harassment is understood as any behavior that threatens another person or group, or produces an unsafe environment. It includes offensive verbal comments or non-verbal expressions related to gender, gender identity, gender expression, sexual orientation, disability, physical appearance, body size, race, age, religious beliefs, sexual or discriminatory images in public spaces (including online), deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Conflict Resolution

1. Initial Incident

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please inform the offender that he/she has affected you negatively. Oftentimes, the offending behavior is unintentional, and the accidental offender and offended will resolve the incident by having that initial discussion.

2. Escalation

Code4Lib 2015 Call for Host Proposals

The Code4Lib Community is calling for proposals to host the tenth annual Code4Lib Conference in 2015. Prior to submitting a proposal we recommend reviewing the conference hosting web page and How To Plan a Code4LibCon on the wiki to learn more about the kind of venue the community seeks and the responsibilities involved with hosting the conference.

The deadline for proposals is midnight PST Wednesday March 12th, 2014. The decision will be made by a popular vote. Voting will begin on or around Friday March 14th, 2014 and will continue until midnight PST March 26th, 2014. The results of the vote will be announced Thursday morning at the Code4Lib conference 2014 and emailed out to the listserv.

You can apply by making your pitch to the Code4Lib Conference Planning list at code4libcon@googlegroups.com and linking to your proposal on the 2015 Hosting Proposals wiki page; attention to the criteria listed on the conference hosting page is appreciated. Good luck!

Code4Lib 2014 Sponsors

Code4Lib 2014 could not be successful without the generous support of our sponsors. We are very thankful to all of our sponsors for helping to defray the costs of the conference and supporting the scholarships we are able to provide to worthy recipients.

Platinum Sponsor:
OCLC
OCLC

Gold Sponsors:
Blacklight; Digital Library Federation; LucidWorks; Oregon State University Library; Penn State University

2014 Conference Schedule

Schedule for the 2014 Code4Lib Conference in Raleigh, NC.

All Tiled Up

Mike Graves, MIT Libraries

You've got maps. You even scanned and georeferenced them. Now what? Running a full GIS stack can be expensive, and overkill in some cases. The good news is that you have a lot more options now than you did just a few years ago. I'd like to present some lighter weight solutions to making georeferenced images available on the Web.

This talk will provide an introduction to MBTiles. I'll go over what they are, how you create them, how you use them and why you would use them.

Lucene's Latest (for Libraries)

Erik Hatcher, LucidWorks

Lucene powers the search capabilities of practically all library discovery platforms, by way of Solr, etc. The Lucene project evolves rapidly, and it's a full-time job to keep up with the ever improving features and scalability. This talk will distill and showcase the most relevant(!) advancements to date.

Under the Hood of Hadoop Processing at OCLC Research

Roy Tennant, OCLC Research

Apache Hadoop is widely used by Yahoo!, Google, and many others to process massive amounts of data quickly. OCLC Research uses a 40-node compute cluster with Hadoop and HBase to process the 300 million MARC records of WorldCat in various ways. This presentation will explain how Hadoop MapReduce works and illustrate it with specific examples and code. The role of the jobtracker in both monitoring and reporting on processes will be explained. String searching WorldCat will also be demonstrated live.

Queue Programming -- how using job queues can make the Library coding world a better place

Birkin James Diana, Brown University

In 2007 we built a system that dumped certain user web-requests for books into a database for offline-processing triggered via cron. We wanted to make the magic happen live, but knew it would take too long. Thus we created, sort of accidentally, a kind of old-fashioned static procedural job queue.

Over the years we we've been repeatedly impressed with how useful and robust this unintended architecture has been, and it fostered thinking about using real job queues in Library workflows.

Fast-forward to the present. We now are using _real_ job queueing, in production, for parts of the functioning of Brown Digital Repository. We've also used it for ingestion scripts, and plan to move more lots more code to this architecture.

I'd like to share & show:

  • our lightweight rq/redis job queueing setup
  • how using job queues can speed up workflows via using multiple workers
  • how job queueing can make workflows more robust, especially by simplifying failure handling
  • a way we've smoothly avoided race-conditions that can occur in concurrent-programming
  • a technique for using task-processing job queues to simplify complex workflows

rq: http://python-rq.org

PhantomJS+Selenium: Easy Automated Testing of AJAX-y UIs

Martin Haye and Mark Redar, California Digital Library

Web user interfaces are demanding ever-more dynamism and polish, combining HTML5, AJAX, lots of CSS and jQuery (or ilk) to create autocomplete drop-downs, intelligent buttons, stylish alert dialogs, etc. How can you make automated tests for these highly complex and interactive UIs?

Part of the answer is PhantomJS. It’s a modern WebKit browser that’s “headless” (meaning it has no display) that can be driven from command-line Selenium unit tests. PhantomJS is dead simple to install, and its blazing speed and server-friendliness make continuous integration testing easy. You can write UI unit tests in {language-of-your-choice} and run them not just in PhantomJS but in Firefox and Chrome, plus a zillion browser/OS combinations at places like SauceLabs, TestingBot and BrowserStack.

In this double-team live code talk, we’ll explain all that while we demonstrate the following in real time:

  • Start with nothing.
  • Install Selenium bindings for Ruby and Python.
  • In each language write a small test of an AJAX-y UI.
  • Run the tests in Firefox, and fix bugs (in the test or UI) as needed.
  • Install PhantomJS.
  • Show the same tests running headless as part of a server-friendly test suite.

Towards Pasta Code Nirvana: Using JavaScript MVC to Fill Your Programming Ravioli

Bret Davidson, North Carolina State University Libraries

JavaScript MVC frameworks are ushering in a golden age of robust and responsive web applications that take advantage of evergreen browsers, performant JS engines, and the unprecedented reach provided by billions of personal computing devices. The web browser has emerged as the world’s most popular application runtime and the complexity[1] and scope of JavaScript applications has exploded accordingly. Server-side web frameworks like Rails and Django have helped developers adhere to best practices like modularity, dependency injection, and unit testing for years, practices that are now being applied to JavaScript development through projects like Backbone[2], Ember[3], and Angular[4].

This talk will discuss the issues JavaScript MVC frameworks are trying to solve, common features like data binding, implications for the future of web development[5], and the appropriateness of JavaScript MVC for library applications.

[1] http://en.wikipedia.org/wiki/Spaghetti_code
[2] http://backbonejs.org
[3] http://emberjs.com
[4] http://angularjs.org

Syndicate content