Category Archives: Tools

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 Firefox.app 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 libcatcode.org 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.

Advantages

  • 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.

Code4lib Day 1: Lightning Talks Notes

Al Cornish – XTF in 300 seconds (Slides in PDF)

  • technology developed and maintained by California Digital Library
  • supports the search/display of digital collections (images, PDFs, etc)
  • fully open source platform, based on Apache Lucene search toolkit
  • Java framework, runs in Tomcat or Jetty servlet engine
  • extensive customization possible through XSLT programming
  • user and developer group communication through Google Groups
  • search interface running on Solr with facets
  • can output in RSS
  • has a debug mode

Makoto Okamoto – saveMLAK (English)

  • Aid activities for the Great East Japan Earthquake through collaboration via wiki
  • input from museum, library, archive, kominkan = MLAK
  • 20,000 data of damaged area
  • Information about places, damages, and relief support
  • Key Lessons
    • build synergy with twitter
    • have offline meet ups & training

Andrew Nagy – Vendors Suck

  • vendors aren’t really that bad
  • used to think vendors suck, and that they don’t know how to solve libraries’ problems
  • but working for a vendor allows to make a greater impact on higher education, more so than from one university (he started to work for SerialsSolution)
  • libraries’ problems aren’t really that unique
  • together with the vendor, a difference can be made
  • call your vendors and talk to the product managers
  • if they blow you off, you’ve selected the wrong vendor
  • sometimes vendor solutions can provide a better fit

Andreas Orphanides – Heat maps

The library needed grad students to teach instructional sessions, but how to set schedule when classes have a very inflexible schedule? So, he used the data of 2 semesters of instructional sessions using date and start time, but there were inconsistent start times and duration. The question is how best to visualize the data.

  • heatmap package from clickheat
  • time of day – x-dimension
  • day of the week – y-dimension
  • could see patterns in way that you can’t in histogram or bar graph
  • heat map needn’t be spatial
  • heat maps can compare histogram-like data along a single dimension or scatter-like plot data to look for high density areas

Gabriel Farrell – ElasticSearch

Nettie Lagace from NISO

  • National Information Standards Organization (NISO)
  • work internationally
  • want to know: What environment or conditions are needed to identify and solve the problem of interoperability problems?

Eric Larson – Finding images in book page images

A lot of free books exist out there, but you can’t have the time to read them all. What if you just wanted to look at the images? Because a lot of books have great images.

He used curl to pull all those images out, then use imagemagick to manage the images. The processing steps:

  1. Convert to greyscale
  2. Contrast boost x8
  3. Covert image to 1px by height
  4. Sharpen image
  5. Heavy-handed grayscaling
  6. Convert to text
  7. Look for long continuous line of black to pull pages with images

Code is on github

Adam Wead – Blacklight at the Rock Hall

  • went live, soft launch about a month ago
  • broken down to the item level
  • find bugs he doesn’t know about for a beer!

Kelley McGrath – Finding Movies with FRBR & Facets

  • users are looking for movies, either particular movie or genre/topic
  • libraries describe publications e.g. date by DVD, not by movie
  • users care about versions e.g. Blu-Ray, language
  • Try the prototyped catalog
  • Hit list provides one result per movie, can filter by different facets

Bohyun Kim – Web Usability in terms of words

  • don’t over rely on the context
  • but context is still necessary for understanding e.g. “mobile” – means on the go, what they want on the go
  • sometimes there is no better term e.g. “Interlibrary Loan”
  • brevity will cost you “tour” vs. “online tour”
  • Time ran out, but check out the rest of the slides

Simon Spero – Restriction Classes, Bitches

OWL:

  • lets you define properties
  • control what the property can apply to
  • control the values the property can take
  • provides an easy way to do this
  • provides a really confusing way to do this

The easy way is usually wrong!

When defining what can apply to and the range, this applies to every use of the property. An alternative is Attempto.

Cynthia Ng – Processing & ProcessingJS

  • Processing: open source visual programming language
  • Processing.js: related project to make processing available through web browsers without plugins
  • While both tend to focus on data visualizations, digital art, and (in the case of PJS) games, there are educational oriented applications.
  • Examples:
    • Kanji Compositing – allows visual breakdown of Japanese kanji characters, interact with parts, and see children.
    • Primer on Bezier Curves – scroll down to see interactive (i.e. if you move points, replots on the fly) and animated graphs.
  • Obvious use might be instructional materials, but how might we apply it in this context? What other applications might we think of in the information organization world?

Since doing the presentation, I have already gotten one response by Dan Chudnov who did a quick re-rendering of newspaper data from OCR data. Still thinking on (best) use in libraries and other information organizations.

It’s over for today, but if you’d like more, do remember that there is a livestream and you can follow on twitter, #c4l12 or IRC.

Augmented Library – Access 2011 Hackfest

So today at Access 2011, it’s hackfest, with ~60-70 people, quite big!

I decided to work on the augmented library topic with 5 others. We discussed two different software products out there at the moment and possible implimentations.

Layar

Layar allows for mobile app development using GPS/Geolocation to provide more information and image recognition to make things/the environment more interactive. Layar is available on the Apple app store and Android.

Advantages: Drupal module, centralized database to search for all layars

Disadvantage: not available on iPod Touch (presumably not on iPad either).

Argon

Developed by Georgia Tech, Argon allows mobile app development using KML for more information based on GPS/Geolocation.

Advantages

  • open source
  • works on iPod Touch

Disadvantages

  • in development (can be buggy)
  • non-centralized (need exact link)
  • only available on iOS products (Android in development, but no timeline)

