Re: [CODE4LIB] How do you request digital format for a pdf interlibrary loan journal article where a digital format is available for the article?...
Actually, licenses with the vendor for the electronic journal generally determine if you can use it for ILL. This is in addition to Copyright restrictions that apply for articles in any format. Copyright may allow it, through Fair Use or paying CCC fees, but if the license does not, then you are in violation of the contract if you use it for ILL. Electronic format adds a fun layer of contract law to the Copyright discussion. ALIAS (Article Licensing Information Availability Service) is a generic license database that is loaded with publicly available licenses from most of the publishers and providers. If you are interested in seeing ALIAS, please go to the IDS Project page and download one of the presentations: http://www.idsproject.org/Tools/ALIAS.aspx ALIAS is also available for any ILLiad library through the use of the Serials Solutions or SFX Addons: https://prometheus.atlas-sys.com/display/ILLiadAddons/Addons+Directory . Additionally, these addons can be configured to use the Copyright Clearance Center's Get It Now Service: The Toolkit entry on it: http://workflowtoolkit.wordpress.com/2011/03/24/ccc-getitnow-service-and-workfst low/ http://workflowtoolkit.wordpress.com/2011/03/24/ccc-getitnow-service-and-workfst%20low/ The CCC Get-It-Now website is: http://www.copyright.com/content/cc3/en/toolbar/productsAndSolutions/getitnow.html The Get It Now Service is a Purchase on Demand service from CCC and gives libraries another option instead of paying Copyright fees which may be higher than purchasing the article. Hope that helps a little bit, Mark Mark Sullivan Systems Administrator for the College Libraries 1 College Circle SUNY Geneseo Geneseo, NY 14454 (585) 245-5698 On 5/7/2011 3:52 PM, Simon Spero wrote: On Sat, May 7, 2011 at 7:06 AM, karim boughidakbough...@gmail.com wrote: Don't be dismissive so fast. You may go back and do your homework. Check with your Counsel or literature. What's happening here is a work around LEGAL realities. [I am not a lawyer.] It's always a good idea to check with counsel, but it's a good idea to make sure that you talk to the right person in counsel's office since this is a relatively niche area of copyright law, and restrictions on single article ILL are more likely to arise in contract rather than under copyright, in which case they may have to check the specific provisions for each publisher. The right to make a copy of a single article from a periodical or collection for ILL are granted under 17 USC § 108 (d) and (g). The only specific restriction on the use of digital formats comes in section (b) (which covers unpublished works). It's hard to see how printing then scanning helps make legal anything that would be otherwise illegal under 108, so it would seem to be a licensing issue. Exit question: printing an article creates one perfected copy; scanning the printout creates a second copy, both as part of the same transaction. 108 (d)/(g) only authorize a single copy in this situation. Is this relying on fair use to cover the printed copy (which I assume is immediately destroyed unread once the scanning is complete?) Simon
Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?
Thank you, thank you everyone! Your advice has been really helpful. The pep talk will help me get through this period that feels like the equivalent of practicing your scales (ugh) when you're first learning music. I want to play real music, write my own songs, but I still have more drills and technical exercises to master. I have a tendency to dream up projects at the moment that are beyond my skills and it can make me feel a bit lost, but I guess you don't grow unless you get in over your head occasionally. Another analogy is that sometimes it seems like learning programming (et al) is similar to learning any sort of language. You learn vocabulary, grammar and sentence structure, but you're also trying to write a creative essay (or heaven forbid, a novel) at the same time. You don't know the depth of everything you don't know, but you have to plow forward despite your naivete. off topic rambling Since y'all have given me help, I want to give something back. It's nothing to do with code, but I hope y'all enjoy it anyway. It's music by the Japanese composer, performer Susumu Hirasawa who builds all his music with samples he pre-records and uses a computer to cue while on stage. He overlays the his vocals, guitar, keyboard and some other samples while on stage. He pegs the geek meter for me. http://www.youtube.com/watch?v=tyMkTsjCdqIfeature=related http://www.youtube.com/watch?v=ZX6i4bOmGmU Thanks again! Ceci On 5/8/2011 at 12:49 PM, in message c9ec473a.fb33%jlri...@email.unc.edu, Riley, Jenn jlri...@email.unc.edu wrote: Dear Ceci, From what you've said here (already done some OAI-PMH harvesting and implementing a personal project as JSP), it sounds to me as if you're light years ahead of most people in your situation. So my first bit of advice to you is not to sell yourself short. In addition to all of the excellent ideas raised here, I'll suggest some additional strategies for implementing those on-your-own projects that you use to build skills and concrete outputs to show off. You might consider picking some existing OS software to implement, and then learning it, well and deeply. Then add features or otherwise customize it. For example, get Omeka (or some tool written in a language you have basic familiarity with or want to learn) up and running. Examine the code to figure out how it's put together - what's easily customizable and what's deeply baked into the current implementation, where does it rely on existing libraries and where does it start on its own. Add in a Google Map and/or a Simile timeline (if it doesn't do those things already - sorry I haven't been following that closely). Write some code to parse and load data from various sources (Amazon API, Freebase, any of the music services, MARC via library catalog, DC or other XML format via OAI-PMH) into the system. Revisit it again a year later to see how your implementation decisions have held up in light of changes in underlying technologies. Etc. There's a goal to these sorts of activities that goes beyond the obvious learn about the mechanics of this programming language. They give you experience with implementing various tasks, not so that you can do exactly that again, but so that you can do it better the next time. You'll learn from these experiments strengths and weaknesses of various approaches to solving particular technical problems, and the ability to evaluate different ways in which you might solve a problem in order to pick the one that best fits your situation. With some practice doing this evaluation in relation to the code and requirements at hand, over time you can extend this analysis to wider technical and organizational infrastructures, and make good decisions about technical implementations given surrounding organizational realities. Doing some work inside a pre-existing software application I believe will help you work on these sorts of larger issues in addition to the mechanics of writing the code. Now I'm all inspired to drop what I need to be working on today and play with Omeka. I'm not a coder, myself, so I'm sorry to say my advice here does not come from personal experience taking this approach. It does come from spending lots and lots of time working with developers and driving digital library initiatives, and seeing where development initiatives go well and where they don't. The best developers I work with are the ones that know it's not just about the specific technical task at hand, but rather can talk intelligently (and not just to other developers) about the implementation decisions they've made and evaluate their effectiveness. Best of luck. It sounds to me like you're ready to take the next opportunity by storm. Jenn Jenn Riley Head, Carolina Digital Library and Archives The University of North Carolina at Chapel Hill http://cdla.unc.edu/ http://www.lib.unc.edu/users/jlriley jennri...@unc.edu (919) 843-5910 On
[CODE4LIB] Version control and local changes
Hello all, We primarily use Mercurial for version control, having migrated from SVN over the past year or so. I am currently trying to figure out the best way to version local (production) changes to controlled libraries. I'm still trying to understand the different branching possibilities of hg and git; this helped: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ Seems to me like the best thing would be to maintain a production clone of the main, public repo, separate from the actual production code, and push/pull to and from this clone. This way it would be possible to test without polluting the production code and creating the mess of tweaks we have on our server now. Does anyone have any success stories with this or another method? Thx, -- Yitzchak Schaffer Systems Manager Touro College Libraries 212.742.8770 ext. 2432 http://www.tourolib.org/
Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?
I would take yoga, because, in my experience, the most useful job skill you can have is flexibility. Every technology has a finite lifespan, but unfortunately like our own lifespan, its term is usually impossible to forecast with accuracy. For that reason, I would suggest that you try to take some high level classes on algorithms, data structures, and project management. Of course, I think that Drupal is an excellent choice, and right now it is one of the most marketable skills on the planet. I came at this from the other direction. I was already achieving a modicum of success in the library technology world when I decided to get my MLIS. Cary On Fri, May 6, 2011 at 12:07 PM, Ceci Land cl...@library.msstate.edu wrote: Hello everyone. The recent thread asking people what they would like to learn if they had the time brought another question to my mind. If you were looking to get into this side of the profession, what would you recommend focusing on? IOW, suppose you were a current MLIS graduate student (that's me) who has a techy sort of inclination. But also assume that your current job as paraprofessional staff involves minimal computer skills, no programming or scripting and this situation will not ever change. Imagine that you've taken every programming and database class you can fit into your schedule, but you realize that course work will only take you slightly beyond a beginner level even if you make A's. (in an IS based program, not CS. I would have preferred the CS route, but work could not accommodate the class/lab time during the days) How would you choose to develop your skills from baby level to something useful to the profession? Will developing projects on your personal time and hosting them yourself be enough to get noticed when they day comes that you graduate with your shiny new diploma? What core skills would you choose to focus on? Would you give up a secure job with benefits to find an internship that could really challenge your programming, web development etc. skills? I see many people on this list with very strong skills, but in the job world, I don't see many 2nd string/entry level jobs that would allow someone to hone their skills to the level I often see here. I've been thinking that I should focus on further developing my abilities in: HTML/CSS of course, XML, XSLT, PHP, and MySQL (because they're all readily available for someone to play with despite not being employed in a systems department). It seems that anything I can learn about metadata transformations/crosswalks and RDF would be useful too. I also find some classification theories very compelling (ok, I admit that colon classification really got my attention in my first MLIS class) and found myself drawn to potentially being interested in taxonomies and controlled vocabulary. I know nothing about Drupal, but I wonder if I should include in my smorgasbord. How much is too much and where you y'all recommend I put my energy? Any advice is greatly appreciated. The more specific the better. :) Thx! -- Cary Gordon The Cherry Hill Company http://chillco.com
Re: [CODE4LIB] Version control and local changes
The great thing about any DVCS is how easy it is to clone repos, then push and pull between any two clones. Most of the projects I work on are on github (a couple still in hg on googlecode), so that's the public repo. I have a live clone of the public repo, but between the two I have staging (same machine and data if possible) or dev (similar environment and a copy of the data) clones. Sometimes both. Each clone pushes and pulls from the next one up: live - staging - dev - public All public/upstream changes must pass through dev and/or staging before they go live. At each step along the way, you can decide which code is local and which needs to bubble back up to public. You may find branches within your dev clone useful for merging upstream commits in with local changes before passing them down the chain. You're also free to make other clones anywhere along the chain for experimental development and testing of new environments. One thing I've learned in all of this, though, is no matter how fantastic your VCS, the more the project allows you to put local code in files you can stick in your .(git|hg)ignore, the less you'll have to keep track of on each commit. On Mon, May 9, 2011 at 12:55 PM, Yitzchak Schaffer yitzchak.schaf...@gmx.com wrote: Hello all, We primarily use Mercurial for version control, having migrated from SVN over the past year or so. I am currently trying to figure out the best way to version local (production) changes to controlled libraries. I'm still trying to understand the different branching possibilities of hg and git; this helped: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ Seems to me like the best thing would be to maintain a production clone of the main, public repo, separate from the actual production code, and push/pull to and from this clone. This way it would be possible to test without polluting the production code and creating the mess of tweaks we have on our server now. Does anyone have any success stories with this or another method? Thx, -- Yitzchak Schaffer Systems Manager Touro College Libraries 212.742.8770 ext. 2432 http://www.tourolib.org/
Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?
Along the lines of oh, you meant THIS profession Rotational vs. linear mechanics. -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Nate Vack Sent: Friday, May 06, 2011 4:47 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it? On Fri, May 6, 2011 at 2:07 PM, Ceci Land cl...@library.msstate.edu wrote: How would you choose to develop your skills from baby level to something useful to the profession? I'd pretty much follow the plot of Batman Begins as closely as possible. Wait, useful to *this* profession? -n
Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?
But having actual users is a really different mode of working: you have to figure out what the problem is (often the hardest part of a project) and if your solution actually solves the problem or not. -Esme Seconding Esme and several others. Technology work supports human endeavor. Supporting users in a way that helps them and is sustainable given organizational realities is very hard to do. It took me longer than it should have to let go of my own sense of elegance, appealing architecture, and technology predilections and to instead focus on the work of others with an eye toward technology trends and the future. If you work with and for users as you practice, you should learn firsthand systems analysis lessons. You will learn what *they* need and how to communicate to them what they may not know they can have. If you think about how what you produce will be used when you are not there, you will learn lessons about sustainability. And any work you do will teach you about working within constraints. As Esme points out, this can come from helping one person solve a fairly small problem. Also, you may want to spend some time coming to grips with the technology landscape. There are all kinds of career paths... UX Library automation (no snickering, please) Humanities computing Project management Systems administration Information retrieval (relevance, anyone?) Database design and administration ... Knowing where you want to be in the next five or ten years can help you decide what toys to play with as you practice. A skill you seem to have already learned is to ask others for help. Lots of us have fun in this field, hope you find your way! Tim
Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it?
This isn't the list for psychic PHP ninjas and crocodile wranglers? Dang. My bad. ;-) Ceci Ray Denenberg, Library of Congress 05/09/11 4:11 PM Along the lines of oh, you meant THIS profession Rotational vs. linear mechanics. -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Nate Vack Sent: Friday, May 06, 2011 4:47 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] If you were starting over, what would you learn and how would you do it? On Fri, May 6, 2011 at 2:07 PM, Ceci Land wrote: How would you choose to develop your skills from baby level to something useful to the profession? I'd pretty much follow the plot of Batman Begins as closely as possible. Wait, useful to *this* profession? -n
[CODE4LIB] json4lib / API for Calisphere
I've started work on a project that I'm envisioning partly as sort of a JSON profile of METS optimized for access. I've implemented this JSON format for search results in calisphere by adding an rmode=json to the calisphere/oac branch of xtf. Here is some documentation about it http://json4lib.readthedocs.org/en/latest/ And here is the code http://code.google.com/p/json4lib/source/browse/ This provides an API of sorts to calisphere which is being used to power a slide show widget we are beta testing with contributors which should be released in June. Only simple image objects support full file access at this time, but I have an idea of how to support complex objects in search results using json references. My intention is to use the same JSON format for either a set of search results or a flattened set of nodes of a complex object. To see the JSON results, it is easiest to install JSONview for Firefox or Chrome https://addons.mozilla.org/en-us/firefox/addon/jsonview/ https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc Do a search or browse in calisphere, say to http://www.calisphere.universityofcalifornia.edu/browse/azBrowse/National+parks add rmode=json http://www.calisphere.universityofcalifornia.edu/browse/azBrowse/National+parksrmode=json the callback parameter is also supported to allow cross domain access via JSONP Here is a working example of the slideshow widget http://cdn.calisphere.org/json4lib/slideshow/example.html The slideshow widget is built using jQuery UI Dialog and the PikaChoose slideshow library. Here is how the JSONP is generated out of XTF (based on xml2json-xslt) https://bitbucket.org/btingle/dsc-xtf/src/92c8607e3fed/style/crossQuery/resultFormatter/json/ The API and the widget are provided for the use of OAC/Calisphere contributors on their own websites. Nothing technical would stop someone from using the JSON in other ways. (I figure I could whitelist referrers if unauthorized use becomes a problem). I'm interested to hear any feedback; especially about the approach of creating a javascript API (do_api.js) that provides methods to the underlying JSON digital library object -- or my crazy arbitrarily qualifiable dublin core implementation -- or any advice or concerns about leaving the JSON feed wide open w/o any sort of API key. Thanks -- Brian