Author: Robin Camille Davis

Google educational materials

As I loitered in our systems manager’s office, I noticed he had a great Google poster up on the wall:

Better searches, better resultsIt’s kinda old, but the tips still work! I did some googling when I had a minute to find out if they offered that posters for downloads, and lo and behold, there’s a whole trove of educational material from Google. Their ‘lesson plan search‘ page has a handful of posters like the one above.

However, it seems like a lot of that information is pretty outdated. You can tell both by the logo and by the text itself. I updated one of the posters by pasting in new screenshots and adding a paragraph to tip #4:

Anatomy of a google searchThe PDF (2 MB) prints out to 17×22 inches.

I’m hoping they’ll update their educational collection, but in the meantime, I might go ahead and revise/recreate some of the other useful posters.

LibGuides customization tutorial + CSS template

I posted before about the custom CSS I made for John Jay’s libguides. Here’s a more explicit breakdown of how to create and implement your own CSS (although you’re free to use the chunk of code I provided, too).

At the LACUNY Emerging Tech HTML + CSS workshop that @alevtina and I led this week, we walked through familiarizing ourselves with CSS while experimenting with customizing LibGuides. We used Adobe Dreamweaver, since it was installed on the classroom computers, but I don’t really like Dreamweaver. Typically I use oXygen XML editor ($99 academic price) to edit web code, which is useful because it color-codes tags and tells you if you’ve tried to write something invalid. TextWrangler is also a great plain text editor suitable for HTML/CSS editing (and free!).

How to use custom CSS and LibGuides

'Edit my account' page with admin status
‘Edit my account’ page with admin status
  1. Obtain admin status from whoever’s the god of libguides in your library
  2. Head to Dashboard » Admin Stuff » Look & Feel
  3. Scroll down to Code Customizations – Public Pages
  4. Plant in your custom CSS code here.
  5. You can also use custom header HTML in the next pane, if you’d rather go with that than use a Public Banner in the pane above. (I don’t recommend using both a header and banner.)

CSS template

You’ll have to get familiar with the behind-the-scenes structure of libguides, particularly the identifiers and classes they use to style specific parts of the page. I made a template below (and on Github). It’s a fill-in-the-blank CSS template with identifiers and classes you’ll probably want to change, commented with descriptions of what they are. Many aren’t listed, but you can find them using Inspect Element in Chrome/Firefox or examining a libguide’s source code.

You can test out this template by using a locally saved libguide. I made one for the workshop — you can find it in the folder 3_libguide when you download the workshop materials at lacuny.site44.com. There are a few other good examples in there, too.

<style type="text/css">

.guidetitle { /* title of the guide */
}

#guideattr { /* "Last updated" "URL" etc. */
}

#bc_libguides_login { /* link to Admin Sign In */
}

#tabsI, #tabs12 { /*tabs at top of page, below guide title, above page content*/
}

#tabsI a, #tabs12 a { /* background = outside of tabs (default border on left) */
}

#tabsI a span, #tabs12 a span { /* inside of tabs (default gradient) */
}

#current a span { /*tab of the page you're on*/
}

.dropmenudiv { /*for sub-pages (none on this sample page) */
}

.stitle { /*band below tabs, with title of page and search box*/
}

#guide_tab_title_bar_page_name { /* title of the page you're looking at (same as the tab you're on) */
}

#guide_header_title { /* contains title of guide */
}

.box_comments, .icomments { /*all references to comments */
}

.headerbox { /* headers for boxes of content*/
}

.headerbox h2 { /* title inside headers for boxes of content*/
}

.headerbox h2 a { /* specify colors of header titles, which are links */
}

.innerbox { /* content in boxes */
}

.linkdesc { /* captions beneath links */
}

</style>

Note: Springshare has said they’re rolling out a Bootstrappy LibGuides update soon. No one seems to be sure how deep the overhaul is, or if it’s just another theme. All that to say that these customizations might not last forevs.

Making a Twitter bot in Python (tutorial)

Updated Dec. 2015 to reflect changes on the Twitter Apps page. See bottom of post for even more Twitter bot scripts!

If there’s one thing this budding computational linguist finds delightful, it’s computers that talk to us. From SmarterChild to horse_ebooks to Beetlejuice, I love the weirdness of machines that seem to have a voice, especially when it’s a Twitter bot that adds its murmur to a tweetstream of accounts mostly run by other humans.