Possible Implementations

  • shelf/branch location of item
  • scan book covers to bring up book info, reviews/ratings, etc. – would work better in public library setting
  • polls
  • locate subject area, maps displaying subject areas
  • reference/info desk locator
  • interactive pop up e.g. what user wants to do, scan room number for booking system

Demos

Some Thoughts

I think the ideal would really be to create a mobile app that helps the user do just about everything. Wayfinding, searching, find general information (such as hours), find item information (including reviews/ratings), find availability to computers, etc.

What was interesting about the discussions we had was talking about how best might it be implemented with the technology that we have today. Apparently, the University of Illinois developed an app that tells users where to find an item on the shelf using signal strength positioning, but we could imagine it going very wrong especially around a lot of metal shelving. Would it be better to not have it at all than to direct a user to the wrong place? I imagine many would say yes.

Obviously, there are pros and cons to every method, but I think I concluded that if you were to develop a mobile app with the technology we currently have without spending an enormous amount of time on it, the app would work better with image recognition (something a la layar vision or QR codes) combined with input from the user.

For example, if a user wanted to find books on a particular subject, an app would ask what subject the user would like to find, then use GPS to direct them to the branch (for multi-branch campuses) if applicable, then once in the branch, it would pop up a mini-map for the user directing them to that particular subject on the shelf. If at any time they get lost, they just need to scan the appropriate image and the app could come up with a new mini-map providing a path from their current position to the shelf with the subject they’re looking for.

The advantages of a dynamic path map versus real-time positioning is that positioning technology is still not very accurate, and most users will not give apps more than one or two chances before deciding whether it’s useful or not.

Hopefully we can get the layar one public and then rather than simply showing a short video, we can have people try the app themselves.

Link: Googledoc Notes, screenshots, and code

Creating a Twitter Search, Hashtag, User, Favorites or List RSS Feed

[Update August 20, 2014] – I’ve not actually tried this, but found a new article on How to Create RSS Feeds in Twitter using Google Script.

[Update March 4, 2013] – As of March 5th, 2013, twitter will no longer support unauthenticated feeds of any kind and will be dropping support for RSS altogether (meaning you can only get JSON feeds). Therefore, you will need to make your own (see comments for one suggestion) or use an app to follow specific feeds. Continue reading

A Brief Look at Summon

Summon is Serials Solutions’ web scale discovery tool. I think so far, it looks pretty good. It has all the things you’d want these days in your searches including:

  • sidebar with different options to refine search
  • clean, easy to use interface
  • save citations to folder and export
  • advance search, including ISBN for books

Currently, all records in the catalogue, institutional repository, and journal articles have been included.  There’s also a locations refinement category to refine to a specific branch for catalogue materials.

It’ll be interesting to see what our users (including staff) think.

Quick Edit/Add-on: Seems like the major criticism I’ve heard is that it does not do known-item (that is you know what you’re looking for) searches well, but as my supervisor has explained, that’s not the purpose of a discovery tool. If you want to looking for something you know in a library, you use the source that will help you look for that. Some people might say “but look at google, it can do both well”, but even google scholar is unlikely to give you a book if you only enter a couple of words when you’re looking for a book (obviously that’s not true in all cases).

PDF Batch Automation (PDF to Image and PDF Merge)

EDIT: I’ve been reminded/informed that this only works in Windows (or MS-DOS anyway) since it uses .bat files. The suggestion if you’re using other OSs is to use php (but really you can use anything) to automate the command.

I’m sure everyone is familiar with Adobe Acrobat (even if they haven’t actually used it).  It’s a nice GUI if you want to edit PDFs, but at least as far as I know, it does not do any batch or automation work.  For a digital images project, there’s a lot of automation work that needs to be done and for image to image conversion, I was using Photoshop, but then I started dealing with PDFs. Thus, it was only natural to turn to GhostScript.

PDF to Image
So, I don’t really get any credit for this, because it’s already out there and the variables are well explained.  So if you want to turn all the pages of your PDF into images, check out this Danzels Internets post. My case was a little different because I only wanted the first page turned into an image as a thumbnail for an entire file and then for an entire folder. I also prefer to do any image modification (even batch) in an image program.

@echo off
FOR %%Z IN (*.pdf) DO gswin32 -sDEVICE=jpeg -dJPEGQ=95 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dDOINTERPOLATE -dFirstPage=1 -dLastPage=1 -sOUTPUTFILE=%%Z.jpg -dSAFER -dBATCH -dNOPAUSE %%Z

So, here the major changes are “gswin32″ because I use the Windows version, and the “-dFirstPage=1 -dLastPage=1″ so that the first and last page it processes is page 1. You can change the output file name too, so I changed it in such a way that it takes the original file name and adds the .jpg extension.

PDF Merge
This is kind of a side note, because I didn’t need this for my project, but I recently downloaded some articles that for some reason had each section in a separate PDF.  So, I get no credit for this one either as I got this one from Real’s How-to on Merging PDFs. I put this in here only for possible improvements of what’s presented on that site.

For the merging of PDFs in a directory, for the [merge.bat], you’re supposed to have this code:

@echo off
gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=merged.pdf -dBATCH 1.pdf
FOR %%Z IN (*.pdf) DO IF NOT %%Z==1.pdf IF NOT %%Z==merged.pdf IF NOT %%Z==merged2.pdf call merge2.bat %%Z

Maybe it’s clear to other people, but the “1.pdf” is the name of the first pdf. I found that the subsequent ones will be added in alphanumeric order.  Also, if you happen not to change the code, it will throw an error and insert a blank page at the beginning.