Library tech blog

Thoughts and ideas on technology

My site has moved

I  have moved my blog to tscrobinson.com

January 10, 2009 Posted by | Uncategorized | Leave a Comment

More sook

Well I have finnished sook. I am have automated the download in import nightly of the isbn numbers off the sirsi/dynix system and have added a request material feature plus a check title feature. It will be interesting to see feedback. It is added to the site under Lib 2.0. I am now working on creating a search cloud from the terms that people enter into the catalog. This is proving to be fun.

~Sean

January 3, 2007 Posted by | Uncategorized | Leave a Comment

Sook continued

I did a little coding and came up with Sook. It has been fun just to type in words and look at books. The next step was to do a query on our ILS and see if we have the book available. I am not really sure how to tackle this problem with the sirsi/dynix api but I was thinking first of ajax but since I have just purchased the Web Services with Perl I am thinking I might write a web service and see if that migh solve the problem.

November 27, 2006 Posted by | Uncategorized | Leave a Comment

IT Management ideas in libraries

 I was recently at a meeting where we were talking about how to build a team and effectively manage that team. I was asked about some of the changes I had made and how they were working. At the end of the conversation I was asked if I would write these ideas down in the IT Blog. Foolishly I said said yes. These are just some general guidelines that I try and often fail to follow. They are in no particular order.

1. Never ask someone to do something that you are not prepared to do yourself.
2. Frustration = Problems. Frustration is the leading indicator that your staff is having problems. It is your responsibilty to solve these problems.
3. Never blame. It is a waste of time. The solution to the blaming attitude is to collectively focus on the problem and find a solution.
4. Have and attitude of “Yes”. This doesn’t mean you say yes to everything but is more of mindset.
5. Communicate, communicate and communicate somemore. It is really helpful for staff to understand the goals and expectation and to be part of the planning process.
6. Acknowledge the work people do and thank them for it.
7. Delegate as much as possible. It empowers people and prevents you from micromanagement.
8. Actively listen.
9. Patience. The people you have on your team are working hard, do not over stress them by setting unrealistic timetables. Understand your staffs strengths and weaknesses. Help them with both. It is your job to make their job easier.
10. Have fun. Staff that are having fun at work are more productive. It will also help them and you live happy lives. This is perhaps the most important rule. If you are not having fun there is a problem.

These are the top 10 things that I strive towards. I know there are many more things to do but I can really only keep 10 thoughts in my head at one time and I really believe in keeping things very simple where possible.

November 26, 2006 Posted by | Uncategorized | 1 Comment

Sook amazon and ajax

The next idea I am working on is  to try is to use the power of amazon to look for material.  Specifically books. What I am hearing from staff and patrons that they are using amazon to get the details on the book they want and then using that information to look up our catalog. Well why not automate that process. I have just started working on a Google like interface where you can to a search amazon if you are not certain of the title or author and it will give you results. I plan on using ajax to dynamically go out and hit the catalog and see if we have that material. 

November 24, 2006 Posted by | Uncategorized | Leave a Comment

Amzamash

Well I finnished my first Mashup. It was quit fun and now I am thinking of explanding some of the ideas. Adding as RSS feed for fiction and adding the feature of if you like this you might like that. This<=>That.

 The mash is between sirsi/dynix, amazon and the good old library card. Thanks to John Blyberg for the card idea

Amzamash
Overview of Amzamash
——————————
Description
————
This is a collections of programs that creates a table of book covers and then links these covers
to a more detailed description of the book. It also creates an old fashion library card on the fly.
I used the sirsi/dynix system to get the isbn numbers of the books that were cataloged yesterday.
I then used the amazon webservices to gather the covers and all other information. This information was
then placed in a mysql database. I then used the GD graphics library to create the library cards. The gathering
of the isbn’s was the only processing done on the ILS. I used expect to transfer the file to another computer
running linux to do the bulk of the processing.

Technologies used
—————–
Perl
Php
MySql
Sirsi/Dynix API
HTML
Expect
Amazon’s Web Services
Cron
Apache
Well it is a mashup after all. <smile>
Programs and function
—————————

