You are here

Feed aggregator

LITA: An Interview with Emerging Leader Catie Sahadath

planet code4lib - Mon, 2016-12-19 15:34

Tell us about your library job. What do you love about it?

I am the Social Sciences Data Librarian at the University of Ottawa Library. My primary role is providing support for data resources to faculty and students whose research requires secondary resources. This includes helping them with finding, interpreting, manipulating, and analyzing data resources. I work in a small branch that is situated right in the Faculty of Social Sciences building, though I am part of a larger data/GIS/government information team that is based at our main library. I am also the liaison librarian for Feminist and Gender Studies, and Social Work.

Sometimes I’m overcome with excitement when I think about how much I enjoy my work. I get to interact with students and faculty, and helping them out brings me a lot of satisfaction. I work in a supportive team environment, which allows me to explore new and innovative ideas, while helping out my colleagues with theirs. It also helps that I really like data. I’m very task- and process-oriented, and working with data allows me to leverage that trait.

Where do you see yourself going from here, career-wise?

At the end of my career I want to be able to look back on it all and know unequivocally that I embraced positive change, lifted up my colleagues, and left the profession in a better state than it was in when I started. I want to know that I did this to the best of my ability, making the most positive impact that I possibly could have.

I hesitate to select one ideal job path, because I know that any number of directions could help me reach my end goal. But I do know that I’m an ambitious lady, and that my skills and talents are suited to leadership. Because of this, I believe that the most effective way for me to encourage positive change, lift up my colleagues, and ameliorate the profession is by seeking out leadership opportunities, so that’s the general direction that I’m pointing my career in.

Why did you apply to be an Emerging Leader? What are you most excited about?

I found out about the Emerging Leader program from a former colleague of mine whom I respect a lot, who was a participant last year. She loved the program, and that was the reason I initially looked into it. Once I learned more about the Emerging Leaders program, I began to discover that the program objectives of developing leadership for professional service were in line with my own goals.

I’m most excited about being part of a support network with other Emerging Leaders from outside of Canada, as well as with LITA members. I’ve participated in some leadership programs with a Canadian focus, and I really value my program peers north of the 49th parallel. I’m happy to begin developing a similar network south of the border!

What are your favorite things to do when you’re not working?

I paddle! Since high school I have been involved with Dragon Boat paddling. I’m on a competitive women’s team called the Ottawa Galley Girls, and we’re currently training to qualify for the Club Crew World Championships. In the summer this means lots of time on the water, and in the winter it means lots of time at the gym.




Mark E. Phillips: First step analysis of Library of Congress Name Authority File

planet code4lib - Mon, 2016-12-19 14:30

For a class this last semester I spent a bit of time working with the Library of Congress Name Authority File (LC-NAF) that is available here in a number of downloadable formats.

After downloading the file and extracting only the parts I was interested in, I was left with 7,861,721 names to play around with.

The resulting dataset has three columns, the unique identifier for a name, the category of either PersonalName or CorporateName and finally the authoritative string for the given name.

Here is an example set of entries in the dataset.

<> PersonalName Thomas, Mike, 1944- <> PersonalName Gutman, Sharon A. <> PersonalName Hornby, Lester G. (Lester George), 1882-1956 <> PersonalName Borisi\uFE20u\uFE21k, G. N. (Galina Nikolaevna) <> PersonalName Cope, Samantha <> PersonalName Okuda, Jun <> PersonalName Brandon, Wendy <> PersonalName Gminder, Andreas <> CorporateName Archivo Hist\u00F3rico Provincial de Granada <> PersonalName Mermier, Pierre-Marie, 1790-1862

I was interested in how Personal and Corporate names differ across the whole LC-NAF file and to see if there were any patterns that I could tease out. The final goal if I could train a classifier to automatically classify a name string into either PersonalName or CorporateName classes.

But more on that later.

Personal or Corporate Name

The first thing to take a look at in the dataset is the split between PersonalName and CorporateName strings.

LC-NAF Personal / Corporate Name Distribution

As you can see the majority of names in the LC-NAF are personal names with 6,361,899 (81%) and just 1,499,822 (19%) being corporate names.


One of the common formatting rules in library land is to invert names so that they are in the format of Last, First.  This is useful when sorting names as it will group names together by family name instead of ordering them by the first name.  Because of this common rule I expected that the majority of the personal names will have a comma.  I wasn’t sure what number of the corporate names would have a comma in them.

Distribution of Commas in Name Strings

In looking at the graph above you can see that it is true that the majority of personal names have commas 6,280,219 (99%) with a much smaller set of corporate names 213,580 (14%) having a comma present.


I next took a look at periods in the name string.  I wasn’t sure exactly what I would find in doing this so my only prediction was that there would be fewer name strings that have periods present.

Distribution of Periods in Name Strings

This time we see a bit different graph.  Personal names have1,587,999 (25%) instances with periods while corporate names had 675,166 (45%) instances with periods.


Next up to look at are hyphens that occur in name strings.

Distribution of Hyphens in Name Strings

There are 138,524 (9%) of corporate names with hyphens and 2,070,261 (33%) of personal names with hyphens present in the name string.

I know that there are many name strings in the LC-NAF that have dates in the format of yyyy-yyyy, yyyy-, or -yyyy. Let’s see how many name strings have a hyphen when we remove those.

Date and Non-Date Hyphens

