Archive for the ‘irc’ Category

#9

Thursday, January 4th, 2007
22:01 < edsu> i would try to separate them now before it's
      too late :)
22:02 < erikhatcher> it's never too late, but i certainly want
      to keep this clean from the start

New Years Resolution #9 - never underestimate the power of a positive attitude…

rsinger++

Thursday, September 28th, 2006

So Ross beat out 11 other projects to win the OCLC Research Software Contest for his next generation OpenURL resolver umlaut. Second place went to to Jesse Andrews’ BookBurro–so the competition was fierce this year. Much more so than last year when there were 4 contestants.

Those of us who hang out in #code4lib got to hear about this project when it was just a glimmer in his eye…and had front row seats for hearing about the development as it progressed. Essentially umlaut is an openurl router that’s able to consult online catalogs (via SRU), other OpenURL resolvers (SFX), Amazon, Google, Yahoo, Connotea, CiteULike and OAI-PMH. It’s all written in Ruby and RubyOnRails.

I feel particularly proud because Ross is enough of a mad genius to have found a use for some ruby gems I wrote for doing sru, oai-pmh and querying OCLC’s xisbn service.

Speaking of which we’ve been collaborating recently on a little ruby gem for querying OCLC’s OpenURL Resolver Registry. This registry essentially makes it easy to determine what the appropriate OpenURL resolver is given a particular IP address. So you could theoretically rewrite your fulltext URLs so that they were geospatially aware. For example:

  require "resolver_registry"
 
  client = ResolverRegistry::Client.new
  institution = client.find('130.207.50.91')
  print institution.resolver.base_address

If you want to take a look direct your svn client like so:

svn co http://rsinger.library.gatech.edu/svn/openurl_registry/

I imagine it’ll get released to rubyforge sometime shortly.

code4libcon 2007

Sunday, July 2nd, 2006

Here’s to making sure that code4libcon 2007 is a watershed moment for women library technologists.

code4libcon 2006 in Corvallis wasn’t all male, but it was largely…and I can only remember two women speaking to the audience. To a large extent code4libcon was modeled after technology conferences like yapc, pycon, oscon, barcamp, etc–which have much the same sort of ratio. But libraries are different because the majority of people who work in libraries are women. So it was a bit surprising that more women didn’t end up at code4libcon 2006.

2006 did get organized practically overnight with a very small (male) clique in an irc room (that’s not always well behaved, but mean well–hey it’s IRC). When people actually started signing up and sending in papers to the more formal discussion list I think we were all kind of surprised. I seriously thought we were just going to be hanging out in some random space with free wifi, and it turned into this really successful event.

Some folks like Dan Chudnov, Art Rhyno, Jeremy Frumkin and Roy Tennant started thinking and talking early about making the conference appeal to women library technologists. But it seems that either the voting (open to all, but all men for some reason) somehow subconsciously counteracted this.

AFAIK the keynote voting is still going on, and I imagine you can still suggest speakers. There will only be more voting to do as we get into selecting presenters. If you’d like to participate just email Brad LaJeunesse and he’ll hook you up with a backpack login. Also, sign up for the code4lib and code4libcon discussion lists. Luckily Dorothea Salo is involved and vocal and I’m hoping that other women technologists will get involved too. This is a grassroots thing after all, not some sort of LITA top-tech trends panel. It’ll become whatever we want it to be.

#code4lib logging

Friday, March 17th, 2006

Since the code4lib conference the #code4lib irc channel has gained a lot of new voices with new ideas. In fact dsalo and ksclarke have already said all I can think of saying on the topic of the changing culture of the #code4lib channel.

Some people have suggested that some of the ideas, such as a journal, doing outreach/consulting work, etc will require the irc channel to clean up its act. I know that I’ve had moments in irc where I’ve lost my cool, or said something that I regret later…yesterday in fact.

So, for my own selfish purposes I would like to see a public log of the channel. It’s been kind of a defacto rule that there are no public logs for the two years #code4lib has been going…but I think it might be time to add them. My reasoning is:

  1. it would require me to clean up my act, or at least be conscious of when I’m being erratic and telling the logging bot to go “off the record”. This is how #swhack logs operate with some success.
  2. it would allow people with lives to scan the logs looking for stuff and get other work done
  3. it would encourage international participation by people who aren’t online with the (Eastern|Central|Mountain|Pacific) Standard Tribe
  4. and most importantly it would allow for interesting consuming applications

