Showing posts with label cataloging. Show all posts
Showing posts with label cataloging. Show all posts

Monday, June 4, 2012

Library Code Year Interest Group at ALA

The LITA/ALCTS Library Code Year IG will be having our first meeting at ALA Annual 2012 (#ala12) in Anaheim, CA and we need your help. We are looking for speakers to give lightening talks!

Call for Speakers

What strategies, or roadblocks, have you found in learning to code? How have you used programming to improve library service models or workflows?

The Library Code Year Interest Group seeks speakers for lightening talks (5 minutes) on any aspect of coding and libraries, including projects you have completed, your experience learning to code or thoughts on projects you would like to see in the future.  Speakers at all levels of coding skill and from all types of library backgrounds are invited to participate.


Our meeting at ALA Annual in Anaheim will be Saturday, June 23, 1:30-3:30pm at the Doubletree Suites (Tuscany AB). You can find it on the ALA Scheduler here. The inaugural meeting of the Library Code Year Interest Group will provide an opportunity for members to discuss how they have used what they have learned through Code Year in their jobs and to discuss roadblocks they have encountered along the way through a combination of lightening talks and roundtable discussions. Attendees will learn ways that the code they are learning can be used in libraries and have a chance to share their experiences learning and using code. We will end with a brainstorming session on how the IG can support members’ efforts to learn and apply code in libraries.

Feel free to contact me with any questions at slmcdanold@gmail.com or mcdanold@pobox.upenn.edu or post your thoughts on our Connect page.

Even if you don't want to give a talk, I hope to see you there! 

Monday, February 6, 2012

Why am I learning to code?

Why am I learning to code. I get asked this a fair amount these days. Why would a librarian want to learn to code? What good is it for my job?

I alluded to it in my first post on the catcode phenomenon: "Catalogers work with massive amounts of curated bibliographic data, and being able to manipulate it in new and different ways and in ever increasing amounts is key as we move forward into the bibliographic future and the world of linked data and the semantic web."

But that's a pretty generic statement. And doesn't explain much. I usually end up giving some examples of how coding would be (or already is) used in my current day to day work:

1. Editing of record sets prior to loading - beyond MarcEdit

All of our batch loads of MARC records for various collections go through a basic editing process. We have a standardized set of edits that all of our records go through to normalize certain elements and insert local-specific notes about access restrictions and our licenses. These edits are all combined in a script to facilitate the process. All sets are quickly run through the script as a first step of the loading process. Currently when something changes (like a change to MARC coding or the need to add something or add a conditional for another format such as images), I have to ask our systems folks to edit the script, I review it, we test it, and then it's put into regular use. If I could make the edits and test it myself the process would be much more efficient.

Often I have very large sets and potentially complicated edits that need to be made. MarcEdit has a script editor that allows me do make a series of basic conditional edits, but for more complicated things I'm still limited to asking our systems staff to write a script.

For example, our records from ProQuest for the online version of our dissertations come in with subject codes that are proprietary to ProQuest and their indexes. For these to be useful for our users for searching, they need to be mapped to valid Library of Congress Subject Headings. I can build a cross-walk in a spreadsheet for the mapping, but I need a script to run the records through a process to actually match on the codes in the records in the file and insert the LCSH heading.

2. Reports from our system (or from any large file of records)

The only mechanism for getting a report from our current ILS (Voyager) is via script. There's no reporting interface. Like with script editing, I have to pester systems folks to help me. And it can be a tedious process. I tell them what I need (being as clear and specific as possible within the bounds of how confusing MARC is and the myriad of exceptions/variations that exist). They then take my request, and turn the query into a script (interpreting things in the process), run it, and send it to me for review. If we're lucky, we get it right the first time. More often than not, there's errors, and exceptions, and quite a bit of back and forth before we get it right.

If I could gain some experience in coding, I could hopefully reduce the back and forth and write the exceptions and variations into my query request, essentially cutting out the middle man interpretation. Having a better understanding of what is possible to write into a query based on the data and how "clean" it is (or isn't) is invaluable.

3. Batch editing of records already in the system

Just because something is already cataloged and loaded doesn't mean you can ignore it. Records require maintenance. Rules change, headings change, tags change, new fields and subfields are added, etc. etc. MARC as a standard is changing regularly. Names are updated in authority files, subjects are created, collapsed, divided, etc. And we have to keep our data up to date so it's actually useful to our users and so relationships are maintained. All of this updating requires editing a very large batch of data. It starts with getting an effective/accurate report of things that need updating, and then telling the system what needs to change. A big thing that would be useful to articulate more clearly is conditional edits...add this field but only if these things are true. But if your instructions to the system isn't clear you end up with a big mess that you have to undo and try again, which is time consuming and most likely also problematic for user access until you clean things up (or undo). Once you have a better understanding of how to write the instructions, the number of messes decreases exponentially. And less mess is always a good thing when dealing with data that  potentially impacts user access.

4. Loading of records in bulk

There are set of profiles used for loading records into our ILS. Distilled down, they are a series of scripts dictating the modification and creation of bibliographic, holdings, and item records. The specifics of each load determine which profile is most appropriate. I don't have a good understanding of these profiles because my understanding of coding is still limited. I'm hoping learning coding will give me a better understanding so I may better advise which profile is more appropriate.

A good example of why this would be useful. A few months ago we tried to load a set of records into our system. Both the colleague in systems and myself being unfamiliar with the profiles, we picked the one we thought was correct. Well, given her unfamiliarity with MARC and library records, and my unfamiliarity with coding and in reading the profiles, we blundered and used the wrong one. We made a bit of a mess of things in our production catalog (hello error message displayed to the public) and had fix things after the load, once we figured out what we did wrong, of course. Our blunder created quite a bit of extra work for both of us.

5. System design / user interface design / etc.


We're currently in the process of redesigning our public interface to our catalog (our OPAC). This means dealing with indexes and the underlying data in different ways. Having a good solid understanding of the data means I can explain what data is useful and what our data can and cannot do. Writing functional specifications for the use/manipulation of the data so the coders can go to work. Having a solid understanding of how systems talk to each other and where data lives helps immensely. Learning to code helps me do all of that.



I think an overarching theme of all the above examples is communication. To be able to explain things to coders, and to understand the questions from coders, and explain things to catalogers, and non-catalogers, and effectively talk/explain my needs to the systems themselves, I need to have a better understanding of how it all works. Learning coding helps with that. It's like learning another language. If I can be even semi-fluent in coding, things will be much clearer for everyone involved in the conversation. Even if I don't become a full-fledged coder, the exposure I'm gaining from participating in Code Year and workshops on Python and attending project nights and talks about various coding languages and systems is already proving to be invaluable.

Friday, February 3, 2012

Library Day in the Life - Round 8, Day 5

This post is part of Library Day in the Life project. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.

Friday, February 3, 2012 

I have much better luck making the bus this morning, but I forgot my travel mug full of coffee. I make a small detour between the bus stop and the library to buy coffee, again.

8:05am - Arrive at desk, my precious brew in hand. Login to the work network. This is followed by logging in to email, my work calendar, Voyager and Connexion, opening GTalk, opening a browser (Firefox at work, but Chrome at home), and logging in to various web programs (including Evernote), start TweetDeck.

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.

Check calendar to find out what's on today's schedule.

Walk over to supervisor's office to check in on a couple of backlog clean up projects we are working on: catching up on the Hebrew and South Asia materials.

Email off weekly timesheet report for staff to Library HR office.

Earlier this week the slate for the NASIG 2012 elections were announced. I'm up for secretary this year. We'll see what happens this time around as I've been on the slate before, but not elected. And apparently my opponent has friends that have volunteered to campaign for her! Oh dear. I better get on that as the ballots go out Feb. 27th. (hee!)

10:00am - Meeting to discuss preservation issues for serial back volumes.

Brief break of about 20 minutes between meetings to check email. 

11:00am - Meet with serials acquisitions librarian to sort out some issues with Hebrew serial titles that have been identified as our Hebraica cataloger makes headway on the backlog. Non-Roman scripts can cause confusion and things get linked to incorrect records, issues get skipped because of lack of proper title Romanization, etc. So we're clearing the confusion the best we can when we find the problems. Fortunately this takes all of 15 minutes to walk through and explain them and we can both move on to other things.

Since I have some unscheduled time that on my calendar looks like I'm occupied, I spend some time on that list of "web" location holdings that are problems. Turns out there's more than just the reserves issue that has shown up on our report. We also have random duplicate holdings, missing subfields, mysterious "web" holdings on print titles, and more. So it looks like we're going to have to go through all 269 titles one by one and by hand to fix them.

Noon - LUNCH.

12:30pm - I get some excellent news that the "new" workflow for individually purchased ebooks is up and running! We have it set up now that when an ebook is purchased, a brief record is put into our catalog so the payment record and invoice can be created. This payment record is suppressed. Once access is turned on, the payment record is unsuppressed, the URL from the vendor for our access is added to the bib, and the now unsuppressed brief bib is picked up by a daily report so it can be fully cataloged. Since we're adding the access URL to the brief bib, the public will have access immediately so if there's a delay in cataloging there's no impact on access. Now I just have to train myself to go retrieve the report every morning...

Send a few emails regarding the LITA/ALCTS Library Code Year Interest Group. We have approval from both ALCTS and LITA so we're legitimate!! YAY! ::Kermit flail:: Our ALCTS approval is conditional on some wordsmithing and revisions to the group purpose, but they approved us so we can move forward due to some impending deadlines. We're submitting our A/V and meeting room request for ALA Annual 2012 in Anaheim, CA! Watch the catcode wiki, catcode Twitter list, and the ALA Connect Code Year space for details. And don't be afraid to sign up (whether you're participating in Code Year or not) and join us in learning to code or improving our coding skills together.

Back to the spreadsheet of "web" location holdings. It's like I have 269 problem children who need individual attention. I do filter as much as possible, but I still have to check each and every one.

It's been a long day of staring at a screen full of MARC code and spreadsheets.


2:00pm - Meet with colleague to put together the charge for the subgroup to investigate the various metadata schema available that can accommodate preservation, descriptive, structural, and administrative elements for a wide variety of types of materials that may be included in the digital repository.


Give staff person the monthly report of items that are officially declared lost. 


3:45pm - Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post.


4:00pm - Shut things/programs down and log out from work network. Shut down (restart) computer. Leave work. 


I have to get out of here a bit early today as I'm attending an "Introduction to Python" workshop (more coding!) tonight and all day tomorrow sponsored by PhillyPUG / PyStar Philly. I need to get home to pack up my laptop and head out so I'm not late tonight (especially given my bus karma this week)! I did the intro to Python class last September, but it didn't really stick. So when the opportunity to take it again came up, I jumped at the opportunity. I'm hoping my Code Year work has helped so it sticks better this time.

Thursday, February 2, 2012

Library Day in the Life - Round 8, Day 4

This post is part of Library Day in the Life project. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.


Thursday, February 2, 2012 

I get to my desk around 8:55am, and yes, this is a bit late. My bus karma this week can only be described as terrible. Seriously epically bad bus karma. This morning I barely missed one (this week's prevailing theme...watching the bus go by as I'm about 1/2 a block from the stop), the second one didn't even pause, and the third (which I finally boarded) got caught behind a truck. EPICALLY BAD. Grumble...SEPTA...grumble.

Login to the work network. This is followed by logging in to email, my work calendar, Voyager and Connexion, opening GTalk, opening a browser (Firefox at work, but Chrome at home), and logging in to various web programs (including Evernote), start TweetDeck.

While things warm up, I retrieve my coffee travel thermos only to discover I didn't tighten the lid and it has dripped my precious brew all over the inside of my lunch bag. 

Can I go back to bed and start the day over now, please?

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.

Check calendar to find out what's on today's schedule.

9:15am - my phone rings. It's a random number. I pick up, the number hangs up. I do this twice before just letting it ring. The number calls repeatedly for the next 10 minutes, for a total of 7 more calls, each one ringing at least 4 times before hanging up. This is beyond annoying, to say the least.

I'd like to repeat my request to go back to bed now and start the day over.

That pesky reserves e-item multiple holdings records issue? It's still around. We're still working on it. That report from yesterday turned up a few other oddities that we have no idea what to do with such as personal copies with print and online components, and some that don't seem to be related to reserves at all.

10:10am - Stop by my supervisor's office to check in with her on a couple of things, including what we need to do in order to add our ebooks to our NewBooks+ stream. It highlights new acquisitions of books in the library (our media/videos are highlighted in a separate catalog), and we need to figure out how to fold in ebooks without overwhelming the system in terms of sheer number of records. Some of the MARC record sets we load for collections have over 50,000 records (some over 100,000!) so clearly we have to determine an effective filter for these extremely large sets.

10:30am - Department Heads. This meeting is a regular first Thursday of the month event. This month's topics include presentations on a special collections database from the museum folks, and a discussion about digital humanities. Oh, but if you get there early, there are treats! And coffee! I think the nice flaky pastry with icing on it helps to improve my morning, don't you agree?

Noon - Retrieval of MARC records for various ebook collections from vendors that post the files on websites. Some files I get an email alert, some are emailed to me as attachments, but a few vendors just post them without any notification options. I do have a "master" list of collections that are set up as ongoing subscriptions including how we get notified about updates in a Excel file shared with our electronic acquisitions folks so we can all keep it updated. But I have a tickler in my calendar and a running list in Evernote to remind me to go check the websites for specific subscriptions (mainly ongoing series, the online version of a standing order, or collections where they are still creating the MARC records) and pull down any new files. Usually there are only a few records in each update file, so I can quickly process and edit them and load them directly into our catalog. For the updates that I get via email or RSS notification, I process them as they arrive. I'm able to keep up currently, but in terms of scalability this is not the best method. I'm working on figuring out a workflow for these collections that get update files of MARC records that is a bit more streamlined and scalable. So far the sheer diversity (and seeming randomness) of how different vendors process and make updates available, and the variation in frequency for those updates, are making it difficult to have one workflow that encompasses them all.

12:30pm - LUNCH. The danger of eating lunch at your desk so you can catch up on stuff: colleagues stopping by with questions.

1pm - meeting of all the supervisors in technical services so our two new supervisors can get to know everyone.

3:00pm - Track down a colleague to talk about various workflow issues regarding upcoming work barcoding back volumes of serial titles. Send out email to all library staff announcing a set of MARC records for individual titles in a collection have been loaded and are available in the catalog. Successfully load

4:00pm - Successfully download update file or records, run it through the generic Perl script, make remaining edits, and load the completed records into our catalog. All without having to ask anyone else to take care of any part of it. It's very exciting to be able to complete the process without assistance! [Note: see yesterday's post explaining the excitement of being able to run sets through a script myself instead of asking our systems folks to do it for me.]