This time we look at the instances that just have hyphens and divide them into two categories. “Date Hyphens” and “Non-Date Hyphens”.  You can see that most of the corporate name strings have hyphens that are not found in relation to dates.  The personal names on the other hand have the majority of hyphens occurring in date strings.


The final punctuation characters we will look at are parenthesis.

Distribution of Parenthesis in Name Strings

We see that most names overall don’t have parenthesis in them.  There are 472,254 (31%) name strings in the dataset with parenthesis. There are also 541,087 (9%) of personal name strings that have parenthesis.

This post is the first in a short series that takes a look at the LC Name Authority File to get a better understanding of how names in library metadata have been constructed over the years.

If you have questions or comments about this post,  please let me know via Twitter.

OCLC Dev Network: Installing OCLC's PHP Authentication Library

planet code4lib - Mon, 2016-12-19 14:00

A walkthrough of how to install OCLC's PHP Authentication Library and its benefits and efficiencies.

Library Tech Talk (U of Michigan): HTTPS (Almost) Everywhere

planet code4lib - Mon, 2016-12-19 00:00

The University of Michigan Library pledges to update its major websites to use secure (HTTPS) connections between the servers and web browsers by December 2016.

Library Tech Talk (U of Michigan): Formalizing Accessions from Patrons for HathiTrust: “Hey, would you like this book I've got?”

planet code4lib - Mon, 2016-12-19 00:00

Over the past several months, Digital Content & Collections has worked on new procedures for handling accessions from patrons for HathiTrust. What happens if no HathiTrust contributing institution has their volume on their shelves, and the volume is a good addition to the HathiTrust corpus? In these cases, U-M Library steps into the breach. We can easily handle a small throughput of these volumes from HathiTrust, and we handle three kinds of accessions: physical, digital and virtual.

DuraSpace News: VIVO Updates for Dec 18–New members, VIVO Camp, Happy Holidays!

planet code4lib - Mon, 2016-12-19 00:00

From Mike Conlon, VIVO Project Director

Two new members!  Dartmouth College and Université du Québec à Montréal are new VIVO members!  Thank you!

Karen Coyle: Transparency of judgment

planet code4lib - Sun, 2016-12-18 19:59
The Guardian, and others, have discovered that when querying Google for "did the Holocaust really happen", the top response is a Holocaust denier site. They mistakenly think that the solution is to lower the ranking of that site.

The real solution, however, is different. It begins with the very concept of the "top site" from searches. What does "top site" really mean? It means something like "the site most often pointed to by other sites that are most often pointed to." It means "popular" -- but by an unexamined measure. Google's algorithm doesn't distinguish fact from fiction, or scientific from nutty, or even academically viable from warm and fuzzy. Fan sites compete with the list of publications of a Nobel prize-winning physicist. Well, except that they probably don't, because it would be odd for the same search terms to pull up both, but nothing in the ranking itself makes that distinction.

The primary problem with Google's result, however, is that it hides the relationships that the algorithm itself uses in the ranking. You get something ranked #1 but you have no idea how Google arrived at that ranking; that's a trade secret. By not giving the user any information on what lies behind the ranking of that specific page you eliminate the user's possibility to make an informed judgment about the source. This informed judgment is not only about the inherent quality of the information in the ranked site, but also about its position in the complex social interactions surrounding knowledge creation itself.

This is true not only for Holocaust denial but every single site on the web. It is also true for every document that is on library shelves or servers. It is not sufficient to look at any cultural artifact as an isolated case, because there are no isolated cases. It is all about context, and the threads of history and thought that surround the thoughts presented in the document.

There is an interesting project of the Wikimedia Foundation called "Wikicite." The goal of that project is to make sure that specific facts culled from Wikipedia into the Wikidata project all have citations that support the facts. If you've done any work on Wikipedia you know that all statements of fact in all articles must come from reliable third-party sources. These citations allow one to discover the background for the information in Wikipedia, and to use that to decide for oneself if the information in the article is reliable, and also to know what points of view are represented. A map of the data that leads to a web site's ranking on Google would serve a similar function.

Another interesting project is CITO, the Citation Typing Ontology. This is aimed at scholarly works, and it is a vocabulary that would allow authors to do more than just cite a work - they could give a more specific meaning to the citation, such as "disputes", "extends", "gives support to". A citation index could then categorize citations so that you could see who are the deniers of the deniers as well as the supporters, rather than just counting citations. This brings us a small step, but a step, closer to a knowledge map.

All judgments of importance or even relative position of information sources must be transparent. Anything else denies the value of careful thinking about our world. Google counts pages and pretends not to be passing judgment on information, but they operate under a false flag of neutrality that protects their bottom line. The rest of us need to do better.

Hydra Project: Connect 2017 dates confirmed

planet code4lib - Sun, 2016-12-18 09:38

We are pleased to be able to confirm the dates for Hydra Connect 2017.

HC2017 will take place from Monday 11th to Thursday 14th September hosted by Northwestern University.  Please reserve the dates in your calendar.  Connect 2016 saw some 260 people from almost 90 institutions meet in Boston for a very successful event; help make Connect 2017 even bigger and better!

Mark E. Phillips: Removing leading or trailing white rows from images

planet code4lib - Sat, 2016-12-17 15:09

