Entries tagged as coding
Sunday, May 8. 2016
For a recent strategic retreat, I was asked to prepare (as homework) a story about a subject that I'm passionate about, with an idea of where we might see the library in the next three to five years. Here's one of the stories I came up with, in the form of a brief scene as we observe a researcher at work:
Scene: a cluttered home office. Faculty member LISA stands at her desk, tapping at a keyboard. She is distilling some of her recent findings into a proposal for an upcoming conference. At the top of the screen in front of her is the working title “Deliberate practice and mining accidents: an inverse relationship”; the paper will tie leading ideas from two different disciplines together.
At the moment, she is working on the second paragraph, which lays the groundwork for her novel approach by drawing on some of the classic works in each field. She types:
The concept of “deliberate practice” was introduced by Ericsson et al
Taking the cue from the invocation phrase “OK EasyWriter”, the microphone in one of her computing devices wakes up her AI research assistant (AIRA) which accesses her personal bibliographic database. She has been compiling a list of the papers she has been reading, along with annotations. AIRA also has access to her research team’s extended bibliographic database, which holds the citations, papers, research data, and general wisdom accumulated by the core researchers of her team since they set it up in 2016. AIRA also knows what subject-specific databases she normally searches and which papers she has bookmarked, downloaded, read, previously cited, or have cited her. It taps into general online databases like BinGooHoo Academic Scholar for citation trails, recent publications, and a comprehensive overview of the available copies of a given paper, whether through freely available versions online or those licensed by her library. As a fainter signal, AIRA knows what she has commented on in social media channels SnapTwitFaceSlackBook and uses sentiment analysis to determine whether those comments were favourable or snarky.
LISA hovers over the top entry. The citation information expands to overlay more information, including the abstract, number of citations, and annotations from her own copy of the paper. She clicks the top entry for a 1993 paper.
LISA finishes the quick synopsis of Ericsson’s thesis but wants to show that she is aware of his current thinking. Hovering over the citation again, she checks Ericsson’s recent publications and finds a 2018 entry that is reflecting on the 25th anniversary of his seminal paper. Scanning the abstract, she notes with satisfaction that Ericsson still considers the basic thesis sound and adds the citation to her personal bibliographic database, which displays a green check indicating that a copy of the paper has also been added to her personal reading list from one of the library-licensed or reputable open access sources.
LISA also wants to acknowledge at least the leading critical reaction to the thesis. Hovering over the citation and the “Cited by” list breaks those citations down into rough categories such as “Supportive”, “Critiques”, and “Non-substantive”. Topping the “critiques” list is a 2007 paper by Hill that, according to the abstract, finds no significant correlation between hours of deliberate practice and accomplishments of spelling bee contestants competing in their second language.
LISA then drills into the “critiques” list for Hill’s paper, and finds that the defenders of Ericsson’s thesis have pointed out important limitations to the breadth of Hill’s findings and overly broad assertions. They accept that the lack of correlation holds for rote vocabulary memorization, but point to studies that have repeatedly demonstrated as having a significant impact on skills combining cognitive and physical tasks--such as would be related to LISA’s overall thesis concerning mining-related incidents. LISA adds Hill’s critique to her personal reading list, as well as two of the selected counter-responses.
From a technology perspective, all of the pieces are pretty much in place and just need to be pulled together—Zotero group bibliographies, linked open data, voice recognition, artificial intelligence and agents, and the likes of Google Scholar and Google Doc's ability to provide citations upon demand—and I think most or all of it will inevitably happen. So an interesting aspect to consider is what role we as librarians will play as this comes to pass. I believe one role is to help researchers make the most of the tools that are available; those who adapt and harness the power of these tools have the potential to be much more productive than their peers.
Friday, April 15. 2016
Our staff were recently asked to check thousands of ISBNs to find out if we already have the corresponding books in our catalogue. They in turn asked me if I could run a script that would check it for them. It makes me happy to work with people who believe in better living through automation (and saving their time to focus on tasks that only humans can really achieve).
Rather than taking the approach that I normally would, which would be to just load the ISBNs into a table in our Evergreen database and then run some queries to take care of the task as a one-off, I opted to try for an approach that would enable others to run these sort of adhoc reports themselves. As with most libraries, I suspect, we work with spreadsheets a lot--and as our university has adopted Google Apps for Education, we are slowly using Google Sheets more to enable collaboration. So I was interested in figuring out how to build a custom function that would look for the ISBN and then return a simple "Yes" or "No" value according to what it finds.
Evergreen has a robust SRU interface, which makes it easy to run complex queries and get predictable output back, and it normalizes ISBNs in the index so that a search for an 10-digit ISBN will return results for the corresponding 13-digit ISBN. That made figuring out the lookup part of the job easy; after that, I just needed to figure out how to create a custom function in Google Sheets.
Then I just add a column beside the column with ISBN values and invoke the function as (for example)
Given a bit more time, it would be easy to tweak the function to make it more robust, offer variant search types, and contribute it as a module to the Chrome Web Store "Sheet Add-ons" section, but for now I thought you might be interested in it.
Caveats: With thousands of ISBNs to check, occasionally you'll get an HTTP response error ("
Thursday, November 19. 2015
OCLC recently asked EZProxy clients to fill out a survey about their experiences with the product and to get feedback on possible future plans for the product.
About half-way through, I decided it might be a good idea to post my responses. Because hey, if I'm working to help them, I might as well share it with my friends out in the library systems world So here are a few choice quotes from the comments section of the survey...
In response to a question about the "ease of use" of EZProxy
Nothing that requires configuration via a text file can be classed as "easy to use" these days.
When asked why I scored satisfaction lower than the maximum
The sluggishness to adopt current encryption protocols, and the unwillingness to use dynamically linked libraries, is a major black mark against the product.
What one thing would I change about EZProxy
I would change the license to be an open source (GPL v3 or Apache 2.0) licence. OCLC could still derive revenue from providing hosted solutions and as the well-known trusted name being the product, but small segments of the community could vet the code and contribute enhancements that meet their needs (that they have been asking for without success for years now).
After being asked about the importance of five possible enhancements, three of which reflected a tighter integration with WorldShare services
(roughly) This is why I don't like the proprietary revenue model for the 6.x series--you're investing the revenue in shoring up your WorldShare offerings with features that are not useful to the customers that do not use the WorldShare platform.
Thursday, October 29. 2015
I had fun today. A colleague in Computer Science has been giving his C++ students an assignment to track down an article that is only available in print in the library. When we chatted about it earlier this year, I suggested that perhaps he could bring me in as a speaker to introduce the students to their liaison librarian. It was also my chance to get my foot further into the door with the faculty in the program, as well.
But when I started putting together the supporting materials, I realized that the class was more than half way through the year and that a standard instructional session might be a little low-energy for them. I wanted to do something that would be memorable. And I had just read The Martian by Andy Weir over the weekend, and our campus had just had a visit from Chris Hadfield a few weeks ago, so I thought that delivering a narrative in the style of The Martian might work.
Without further ado, I give you:
The Librarian: an intro for COSC 2947 (C++) Open the Speaker Notes to follow the narrative!
The students were chuckling throughout the presentation, so I think I achieved my goals of increasing the energy level, presenting the material as something memorable, and introducing myself as someone approachable. Or at least giving the impression that I try to have a sense of humour.
As an aside, I'm kicking myself for using Google Slides instead of reveal.js. It's so much easier working with HTML + images instead of a browser-driven proprietary Flash-using-when-it-can mess. It is what it is, however.
(Page 1 of 11, totaling 41 entries) » next page
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Canada License.