CDarwin twitter bot
@cdarwin bot tweets lines from Darwin’s ship log “according to the current date and time so that the Tweets shadow the real world. When it’s the 5th of August here, it’s the 5th August on board ship, albeit 176 years in the past.”

As fun midnight project a few weeks ago, I cobbled together @MechanicalPoe, a Twitter bot that tweets Poe works line by line on the hour from a long .txt file. This slow-tweeting of text is by no means new—@SlowDante is pretty popular, and so is @CDarwin, among many others. In case you want to make your own, here are the quick ‘n’ easy steps I took. This is just one way of doing it—shop around and see what others have done, too.

Step 1. Choose your text & chunk it. (Look, I hate the word chunk as much as the next person, but it’s like, what else are we going to say, nuggetize?) In any case, I chose some texts from Project Gutenberg and copied them into separate .txt files. (Maybe don’t choose a long-winded writer.) I ran a script over them to split them up by sentence and mark sentences longer than 140 characters. (Link to chunking script.) There are other scripts to break up long sentences intelligently, but I wanted to exert some editorial control over where the splits occurred in the texts, so the script I wrote writes ‘SPLIT’ next to long sentences to alert me as I went over the ~600 lines by hand. I copied my chunked texts into one .txt file and marked the beginnings and ends of each individual text. (Link to the finalized .txt file.)

Mechanical Poe literary twitter bot
Baby’s first Twitter bot. Tweets Poe hourly, except when it doesn’t.

Step 2. Set up your Twitter developer credentials. Set up your bot’s account, then get into the Applications manager and create a new app. Click the Keys and Access Tokens tab. You’ll see it already gave you a Consumer Key and Consumer Secret right off the bat. Scroll down to create a new Access Token.

Step 3. Configure script. You’ll have to install Tweepy, which takes advantage of the Twitter API using Python. Now take a look at this super-simple 27-line script I wrote based on a few other scripts elsewhere. This script is also on my Github:


#!/usr/bin/env python
# -*- coding: utf-8 -*-

# by robincamille - for mechnicalpoe

# Tweets a .txt file line by line, waiting an hour between each tweet.
# Must be running all the time, e.g. on a Raspberry Pi, but would be better
# if rewritten to run as a cron task.

import tweepy, time

#Twitter credentials
CONSUMER_KEY = 'xxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)

#File the bot will tweet from
filename=open('lines.txt','r')
f=filename.readlines()
filename.close()

#Tweet a line every hour
for line in f:
     api.update_status(line)
     print line
     time.sleep(3600) #Sleep for 1 hour</code>

You’ll see that it takes a line from my .txt file, tweets it, and then waits for 3600 seconds (one hour). Fill in your developer credentials, make any changes to the filename and anything else your heart desires.

Step 4. Run script! You’ll notice that this script must always be running—that is, an IDLE window must always be open running it, or a command line window (to run in Terminal, simply write python twitterbot.py, or whatever your filename is). A smarter way would be to run a cron task every hour, and you should probably do that instead, but that requires rewriting the last part of the script. For me, MechanicalPoe runs on my Raspberry Pi, and it’s pretty much the only thing that’s doing now, so it’s fine for it to be running that script 24/7.

This is how Edgar Allan Poe lives on... Note the lovely 3D-printed case made for me by pal Jeff Ginger
This is how Edgar Allan Poe lives on… Note the lovely 3D-printed case made for me by pal Jeff Ginger

Gotchas. So you might encounter some silly text formatting stuff, like encoding errors for quotation marks (but probably not, since the script declares itself UTF-8). You might also make a boo-boo like I did and miss a SPLIT (below) or try to tweet an empty line (you’ll get an error message, “Missing stats”). Also, if you choose a poet like Poe whose lines repeat themselves, Twitter will give you a “Status is a duplicate” error message. I don’t know how long you have to wait to post, but that’s why there are gaps in Mechanical Poe’s Twitter record. The script I wrote is too simple to handle this error elegantly. It just crashes, and when you restart it, you’ll have to specify for line in f[125:]: (whatever line it is in your text file, minus 1) to start there instead.

Twitter bot mistake

Further reading:

Update Dec. 2015: My colleague Mark Eaton and I led a one-day Build Your Own Twitter Bot workshop. We built five ready-made Twitter bots. See the tutorial and get the Python scripts on my GitHub. I updated the above tutorial to reflect a different Apps panel in Twitter, too.

Using Instagram for your library: 9 strategies