At the library we are working on a project to digitize television news scripts from KXAS, the NBC affiliate from Fort Worth.  These scripts were read on the air during the broadcast and are a great entry point into a vast collection of film and tape collection that is housed at the UNT Libraries.

To date we’ve digitized and made available over 13,000 of these scripts.

In looking at workflows we noticed that sometimes the scanners and scanning software would leave several rows of white pixels at the leading or trailing end of the image.

It is kind of hard to see that because this page has a white background so I’ll include a closeup for you.  I put a black border around the image to help the white stand out a bit.

Detail of leading white edge

One problem with these white rows is that they happen some of the time but not all of the time.  Another problem is that the number of white lines isn’t uniform, it will vary from image to image when it occurs. The final problem is that it is not consistently at the top or at the bottom of the image. It could be at the top, the bottom, or both.

Probably the best solution to this problem is going to be getting different control software for the scanners that we are using.  But that won’t help the tens of thousands of these image that we have already scanned and that we need to process.

Trimming white line Manual

There are a number of ways that we can approach this task.  First we can do what we are currently doing which is to have our imaging students open each image and manually crop them if needed.  This is very time consuming.


There is a tool in photoshop that can sometimes be useful for this kind of work.  It is the “Trim” tool.  Here is the dialog box you get when you select this tool.

Photoshop Trim Dialog Box

This allows you to select if you want to remove from the top of bottom (or left or right).  The tool wants you to select a place on the image to grab a color sample and then it will try and trim off rows of the image that match that color.

Unfortunately this wasn’t an ideal solution because you still had to know if you needed to crop from the top or bottom.


Imagemagick tools have an option called “trim” that does a very similar thing to the Photoshop Trim tool.  It is well described on this page.

By default the trim option here will remove edges around the whole image that match a pixel value.  You are able to adjust the specificity of the pixel color if you add a little blur but it isn’t an ideal solution either.

A little Python

My next thing to look at was to use a bit of Python to identify the number of rows in an image that are white.

With this script you feed it an image filename and it will return the number of rows from the top of the image that are at least 90% white.

The script will convert the incoming image into a grayscale image, and then line by line count the number of pixels that have a pixel value greater than 225 (so a little white all the way to white white).  It will then count a line as “white” if more than 90% of the pixels on that line have a value of greater than 225.

Once the script reaches a row that isn’t white, it ends and returns the number of white lines it has found.  If the first row of the image is not a white row it will immediately return with a value of 0.

The next thing to go back to Imagemagick but this time use the -chop flag to remove the number of rows from the image that the previous script specified.

mogrify -chop 0x15 UNTA_AR0787-010-1959-06-14-07_01.tif

We tell mogrify to chop off the first fifteen rows of the image with the 0x15 value.  This means an offset of zero and then remove fifteen rows of pixels.

Here is what the final image looks like without the leading white edge.

Corrected image

In order to count the rows from the bottom you have to adjust the script in one place.  Basically you reverse the order of the rows in the image so  you work from the bottom first.  This allows you to apply the same logic to finding white rows as we did before.

You have to adjust the Imagemagick command as well so that you are chopping the rows from the bottom of the image and not the top.  You do this by specifying -gravity in the command.

mogrify -gravity bottom -chop 0x15 UNTA_AR0787-010-1959-06-14-07_01.tif

With a little bit of bash scripting these scripts can be used to process a whole folder full of images and instructions can be given to only process images that have rows that need to be removed.

This combination of a small Python script to gather image information and then passing that info on to Imagemagick has been very useful for this project and there are a number of other ways that this same pattern can be used for processing images in a digital library workflow.

If you have questions or comments about this post,  please let me know via Twitter.

Library of Congress: The Signal: New FADGI Guidelines for Embedded Metadata in DPX Files

planet code4lib - Fri, 2016-12-16 17:04

The Federal Agencies Digitization Guidelines Initiative Audio-Visual Working Group is pleased to announce that its new draft publication, Embedding Metadata in Scanned Motion Picture Film Files: Guideline for Federal Agency Use of DPX Files, is available for public comment.

FADGI’s Embedded Metadata Guidelines for DPX Files

The Digital Picture Exchange format typically stores image-only data from scanned motion picture film or born-digital images created by a camera that produces a DPX output. Each DPX file represents a single image or frame in a sequence of a motion picture or video data stream. As a structured raster image format, DPX is intended to carry only picture or imagery data, with corresponding sound carried in a separate format, typically the WAVE format.  In practice, this means that a single digitized motion picture film will consist of a sequence of tens of thousands of individual DPX files, each file corresponding to a frame of scanned film with sequentially numbered file names, as well as a separate audio file for sound data.

Film reel. Photo courtesy of emma.buckley on Flickr. CC BY-ND 2.0.

This document is limited in scope to embedded-metadata guidelines and does not look to define other technical characteristics of what a DPX file might carry, including image tonal settings, aspect ratios, bit depths, color models and resolution.  Recommended capture settings are defined for a variety of source material in the companion FADGI document, Digitizing Motion Picture Film: Exploration of the Issues and Sample SOW.

The new guidelines define FADGI implementations for embedded metadata in DPX file headers, including core fields defined by the SMPTE ST268 family of standards as well as selected fields Strongly Recommended, Recommended or Optional for FADGI use. The non-core fields take advantage of existing header structures as well as define new metadata fields for the User Defined fields to document, among other things, digitization-process history.