4:30pm - Check in with Hebraica cataloger about some serial titles in Hebrew we were working on yesterday. We're slowly working through the backlog so the titles are migrating over from her in a nice slow steady stream. It's not overwhelming, but we're making progress which is exactly what needs to happen.

4:45pm - Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post. 

5:00pm - Shut things/programs down and log out from work network. Shut down (restart) computer. Meet up with a friend to catch up over a couple of beverages. Yay for friend time!

Wednesday, February 1, 2012

Library Day in the Life - Round 8, Day 3

This post is part of Library Day in the Life project. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.


Wednesday, February 1, 2012 

I get to my desk around 8:25am, login to the work network. This is followed by logging in to email, my work calendar, Voyager and Connexion, opening GTalk, opening a browser (Firefox at work, but Chrome at home), and logging in to various web programs (including Evernote), start TweetDeck.

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.

9:00am - Fill out survey from ALA on ALA Midwinter.

Pick up a piece of paper and find a sheet that looks suspiciously like a reimbursement form. Realize I forgot to turn in the paperwork and receipts to submit for reimbursement for ALA Midwinter. Sigh. ::headdesk:: Make the trek upstairs to turn things into the business office.

Check calendar to find out what's on today's schedule. The day is open. Whoa. What shall I do with myself today?

Morning: prepping and editing files of MARC records for bulk loads