Follow @johnjaylibrary on Instagram for #librarylove!

Update January 29, 2015: I revised this post to add a 4 more tips. We’re heavy Instagram users now; we post 2+ times a week when school is in session; we geotag and hashtag each post; we know the other IGers on campus; and we take the time to like/comment on other organizations’ posts, and even students’ posts, with the result of gaining followers and goodwill. Since this was originally posted, we gained 5x the number of followers we originally had. Moreover, I informally surveyed freshmen throughout the last semester. All of them are on Instagram all the time. And all of them laughed when I asked if they used Facebook. (They don’t.) So IG is where it’s at.

Update November 6, 2013: We’re on a pretty good posting schedule now: #tbt Throwback Thursdays (Special Collections photos related to the history of John Jay and criminal justice), and another photo from around campus earlier in the week to spice things up. These photos get good traction on Instagram and an even better response when they’re also posted to Facebook. I was told by someone in our marketing department that it is “thrilling to be in touch with someone who gets social media.” Go us!


Haaren HallJennifer Poggiali, a librarian at Lehman College, spoke at last Friday’s LACUNY Reference Roundtable and gave a great overview of using social media in the library. Realistically, what’s worth putting time into at this point? What works? What doesn’t work?

At John Jay, we’ve tried our hand at several social media accounts. Facebook is the biggie, of course—we’ve got 700+ followers, the majority of whom are John Jay students. We advertise library goings-on and link to articles that might be relevant to John Jay students’ work. On Twitter, we’ve got 200+, but not many are students. There’s a lot of other John Jay departments or CUNY libraries following us. (Side note: Twitter was a very important communication channel during Hurricane Sandy in 2012, though. We were the only John Jay account tweeting and could give students information and answer questions about school closings and city resources.)

As an avid ‘grammer myself, I set up the @johnjaylibrary Instagram account last winter and have been exploring how to use it for outreach with a some success. We’ve got just over 40 followers as of September 2013, a small but growing number. [Update January 2015: we now have over 200 followers.] Many of them seem to be John Jay students, alongside other libraries and the usual gaggle of randos that any social media account attracts. We’re not there yet, but I’ve been sort of bumbling around. With better strategies, it could be a really effective outreach tool.

Good examples of cultural organizations using Instagram

One of Jennifer’s recommendations was to have fun running a social media account. When I look at organizations that I personally follow on Instagram, it’s clear that the people in charge are having a good time. The Mutter Museum ‘grams delightfully disgusting medical history photos and has a #GuessTheDeath contest every week. The Public Art Fund clearly loves what they do, and sometimes you get a grinning selfie of the staffers working on the installations. (Their Twitter account also does a weekly trivia giveaway. I myself won an awesome hat and book one week!) The U.S. Department of the Interior has an incredible (and incredibly popular) Instagram account, posting beautiful photos once or twice a day. The effort put into obtaining and posting the photos with such frequency is a good indication of their belief in their mission. And NASA is probably the most popular educational account I’ve seen so far. They’ve got 200k+ followers and write up a couple explanatory paragraphs about each photo they post.