For all metadata fields addressed in this guideline, FADGI has definitions, including those for fields that do not have a definition in SMPTE ST268. For all core fields, the FADGI use complies with the SMPTE use. In non-core fields, especially those with no definition from SMPTE, FADGI defines the use. One example is the Creator field, which FADGI proposes to be used for the name of the institution or entity responsible for the creation, maintenance and preservation of this digital item. This use aligns with other FADGI embedded-metadata guidelines for BWF and MXF AS-07 files.

Metadata has wings. Photo courtesy of Gideon Burton on Flickr. CC BY-SA 2.0

FADGI draws inspiration from the EBU R98-1999: Format for the <CodingHistory> Field in Broadcast Wave Format (PDF) document for defining a use for field 76, User Defined Data Header, to summarize data on the digitizing process, including signal-chain specifics and other elements. The Digitization Process History field employs a defined string variable for each parameter of the digitization process: the first line documents the source film reel, the second line contains data on the capture process and the third line of data records information on the storage of the file.

Initiated in spring 2016, this project is led by the FADGI Film Scanning subgroup with active participation from the Smithsonian’s National Museum of African American History and Culture (NMAAHC), the National Archives and Records Administration (NARA), NASA’s Johnson Space Center and the Library of Congress, including Digital Collections and Management Services, the Packard Campus for Audio-Visual Conservation and the American Folklife Center. The fast pace of this project marks a new work ethos for the always-collaborative FADGI, moving from initial concept to draft publication in under eight months. This iterative nature allows the working group to be more agile in its project management and to get stakeholder feedback early in the project.

At the 2016 Association of Moving Images annual conference in Pittsburgh, FADGI members Criss Kovac from NARA and Blake McDowell from NMAAHC presented a well-received poster (PDF) and handout (PDF) on the project.

FADGI welcomes comments on the draft guidelines through February 28, 2017.

Jonathan Rochkind: Getting full-text links from EDS API

planet code4lib - Thu, 2016-12-15 17:54

The way full-text links are revealed (or at least, um, “signalled”) in the EBSCO EDS API  is… umm… both various and kind of baroque.

I paste below a personal communication from an EBSCO developer containing an overview. I post this as a public service, because this information is very unclear and/or difficult to figure out from actual EBSCO documentation, and would also be very difficult to figure out from observation-based reverse-engineering, because there are so many cases.

Needless to say, it’s also pretty inconvenient to develop clients for, but so it goes.

There are a few places to look for full-text linking in our API.  Here’s an overview:

a.       PDF FULL TEXT: If the record has {Record}.FullText.Linkselement, and the Link elements inside have a Type element that equals “pdflink”, then that means there is a PDF available for this record on the EBSCOhost platform.  The link to the PDF document does not appear in the SEARCH response, but the presence of a pdflink-type Link should be enough to prompt the display of a PDF Icon.  To get to the PDF document, the moment the user clicks to request the full text link, first call the RETRIEVE method with the relevant identifiers (accession number and database ID from the Header of the record), and you will find a time-bombed link directly to the PDF document in the same place (FullText.Links[i].Url) in the detailed record.  You should not display this link on the screen because if a user walks away and comes back 15 minutes later, the link will no longer work.  Always request the RETRIEVE method when a user wants the PDF document.

b.       HTML FULL TEXT: If the record has {Record}.FullText.Text.Availability element, and that is equal to “1”, then that means the actual content of the article (the full text of it) will be returned in the RETIREVE method for that item.  You can display this content to the user any way you see fit.  There is embedded HTML in the text for images, internal links, etc.

c.       EBOOK FULL TEXT: If the record has {Record}.FullText.Linkselement, and the Link elements inside have a Type element that equals “ebook-epub” or “ebook-pdf”, then that means there is an eBook available for this record on the EBSCOhost platform.  The link to the ebook does not appear in the SEARCH response, but the presence of a ebook-type Link should be enough to prompt the display of an eBook Icon.  To get to the ebook document, the moment the user clicks to request the full text link, first call the RETRIEVE method with the relevant identifiers (accession number and database ID from the Header of the record), and you will find a time-bombed link directly to the ebook in the same place (FullText.Links[i].Url) in the detailed record.  You should not display this link on the screen because if a user walks away and comes back 15 minutes later, the link will no longer work.  Always request the RETRIEVE method when a user wants the ebook.

d.       856 FIELD FROM CATALOG RECORDS: I don’t think you are dealing with Catalog records, right?  If not, then ignore this part.  Look in {Record}.Items.  For each Item, check the Group element.  If it equals “URL”, then the Data element will contain a link we found in the 856 Field from their Catalog, along with the link label in the Label element.

e.       EBSCO SMARTLINKS+: These apply if the library subscribes to a journal via EBSCO Journal Service.  They are direct links to the publisher platform, similar to the custom link.  If the record has {Record}.FullText.Linkselement, and the Link elements inside have a Typeelement that equals “other”, then that means there is a direct-to-publisher-platform link available for this record.  The link to the PDF document does not appear in the SEARCH response, but the presence of a other-type Link should be enough to prompt the display of a Full Text Icon.  To get to the link, the moment the user clicks to request the full text link, first call the RETRIEVE method with the relevant identifiers (accession number and database ID from the Header of the record), and you will find a time-bombed link directly to the document in the same place (FullText.Links[i].Url) in the detailed record.  You should not display this link on the screen because if a user walks away and comes back 15 minutes later, the link will no longer work.  Always request the RETRIEVE method when a user wants the link.

