Access 2012 Day 1: Ignite Talk – Social Feed Manager

To collect social media data (especially Twitter), researchers are doing this manually (possibly by proxy).


Some paid options to collect the data:

  • DataSift
  • Gnip
  • Topsy

Friendly, but not cheap, and more than what we need. Still need tools to collect, process, etc.

What researchers ask for:

  • specific users, keywords
  • historic time periods
  • basic values: user, date, text, counts
  • delimited files to import

We can do this free with APIs.

Built Social Feed Manager with features

  • Users by Item Count with temporal graphs
  • Details on user
  • can export to CSV files
  • hashtag queries by 10 minutes
  • search function with 1000

Free on github

  • python/django
  • user timelines, filter, sample, search
  • simple display with export for user timelines

Leaves out:

  • historical tweets
  • tweets beyond last 3200

By @dchud

More notes on the Access 2012 live blog.

Going Google at Ryerson University: Sync’ing Work Back to Usual

I have found some things on the Going Google site a little incomplete, so I thought I’d supplement it with a blog post.

Set up your Google Token

This is really easy. Just sign into the Apps tab, click on Activate Google Token, and hit Activate. One important note,

you will not be able to see your Google Token again after activating it the first time (and you close the window).

So, write it down in a secure place in case you ever want to sync your accounts with anything else.

Sync Apple Devices

So which method you choose depends on what you want to sync. Both will sync mail and calendar, but for:

  • Notes use Gmail option
  • Contacts use Exchange option (follow the instructions on the Going Google site)

I personally only read and reply to emails on mobile devices, so I chose the Gmail option so that I could sync Notes. Google provides instructions on using this method (it’s essentially the same process), and here are the details you need:

Name: your name
Address: full email address
Password: Google Token
Description: account display name on your device

Multiple Calendars

To sync multiple calendars, you can still do that using the Gmail option, but to change which calendars you want sync’ed:

  • sign into your Gmail account using a browser
  • then visit Google Sync for Apple to choose which calendars you want sync’ed

Getting Calendar in Thunderbird

UPDATE: If you’re having issues, it provides less integration into Thunderbird, but try ‘Google Calendar Tab’ which opens GCal like it would in a browser minus Settings/Labs.

I warn you now. Google Calendar in Thunderbird still has a number of issues. If you’re on a MAC, I suggest using Google Calendar in iCal instead. I prefer having everything in one client, so I’m willing to live with and report bugs when necessary, but who knows, I may change my mind.

Step 1: Install Lightning

The Lightning add-on page actually gives the newest stable version of the add-on (for Thunderbird 16), but the newest official release of Thunderbird is 15, so head over to the Versions list and find Lightning 1.7. Install it according to the instructions (using the Install Add-on from File option in the Add-ons settings).

Step 2: Install Provider for Google Calendar Add-on

This step is actually optional depending on what method you want to use. Google Calendar now supports using CalDAV in Thunderbird, but it’s marked as experimental.

Just search for Google Calendar in the Add-ons tab and install from there.

Step 3: Add your Calendar

If you chose to install the Provider for GCal add-on:

  1. Open your Google Calendar
  2. Click on the Settings link located in the box at the right of the page.
  3. Click on the calendar you want to use with Thunderbird Lightning or Sunbird.
  4. Copy the link from either of the two XML buttons shown at the bottom.
  5. In Thunderbird: File > New > Calendar > On the Network > Google Calendar
  6. For Location, paste the link, but change http:// to https://

For more information, visit the Provider wiki page.

If you chose not to install the add-on, follow the instructions from Google.

Testing Needed

So, I’m going to be using Thunderbird, and hopefully it’ll work out, but there are one or two things I wish it had already (like popup reminders for events others created). It is supposed to work better than through CalDAV. I’ve heard iCal has pretty good integration though so I might still switch to that if I’m unhappy with GCal in Thunderbird.