Remember that weird character that showed up and caused records to error out when we tried to load them? I talked about it yesterday. It's not obvious when the character was introduced, so I'm going to review the files from each part of the process to find out when the random character string ({A0}) was inserted at the end of some of the subjects. This file goes through three scripts: the generic one to standardize things, a post generic script to map the subject codes to the LCSH equivalents, and finally a pre-load process to prep the records (adding data to generate holdings records upon loading, etc.). I have the individual output files for each step in that process to review and find when the character string showed up so we can troubleshoot.

I send off various requests for loading files of MARC records into the production instance of our catalog. Once I get the confirmation the records are loaded, I'll send out an announcement to all staff that title-level access is available. I also load smaller sets (less than 50 records) by hand into our system to speed things along.


10:10am - In order to help streamline the editing process for files of MARC records, I'm working with the systems colleague that normally runs the records through the scripts for me to get it set up so I can do it myself. This is very exciting. That means far fewer requests and less lag time for set editing. If I run new sets through the basic normalizing/standardizing script (FYI, it's in PERL, and all it does is standardize certain fields for local needs), then the only requests I need to make are for actual loads into our system! Exciting! Of course, this means installing software (ActivePerl community edition) on my desk and mapping me to various files, which takes a good 30 minutes. My colleague in systems is very patient with me, walking me through the steps (which I meticulously document in Notepad as we go through) and we have success! ::Kermit flail in celebration:: The process utilizes the DOS command window, and oh boy is my cmd vocabulary rusty. Yikes.


While we're chatting about running the MARC file editing scripts, I answer a few of her questions about load profiles and report frequency for a few ebook cataloging workflows we're tweaking. I discover in the course of the conversation that I was given SysAdmin access a few weeks ago but somehow I didn't get the message. SysAdmin installed and away we go! ::more Kermit flail:: Today is a good day!


Of course, the first attempt to do this on my own and I try to run the script on a file still in a .zip folder. Note to self: extract files first, THEN edit using Perl script. ::facepalm::


Noon - Try to figure out why we can't save edits to a bulk load profile when we change the order settings. I now have two chat windows open, one with my systems colleague and the other for a colleague that works in acquisitions to see if our inability to save a change to the orders piece of a bulk load profile is related to system permissions (I don't have permissions to edit in the acquisitions module).


12:40pm - LUNCH. Much needed. I think low blood sugar was starting to affect my brain (see attempt to edit file in .zip folder above).


While eating my soup, I respond to a message about putting together local specific training for MarcEdit and start to craft a possible outline, breaking things up into reasonable chunks from basic to really really complicated stuff. I don't know if I could do my job without MarcEdit anymore.


1:45pm - Next up is changing the way we process a specific MARC records subscription. I have to cancel one service, and set up a workflow for addressing changes by hand. This also means various requests to have records deleted from the catalog as well as a report of the deleted records so I can do the corresponding holdings maintenance. I put together the deletion request and report request and send it off to our systems department "ticket" system to add it to their queue. I also send off the message inquiring how to cancel the subscription to the MARC records files from OCLC WorldCat Collection Sets. 

I also get an email letting me know that the issue of multiple holdings records being created during the e-item creation process for reserves is much larger than just the handful I knew about yesterday. Our online resources should only have one holdings record with a "web" location and no other holdings locations or additional "web" holdings. Thus the creation of additional holdings records during the reserves e-item creation process is causing all sorts of display and processing issues. I request a report of all the bibliographic records affected so we can start cleaning up and start troubleshooting to find out what step in our procedure needs to be fixed to prevent the creation of multiple holdings records. Fortunately the report turns up less than 300, and it includes not just duplicate "web" holdings but also those where people are just using the wrong template to create "web" holdings. Completely manageable.



2:30pm - Help out our Hebraica cataloger with some serials questions and a cataloging module system question. The rest of my day is spent trying to track down errant issues, combing through backlogs in various places on our ground floor (aka the "basement") for materials in Hebrew, and trying to separate out titles that somehow got combined onto one record even though they are quite different. We gave up trying to figure out how and why it happened, and instead are just trying to fix it. Whew. I have stuff to talk to our serials acquisitions person about on Friday (he begged off talking about it tomorrow, so Friday it is).


4:15pm - Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post.


4:30pm - Shut things/programs down and log out from work network. Shut down (restart) computer. Drop of reimbursement form on my way out.

Tuesday, January 31, 2012

Library Day in the Life - Round 8, Day 2

This post is part of Library Day in the Life project. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.


Tuesday, January 31, 2012


I get to my desk around 8:05am, login to the work network. This is followed by logging in to email, my work calendar, Voyager and Connexion, opening GTalk, opening a browser (Firefox at work, but Chrome at home), and logging in to various web programs (including Evernote), start TweetDeck.

While everything warms up, I compile the paperwork and receipts to submit for reimbursement for ALA Midwinter. Must remember to turn these in TODAY.

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.


Check calendar to find out what's on today's schedule.

Send out finalized version of one of the three sets of minutes I typed up on Sunday.

Send request to load update file for one of our ongoing ebook collections. We subscribe to regular updates of MARC record files for quite a few of our ebook collections. Mostly these are science publications, or conference proceedings type resources. Each time an updated file is posted, I send a message with instructions to our systems folks that there's a file ready for loading. They run it through a couple of scripts, both the generic one standardizing certain fields I described previously, followed by a script we wrote summarizing any additional edits for that collection specifically. These edits are typically things like additional title access points per request from our collection development librarians. Once the file is loaded, I'm emailed a report that all is complete and if there were any errored records or problems. All in all it's a fairly seamless workflow.

