Hey everyone.
I'm migrating my blog over to Wordpress, so please update your links!
http://slmcdanold.wordpress.com/
Cheers!
Saturday, June 30, 2012
Migrating
Posted by
Unknown
at
1:20 PM
0
comments
Monday, June 18, 2012
ALA Annual 2012 Anaheim
Later this week I'm off to Anaheim, CA for the ALA Annual Conference 2012. I'm looking forward to catching up with and seeing my colleagues from all over the country. :) But per usual, I need a clone. There are far too many sessions going on concurrently that I want to attend!
Here are a few highlights:
- The Library Code Year Interest Group inaugural meeting!: http://ala12.scheduler.ala.org/node/651
- Kuali OLE (learn about the project; FYI, MPOW is a development partner): http://ala12.scheduler.ala.org/node/260
- Continuing Resources Cataloging Update Forum: http://ala12.scheduler.ala.org/node/378
- Quality Standards in Batch Records and Adventures in Cooperative Cataloging: http://ala12.scheduler.ala.org/node/380
- CONSER/BIBCO/SACO At-Large: http://ala12.scheduler.ala.org/node/1166 (agenda: http://www.loc.gov/aba/pcc/documents/PCC-At-Large-Agenda-June-2012.doc)
- PCC Participants' Meeting (undifferentiated names in the LC/NACO Authority File): http://ala12.scheduler.ala.org/node/261 (agenda: http://www.loc.gov/aba/pcc/documents/PCC-Participants-Meeting-2012-Annual.doc)
- RDA Meetings (thank's RDA Toolkit for the list!): http://www.rdatoolkit.org/blog/392
(link: http://ala12.scheduler.ala.org/user/30698/schedule-embed)
Update (6/19/2012): My colleagues and I have enacted a "divide and conquer" approach. Thus for the time slots with multiple items they are ranked in terms of priority, with the High designated sessions being the ones I said I'd attend. Unfortunately, the "priority" status isn't visible in the public version of my calendar. Boo. At any rate, DM me via Twitter (@slmcdanold) or text me if you're trying to find me.
Posted by
Unknown
at
10:37 AM
0
comments
Labels: ALA, Anaheim CA, conferences
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.
Posted by
Unknown
at
8:55 AM
0
comments
Labels: ALA, Anaheim CA, cataloging, catcode, coding, conferences
Thursday, February 9, 2012
Learning Python
Last September I participated in a one day full day basic Introduction to Python for Women workshop sponsored by PyStarPhilly. It was good exposure, but it didn't stick all that much.
Fortunately, they decided to hold the workshop again (details here), and this time made it even longer, starting on Friday night and all day on Saturday last weekend.
Friday night started with making sure the Python install on my machine I did last September was still OK, and that Notepad++ was up to date. And making friends again with my cmd window, which I also use to run the Perl scripts at work. Whee my cmd skills are rusty. But between work and this workshop, it's all surfacing from the deep recesses of my brain.
The rest of Friday can be summed up thusly: practice practice practice. The PyStar ladies have posted a series of exercises to practice the basics of Python on CodingBat. These exercises reinforce the concepts covered and force you to think through things.
Saturday morning began with completing Friday's CodingBat exercises and working through some Saturday morning review exercises. Practice practice practice!
A few things I learned while working on the exercises:
- spaces don't matter so much, although including spaces makes the code more readable
- punctuation matters!
- capitalization is noticed, so A =/= a, in other words, machines are very literal!
After a bit of warmup practice, we had a morning lecture. The goal of the lecture was for us to be able to write simple scripts on our own by the end of it. We reviewed the material in the morning exercises (equations, functions, etc.) and covered loops, while loops, input statements, dictionaries, more detailed functions, modules and packages. Also a brief description of libraries.
And then it was back to practice practice practice.
Another challenge I discovered: indentations. Where your indentations are impacts what your code returns, so you have to be careful what you embed under other things, versus what you want to do at the end. Often I wrote the code correctly, but indented it too far relating it to something it shouldn't be related to, producing no result, not even an error message. At one point I nearly created a recursive loop by indenting too far. Oops.
After lunch we had a few lightning talks, where people shared various code they're written for projects. It's encouraging to see what people have built; even more so that I can read and understand the code they wrote! The talks involved editing images (adding text), predictive puzzle solving (the Tower of Hanoi puzzle), and a very cool project working with 7 to 13 year old girls and the Tropo simple API. We also looked at a very neat page of data visualization and graphical plotting options using Python at matplotlib.sourceforge.net.
The talks also include some more learn to code resources. I'll be posting the new ones I learned about to the catcode wiki resources page.
After the lightening talks, they gave us a project to work on (in addition to the CodingBat exercises) involving using Twitter's API to call recent tweets and trending topics. Challenging but so satisfying when you get it!
Posted by
Unknown
at
2:56 PM
3
comments
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.
Posted by
Unknown
at
8:57 PM
4
comments
Labels: cataloging, catcode, coding
Friday, February 3, 2012
Library Day in the Life - Round 8, Day 5
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.
Posted by
Unknown
at
4:30 PM
0
comments
Labels: cataloging, librarianship, librarydayinthelife, work
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!
Posted by
Unknown
at
5:30 PM
0
comments
Labels: cataloging, librarianship, librarydayinthelife, work
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.
Posted by
Unknown
at
5:15 PM
0
comments
Labels: cataloging, librarianship, librarydayinthelife, work
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.
Posted by
Unknown
at
5:37 PM
1 comments
Labels: cataloging, librarianship, librarydayinthelife, 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.]
Posted by
Unknown
at
4:48 PM
1 comments
Labels: cataloging, librarianship, librarydayinthelife, work
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?
Posted by
Unknown
at
5:56 PM
4
comments
Labels: cataloging, librarianship, librarydayinthelife, work
Saturday, January 28, 2012
Cat and mouse
My cat caught a mouse the other morning. She brought it to me, all proud of her new real! live! toy, wanting to show off her hunting skills. She was making her chirping meow when she's feeling playful and has "caught" a toy or caught a bug.
Naturally, I didn't realize it was a LIVE mouse. I've been in this apartment for over 2 years now with no evidence of mice or mouse sightings. So I thought it was a toy. I reached down to take it from her, thinking Capri wanted me to toss it (we play "catch").
And then it twitched in my hand.
::SHUDDER::
It was ALIVE. This was no toy mouse. It was a real live fuzzy mouse she had caught. ::GASP::
Needless to say I dropped it pretty quickly.
The cat resumed her play while I danced around shuddering and chanting "ick ick ick!!" at the top of my lungs and tried not to hyperventilate from the shock.
Once I got over it, I retrieved a few tissues and confiscated the poor creature once again. It was clearly mortally wounded, so I put it out of it's misery (kinder than letting it suffer), and deposited it in the trash outdoors. And then washed my hands in the hottest water I could stand at least a half a dozen times.
The cat watched me do this while meow-screaming at me, baffled and annoyed that I had taken away her toy. I soothed her with some cat treats and lots of praise for her skills. This was our first live mouse episode in this apartment and the first time she's caught something other than a bug, and I truly hope it's our first and ONLY mouse. The bug catching? I encourage it. Praise her for it. It keeps the flies under control in the summer when the balcony door is open. But I can live without another live mouse incident.
Capri now spends at least a few hours each day staring intently under the stove. I'm guessing she's standing guard against further fuzzy intruders.
Good kitty. That's my good little huntress. Keep the mouses away.
::SHUDDER::
Posted by
Unknown
at
8:00 PM
2
comments
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
Posted by
Unknown
at
12:41 PM
1 comments
Labels: ALA, cataloging, catcode, coding, conferences, Dallas TX
Wednesday, January 18, 2012
ALA Midwinter 2012 Dallas
Over the weekend I'm off to Dallas for the ALA Midwinter Meeting 2012. As usual, there's a lot going on and I expect I'll be quite busy. I'm also looking forward to catching up with and seeing my colleagues from all over the country. :)
For anyone wanting/needing to track me down at ALA, here's my ALA Midwinter 2012 Dallas schedule:
I'll be spending a lot of time in the Omni Dallas Hotel and the Convention Center this Midwinter. Yes, my schedule is full. It always is. Yes, there are conflicts. They're unavoidable. If anyone has figured out how to clone themselves, please share. In the time slots with conflicts, I will be at one of the listed sessions...I just don't know which one. You can assume I'll be at the PCC/CONSER/BIBCO stuff, anything under the type committee meeting, or anything marked private because I most likely have to be.
Drop me an email or contact me via GoogleChat or Twitter if you want to meet up. :)
Posted by
Unknown
at
2:59 PM
0
comments
Labels: ALA, conferences, Dallas TX
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:
- CatCode Wiki (we have a Resources page now!) - PLEASE just ask to be added. The request gateway is there to keep out the spammers. If you're not a bot, you'll be approved. I have over 110 people listed on the Code Year Catalogers post and less than 80 users on the wiki at the time I wrote this post. If you haven't signed up, why?
- CatCode Twitter list - over 90 members! whoa
- Search #catcode hashtag on Twitter
- Code Year ALA Connect group
- Lifehacker's Learn to Code
- O'Reilly books and videos (try the Head First series of books, Head First Programming)
- CatCode posts on this blog
Posted by
Unknown
at
8:24 AM
9
comments
Labels: cataloging, catcode, coding
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.
Posted by
Unknown
at
11:00 AM
0
comments
Labels: cataloging, catcode, coding
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
Posted by
Unknown
at
4:48 PM
68
comments
Labels: cataloging, catcode, coding