f.        FULL TEXT CUSTOMLINKS: Look in the {Record}.FullText.CustomLinks element.  For each element there, you’ll find a URL in theUrl element, a label in the Text element, and an icon if provided in the Icon element.

g.       Finally, we have NON-FULLTEXT CUSTOMLINKS that point to services like ILLiad, the catalog, or other places that will not end up at full text.  You’ll find these at {Record}.CustomLinks.  For each element there, you’ll find a URL in the Url element, a label in the Text element, and an icon if provided in the Icon element.

One further variation (there are probably more I haven’t discovered yet), for case ‘d’ above, the ... object sometimes has a bare URL in it as described above, but other times has an escaped text which when unescaped becomes source for a weird  XML node which has the info you need in it. It’s not clear if this varies due to configuration, due to your ILS EDS is connecting to, or something else. In my case, I am inexplicably see it sometimes change from request to request.
Filed under: General

District Dispatch: Robert Bocher re-appointed to Universal Service Administrative Company Board of Directors

planet code4lib - Thu, 2016-12-15 17:42

Washington, D.C. – The American Library Association (ALA) applauded Robert (Bob) Bocher’s re-appointment (pdf) by the Federal Communications Commission to fill the library seat on the Board of Directors the Universal Service Administrative Company (USAC). USAC administers the $3.9 billion E-rate program in addition to the other programs that are part of Universal Service Fund (USF) on behalf of the FCC. Mr. Bocher was previously endorsed by ALA and appointed in 2015 by the FCC to finish the term of Anne Campbell who had held the seat for several terms and served on the Executive Committee. Mr. Bocher will begin his first full 3-year term in January 2017.

OITP Fellow and USAC Board Member Bob Bocher

“ALA is pleased Bob will continue to lend his expertise on behalf of libraries during his renewed tenure on the USAC Board,” Alan Inouye, director of ALA’s Office for Information Technology Policy (OITP), said. “Bob has a solid reputation across the library community for his keen knowledge and understanding of the E-rate program from both the applicant and policy perspectives. He is also extremely knowledgeable on related telecommunication and broadband issues. We are confident Bob will be a strong advocate for libraries as USAC continues to refine the implementation of major changes in the E-rate program as a result of the FCC’s major reforms of the program in 2014.”

Mr. Bocher brings a wealth of experience to the USAC Board and a long history of advocating for library technology and broadband capacity issues. He began his work with the E-rate program during its inception for the Wisconsin Department of Public Instruction as its state-wide E-rate support manager. During that time he also was an original member of ALA’s E-rate task force. Bocher continues to serve the library community as a Senior Fellow for OITP and remains in his position on the E-rate task force.

When asked about his immediate and longer term goals for his 3-year term, Mr. Bocher said, “In the immediate short-term, we need to focus our attention and resources on getting decisions made for all the 2016 funding requests. We are almost half-way through the 2016 program year and some libraries (and schools) are still waiting to know if their requests will be funded. Looking over the next several months, we have to focus on making certain the rollout of the Form 471 application window for 2017 will proceed in a smoother manner than what we experienced last year when libraries needed a separate filing window deadline. One of the key aspects of this will be making certain that the library (and school) information in the E-rate Productivity Center (EPC) is accurate and up-to-date.”

For more information about the 19-member USAC Board, including the Schools and Libraries Committee, see

The post Robert Bocher re-appointed to Universal Service Administrative Company Board of Directors appeared first on District Dispatch.

LITA: Jobs in Information Technology: December 15, 2016

planet code4lib - Thu, 2016-12-15 17:28

New vacancy listings are posted weekly on Wednesday at approximately 12 noon Central Time. They appear under New This Week and under the appropriate regional listing. Postings remain on the LITA Job Site for a minimum of four weeks.

New This Week

EBSCO Information Services, Library Services Engineer, Ipswich, MA

Visit the LITA Job Site for more available jobs and for information on submitting a job posting.

Equinox Software: Burnham Joins Bibliomation with Equinox Support

planet code4lib - Thu, 2016-12-15 15:34


Duluth, Georgia–December 15, 2016

The partnership between Equinox and Bibliomation continues to grow as Burnham Library was successfully migrated to Evergreen in mid-November.  Burnham is a single branch library located in Bridgewater, Connecticut.  Burnham serves just over 1,100 patrons with over 31,000 holdings.  This migration follows Milford Library’s successful migration in September.

Rogan Hamby, Equinox Data and Project Analyst, worked on this project and remarked, “It was great partnering with Bibliomation on this project and wonderful to see the confidence and enthusiasm that the Burnham staff displayed during their migration.  No one undertakes a migration lightly but they made it seem effortless.  I always love seeing libraries like Burnham join the larger Evergreen community.”

Sandra Neary, Burnham Library Director, added, “I only wish we could have become a part of Bibliomation and Evergreen well before now. This has been such a positive experience in every aspect.  Questions answered in a flash, every detail attended to in such a timely manner.  Evergreen and Bibliomation are a match made in heaven! We are so happy to have made this move and look forward to a long and happy relationship.”

About Equinox Software, Inc.