I also make sure I update the two spreadsheets where we track our bulk loads. One is the "master" that tracks all the collections and what the status is for loading MARC record sets. The other is just a summary count of the number of records loaded for each collection broken up by fiscal year for reporting purposes (statistics, y'all).


In cleaning up my inbox this morning, I realized I went right past an email sent out yesterday afternoon about access to Lynda.com. They have great technology training and I'm excited my library has purchased a site license! I did a bit of exploring, and discover they have a 4 hour session on programming fundamentals among many other interesting options. Professional development opportunity FTW! 

9:10am - Start work on troubleshooting an error file from a recent record load. 169 records loaded fine, but 16 of them errored out. I have to figure out why and then re-load them by hand. With any batch load, there's always the possibility of records that error out. The issues can be anything from record length (too long and the batch load process hangs and spits the record back), diacritics problems, MARC field validation issues, to complete mysteries. Sometimes the records load fine by hand even though they errored on the back-end batch load. For these 16 records it was three things: a random floating empty subfield b in the 300 field, an indicator error in a name entry, and a random character string ({A0}) inserted at the end of some of the subjects.


9:25am - Chat with my supervisor about a bizarre record display resulting from an e-item created for reserves module purposes. We don't create items for our online stuff, because there's nothing physical to track. For reserves, however, they create a "temp e-item" to put things in a professor's class list. Theoretically the item is removed later and all is well, but we've encountered a few irregularities in displays.


My morning so far can be summed up thusly: ebook record troubleshooting. Good times.


10:30-11am - Bi-weekly check-in meeting with 1 of my 4 staff. This is the other half of my staff meeting for this week. Next week I'll have my meeting with my remaining two staff.

More email and ebook troubleshooting.

11:30am - Meet with a colleague to discuss some issues that have arisen regarding e-items and the reserves module. This is the follow up from the earlier conversation with my supervisor. The reserve module and that workflow isn't part of technical services, but the access services department. So to fix the issues we're seeing of floating holdings records, e-items attached to incorrect holdings (and titles), etc., it requires a bit of inter-departmental cooperation and troubleshooting.

12:15pm - LUNCH. I need to eat a good lunch today before I donate blood so I don't pass out. I speak from personal experience that I need to do this when I donate...no donating before I've had at least 2 good meals that day.

12:35pm - Phone call from a colleague about getting together to write a charge for a subgroup for a committee I'm on. [Note: this is the same colleague that called me yesterday right before I had to leave to be somewhere. He swears he's actually trying to time his phone calls for the 10 minutes before I have to leave my desk. :cP] We have a group that's working on creating (from scratch) an digital repository (beyond our existing scholarly commons repository). We're starting from nothing, so the first step is figuring out what we need to actually store by putting together a census to interview our colleagues to find out what files they are hoarding and need preserved. Simultaneously, we're putting together a subgroup to investigate the various metadata schema available that can accommodate preservation, descriptive, structural, and administrative elements for a wide variety of types of materials that may be included in the repository.


1pm - My appointment to donate for the campus blood drive with the Red Cross. Luckily it's a beautiful day for a walk across campus to the donation site. They were a bit backed up so I had to wait a while for them to get to me. But the best thing? The after donation cookies were the mini-Keebler Fudge Stripes! NOM NOM NOM

2:20pm - After I'm done giving up a pint of my blood and am back at the library, I check email to discover that our system is kicking people out again this afternoon and had to be restarted. Sigh. I also find a request to schedule a meeting. I put together the meeting request and send it out via our networked calendar to various individuals. It's always fun to try to find an hour of time that 6 different people are available (/sarcasm).

3pm - My weekly meeting for the committee I'm on that's working on the user interface design of our new public catalog interface. We have a beta version live now (http://dla.library.upenn.edu/dla/franklin/) but are still fine tuning and working on getting some missing data (and indexes) into our display. In addition to the fine tuning, we're working on the next step of the implementation: the account services pieces (renew, view your checked out items, etc.). We're writing up the functional specs for various pieces including how to log in and log out of the account services, how to renew items, viewing and acting on your items already checked out, placing requests, etc. These functional specs will be used by a team of indexers and programmers to actually make the various pieces work. Writing a functional specs is an iterative process. We talk through the most straight forward process, step by step, identifying where the various pieces of data need to come from (what systems and indexes within each system, and on down the rabbit hole), how things need to be mapped (within the display and from one screen to the next), labels, and then we start introducing the exceptions, and then it blows up into a massive document with references, referrals, and more and suddenly what you thought would be simple and straight forward really is quite complicated. That complicated mess is then reviewed by systems folks (those indexers and programmers), and returned to us with questions, comments, and general feedback. We turn around and make more changes, and the review cycle starts over again. Eventually we get to a functional spec that can be used by the people to actually start the creation/programming process.


It's been an interesting (and positive) experience to be on a user interface team. I'm so used to looking at the data behind the scenes, all that underlying gibberish of MARC and codes and more (that frighteningly makes more sense and is easier to read to me than a cleaned up public display), and I've definitely had to stretch myself to look at things differently. I have to think about how the data is *used* and what is useful for the user needs (find - identify - select - obtain, hello FRBR our old friend). Our primary focus is on what displays and how the user interacts with the system. Aesthetics come in later (and are partially pre-determined). I've learned how to explain our data to non-data people, talking about what is there, what all the codes mean, data variations (both known and possible), how data could potentially be used, and explaining limitations. It's been a fascinating process and has really forced me to understand what I work with on a daily basis (data) in a completely new way and on a new level.

4:15pm - Back from meeting. Ended up spending part of the time chatting with colleague about related but not committee specific work going on. Good to get updates. And time for more email. Seven messages while I was gone for an hour. SEVEN. Yeesh.

Last major task for the day: more statistics, y'all (yes, it's the last day of the month why do you ask?). I copy the statistics for my unit from the website system reports interface. These are generic reports from the system to ensure an accurate count of items added (I have staff that barcode over 1,000 items each month, asking them to count that by hand would be just cruel), newly added records, etc. There's little (if any) context to these generic system reports, so I mesh these generic system reports with the specifics given to me by my staff each month, and then compile them all at the end of the fiscal year for use in a variety of reports on the Libraries, including sending reports to the Association for Research Libraries.




4:50pm - Manually sync local shared calendar system with my personal GoogleCalendar. Meeting Maker doesn't have a push function that plays nice, so I have to save events to an .ics file and then import them into Google. Why? Because I can't see my Meeting Maker calendar without either my desktop client or a web browser. Again, Meeting Maker just doesn't seem to play nice with things I need it to (including my Android cell phone). So I manually sync it whenever meetings are added/changed. Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post. 


5:15pm - Shut things/programs down and log out from work network. Shut down (restart) computer. Leave work. 

Monday, January 30, 2012

Library Day in the Life - Round 8, Day 1

It's time for another round of Library Day in the Life posts. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.

Obligatory background: I'm a cataloger at a rather large academic library. Specifically a cataloger of electronic resources (anything online, in any format), and continuing resources (serials, etc.). I participate in the PCC program, doing NACO and both CONSER and BIBCO work depending on what I'm dealing with at the time. I also participate in committee work for the PCC, ALA ALCTS, and NASIG.



I am head of a unit that handles the cataloging, maintenance and inventory control of continuing resources (both serials and integrating resources) and electronic resources (online resources) for all units of the Libraries by updating and maintaining bibliographic, holdings and item records. I have four para-professional (or support) staff in my unit. Two that work an early shift, and two that work a later shift. In an attempt to cover the most ground, my schedule says I work from 8am to 4pm, although I usually don't actually get out of the office until 4:30 or 5pm.