9 strategies to try on Instagram

  1. Weekly specials. #GuessTheDeath gets a lot of people pumped up about the Mutter Museum and inspires creative responses. We can’t really do something so grisly here because we need to be careful not to glorify crime. But #tbt Throwback Thursdays are easy and are always a big hit for collecting institutions. Each Thursday, we post a photo of John Jay from yesteryear. Example[Update fall 2014: For a semester, we also had a #MugshotMondays series. Although I took care to caption the photos with scholarly seriousness, a descendent of one of our featured criminals took offense and emailed us, so we stopped.]
  2. obligatory special collections bookHighlight visually striking and/or historical significant items. The good visual stuff is in our Special Collections, half of which are in a restricted-access location that doesn’t get a lot of love. Sharing widely on the web provides a teeny-weeny bit more access. And as educators, we love to educate! The good exemplars above include short paragraph contextualizing the item. NASA tends to be pretty straightforward (being scientists and all), which is sensible, but depending on the item, being a little tongue-in-cheek like the Mutter or Public Art Fund might be fun. Example with a very short blurb from John Jay.
  3. Pull back the curtain. Most of my colleagues are camera-shy, but taking photos of the people who run the show (and even of willing, happy patrons!) gives an organization a goodwill vibe. When users look at the grid of thumbnails, are they only seeing old books, or are they seeing a good representation of what (and who) the library really is? Example.
  4. John JaySpread the love. Remember, your students are proud to be here! Spread the collegial love, even if it’s not library-specific. On Facebook, the Instagram photo that was by far the most popular was just of the college name and some American flags. It’s corny, but it contextualized the library as an active and proud part of campus. In addition, our account ‘likes’ photos other John Jay students take that are relevantly hashtagged or geotagged to the library. (But photos it wouldn’t be creepy to ‘like’, obviously.) Many students will post photos of themselves on their first day of class, or the first day of finals, and so on — it’s easy to leave a cheerful ‘Welcome!’ or ‘Good luck!’ comment. Example of a Veterans Day post.
  5. Hashtag like crazy. Within reason. I’m not saying #to #hashtag #every#thing. Locally, if you’re at an academic institution, there are many college-wide hashtags, like #johnjaycollege #jjay, plus you can tag any relevant student organizations, such as tagging @jjcstudents (student outreach) in workshop posts. Putting the library in the middle of college-wide imagery is outreach, too. Less importantly, when you use a combo of generic and specific hashtags (#rarebooks #incunabula), you definitely do get passersby viewing and liking your photo. It’s shot-in-the-dark outreach, but you’re putting your stuff out there to get views, and this is a facile way to promote your collections. Example.
    Library 101 workshop
    Library basics! We’ll show you where you can study, how to check out books, how to print stuff, and more. The first Library 101 workshop this semester is at 2pm tomorrow. No RSVP required — just come to the Reference Desk upstairs. #johnjaycollege #johnjaylibrary #jjay
  6. Post posters. It seems silly, especially when you can’t really use links and Instagram is text-heavy… But to promote events like library workshops or readings, put together a professional-looking “poster” in Photoshop with all the relevant info. Savvy students will screenshot it or google the library event later. Example.
  7. Run little campaigns. Just like you might put posters across many areas of campus, so too you could post a variation on a theme throughout the week. Examples 1, 2, 3, 4  and 5 for our 24-hour library week.
  8. Use emoji. Everyone loves emoji, and you’ll look like a pro. Cross-phone, cross-browser support is increasing. Example.
  9. Get to know other social media folks on campus. That way you can cross-post each others’ information, boosting impressions and being good campus neighbors. Example of a shared post on Facebook — it doubled the number of people reached and pinpointed a student group that would greatly benefit from the workshop.

I’ll be trying some/all of these things in the coming weeks. It will take a good chunk of time to be really tactical about it.

Using Instagram for informal assessment of student experience

Assessment is the thing these days. Maybe it’s just a frequency illusion in my case, but I keep seeing assessment cropping up as a major priority in libraries.

One library assessment method is student photo journals, for instance those used in ERIAL, as my colleague Janice pointed out. This method could involve asking students in the library to borrow a camera and take photos of two things they like and dislike, or asking them open-endedly to take photos of their experience that day in the library.

But at this point, with a smartphone in most students’ hands, they’re photo journaling every day! Check your geotagged location on Instagram to see what students think worthy of ‘gramming. Here at the John Jay Library, it’s piles of books students are about to tackle; Starbucks lattes next to laptops with Word documents open; grinning students goofing off in the group study rooms; and so on. It’s one glimpse into what the library means to them.

[Posted by a student] “Study time #in #library #John #Jay! Some #research #yay #instastudy #instamood #ufffff!”
[Posted by a student] “Study time #in #library #John #Jay! Some #research #yay #instastudy #instamood #ufffff!”
[Posted by a student] "Can't focus on reading Aristotle it's so confusing my head hurts #lifeofacollegestudent #geeklife"
[Posted by a student] “Can’t focus on reading Aristotle it’s so confusing my head hurts #lifeofacollegestudent #geeklife”

Rethinking what I do as an emerging tech librarian

I get asked often what it is I do, exactly, and I still don’t have my elevator pitch down pat. I usually choose to view that as a good thing, because I value the freedom to explore new territories and direct my own projects. However, a few recent reads have given me pause, and I’m rethinking my approach to my job as the new semester looms.

But first, a general look: what are other emerging tech librarians doing?

Duties & skills