Equinox was founded by the original developers and designers of the Evergreen ILS. We are wholly devoted to the support and development of open source software in libraries, focusing on Evergreen, Koha, and the FulfILLment ILL system. We wrote over 80% of the Evergreen code base and continue to contribute more new features, bug fixes, and documentation than any other organization. Our team is fanatical about providing exceptional technical support. Over 98% of our support ticket responses are graded as “Excellent” by our customers. At Equinox, we are proud to be librarians. In fact, half of us have our ML(I)S. We understand you because we *are* you. We are Equinox, and we’d like to be awesome for you. For more information on Equinox, please visit

About Bibliomation

Bibliomation is Connecticut’s largest library consortium. Sixty public libraries and seventeen schools share an Evergreen system with centralized cataloging and a shared computer network. Bibliomation is Connecticut’s only open source consortium.  Members enjoy benefits beyond the ILS. Bibliomation offers top-notch cataloging, expert IT support, discounts on technology and library products, and regular trainings and workshops on a variety of topics. Non-members can take advantage of Bibliomation’s services as well. BiblioTech, OverDrive, and a wide range of consulting services are available.  For more information on Bibliomation, please visit

About Evergreen

Evergreen is an award-winning ILS developed with the intent of providing an open source product able to meet the diverse needs of consortia and high transaction public libraries. However, it has proven to be equally successful in smaller installations including special and academic libraries. Today, over 1400 libraries across the US and Canada are using Evergreen including NC Cardinal, SC Lends, and B.C. Sitka.
For more information about Evergreen, including a list of all known Evergreen installations, see

HangingTogether: Gifts for Librarians and Archivists, 2016 edition

planet code4lib - Wed, 2016-12-14 22:19

We asked, you answered, and as usual we got a lot of great suggestions from our readers. Thank you! Crowdsourcing helps to distinguish ours from other, similar gift guides, and we are pleased to keep up our tradition.

We received a few whimsical gift ideas including a requests for a time machine which would help with (among other things) the ability to chip away at a backlog, to avoid or revisit poor acquisition or accessioning moments, and the opportunity to ask record creators questions that would help with description. Of course a owners manual would be the perfect companion stocking stuffer!

On the more practical side, why not prepare to start the new year with a Levenger Circa note-taking/organizing system? These come in different styles, are expandable, and can be customized to fit your needs. (Another reader notes that there is a generic version available through Office Depot.)
Or what about a novelty measuring tape? One reader suggests has a cat measuring tape and has gifted a giraffe measuring tape. I quite like this robot version.

For cold weather, cold stacks, or even workplaces with aging and unpredictable HVAC systems, what about a heated mouse? Be the envy of all your colleagues who are still making due with the fingerless gloves we recommended a few years ago.

Another reader suggests a book-alike cover for a tablet or similar — one example is the BookBook

Speaking of coffee, what about a double-walled insulated mug? For archivists who won’t admit to preservation colleagues that they indulge–very carefully–in drinking tea/coffee at their desks. Shh!

Library nostalgia is always in style — readers let us know about an library stamp t-shirt and a library card mug — both hearken back to the good old days before barcodes and automated circulation (does anyone really miss those times?). If you are looking for more goods in this area, both OutOfPrintClothing and UncommonGoods seem to have a lot of selection from socks and scarves to tote bags.

North Avenue Candles in Pittsburgh offers a series of “banned books” candles. Each candle is a tribute to a banned book and comes with a side label that explains why the book was banned. Available via Etsy.

And if you need to take a break from your heated mouse, why not curl up by the light of your banned book candle, sipping tea from your library nostalgia mug and read a good book? For example this 1989 classic about the thrill of finding original source materials that was recently translated into English:

1001 |a Farge, Arlette.
24010 |a Goût de l’archive. |l English
24514 |a The allure of the archives / |c Arlette Farge ; translated by Thomas Scott-Railton ; foreword by Natalie Zemon Davis.
264 1 |a New Haven : |b Yale University Press, |c [2013]

Want to read but not into archives?  Looking for something to stir your soul? “How can you go wrong with a laureate? Bob Dylan: The Lyrics 1961-2012 includes the full range of his Homeric talents.”

Finally, something we can all relate to — concerns about money and the budget. One reader had a suggestion for those concerned about threats to public library funding in the United States: make a donation to EveryLibrary and then present some homemade goodies or a bottle of something special with a note saying, “I made a donation in your name to save public libraries.” A direct donation to the library of your choice also works.

Thanks to Rob Jensen, Jill Tatem, Peter K, Rebecca Bryant, Betty Shankle, Anonymous, Roy Tennant, Steve Smith, Amy, Cynthia Van Ness, Kate Bowers, and Mike Furlough for their contributions!

About Merrilee Proffitt

Mail | Web | Twitter | Facebook | LinkedIn | More Posts (288)

Jonathan Rochkind: Maybe beware of microservices

planet code4lib - Wed, 2016-12-14 20:02

In a comment on my long, um,  diatribe last year about linked data, Eric Hellman suggested “I fear the library world has no way to create a shared technology roadmap that can steer it away from dead ends that at one time were the new shiny,” and I responded “I think there’s something to what you suggest at the end, the slow-moving speed of the library community with regard to technology may mean we’re stuck responding with what seemed to be exciting future trends…. 10+ years ago, regardless of how they’ve worked out since. Perhaps if that slow speed were taken into account, it would mean we should stick to well established mature technologies, not “new shiny” things which we lack the agility to respond to appropriately.”