WordPress Plugin: Publicize or Automatically Post to Facebook & Twitter

So, I recently discovered the WordPress Jetpack plugin set, which does a lot of the things I had previous looked for WordPress plugins to do, including custom css, share buttons, and extra widgets you’ll find on the .com version. The only thing I really wanted that was missing, was the “Publicize” feature to post to social media, such as Twitter.


The one requirement I had was that one plugin should be able to post to multiple social networks instead of having separate ones for each social network. This mostly has to do with making it easier to use and maintain. While we only need Facebook and Twitter right now, we may need others in the future, especially something like G+, so I preferred to already have something installed instead of having to find yet another plugin later.


  • Network Publisher: This plugin probably supports the most social media sites and even includes stats. I didn’t actually really test this one because it required signing up for an API key. From the plugin page, it seems to at least work though.
  • SocialPublish: This one also required creating an account, but I still don’t understand why this is necessary.
  • NextScripts Social Network Auto Poster & WP-AutoSharePost: These required setting up apps on each of the sites, which is fine but not what I was looking for.
  • Social by MailChimp: This only does Twitter and Facebook, which was my minimum requirement, but it works. Not the nicest interface ever, but I like that you can edit the messages individually before they’re posted. I disabled the comment display, so I’m not sure how well that works, but it’s not something we wanted.

So in the end, Social was the only that did what I wanted easily (i.e. without all the dev apps stuff) and without the requirement of creating an account elsewhere first. Still need to properly test it on a multisite setup, but it’s the closest thing I can find to WordPress’ Publicize.

UPDATE: WordPress JetPack now includes Publicize! Yay~

code4lib Cool Tool Day

So inspired by the ASIS&T Cool Tool Day, I thought it’d be neat to do one of these since there weren’t many volunteers to do lightning talks/presentations at the code4lib Toronto meetup this time around. Our attendance was a little… paltry, but we had some great presentations! Here are my notes from the session.

Presented by @waharnum


  • working with REST based web services
  • testing automation tool for web services
  • best for building with other API
  • autogenerate stubs using WSDL
  • interface between internal systems
  • good for documenting web services, code style with examples
  • normally, mostly used for unit testing


  • virtual card based whiteboard
  • flexible for planning based
  • collaborative
  • great usability/UI
  • even has mobile apps

Mustache Templates

  • maintaining HTML email templates
  • also works as a crazy text editor for nerds

XSL Transforms plugin in Firefox

  • local reporting
  • anything XSLT with just a few security restrictions
  • e.g. SVN reporting

Presented by @adr


  • cross platform presentation
  • push from laptop to another computer

Sidenote: Other Presentation Tools

Presented by @ruebot

VIM Plugins

  • pathogen – linking for VIM plugins to automatically load VIM plugins
  • nerdtree – pull files quickly by displaying directory/tree

Presented by Pomax

Thimble HTML/CSS Live Web editor

  • teach anyone (kids, adults) HTML and CSS
  • use existing projects to make it fun!


  • easy inline flickr search of CC images
  • attribution in alt text

Presented by me


  • monitor hue changer, supposedly to help people sleep better by telling your body what time of day it is

That’s it! Hope to do another one of these or lightning talks next time.

Finding a WordPress Image Slider Carousel Plugin (Again)

UPDATE: Please consider not using a carousel at all: Death to the Website Carousel

I previously posted on this same topic not all that long ago, but that slider broke when we updated to the most recent WordPress (3.4) and since new plugins come out all the time, I thought I’d just find a new one. Continue reading Finding a WordPress Image Slider Carousel Plugin (Again)

How to Manually Update Firefox on MAC

I thought I’d put up this short post because I was having problems with this last week.

For whatever reason, Firefox would not update automatically through its update channel and was still stuck on version 9.0. So, I figured why not just manually install it?

When trying to update it, as usual, I dragged it into the Applications folder and tried to replace my existing one. Only to get this message:

The operation can’t be completed because you don’t have permission to access some of the items.

I unlocked the file and made sure I had proper permissions, but still got that error. When I wanted to look up a solution, my Firefox had ceased to work!

After much searching, I finally found a thread on the Firefox support forums that provided the simple solution: delete the old app (just the .app, don’t use an app cleaner) then drag the new one in.

I would’ve reported it, but I can’t seem to reproduce the problem now… maybe they fixed it.

Code4lib Day 2 Morning: Notes & TakeAways

I didn’t take full notes on all the presentations. I like to just sit back and listen to some of the presentations, especially if there are a lot of visuals, but I do have a few notes.

Full Notes for the following sessions:

Building Research Applications with Mendeley

by William Gunn, Mendeley

  • Number of tweets a PLoS article gets is a better predictor of number of citations than impact factor.
  • Mendeley makes science more collaborative and transparent. Great to organize papers and then extract and aggregate research data in the cloud.
  • Can use impact factor as a relevance ranking tool.
  • Linked Data right now by citation, but now have tag co-occurrences, etc.
  • Link to slides.

NoSQL Bibliographic Records: Implementing a Native FRBR Datasotre with Redis

No notes. Instead, have the link to the presentation complete with what looks like speaker notes.

Ask Anything!

  • Things not taught in library school: all the important things, social skills, go talk to the professor directly if you want to get into CS classes.
  • Momento project and UK Archives inserting content for their 404s.
  • In response to librarians lamenting loss of physical books, talk to faculty in digital humanities to present data mining etc., look at ‘train based’ circulations, look at ebook stats.
  • Take a look at for library cataloguers learning to code as well as codeyear hosted by codeacademy.

Code4ib Day 2: Stack View: A Library Browsing Tool

by Annie Cain, Harvard Library Innovation Lab

What’s the point?

Why recreate the physical stack? Why not just use a list? There are advantages to display books like books.


  • If you have multiple branches, you can put all the materials into one shelf.
  • More visual, such as using page numbers to create thinner or wider images.
  • Add more information – color can represent such as frequency of checkouts.

How to Get Started

  • build HTML objects and draw using CSS
  • works as jQuery plugin
  • Start with book data – wrestle data out of your catalog, extract pieces you want and feed it into Solr, or use API, such as WorldCat
  • pump out stack view using JSON

Code available on github.

Q&A Comments

  • Usability testing gives mixed reviews. Librarians and those used to browsing the library are happy with it, but others don’t seem to care.
  • Experimentation with items other than books is to come.
  • No plans yet for catalogue integration as not much use case, but working on it.
  • Also take  a look at Chrome WebGL bookcase.

More information on available on the Harvard Innovative Lab website, and below is a demo.

Code4lib Day 2: Discovering Digital Library User Behavior with Google Analytics

by Kirk Hess, University of Illinois Urbana-Champaign

Why Google Analytics?

  • free
  • JavaScript based
  • small tracking image (visible via Firebug) = mostly users not bots
  • works across domains
  • easy to integrate with existing system
  • API

Some useful things in the interface:

  • heat map
  • content drill down – click on page and see where users went from there
  • visitor flow
  • events

Export Data Using API

  • Analytics API
  • Java or Javascript (assuming, anything actually)
  • export any field into a database for further analysis (in this case MySQL db)

Analyze Data

  • Which items are popular?
  • How many time was an item viewed?
  • Downloaded?
  • Effective collection size – see if people seeing/using
  • found typically, many things are not popular
  • discover a lot of other things about users

Next Steps

  • found, need to change site design
  • change search weighting
    • allow users to sort by popularity (based on previous data)
    • recommender system – think Amazon
  • add new tracking/new repositories
  • analyze webstats – hard to look at direct access

Moving away from JavaScript based since a lot of mobile devices don’t have it.

The event analysis code has been posted on github and adding events to link code will be added later to his Github account.