get_book.pl : This program goes out and gets all the book isbn’s that were cataloged yesterday.
It sorts the isbn’s and then only outputs unique isbn’s It is locationed /usr/local/share/httpd/cgi-bin on foraker.
The output from this program is called isbn.txt

getisbn : This program is an expect script. It automatically ftp’s the isbn.txt file to the linux server called blog.

awslarge.pl : This program does the bulk of the processing. It first initializes the mysql database and resets
the index to 1. It then opens the isbn.txt file and queries the amazon web service. What is resulted is
XML information about the book. This then parses this information and places it into the database.

cardmaker.pl : This program uses the GD library to place text onto the library card image. There is some
formating that needs to be done and a little cleanup on some of the amazon information. The cards are then
created and placed in a dir. /var/www/html/amzamash/libcards .All previous cards from the day before are deleted.

book_wall.php : This program creates the wall of books. Just gets the data from the database. The links over the books pass the isbn to the bookresut.php /var/www/html/amzamash

bookresult.php : This program takes the isbn and gets the associated library card and then displays the other information about the book that was retreived from amazon. /var/www/html/amzamash

Final note
———-
I plan to use the database to create an RSS feed on fiction. I would also like to add the feature “If you liked this you might like this” The this<=>this feature.


				
                

November 20, 2006 Posted by | Uncategorized | Leave a Comment

Using Sirsi API to get ISBN numbers

The goal here is to extract all the books that where cataloged yesterday and get there ISBN numbers. To then sort these and only take the uniq numbers. I then  plan to use these numbers and amazon webservices and get some interesting information then create virtual library cards. I just about have all the pieces in place. One of the things that I an still thinking about catagories and access. At the moment I am thinking that I will transfer the isbn file to another machine and then use mysql, perl and php to do the mashing that I want.
Here is the code I used to do this

#!//bin/perl