At any rate I think that code4lib changing is a good thing. Afterall, an organism that has ceased changing is umm, dead. I guess we should have a vote or something :-)

one billion

Monday, May 16th, 2005

Thom Hickey mentioned a new page at OCLC which lists some real time stats for worldcat: total holdings, last record added, etc. Perhaps this is in honor of the total holdings getting very close to crossing the 1 billion mark.

So of course I had to add a plugin for panizzi to scrape the page. Rather than writing yet another state machine for parsing html I decided to try out Frederik Lundh’s ElementTree Tidy HTML Tree Builder, which works out very well when you want to walk a datastructure representing possibly invalid HTML.

    url = "http://www.oclc.org/worldcat/grow.htm"
    tree = TidyHTMLTreeBuilder.parse( urlopen( self.url ) )

That’s all there is to getting nice elementtree object which you can dig into for a page of HTML.

So, predictably:

10:53 < edsu> @worldcat
10:53 < panizzi> edsu: [May 16, 2005 11:49 AM EDT #981,277,234]
                      El senor de los anillos. Tolkien, J. R. R. ...
                      uploaded by OEL - EUGENE PUB LIBR

code4lib sprint

Monday, May 16th, 2005

A bunch of #code4lib folks will be converging on Chicago this summer for the annual American Library Association conference. Several of us thought it would be fun to get together for a sprint on a project that has yet to be decided. A potential project is building a framework for metadata translation similar to bibutils or perhaps Cheshire. I worked on creating a bibutils wrapper for Python a few months ago, and decided it would be better to have a pure python framework instead. The wrapper worked ok, but only on particular platforms, and the API felt kludgy in that bibutils is oriented towards command line tools. There’s also some interest in having a discussion and possibly some hacking on mirroring OPACs that Art Rhyno and Ross Singer have been working on.

I called Chicago Public Library to reserve some of their rooms but they’re already all booked up. Fortunately the Lincoln Park Branch has a nice room (with wifi) which chipy used for their pypi sprint a few months ago…and I just reserved the space for the entire day of Friday June 24th, 2005. My friend Brian Ray from chipy kindly offered to stop by his local branch to fill out the paper work to make it official.

name authority fun

Sunday, May 1st, 2005

As a joke dchud suggested that panizzi (the friendly neighborhood bot in #code4lib) should have a plugin for querying the Library of Congress Name Authority File that OCLC provides. The Name Authority File allows librarians the world over to use the same established names when cataloging books, etc. It would serve no purpose in irc, but it could be a good conversation piece…

I had goofed around writing a command line app about half a year ago so I figured it couldn’t be that hard to hack this into the infobot source code. However I guessed wrong…granted I only tried for 30 minutes or so.

Fortunately, python’s supybot was a different story. It’s more modern, has command line programs for configuring a supybot, has built in support for plugins — and has documentation. There is even a command line program supybot-newplugin that will ask a few questions and then autogenerate a template plugin module. All you have to do after that is add a method (with a particular signature given in the docs) which will then do the work and respond.

 
from urllib import urlencode
from urllib2 import urlopen
from elementtree.ElementTree import parse
 
class Naf(callbacks.Privmsg):   
 
    def naf(self,irc,msg,args):
        """&lt;name&gt;
 
        Lookup a personal name in the NAF file at OCLC
        """
 
        alcme = "http://alcme.oclc.org/eprintsUK/services/NACOMatch"
        name = privmsgs.getArgs(args)
        query = urlencode( { \
            "method"          : "getCompleteSelectedNameAuthority",
            "serviceType"     : "rest",
            "name"            : name,
            "maxList"         : "10",
            "isPersonalName"  : "true" } )
 
        url = urlopen( alcme + "?" + query)
        tree = parse(url)
        elem = tree.getroot()
 
        matches = elem.find("wordMatches").getchildren()
        irc.reply( matches[0][0].text )

As an added bonus along the way I got to try out ElementTree which has to be the nicest XML library I’ve ever used. It turned out to be a fun experiment, and will hopefully add to the merriment of the room.

22:03 < edsu> panizzi naf sigmund freud
22:03 < panizzi> edsu: Freud, Sigmund,--1856-1939