Digital Humanities/Scholarship Technology

Behind the Scenes: Learning to Code, Part 1

Sample HTML, CC0 Public Domain Image

Hello everyone! Thanks again for stopping by! Sorry it’s been a couple weeks since the last post but hopefully you are still hanging on! This week I thought I would talk about an on-going project I’ve been working on…learning to code! I have worked up my skills to become pretty proficient in HTML, CSS, some JavaScript and jQuery (all web development tools) and Python (general purpose language). But, you may be asking yourself why a Librarian would want or need to learn about web development and computer programming. Are those skills transferable to my every day work? Will it make me more of an asset to my Library? Well, I would say the answer to both of those questions is an emphatic “YES!”. 

I don’t know about you, but my daily work flow involves computers. I spend 90% of my time staring into the depths of my computer screens, toggling between various programs and websites to accomplish my daily tasks. I imagine most people operate the same way, no matter what occupation or profession you are a member of. Computers (including the ones that fit into your pockets) are how we receive and interpret most information. That being said, why not try learning how the programs and websites we use daily are constructed, manipulated and customized. And if you think it’s just me, there are a plethora of “coding for beginners” programs available (which I will link to at the bottom of the page) and most are free! 

So, other than just a thirst for learning some basic coding skills, how could this help Me as a Librarian? Well as a Collection Development Associate, many of my duties include comparing our current holdings with publisher sites. Sometimes I spend up to six hours a day looking at one site and comparing the titles published to our collection. After comparing the titles I compile a list of the ones we don’t have and generally place an order through our various vendors so we can acquire those sought after titles. While that may not seem that time consuming, imagine what else I (and my supervisor) could accomplish in a day’s work if the repetitive part of this task was done for me? 

I have started to write a script that will do this very thing! First, it takes a look at a publisher’s site, reads and grabs the ISBNs associated with the books I’m interested in, jumps over to our catalog and checks our collection to see if we already have these selected titles and compiles a list. Pretty cool, right? Having this program would allow me to skip to the final stage of ordering titles. Allowing me to get more lists done in a day and free up time to work on other various projects. This type of work has been done before too. In Andromeda Yelton’s “Coding for Librarians: Learning by Example” (2015), she cites different types of short scripts other librarians have written in order for them to create more efficient work flows. One of those examples is for this exact case! 

Now, you may be asking yourself how I plan to actually do this. The best way to approach this (that I have found) is to use Regular Expressions within Python and use Beautiful Soup for the web scraping. This will parse through the text of a webpage (the publisher site) and pull out what string I want (the ISBNs) and then compare it to the ISBNs in our holdings. I have not completed this script (as I mentioned, I’m pretty new to this) but I hope to do so soon. I also plan to test it on my personal computer to work out all the kinks. While this particular piece of code would not affect the larger library website as a whole or our catalog, it is still important to ensure that I have support from my supervisor before actually running with this. Hopefully, I will get this completed and approved and make my day just a little more efficient.

While at this moment my programming skills may be behind the average programmer, having the know-how to write, run and understand code enables me to help in many aspects of my job. Many scripts can be adapted for different projects so writing one for my workflow might help someone else down the line. There are tons of applications for which simple scripts can increase productivity. While my example helps me with collection development, reading through “Coding for Librarians” can give you ideas that can help with patron services, metadata and authority control and so many others.

I hope you enjoyed getting a glimpse at my current project and as always please feel free to interact with me through comments or Twitter. I would be happy to hear suggestions or your own ideas for coding for librarians.

And as promised some great coding for beginners sites and forums to help you on your quest! provides free learning tools for languages such as Python, JavaScript, and Ruby. It also features tutorials such as How to Build an Interactive Website that will combine skills such as HTML, CSS and jQuery. Plus community forum to discuss different topics related to programming. Lots of different MOOCs available on learning to code. Courses are taught by schools such as Johns Hopkins, University of Michigan and more. A forum for tech people working in/with libraries, museums and archives involved with tech “stuff”. They curate job advertisements that have to do with coding as well as provide community support.

LITA: You might also want to consider joining or keeping up with LITA (Library and Information Technology Association – part of ALA). They work to promote, develop, and aid in the implementation of library and information technology. You can also find learning opportunities through their workshops and conferences. A forum and support network for women who already use or are learning Python (mostly for programmers).

Google also provides free documentation on various programming languages that can help you get started.

You should also check out Andromeda Yelton’s blog for more resources, great insight into libraries and technology and encouragement that we can all reap the benefits of standing and working at this intersection.