I was reminded of this recently when running across a blog post about “Microservices”, which I also think were very hyped 5-10 years ago, but lately are approached with a lot more caution in the general software engineering industry, as a result of hard-earned lessons from practice.

Sean Kelly, in Microservices? Please, Don’t does write about some of the potential advantages of microservces, but as you’d expect from the title, mainfully focuses on pitfalls engineers have learned through working with microservice architectures. He warns:

When Should You Use Microservices?

“When you’re ready as an engineering organization.”

I’d like to close by going over when it could be the right time to pivot to this approach (or, if you’re starting out, how to know if this is the right way to start).

The single most important step on the path to a solid, workable approach to microservices is simply understanding the domain you’re working in. If you can’t understand it, or if you’re still trying to figure it out, microservices could do more harm than good. However, if you have a deep understanding, then you know where the boundaries are and what the dependencies are, so a microservices approach could be the right move.

Another important thing to have a handle on is your workflows – specifically, how they might relate to the idea of a distributed transaction. If you know the paths each category of request will make through your system and you understand where, how, and why each of those paths might fail, then you could start to build out a distributed model of handling your requests.

Alongside understanding your workflows is monitoring your workflows. Monitoring is a subject greater than just “Microservice VS Monolith,” but it should be something at the core of your engineering efforts. You may need a lot of data at your fingertips about various parts of your systems to understand why one of them is underperforming, or even throwing errors. If you have a solid approach for monitoring the various pieces of your system, you can begin to understand your systems behaviors as you increase its footprint horizontally.

Finally, when you can actually demonstrate value to your engineering organization and the business, then moving to microservices will help you grow, scale, and make money. Although it’s fun to build things and try new ideas out, at the end of the day the most important thing for many companies is their bottom line. If you have to delay putting out a new feature that will make the company revenue because a blog post told you monoliths were “doing it wrong,” you’re going to need to justify that to the business. Sometimes these tradeoffs are worth it. Sometimes they aren’t. Knowing how to pick your battles and spend time on the right technical debt will earn you a lot of credit in the long run.

Now, I think many library and library industry development teams actually are pretty okay at understanding the domain and workflows. With the important caveat that ours tend to end up so complex (needlessly or not), that they can be very difficult to understand, and often change — which is a pretty big caveat, for Kelly’s warning.

But monitoring?  In library/library industry projects?  Years (maybe literally a decade) behind the software industry at large.  Which I think is actually just a pointer to a general lack of engineering capabilities (whether skill or resource based) in libraries (especially) and the library industry (including vendors, to some extent).

Microservices are a complicated architecture. They are something to do not only when there’s a clear benefit you’re going to get from them, but when you have an engineering organization that has the engineering experience, skill, resources, and coordination to pull off sophisticated software engineering feats.

How many library engineering organizations do you think meet that?  How many library engineering organizations can even be called ‘engineering organizations’?

Beware, when people are telling you microservices are the new thing or “the answer”. In the industry at large, people and organizations have been burned by biting off more than they can chew in a microservice-based architecture, even starting with more sophisticated engineering organizations than most libraries or many library sector vendors have.

Filed under: General

Cynthia Ng: Notes from Front Line Technology Meetup

planet code4lib - Wed, 2016-12-14 19:55
Big thanks to West Vancouver Memorial Library for hosting their 3rd annual Front Line Technology Meetup. Heard about a lot of cool projects. West Vancouver Public Library International Games Day at Your Library (Kevin) website has lots of great resources board games, video games, etc. into library this year’s was Creative Mode in Minecraft volunteers … Continue reading Notes from Front Line Technology Meetup

Open Knowledge Foundation: Nobody wants to become an activist!

planet code4lib - Wed, 2016-12-14 13:43
Hacking the Entry Point to Digital Participation

During the recent Ultrahack 2016 tournament in Helsinki (one of the biggest hackathons in Europe for the development ideas and software), we formed a team called Two Minutes for My City that participated on the #hackthenation track. Our initial idea to improve the visualization of municipal decision processes evolved into a prototype of a mobile app that uses gamification and personalisation to encourage citizens to schedule time to follow decisions made by municipal offices. We got into the Ultrahack finals, with our prototype being one the three best projects in #hackthenation.

Using municipal open data

Helsinki has been a leader of open data in the Nordic countries and celebrated five years of successful Helsinki Region Infoshare, the open data portal of the city,in May 2016. For querying municipal decisions there is the dedicated OpenAhjo API, which has two interfaces built on it: he city’s own official portal which is still in beta and the “rivalling” portal developed by Open Knowledge Finland.

Although the official portal is more polished, it offers a view that is mostly useful for bureaucrats who already know the context of the decisions made and doesn’t provide any means of citizen participation. The independently developed portal is more robust and has implemented user registration and feedback with the precision of section of every document. However, neither of the portals offers a proper citizen-centric user experience for working with the decisions.

This is the setup we started with. Since two members of the team had already an experience of visualizing municpal decison processes from another hackathon in Tartu, the initial plan was to develop these visualization ideas further in Helsinki. However, after a night of heated discussions about principles of user experience and civic participation, we ended up with taking even one more step back toward the common citizen.

And this is the experience we want to share with you, pitching-at-a-hackathon style.

Politics is boring