The majority of time spent on the cataloging for continuing resources and many online resources is maintenance work and updating of the bibliographic records to reflect current information. Changes can be anything from the frequency, to a change in publisher, to a title variation or title change. Cataloging these types of materials is like trying to hit a moving target or nailing jello to the wall. There's also the ongoing inventory maintenance on our holdings records to deal with keeping our holdings current, including withdrawn/lost/missing volumes, general edits to fix accuracy issues, etc. I also spend a large amount of time managing the bulk loads of MARC records for title-level access to online resources such as streaming media and ebooks (including batch editing the records prior to loading using tools like MarcEdit) and managing the cataloging of individual ebooks and ebooks series that aren't available in sets but require regular maintenance and updating.

Monday, January 30, 2012


I was a bit late this morning courtesy of my cat and a hairball incident. It upset my routine enough that I left my travel mug of coffee at home on the counter. I am not so much a morning person, so my routine is fine tuned to make sure I get out of the apartment in once piece, wearing shoes not slippers, and without locking myself out. I'm lucky the only thing I forgot was my coffee. So I made a quick stop before heading into the library for some coffee. Coffee is a non-negotiable morning requirement.


Once I acquired my precious brew and got to my desk, I login to the work network. This is followed by logging in to email, my work calendar, Voyager and Connexion, opening GChat, opening a browser (Firefox at work, but Chrome at home), and logging in to various web programs (including Evernote), start TweetDeck.

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.


Check calendar to find out what's on today's schedule.

10-10:30am: Bi-weekly check-in meeting with 1 of my 4 staff. The other staff person I meet with this week (2 people each week) is out today so we'll meet Tuesday instead. And next week I'll have my meeting with my remaining two staff. This is something I started back in July. These bi-weekly meetings have greatly improved and increased communication with my staff by having regular face-to-face conversations. They also present more opportunities to get solutions for things directly from them. I don't have to solve the problems, I just have to support the solution and the process. The feedback from my staff on our bi-weekly meetings has been overwhelmingly positive. It helps us all stay on top of things and address issues before they get out of hand and become critical. It's also helped our unit come together and work better together. Communication has improved not just between myself and individual staff, but between staff members. Our unit has really "jelled" and is working well as a single functional unit rather than individuals thrown together. It's incredibly encouraging and satisfying to see that happen (it's been a long road and a lot of hard work from all of us to get here).

And yet I'm constantly reminded that management is a work in progress, ever evolving. I try different things, some work, some don't. I'm constantly having to learn and improve as a manager. I've attended seminars and workshops, read articles, and received honest feedback from colleagues and my own supervisor, all of which have been valuable in various ways to help me be a better manager. It's not easy. Anyone that tells you otherwise is a liar.

11am: We have several new professionals. This morning was an orientation meeting between the new head of a unit in a different department and my department. Essentially we use the time to break down the relationships between units and departments and review workflows.


Noon: Code4Lib Conference online meeting for pre-conference planning. It has become clear that I will not be able to attend Code4Lib after all. The pre-conference proposal was last minute so I hadn't planned to attend and it's just not possible with everything going on right now. I tried to find a way to make it work (both financially and work related), but alas, no dice. Sometimes having to be responsible can really suck. But that doesn't stop me from finishing up the pre-conference planning. I'll still do my part and put together slides for what would have been my portion of the brief presentation. I'm seriously disappointed, but now even more determined to plan ahead to attend next year. We are exploring the possibility that I may be able to participate via Skype, and I really hope that happens. Either that or someone better figure out cloning quickly...I volunteer as a test subject!


We've been using Adobe Connect for our online meetings. It's quite powerful, and I've used it for other committee work where we need to bring people together from all over the country and for presentations/trainings since you can upload files and share your desktop. There's nothing to install beyond the basic Adobe software suite (and who doesn't have the reader these days) which has the underpinnings to run the meeting space. The connection is via a URL. No registration or passcodes needed. Which is very user friendly, especially when you are trying to throw a meeting together at the last minute. All participants need is a headset with microphone for conversation (although there is a chat box if microphone isn't an option), and an internet connection and browser. The only issue we've encountered is that it's not as reliable when someone connects via wireless, but is perfectly stable when connecting via Ethernet (a "wired" connection).


As soon as we were done with the Code4Lib meeting, I switched over to the (free!) ALA Midwinter Midwinter Tech Wrapup 2012 which started at 1pm. A panel presents their "observations and analysis of the top technology trends from the conference, and what they see as the implications for libraries". It's an interesting snapshot of all the new stuff that gets presented at ALA.

Mid-way through the Tech Wrapup presentation, I realize I haven't eaten lunch yet. My stomach reminded me with an annoyed growl/grumble. Oops. Fortunately the Wrapup is being recorded, and they will be sending out the recording and links to the slides in the next few days.

1:30pm - LUNCH.

2:00pm - A colleague sends me many helpful emails to address my need to swap Date1 and Date2 in a large number of files of MARC records. Holly Tomren is my hero today. Sometimes the best thing is to share your challenges openly and freely (and without shame). Chances are someone else has encountered it too and can either provide a solution or some helpful guidance or at least some sympathy. :)

As much as I would like to play with what she sent immediately, I have a small list of things in our catalog to clean up. Since our system has decided to be cooperative and stable today (note: our server has been cranky and the reasons for its' crankiness continue to elude our local systems folks and the systems folks at the company that owns the ILS software), the clean up edits take priority.

2:30pm - And just as I find all my notes and emails and bring up the first record, the system crashes. Dammit.

2:40pm - I try to log in to the system again and success! Edits ahoy!

2:57pm - And not so fast. System crash. I think I saved the record I was editing in time. ::crosses fingers::

3:04pm - System restarted. And we're back up. Yea gods...whiplash!

3:30pm - Editing of some of the meeting notes I typed up yesterday. It's tricky, as I'm reporting on what was said by someone else on a committee I'm not on. Needless to say the individual has had quite a few suggestions for edits to my notes.

3:45pm - Respond to an email from a colleague about loading a set of records for digitized historical newspapers into our catalog. Add the requested collection to the master spreadsheet so it can be placed in the queue by our collection development team. They evaluate priorities and determine the order of the sets that have been requested or purchased for loading into the catalog. We have a bit of a backlog, but we're slowly catching up. Some of the sets we load are quite large (the Congressional Serial Set and the Parliamentary Papers are two good examples of extremely large sets consisting of many files with upwards of 50,000 records per file) so they take some time. We can only load so many records at a time, due to system limitations and post-load re-indexing needs (re-indexing can be a demanding and potentially resource eating process for a server).

4:10pm - I had the privilege of serving on the ALCTS Continuing Resources Section Ulrich's Serials Librarianship Award jury committee this year. One of our final tasks is reviewing the press releases and announcements that will be going out celebrating and honoring the recipient of the award. These are the kinds of documents I love reviewing and editing. A feel-good way to end the day.

While editing, I also get pinged via Google Talk by a colleague from another institution with a serials cataloging question. There are some complicated changes to an institution name that require edits in multiple places on top of a migration from print format to online. Serials can be complicated and tricky when they are feeling onerous. But I do love that I live in the future and such things can be discussed via online chat. :)

