Hackfest ][
Access 2003, October 1-4
Vancouver, BC

A Cast of Dozens

A Gaggle of Powerpoint Haters

The O'Reilly Lithographic Spirit Gods

Overview

Background

Process

Projects

Results

Background: A Poem

"Fast technology
Leaving road kill on the street
Twitching Dublin Core"

-A Librarian (Unknown)

Found in a bar in Windsor, ONT, in 2002

Background: What's a Hackfest?

Hack \Hack\. noun:

“A quick job that produces what is needed, but not well.” (Jargon File 4.3.0)

“One who works hard at boring tasks [syn: drudge, hacker.]” (WordNet (r) 1.7)

Hack \Hack\. verb:

“To use frequently and indiscriminately, so as to render commonplace.” (Webster’s, 1913)

Fest \Fest\, Feste \Fes”te\, noun:

“A feast. [ Obs .] –Chaucer.” (Webster's 1913)

Background: Objectives

Solving problems or develop new ideas

Creating a non-competitive, non-work collaborative social and educational experience

Learning about contemporary issues in libraries

Learning from each other

Having fun and being on camera

Background: Hackfest I

Held in Windsor last year

10-20 participants

Late at night (not much sleep)

Several interesting projects

Mostly coders

Process: Setup

Formal signup on registration page (no added cost)

Suggestion box (more than 12 ideas)

Whole day preconference

Multiple lab reservations, logistics

Equipment setup

Accounts on dedicated hackfest server

Summary of project writeups

Name tags

Process: The Day

40+ signups, waitlist, 30+ attendees

Project exhibit: browsing, discussing

Collapse two labs into one

Group up and go:

Projects

A very wide variety

Some hacks are bigger than others

Negotiation/refinement over email before fest by coordinators

Some require sample data

Many ideas draw on diverse skills, inc. web design, usability, reference, cataloger, and administrator perspectives... and coders

Better (lower) coder density => better balance

Projects:

David Mattison, Donna Mazurek, Jeremy Henning, Kenton Good, Kristina Long, Mark Leggott (University of Winnipeg whose problem this was), Michael Hohner (virtual, from U of Winnipeg), Myfanwy Postgate, and Philip Poon

Problem: "Create a digital or virtual reference binder accessible to virtual and physical reference staff where they can record information relating to their shift. The intent is to replace a paper binder with a virtual binder. Cost was no object, and time was of the essence."

Projects:

Projects: Thesaurus Maps for VRef

Art Rhyno, calvin mah, Donna Dinberg, Stephen MacNeil

Problem: "Various subject metadata schemes are becoming more important as we use apps cross-domain and otherwise network stuff. I am seeking elegant ways to cross-map discrete subject schema (more than just LC or Dewey, but schemes like Getty, educational thesauri, government schemes, etc.)."

Projects: Thesaurus Maps for VRef

XML-based protocol

Metadata-to-metadata

Integration with existing systems

Flexibility required

Ability to support REST/SOAP

Deep desire to achieve more sleep than with last year's hackfest

Projects: Thesaurus Maps for VRef

<map:match="*.*">

<map:generate src="file.xml"/>

<map:transformer type="sql">

<map:parameter name="use-connection" value="mydatabase"/>

</map:transformer>

<map:transformer type="xsl" src="format-adjust-for -stuff-in-next-slide.xsl"/>

<map:transformer type="jena" type="virtual-reference-protocol"/>

<map:transformer type="xsl" src="format-adjust-to -next-format.xsl"/>

<map:transformer type="soap" url="soap://next-reference-site-or-other"/>

<map:transformer type="xsl" src="status-info.xsl"/>

<map:serializer type="xml"/>

</map:match>

Projects: Thesaurus Maps for VRef

Semantic web plumbing & ontology soup

<daml:Ontology rdf:about="">

<daml:versionInfo>1.0</daml:versionInfo>

<rdfs:comment>

An ontology of Virtual Reference relationships, Dewey to LC

</rdfs:comment>

<daml:imports rdf:resource="http://www.daml.org/2001/03/daml+oil"/>

</daml:Ontology>

<daml:Class rdf:ID="600">

<rdfs:label>Technology_applied_science</rdfs:label>

<rdfs:comment>affix propeller to hat</rdfs:comment>

</daml:Class>

<daml:Class rdf:ID="QA75-76.95">

<rdfs:label>Electronic_computers_Computer_science</rdfs:label>

<rdfs:comment>does anything else matter?</rdfs:comment>

<rdfs:subClassOf rdf:resource="#600"/>

</daml:Class>

Projects: Thesaurus Maps for VRef

Result: a jena-based transformer for cocoon!

// obligatory incomprehensible code snippet

Model schema = ModelLoader.`

loadModel("http:// libinference.org/vir_ref.rdf");

// avoid questions on next statement at all costs

String rules =

"(?a ?q ?b) <- (?p rdfs:subPropertyOf ?q), (?a ?p ?b) .";

Reasoner reasoner = new

GenericRuleReasoner(Rule.parseRules(rules));

InfModel inf = ModelFactory.createInfModel(reasoner, rawData);

Projects: Database Comparison

Kathleen Matthews, Nella Lall, Stan Kosecki, Todd Holbrook, Tuan Nguyen, William Wueppelmann

Problem: "... An easy way to compare title lists from two databases ... a listing of what is unique to each database, along with a listing of the overlap. Part two would involve a way of comparing the lists against a library catalogue to see if that title is already held and how much the library pays for that title."

Solution: Build it into CUFTS

Projects: Database Comparison

Projects: III Report Formatter

Roy Tennant, Sharon Price

Problem: "We need a report generated that gives (a) more than x number of bib level holds on any item, at any given time, then have that report broken down into how many copies the consortium holds or has on order, and then how many of these are held/ordered by LE Phillips."

Solution: Roy + perl :)

Projects: OpenURL Harvesting

Bernardo Gomez, Dan Chudnov, Ian Stegman, Pat Moore, Peter Binkley

Problem: "explore the intersection of link routing and personalized services, e.g. if we could offer a secure personalized tracker of one's routed OpenURL requests, what sorts of services could we build on that?"

Projects: OpenURL Harvesting

Projects: OpenURL Harvesting

Projects: OpenURL Harvesting

Projects: OpenURL Harvesting

Projects: Alerting Service

Adrian Dolling, Alison Curtis, Brian Jorgensen, Joyce Wong, Mark Jordan, Ross Singer

Problem: Expand a "what's new" system to handle a wide array of alerting services

Projects: Alerting Service

Difficulties:

platform and scripting language

scope/what is the problem?

Functional requirements:

modularity

more generic and universally applicable solution

try to solve problems for the larger community instead of just one community member

Projects: Alerting Architecture

Projects: Alerting Service: Objects

Alert:

something someone needs to know

types: new URL, staff news, new ILS item

included purchase requests

Category: "metadata" classification for alerts

Channel:

defined as a selection of categories

spits out an XML feed

Projects: Alerting Service: Processes

Reaper: deletes/archives alerts

Input filter:

inserts alerts into system

examples: purchase request form; new URL form; announcement form; script that automatically inserts alerts about new collection items

Output filter: filters XML feed from a channel and delivers it to a subscriber:

examples: dynamic webpages, RSS feeds, email scheduler

Projects: Alerting Service: Code Reuse

Email scheduler:

subscription of users to channels, sending of emails best solved by mailing list software and associated management software

what's left

Core objects: alert, category, channel:

feels very similar to what existing blogging software already does

need to communicate with those projects

Results: Summary

30+ people

6+ projects

Wide range of activities:

Whiteboard-only hacking

Fixing persistent problems

Adding interesting features to existing projects

Bringing available tools to other typical problems

What-if scenarios

Results: Successful v2 features

Whole-day preconference

Much improved diversity (no more coder monoculture)

Clearly one location is the way

More sleep for everyone

Summary later than 8:30!

Great planning

Very positive energy (on average) all day long

(No actual sacred cows were gored or, appositely, otherwise hacked during this preconference)

Results: Possible enhancements

Distributing suggestion list before conference

Keep to one location + wireless

Location: pub across the street; maybe mandatory for lunch? :)

Generalizing/extending the model ... carefully

Results: Reflections

“The way we organize our institutions for administrative purposes is only loosely coupled with the way our organizations get work done.” – H. Berghel

We really like to work this way, and the Access mix is perfect

Next year in Black Rock, NV: our very own "Burning Man"

...i can see it now... as if it were right in front of my eyes... like i'm actually there... ...it's coming to me...

Results: Acknowledgments

Three cheers for Mark Jordan and John Durno

Also Calvin, Kristina, Todd, others at SFU IT/Admin, elsewhere

Thanks to our sponsor: Innovative Interfaces

Also Art for birthing the model last year :)

Also Roy for the video

And all the participants!

Hackfest ][ Access 2003, October 1-4 Vancouver, BC

dchud

2003-10-05T12:36:25