At the end of April, IFLA published a paper by Tara Radniecki titled “Study on emerging technologies librarians: how a new library position and its competencies are evolving to meet the technology and information needs of libraries and their patrons.” It’s a quantitative attempt to answer the question of what people with that title do, know, and wish they knew. Radniecki compares job ads to survey responses with interesting results. A few insights from her paper, which is certainly worth a read, interspersed with my unsolicited personal opinions:

  • 41.8% of job ads cite reference as a duty; 72% of librarians reported doing reference work. Similarly, 38.8% of job ads cite info literacy and instruction as a duty; 61% of librarians reported doing instructional work.
    • This aligns with my own experience as an ETL. I never took a reference or instruction class for my MLIS, assuming that I wouldn’t be doing traditional librarianship. Although my job’s description didn’t mention reference/instruction, I’m at the reference desk a few hours a week, and in fact I really value it — otherwise I might not work with students face-to-face at all, which would be a terrible place to start when designing systems and interfaces for them.
  • 23.9% of job ads required skills/experience in social media, web 2.0, and outreach.
    • I’m surprised it’s not a higher percentage. I’m of the opinion that all librarians ought to be familiar with social media. Look, this time last year, I would have rolled my eyes at this — it’s such an old buzzword by now — and yet I’ve seen too many academic people/departments fail to grasp online social etiquette.
  • 94% of librarians surveyed said they needed additional skills in computer programming and coding, versus only 16.4% of job ads requiring those skills and 10.4% preferring them.
    • Yes. I came into my position with years of web experience but minimal programming skills. One thing I’ve enjoyed is the impetus to get up to speed on web tech, Python, and code libraries I might not have otherwise had reason to, but it can be rough playing catch-up so much of the time.

Still, looking at numbers and general duties, it’s hard to see what ETLs do. As for me, some of my projects are the usual deliverables — design/upgrade/maintain library website, for example — and others are more playful, like tinkering with Arduino. (You can see a quick summary of my first year’s projects here.) So what exactly are others up to? I suppose that’s what discussion groups, online networks, and excitable conversations are for. And in fact, CUNY librarians, the first Emerging Tech Committee meeting of the year is coming up! 

Tech criticism

“Librarian Shipwreck” wrote a long-ish response to Radniecki’s paper in a July blog post entitled, “Will Technological Critique Emerge with Emerging Technology Librarians?” (h/t Patrick Williams). The post is pretty prickly, and sometimes unfair, and its metaphors abound — but here’s one choice quote that I’m 100% behind (after the first clause):

But for the ETL to have any value other than as another soon-to-crumble-levy against the technological tide, what is essential is that the position develop a critical stance towards technology. A stance that will benefit libraries, those libraries serve, and hopefully have an effect on the larger societal conversation about technology. […] A critical stance towards technology allows for librarians to act as good stewards not only of public resources but also of public trust.

This summer has thrown the imperative of technology criticism into sharp relief for me. At the EMDA Institute, we spent a few days examining how EEBO came to be, perhaps best described in an excellent upcoming JASIST article by Bonnie Mak, “Archaeology of a Digitization.” As a room well-populated with early modern scholars, we thought we knew what it was, but after talking about its invisible labor (TCP), obscured histories (war, microfilm), and problematic remediations, we were struck by how EEBO is just one relatively benign instance of a black box we might use daily. What does it take to really know where your resource comes from, and why it is the way it is?

Moreover, the summer of surveillance leaks is exacerbating our collective ignorance of and anxieties about the technologies we rely on every day. I suspect few of us are changing our web habits at all, despite the furor. I talk about it daily, yet I struggle to understand what’s really going on — let alone how I should respond professionally. Originally, I viewed my function at John Jay as a maker, creator, connector of technologies. But technology is never neutral, and I’m starting to see pause and critique as part of my charge, too.

Digital literacy

When our digital world works, it’s beautiful. When it doesn’t, it’s a black box — a black hole — that can frustrate conspicuously or break invisibly. How can we, for instance, impart to students the level of digital literacy required to understand how a personalized search engine works and how it might fail them, when it so frictionlessly serves up top results they’ll use without scrolling below the fold? Marc Scott penned a popular July blog post titled “Kids can’t use computers… and this is why it should worry you.” I won’t summarize — you should read it. Twice.

Librarians have taught students information literacy for a long time. While knowing how to spot a scholarly resource from a dud is essential, understanding systems is now equally necessary, but harder to teach — and harder to grasp, too.

______________________

So there’s where I am: trying to understand the ethics of being an emerging technologies librarian; overplanning making things and delivering on projects; prioritizing instructing students, colleagues, and peers about things I struggle to comprehend or explain; simultaneously expecting myself to embody a defensive paranoia and a wild exploratory spirit.