4:30pm - Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post.

4:35pm - Phone call from colleague asking me about next steps for a workflow revision.



4:40pm - A staff person asks me a question about some strange notes in a holdings record. We figure out the best way to edit the notes so they make sense.

4:50pm - Rush to shut things/programs down and log out from work network. Shut down (restart) computer. Leave work. I have somewhere to be at 5:30pm and must get out of here!




[Edited to finish filling in the last 30 minutes of my day...didn't have a chance before I had to leave and it was already scheduled to publish! Oops.]

Sunday, January 29, 2012

Library Day in the Life - Round 8, Day 0

It's time for another round of Library Day in the Life posts. See the Library Day in the Life wiki for info on the project. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday8.


Obligatory background: I'm a cataloger at a rather large academic library. Specifically a cataloger of electronic resources (anything online, in any format), and continuing resources (serials, etc.). I participate in the PCC program, doing NACO and both CONSER and BIBCO work depending on what I'm dealing with at the time. I also participate in committee work for the PCC, ALA ALCTS, and NASIG.


I am head of a unit that handles the cataloging, maintenance and inventory control of continuing resources (both serials and integrating resources) and electronic resources (online resources) for all units of the Libraries by updating and maintaining bibliographic, holdings and item records. I have four para-professional (or support) staff in my unit. Two that work an early shift, and two that work a later shift. In an attempt to cover the most ground, my schedule says I work from 8am to 4pm, although I usually don't actually get out of the office until 4:30 or 5pm.


The majority of time spent on the cataloging for continuing resources and many online resources is maintenance work and updating of the bibliographic records to reflect current information. Changes can be anything from the frequency, to a change in publisher, to a title variation or title change. Cataloging these types of materials is like trying to hit a moving target or nailing jello to the wall. There's also the ongoing inventory maintenance on our holdings records to deal with keeping our holdings current, including withdrawn/lost/missing volumes, general edits to fix accuracy issues, etc. I also spend a large amount of time managing the bulk loads of MARC records for title-level access to online resources such as streaming media and ebooks (including batch editing the records prior to loading using tools like MarcEdit) and managing the cataloging of individual ebooks and ebooks series that aren't available in sets but require regular maintenance and updating.

Sunday, January 29, 2012

Sadly, my week started on a Sunday this week because I needed a large block of time to knock some stuff off the to-do list. I was out on Friday due to a nasty sinus headache, so I came into the office on Sunday afternoon to catch up on some work. Most notably, I had minutes from three meetings that needed to be typed up (complete! and sent off for review before posting) as well as a need to start making sense of my ALA meeting notes and begin the process of turning them into reports (not so complete). I also conquered a substantial amount of email messages. Whee, email.


I was interrupted briefly by a student who walked right by the "STAFF ONLY" sign into the Information Processing Center (our tech services). The sign is on a stand and written in all caps placed right in front of the glass doors so you see it before you even think about opening the doors. Not to mention you have to walk by it when you open the doors and enter the IPC. He was talking on his cell phone quite loudly, obviously oblivious to his surroundings. I stopped him, said he can't be in this area, and asked him to leave. He just stared at me, so I pointed out that he was in a staff only secure area and there was a sign he walked by indicating it as such, and he needed to leave immediately. He then quipped to the person on the phone "hold on, I'm being scolded" and gave me some serious "I'm all super self-important" attitude (internal dialogue: um, dude, you are NOT that important, trust me and scolded? that was not a scolding, you idiot, I will show you a scolding if you continue to ignore me). I replied by politely pointing out again that there was a clear sign and that he's not staff, so he still has to leave immediately. He finally left, walking slowly, as I followed him to make sure he actually exited the IPC. Sigh. Students.


After my student interruption, I tried to tackle a MARC record set challenge. We have a MARC record set for materials from the 18th and 19th century. The way these were cataloged is as reproductions, and the date that is being displayed first (Date1) is the date they were digitized and the secondary date (Date2) is the date of the original (18th and 19th century dates). This is not helpful to our users who are searching and looking for the date the item was created/written. So I'm trying to flip the two dates around so that the date of the original is the first date (Date1: 008/07-10) and the digitization date is the second date (Date2: 008/11-14). This sounds simple, but when you have 20 files anywhere from 2700 records to over 10,000 records, it's not. Since I do not want to create a new field, MarcEdit's Swap Field Utility doesn't work. The script editor tool in MarcEdit is powerful, but not quite that detailed unless you're writing by hand instead of using Terry's brilliant guided entry script writing process. I'm not sure there is a way to flip flop the Date1 and Date2 fixed fields without writing a script from scratch, which is not something I have the skill set for (yet! Code Year hopefully will change this). I'll have to talk to our specialist up in systems about this on Monday.


Finally, I did some work on some slides for an upcoming pre-conference I'm working on for Code4Lib Conference 2012 Seattle (only a week away, eek!). We have a planning meeting during lunch on Monday and I needed to get my stuff together to share. I have some serious formatting to do, but the plan for my slides is sketched out clearly now so I feel more prepared.


All of that took me around 3 hours at work. It's amazing how much you can get done when you have a large block of time without any meetings to break it up. Most of my days are pretty dominated by meetings so I don't have that kind of block very often unless I force it to happen.


Once I get home, I have more work to do, but of the personal development nature after I take care of a few chores. I'm behind on Code Year. Like two weeks behind at this point (doh!). Something tells me I'll be spending many hours tonight working on code. I've seen suggestions on Twitter that this is best accomplished with a glass of wine (or several) or a "few" beers. I'll take that under advisement. :) Who knows, maybe I'll take my laptop down to my corner bar for awhile (does Local 44 have wifi? huh. I have no idea...). Also, I wonder if I can simultaneously code and watch Downton Abbey? Anyone?

Saturday, January 28, 2012

Talking about Code Year

It's really weird to watch yourself talk. And listen to yourself. Oh boy.

Anyway, here's a link to Andromeda Yelton and I talking about the Code Year phenomenon and what we've got going on:

http://americanlibrariesmagazine.org/ala-members-blog/beginning-lita-code-year-interest-group



[Note: I'm on the left, wearing the Stewie from Family Guy "OBEY ME!" lanyard.]

Watch. And then come join us!! Thanks to Tina Coleman for posting her video and sharing it. :)

We are working on making the ALA Interest Group a joint LITA/ALCTS venture. There are far too many catalogers involved fro ALCTS to not participate! Yay for dialogue between catalogers and coders!

Catcode twitter list
Catcode wiki
Code Year on ALA Connect


Tuesday, January 10, 2012

Code Year, the first week

Again, I am overwhelmed by the interest in the Code Year project from fellow catalogers. Kudos to everyone for taking on the challenge of learning to code. It's time to dive in and get dirty!

How is the first week of Code Year 2012 for everyone (Code Year Course list/Calendar)? Did you complete the course yet or are you working on it bit by bit (lesson by lesson) all week? Who did the Supplemental lesson?

Did you feel like tearing your hair out? Or was it fun? Or was it both?

Who got started early? I admittedly signed up for Codecademy this weekend and plowed through the first 4 lessons of Getting Started with Programming course. I'll be working on the other half of the course lessons throughout the week. I know it will help to cement it in my brain if I spread it out and have to keep going back and reviewing. I also have a sneaking suspicion I might have to create a command cheat sheet until they stick in my brain.