open(MYFILE, qq#/s/sirsi/Unicorn/Bin/selitem -tBOOK -f=20051010 -oC | /s/sirsi/Unicorn/Bin/selcatalog -iC -oe -e020|sort|uniq|#);

while (<MYFILE>) {
$mystring=substr($_,0,10);
if ( length($mystring) == 10){
print $mystring . “\n”;
}

}

October 13, 2006 Posted by | Uncategorized | 3 Comments

Playing with Amazon’s Web Services and Perl

Well here is some code that I adapted. It goes out and hits the Amazon Webservice and does a keyword search. It is my first go at using the service. I plan to combind this with the library card code below along with some code I need to write to display books we have entered into the catalog. The Data:Dumper was just me taking a look at the xml layout and trying to figure things out.

#####################################################################
# testaws-2.pl
# I have taken a typical script to access the Amazon webservices and made some
# adpaptions to it.
# Usage: testaws-2.pl <keyword>
#
#####################################################################
#Your Amazon developer’s token
my $dev_key=’insert developer’s token ‘;

#Your Amazon affiliate code
my $af_tag=’insert associate tag’;

#Take the keyword from the command-line
my $keyword =shift @ARGV or die “Usage:perl testaws-2.pl <keyword>\n”;

#Assemble the URL
my $url = “http://xml.amazon.com/onca/xml3?t=&#8221; . $af_tag .
“&dev-t=” . $dev_key .
“&type=lite&f=xml&mode=books&” .
“KeywordSearch=” . $keyword;

use strict;

#Use the XML::Parser  and LWP::Simple Perl modules
use XML::Simple;
use LWP::Simple;
use Data::Dumper;
my $content = get($url);
#print $content;
die “Could not retrieve $url” unless $content;

my $xmlsimple = XML::Simple->new( );
my $response = $xmlsimple->XMLin($content);
print Dumper($response);

foreach my $result (@{$response->{Details}}){
#Print out the main bits of each result

join “\n”,
print $result->{ProductName} .  “\n” ||”no title,\n”;
if (eval {$result->{Authors}->{Author}->[0] }){
for (my $i =0; $result->{Authors}->{Author}->[$i]; $i++){
print “Author: ” . $result->{Authors}->{Author}->[$i] . “\n”;
}
}
else {
print “Author: ” . $result->{Authors}->{Author}. “\n” ;
}

print “ASIN: ” . $result->{Asin} . “, ” ;
print $result->{OurPrice} . “\n\n”;
}

October 10, 2006 Posted by | Uncategorized | Leave a Comment

Virtual library cards from Library Camp East

Wow, the library camp was such and inspiration. How did John Blyberg create the cards and how can I copy (copy=steal) this idea? I did not want to recreate his entire application but I did love the idea and was wanting to get my feet wet. So where to start. I downloaded and installed the GD.pm for perl. I then took a look at his blog and copied the jpeg of the blank card. Since I was using Unix I then used GIMP and converted it to a .png. I then wrote a simple script to see if I could write text to this image and then output it to another .png file.

#!/usr/bin/perl
############################################################
# Program : test.pl
# Programmer : Sean Robinson
# Description : Proof of concept on using GD.pm to write to a lib card
# Date : 9.26.2006
############################################################
use GD;

# create image object
$myImage = newFromPng GD::Image(‘card.png’);
$black = $myImage->colorClosest(0,0,0);

$myImage->string(gdLargeFont,100,10,”Library Camp East”,$black);
$myImage->string(gdSmallFont,100,35,”A place where people and idea meet”,$black);

$png_data = $myImage->png;

binmode(STDOUT);
print $png_data;

### End of code
At the shell prompt

#./test.pl > hold.png

This runs the program and outputs to hold.png

# display hold.png

This uses the program display to show the .png file

Card.pnghold.png

Ok no problem. The next step is to use the sirsi api to get the top 10 circulating books and create 10 library cards on the fly. That will have to wait for tomorrow.

September 27, 2006 Posted by | Uncategorized | Leave a Comment

Library Camp East Topics

This is the agenda for the morning. John Blyberg is going to talk about Mash-ups and Patron-Oriented Development.This is going from 9:30-10:45 Cassey Bisson is going to talk about the OPAC discussion.

Video clip of Library Camp East

How to implement without coders. How to create buy-in. OPACs. DOPA. Podcasting.  Library 2.0 and virtual reference. Practical examples of library 2.0 are there any results. Make OPAC work as well as Amazon. Professional Development

Louise P. Berry and Alan Gray hosted this event

Discussion area Create an area to continue the discussion.

How to use library services outside the library. Wanting a better interaction with vendor.  What are best practices what are the standards for development. How small libraries can use open source.

John Blyberg starts the discussion about mash-ups. This would allow patrons to create their own collections or interact with catalog. PatRest is a API that allows patrons to develop against this new API. The virtual library would not be a destination but more of a present.

Another idea is using google gadgets on your personal google page. The idea is that you create a google email account and then you are able to customize your google page.

 The “LibraryThing“  has an api that you can use to get book covers and other information. There is a need to train staff and the public on these tools. One idea is to create a tutorial for patrons to create these tools.

Another idea is to us PatRest and a defacto standard. Why create these API’s. Interconnecting the library with the community.

Photos of library camp I II

OpenURL and Coins link  

Cassey Bisson is going to talk about the OPAC  WPOpac The idea is to reveal the catalog to the patron. How do we reveal this and what items should we reveal?

What are items that identify the virtual library how does that differ from the phyiscal library. When looking for information in the virtual world you have to employee tools that connect to physical world.

Afternoon session

Bridging the gap Techie to Non Techie.

If you are a Non Techie how do you communicate to the Techie? What do you do if you don’t know how to talk to a techie.  These are some of the questions that came up. Organizational resistance to technology is something that most people have to face. The outcome to implementing technology is often uncertain. How do we manage the risk. What type of environment are you in? Creative where you can make mistakes and these are accepted and encouraged or status quo where nothing changes.

September 25, 2006 Posted by | Uncategorized | 24 Comments

Follow

Get every new post delivered to your Inbox.