Although municipal politics is the level of politics closest to citizens, people are not very interested in it. And they have a point, because local politics consists mostly of piles of rather uninteresting documents, meetings, protocols etc. So we don’t really wan’t to force people to change their mind, because they are right. Most of the time, municipal politics is really boring.

But this doesn’t mean that people don’t care about the actual decisions made at a local level. At least some of these decisions relate to things we have direct experience with, be it something from our neighborhood or related to our hobbies, occupation etc. Local issues have a high potential of being the subject of informed opinions compared to global or state level issues.

Although it might be not very glamourous to follow and discuss issues decided at the municipal offices, we still usually have opinions on these, if they are presented us in a meaningful form. And about some things we have strong opinions and we really want to be heard.

The problem is that we want to participate in decision making on our terms. And these are not the terms of officials of the city. And be aware, these are also not the same terms of those dedicated activists. But most of us would still be quite okay with dedicating one or two minutes for the city – let’s say once a week. So we built a prototype of a mobile app that lets you do exactly that.

Scheduling participation

Let’s say it’s Monday morning and you are waiting for a bus. Or you are in a traffic jam on Friday evening? Time to give your two minutes for the city? Based on your place of residence, the public services you use and the subject matters you are subscribed to we present you the most important issues brought up in the city last week.

With a simple and intuitive user interface you can skim through about three to dozen issues and give your immediate reaction to each of them. This might be equivalent of clicking a button like “yes, continue with that”, “this is important, take it seriously”, or giving your two words like “too expensive” or even something more nuanced like “take a break” or “damn hipsters”.

Maybe these are the right words and rest of the people agree with you. But for the most of time you probably just skim through the issues without making any extra efforts. Yet this is already valuable feedback to municipal offices about which things people have opinions on or care about: they will know about the “shit” before it hits the fan and they need to start finding excuses for bad decisions.

Making an impact

For most of us this is just staying informed in a very basic level of things we can relate to. We don’t want to get involved too much, because it’s a lot of hassle and we have our own lives too. But sometimes issues come up that make us willing to take action.

This is a rare moment where roles of a peaceful citizen and an activist start to overlap. Being an activist is not an easy job and it takes lots of skills to be a succesful community activist. This is the moment lots of us would feel hesitation. Should I do something? What should I do? Will it have any impact? Since I don’t have all the information, will officials consider me a troublemaker? What will my friends and colleagues think of me, if this comes public?

For that occasion we have listed the most bulletproof ways of taking the issue further. First of all you can start a discussion on the issue of your concern, which may end up as a petition or a public meeting with people with similar considerations, but there are also options to make an information request or poke the official responsible some other meaningful way. You may not want waste your time organizing a public protest in front of the city hall, when a proper way to solve the issue would be to contact an official responsible and propose your amendment to the issue discussed!

Encouraging activism

The mobile application is not meant to solve all problems of democratic participation at once. We don’t want to force people into becoming dedicated activists, if they don’t want to. But we want to make this option available at the exact moment when it’s needed and provide the relevant links and instruction manuals. But besides that people will also see how other citizens and notorious activists have used these instruments of taking things to the next level and when have they been successful.

This way the proposed model of participation on our own terms takes the role of providing civic education. Our simple mobile application is meant to be a gateway to more advanced participation portals, be it portals for freedom of information requests, discussing policy issues on digital forums, starting petitions or organizing public protests.

By hacking the citizens’ motivation to participate in municipal decision-making processes we aim to solve the specific problem of entry point to digital participation. This is the missing link between our daily lives and politics in the level closest to us.

Improve participation globally

We based our prototype on OpenAhjo API, which provides open data about the decision processes of the city of Helsinki. However, a new version of the decision API is being developed by 6aika, the cooperation body of six cities in the Helsinki region. This means that in the near future our solution could be easily adapted to automatically cover municipal decision making processes from all of these cities.

We are also promoting the standards developed in Helsinki region in Tallinn and Tartu, the two largest cities in Estonia, so we could scale the use of our application over the Finnish Gulf.

However, the problem of adequate entry point to digital participation tools is a global issue, which all of the e-democracy experiments from Buenos Aires to Tallinn struggle with. So if we hit the spot with our application, we might be able to boost participation experiments all over the world.

We intend to solve the specific problem with entry point to digital participation for good. We do it by doing four things:

  • We break the wall of bureaucracy for citizens
  • We hack the motivation using gamification
  • We personalize the citizens’ perspective to municipal decisions
  • We provide a simple yet meaningful overview of things going on in the city

Our gateway to participation needs to be backed by more advanced portals and dashboards provided by municipalities or civil society organizations. Open data is a prerequisite that enables us to do that in a proper and scalable manner.

We will make a huge impact by combining the most simple and intuitive entry point to municipal issues with the advanced features the activists are experimenting with.

We just need to build and deploy the application with the support of at least one city to start pushing the whole package all around the world.

This is our two cents for making democracy great again. Now it’s your turn!

Hydra Project: Tentative dates for Hydra Connect 2017

planet code4lib - Wed, 2016-12-14 09:25

Just a heads-up to the community that we have tentative dates for Hydra Connect 2017 – it is likely to take place Monday 11th to Thursday 14th September.  You might want to put these dates in your calendar…  Confirmation of dates and venue to follow as soon as we have them.


Subscribe to code4lib aggregator