A trouble spot for me I've already identified: TYPOS. Lordy. Talk about error messages. I had to re-do a few of the lessons just because of typos. I know I have some minor dyslexia (spellchecker was invented for people like me, I swear it's true), and I've learned I need to be extra careful when coding or writing in mark-up language(s) (HTML, MARC, etc.) where capitalization, spelling, and punctuation are critical. That was reinforced quite strongly by a couple of the coding lessons this week (damn "ReferenceError:" returns). Clearly I have to take my time, work carefully, and can't do this when distracted or frequently interrupted so I don't lose my focus. At least not yet. Maybe when I'm more comfortable/experienced I'll be able to code successfully in my office. But for right now I need a quiet environment (no distractions) where I'm not interrupted by questions/staff/colleagues/etc.

What are your trouble spots? Does noise distract you or do you like music while you work? Does a busy environment help or hinder?

Oh, btw, I've learned that M&Ms help the coding process. ;)

Resources:



Thursday, January 5, 2012

CatCode is born!

The number of people interested in the Code Year 2012 catcode project has grown by leaps and bounds the past few days! I'm slightly overwhelmed. I'm also stupidly excited and keep doing a little happy dance in my chair at work with each new person that adds themselves as a participant. I can hardly keep up with all the Twitter messages and post comments! To see the growing list, check out my previous post. I've been actively updating the post to add names as I receive them.

To help facilitate participation going forward, I've created a space in PBWiki for all of us to use: CatCode is born! The CodeYear project may have spawned the space, but my hope is that it becomes a more general space for dialogue and learning for catalogers and coders beyond the CodeYear project. A girl can dream, right?

Please go visit the wiki and sign up as a user (it's free!). Once your access has been granted (please be patient with me on verifying you! I'm trying to prevent spammers), please update your information on the Participants page. If you submitted your name before, I've pre-populated the participant's table with some information...please find your info and update it!

We (my partners in crime and I) are still working on setting up a discussion/q&a space. We'll post the information far and wide as soon as it's ready.

And don't forget to follow the Twitter list too! Catcode and send a message on Twitter to me to add yourself to the list. We're also using #catcode as the hashtag.

Tuesday, January 3, 2012

CodeYear Catalogers

CodeAcademy is offering an excellent opportunity for anyone interested in getting started with coding: Code Year. Each week they'll be emailing out to anyone that signs up an interactive lesson on coding. Code Academy offers some fantastic interactive courses, so you learn in a supportive environment.

Naturally this has piqued the interest of a number of catalogers that have been interested in learning to code or want to brush up or learn new code languages, myself included. Catalogers work with massive amounts of curated bibliographic data, and being able to manipulate it in new and different ways and in ever increasing amounts is key as we move forward into the bibliographic future and the world of linked data and the semantic web.

So I started compiling names. This is my curated list of catalogers on Twitter participating in CodeYear so far:

@slmcdanold (me)
@lauramac95
@jaleh_f
@erinaleach
@HLPitts
@yo_bj (no longer has cataloger in her title but it's in her soul)
@jen_young
@cjclib
@cursedstorm
@enimsakont
@debdegeorge
@evil_jen
@chrpr (not a cataloger...but we like him anyway)
@amyrpennington
@skiddie2
@johnmac38
@wabashcanonball
@EstherArens
@lagina
@sidesmirk
@libdespot
@shelitwits
@AnneWelsh
@yanajenn
@orangeaurochs 
@maryacat
@campbell_b
@strong_stuff
@dchud
@lrobare
@ahitchens
@dorevabelfiore
@kate80
@jenniferswright
@SuzanGriffiths
@lynncorrigan
@alyssa_briggs 
@springyrice
@caschwartz (no longer has cataloger in her title but it's in her soul)
@HtebLuap
@prburley
@frleibo
@cololibrarygirl
@srodr2
@htomren
@shomj
@rachelmcw
@schammond
@StephenTEarly
@cindywho23
@Headstrongways
@ynde
@ces43
@infod1va
@teagueamania
@israelcsus
@meta_cat
@diriwh
@bibliosaurustxt
@pikesar
@BarbaraBrownell
@tminchew
@keribrary
@lrts
@barnlib
@adriennerad
@spaghettiwall
@zemkat
@AhavaCohen
@deans
@catlib56
@bookmender11
@diseming
@jnavia
@violibrarian
@egelliott
@koklbr
@plummerkaren
@nossis
@PhillyKatia
@jmyntti
@mrlindner
@metalib
@AllisonJaiODell
@strettoc 
@bohyunkim
@wendyrlibrarian
@maggienunley
@alison_felstead
@RachaelCohen1
@bibliographics 

Add yourself to the list by posting your Twitter handle as a comment. I'll update as needed. :) You can also send me a message via Twitter (@slmcdanold) and add yourself that way. Or use the newly created hashtag #catcode (thanks @chrpr for the suggestion)!

There is now an actual LIST on Twitter: catcode. Subscribe!

If you're not on Twitter, let me know where we should email you when we get some sort of wiki/webpage/IRC channel going so we can all suffer learn together and help each other.

Non-Twitter list:

Cecilia G. (gener002@umn.edu)
Joe O. (Joe_Orth@ca6.uscourts.gov)
Martin J. (martin.jenkins@wright.edu)
Nancy H. (nancy.hunter@colostate.edu)
Ann H. (alh5456@sbcglobal.net) [on Twitter as @alh5456 but forgets to use it. ;) ]
chrisallenstanton@gmail.com
Susie R. (sridgeway@me.com)
Deborah Tomaras (dtomaras@southportland.org)
Melodie Frances (mfrances@gtu.edu)
Linda Frankel (lf92355@gmail.com)
Leigh Billings (rednaal@umich.edu)
Bill Anderson (William.Anderson@ct.gov)
Catherine Kellett (catherine.kellett@yale.edu)
Christine DeZelar-Tiedman (dezel002@umn.edu)
Cindy (cbarrilleaux@slol.lib.la.us)
Ashley Dietrick (akdietrick@gmail.com)
Joan Milligan (jmilligan1@udayton.edu)
Chris Blackman (cblackma@williams.edu)
Kristi Bergland (krisser@gmail.com)
Euem C. Osmera (eosmera@unmc.edu)
flinchba@umbc.edu
David A. Johnson (djohnson@highline.edu)
deg7@nyu.edu
Pauline (myrtlebell@centurylink.net)
Mike Mitchell (deeptexas10@gmail.com)
R.A. Stewart (rstewart@indiantrailslibrary.org)
Melissa VanTine (melissa.vantine@yale.edu
Tina (spielmat@uwm.edu
Carolyn (chufford@gmail.com
Julie (julie.howe@kctcs.edu) 
Peter Rolla (peter_rolla@hms.harvard.edu)  
lloydgerard@hotmail.com
kvalenzuela@csustan.edu  

Saturday, July 30, 2011

Library Day in the Life - Round 7, Day 5 & 6

This post is part of Library Day in the Life project. See: http://librarydayinthelife.pbworks.com/ for more information. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday7.

Friday, July 29, 2011 and Saturday, July 30, 2011

My Friday ended up being an unplanned vacation day courtesy of my cat. I didn't get any sleep at all on Thursday night due to multiple, um, hairball incidents. Every time I'd start to drift off there was another one. So Friday started with a phone call to the vet to discuss preventative measures. I spent most of the day alternating between napping, checking email, and watching the cat like a hawk for another hairball incident. Yes, I was pretty much useless. That's what happens when I don't get any sleep.

What that also means is that I have some work to do this weekend that didn't happen yesterday and so I'm prepared for Monday. So after my Saturday morning trip to the local farmers' market, I settled down with iced coffee and my laptop for a few hours starting around 11:30am to get some much needed work done via remote desktop.

First things first, edit the notes from the PCC hybrid bib records task group. I get them cleaned up and post them in Google Docs for the group to review. We all have our assignments for next week. My job is to start work on the introduction and background sections of our report.

I also answer several emails regarding local 856 practices (that's the MARC field for URLs for you non-catalogers) and other miscellaneous emails. I also deal with comments on a proposed task force the PCC Standing Committee on Automation sent to the PCC Policy Committee. The feedback has been completely supportive, with a request to clarify at least one of the bullet points in the charge to prevent confusion as to the task force's purpose. Easy. Done.

I finish up work on a couple of record sets. First I verify the corrections to that pesky set of errored records. I comb through the file one more time, checking for any additional non-MARC-8 characters. I think (key word: *think*) I got them all. I upload the file to the shared drive and put in the request to load the corrected file.

Next record set problem is a file that got corrupted. I play around with it, changing the extension to see if that works. Voila! The file is usable again! I run a few validation processes on the file, and then re-compile it back into MARC so it can be loaded into our system. I can't believe it was that easy but I'm not going to look a gift horse in the mouth so to speak.

Finally I copy our monthly statistics. An automatically generated report uploads to a website each month, including both daily activity and a monthly summary of the activities of everyone in my unit, including myself. It's a way to ensure nothing slips through the cracks when it comes to stats reporting. I have to submit a yearly report to our data librarian so he can submit statistics to the ARL and other groups. Between the automatic report on system activity plus the stats my staff submit (covering things the automatic report doesn't include, such as deletions), my numbers are about as accurate as possible.

1:45pm And done. I clean out the email listservs and make sure everything is saved and disconnect/log off from remote desktop. And I still have most of my Saturday afternoon to go play (read: run errands).

Thursday, July 28, 2011

Library Day in the Life - Round 7, Day 4

This post is part of Library Day in the Life project. See: http://librarydayinthelife.pbworks.com/ for more information. I also participated previous rounds. You can find all my posts for this project by searching my blog's librarydayinthelife tag. You can also follow my Twitter posts @slmcdanold with the hashtag #libday7.

Thursday, July 28, 2011

Arrive at my desk 8:15am. Running late today. Took me three tries to leave the house as I had to keep going back for things I forgot. I'm just happy I didn't lock myself out. Also, there's a crane lift blocking the staff entrance this morning to lift materials into the construction space up on the sixth floor. I know we received an email about it yesterday, but of course I forgot until I arrived and had to backtrack to get to the alternate entrance opened instead. Sigh. I'm sure some of my absent mindedness this morning can be blamed on the 2am epic! battle! between my cat and a fly that somehow got into my apartment. Yes, I am tired.

Login to work network. Login to email, calendar, Voyager and Connexion, open GChat, open a browser, login to various web programs (including Evernote), start TweetDeck.

Read email. Forward and respond to necessary messages. Catch up on news feeds, work email listservs, and library-related Twitter lists. Scan subjects and then delete mass numbers of listserv messages.

Today is a mix of back to back meetings and then a lot of non-meeting time. Sometimes it's nice to have things divided into clear chunks so the day is less choppy.

I spent much of my time before my first meeting preparing for my meetings, especially the one I'm "hosting" at noon.

10:00am-11:00am Meeting of my staff working on barcoding the bound serial volumes and the staff that process things being sent to storage, which also involves a lot of barcoding. We follow the same procedures and policies for the barcoding piece of things, so everyone is getting together to compare notes and have a round robin type discussion.

11:00am-noon Roger Schoenfeld from ITHAKA gave a talk/presentation on t
he activities of ITHAKA for supporting teaching and learning. Unfortunately I had to leave early to open the online "room" for my noon meeting.

I inhale a quick snack before my meeting so my stomach growling doesn't get recorded.

Noon-1pm Online meeting of my PCC task group on RDA hybrid bib records. We've been meeting once a week using Adobe Connect to discuss things. As chair of the task group, I'm also the "host" in Adobe Connect so I monitor the chat, take notes, turn the recording function on/off, etc. We record our meetings so anyone that has to miss a meeting can catch up on the discussions. We're also using GoogleDocs to share meeting minutes/notes and drafts and communally comment on and edit them. Just communicating via email and document comments can be tricky, as threads get complicated and split and merge and you end up with multiple versions of documents floating around. Having a conversation once a week definitely helps us stay on track so we can meet our tight deadline of having a report ready by Sept. 1st. We have an outline for our report now, so I'm breathing a bit easier. :) Tomorrow morning I'll clean up the minutes and post them.

Once my meeting is over, I chat briefly with a colleague via GoogleTalk about editing a record to reflect changes in ownership and therefore, access. URLs are removed from the record. Done.

Now to eat lunch. Even with my snack I'm *starving* since it's after 1pm. Take some time during lunch to catch up on email and listservs. My RDA-L listserv folder is hitting critical mass on number of unread messages (over 1,500!). I think I'm going to have to spend some time tomorrow afternoon cleaning it out. Listserv folder cleaning is a good Friday afternoon activity.

Of course, since I'm eating lunch later than normal, my lunch involves multiple interruptions from my staff and colleagues. One of the hazards of eating lunch at my desk.

I manage to slip away from my desk for a break to see a friend that's stopped by with her baby girl. Squee baby break!

[Caution: MARC/tech speak ahead!] I return to the problem I started work on a few days ago: the records that errored when we loaded a record set. I identified and fixed the simple MARC error, and identified another possible culprit for the error rejection by our system: non-MARC diacritics. My colleague (rare books cataloger) let me know how to enter the superscript character directly in our system, so I know the diacritic exists, I just have to find the numeric equivalent so I can replace the errant character (or rather replace non-valid diacritic with the character followed by the valid the diacritic code or code sequence). I find the document that lists all the diacritics available and the keystrokes, but no numeric codes.

After a good hour of digging around online and through other records in our system, I finally find the code sequence used to represent a superscript (strangely: {esc}p#{esc}s is the exact sequence where # is replaced with the numeral you want as the superscript). Now comes the fun part, running through all the permutations to do a find/replace on the record file. It takes me the rest of the afternoon to find/replace all the errant characters in the file, even with MarcEdit's fantastic tools. In addition to the superscript issue, I find a few other non-MARC characters in the process (such as the infamous "curly" quotes that cause copy/paste issues in so many different situations). I really really hope this fixes the issues and when we try a re-load we don't get and more errored records back from the system. I'll check the file again in the morning when my eyes are fresh.

Sometimes I'm convinced systems/databases for libraries are specifically designed to drive catalogers nuts. I like logic and bulk editing and reports for clean up projects. These things are not easily accomplished with our current system. Sigh.

4:15pm Final email check. Clean out email listservs. Check Twitter and blog feeds. Schedule this post.

4:25pm Log out from network. Shut down (restart) computer. Leave work. Off to my much needed acupuncture appointment!