Coffee|Code: Dan Scott's blog - coding Coffee|Code: Dan Scott's blog - coding Librarian · Developer Our nginx caching proxy setup for Evergreen Details of our nginx caching proxy settings for Evergreen Enriching catalogue pages in Evergreen with Wikidata An openly licensed JavaScript widget that enriches library catalogues with Wikidata data Wikidata, Canada 150, and music festival data At CAML 2017, Stacy Allison-Cassin and I presented our arguments in favour of using Wikidata is a good fit for communities who want to increase the visibility of Canadian music in Wikimedia Foundation projects. Wikidata workshop for librarians Interested in learning about Wikidata? I delivered a workshop for librarians and archivists at the CAML 2017 preconference. Perhaps you will find the materials I developed useful for your own training purposes. Truly progressive WebVR apps are available offline! I've been dabbling with the A-Frame framework for creating WebVR experiences for the past couple of months, ever since Patrick Trottier gave a lightning talk at the GDG Sudbury DevFest in November and a hands-on session with AFrame in January. The @AFrameVR Twitter feed regularly highlights cool new WebVR apps … schema.org, Wikidata, Knowledge Graph: strands of the modern semantic web My slides from Ohio DevFest 2016: schema.org, Wikidata, Knowledge Graph: strands of the modern semantic web And the video, recorded and edited by the incredible amazing Patrick Hammond: In November, I had the opportunity to speak at Ohio DevFest 2016. One of the organizers, Casey Borders, had invited me … Google Scholar's broken Recaptcha hurts libraries and their users Update 2016-11-28: The brilliant folk at UNC figured out how to fix Google Scholar using a pre-scoped search so that, if a search is launched from the library web site, it will automatically associate that search with the library's licensed resources. No EZProxy required! For libraries, proxying user requests is … PHP's File_MARC gets a new release (1.1.3) Yesterday, just one day before the anniversary of the 1.1.2 release, I published the 1.1.3 release of the PEAR File_MARC library. The only change is the addition of a convenience method for fields called getContents() that simply concatenates all of the subfields together in order, with … PHP's File_MARC gets a new release (1.1.3) Yesterday, just one day before the anniversary of the 1.1.2 release, I published the 1.1.3 release of the PEAR File_MARC library. The only change is the addition of a convenience method for fields called getContents() that simply concatenates all of the subfields together in order, with … Chromebooks and privacy: not always at odds On Friday, June 10th I gave a short talk at the OLITA Digital Odyssey 2016 conference, which had a theme this year of privacy and security. My talk addressed the evolution of our public and loaner laptops over the past decade, from bare Windows XP, to Linux, Windows XP with … Chromebooks and privacy: not always at odds On Friday, June 10th I gave a short talk at the OLITA Digital Odyssey 2016 conference, which had a theme this year of privacy and security. My talk addressed the evolution of our public and loaner laptops over the past decade, from bare Windows XP, to Linux, Windows XP with … Library stories: 2020 vision: "Professional research tools" For a recent strategic retreat, I was asked to prepare (as homework) a story about a subject that I'm passionate about, with an idea of where we might see the library in the next three to five years. Here's one of the stories I came up with, in the form … Library stories: 2020 vision: "Professional research tools" For a recent strategic retreat, I was asked to prepare (as homework) a story about a subject that I'm passionate about, with an idea of where we might see the library in the next three to five years. Here's one of the stories I came up with, in the form … Querying Evergreen from Google Sheets with custom functions via Apps Script Our staff were recently asked to check thousands of ISBNs to find out if we already have the corresponding books in our catalogue. They in turn asked me if I could run a script that would check it for them. It makes me happy to work with people who believe … Querying Evergreen from Google Sheets with custom functions via Apps Script Our staff were recently asked to check thousands of ISBNs to find out if we already have the corresponding books in our catalogue. They in turn asked me if I could run a script that would check it for them. It makes me happy to work with people who believe … That survey about EZProxy OCLC recently asked EZProxy clients to fill out a survey about their experiences with the product and to get feedback on possible future plans for the product. About half-way through, I decided it might be a good idea to post my responses. Because hey, if I'm working to help them … That survey about EZProxy OCLC recently asked EZProxy clients to fill out a survey about their experiences with the product and to get feedback on possible future plans for the product. About half-way through, I decided it might be a good idea to post my responses. Because hey, if I'm working to help them … "The Librarian" - an instruction session in the style of "The Martian" I had fun today. A colleague in Computer Science has been giving his C++ students an assignment to track down an article that is only available in print in the library. When we chatted about it earlier this year, I suggested that perhaps he could bring me in as a … "The Librarian" - an instruction session in the style of "The Martian" I had fun today. A colleague in Computer Science has been giving his C++ students an assignment to track down an article that is only available in print in the library. When we chatted about it earlier this year, I suggested that perhaps he could bring me in as a … We screwed up: identities in loosely-coupled systems A few weeks ago, I came to the startling and depressing realization that we had screwed up. It started when someone I know and greatly respect ran into me in the library and said "We have a problem". I'm the recently appointed Chair of our library and archives department, so … We screwed up: identities in loosely-coupled systems A few weeks ago, I came to the startling and depressing realization that we had screwed up. It started when someone I know and greatly respect ran into me in the library and said "We have a problem". I'm the recently appointed Chair of our library and archives department, so … Research across the Curriculum The following post dates back to January 15, 2007, when I had been employed at Laurentian for less than a year and was getting an institutional repository up and running.... I think old me had some interesting thoughts! Abstract The author advocates an approach to university curriculum that re-emphasizes the … Research across the Curriculum The following post dates back to January 15, 2007, when I had been employed at Laurentian for less than a year and was getting an institutional repository up and running.... I think old me had some interesting thoughts! Abstract The author advocates an approach to university curriculum that re-emphasizes the … Library and Archives Canada: Planning for a new union catalogue Update 2015-03-03: Clarified (in the Privacy section) that only NRCan runs Evergreen. I attended a meeting with Library and Archives Canada today in my role as an Ontario Library Association board member to discuss the plans around a new Canadian union catalogue based on OCLC's hosted services. Following are some … Library and Archives Canada: Planning for a new union catalogue Update 2015-03-03: Clarified (in the Privacy section) that only NRCan runs Evergreen. I attended a meeting with Library and Archives Canada today in my role as an Ontario Library Association board member to discuss the plans around a new Canadian union catalogue based on OCLC's hosted services. Following are some … Library catalogues and HTTP status codes I noticed in Google's Webmaster Tools that our catalogue had been returning some Soft 404s. Curious, I checked into some of the URIs suffering from this condition, and realized that Evergreen returns an HTTP status code of 200 OK when it serves up a record details page for a record … Library catalogues and HTTP status codes I noticed in Google's Webmaster Tools that our catalogue had been returning some Soft 404s. Curious, I checked into some of the URIs suffering from this condition, and realized that Evergreen returns an HTTP status code of 200 OK when it serves up a record details page for a record … Dear database vendor: defending against sci-hub.org scraping is going to be very difficult Our library receives formal communications from various content/database vendors about "serious intellectual property infringement" on a reasonably regular basis, that urge us to "pay particular attention to proxy security". Here is part of the response I sent to the most recent such request: We use the UsageLimit directives that … Dear database vendor: defending against sci-hub.org scraping is going to be very difficult Our library receives formal communications from various content/database vendors about "serious intellectual property infringement" on a reasonably regular basis, that urge us to "pay particular attention to proxy security". Here is part of the response I sent to the most recent such request: We use the UsageLimit directives that … Putting the "Web" back into Semantic Web in Libraries 2014 I was honoured to lead a workshop and speak at this year's edition of Semantic Web in Bibliotheken (SWIB) in Bonn, Germany. It was an amazing experience; there were so many rich projects being described with obvious dividends for the users of libraries, once again the European library community fills … Putting the "Web" back into Semantic Web in Libraries 2014 I was honoured to lead a workshop and speak at this year's edition of Semantic Web in Bibliotheken (SWIB) in Bonn, Germany. It was an amazing experience; there were so many rich projects being described with obvious dividends for the users of libraries, once again the European library community fills … Social networking for researchers: ResearchGate and their ilk The Centre for Research in Occupational Safety and Health asked me to give a lunch'n'learn presentation on ResearchGate today, which was a challenge I was happy to take on... but I took the liberty of stretching the scope of the discussion to focus on social networking in the context of … Social networking for researchers: ResearchGate and their ilk The Centre for Research in Occupational Safety and Health asked me to give a lunch'n'learn presentation on ResearchGate today, which was a challenge I was happy to take on... but I took the liberty of stretching the scope of the discussion to focus on social networking in the context of … How discovery layers have closed off access to library resources, and other tales of schema.org from LITA Forum 2014 At the LITA Forum yesterday, I accused (presentation) most discovery layers of not solving the discoverability problems of libraries, but instead exacerbating them by launching us headlong to a closed, unlinkable world. Coincidentally, Lorcan Dempsey's opening keynote contained a subtle criticism of discovery layers. I wasn't that subtle. Here's why … How discovery layers have closed off access to library resources, and other tales of schema.org from LITA Forum 2014 At the LITA Forum yesterday, I accused (presentation) most discovery layers of not solving the discoverability problems of libraries, but instead exacerbating them by launching us headlong to a closed, unlinkable world. Coincidentally, Lorcan Dempsey's opening keynote contained a subtle criticism of discovery layers. I wasn't that subtle. Here's why … DCMI 2014: schema.org holdings in open source library systems My slides from DCMI 2014: schema.org in the wild: open source libraries++. Last week I was at the Dublin Core Metadata Initiative 2014 conference, where Richard Wallis, Charles MacCathie Nevile and I were slated to present on schema.org and the work of the W3C Schema.org Bibliographic Extension … My small contribution to schema.org this week Version 1.91 of the http://schema.org vocabulary was released a few days ago, and I once again had a small part to play in it. With the addition of the workExample and exampleOfWork properties, we (Richard Wallis, Dan Brickley, and I) realized that examples of these CreativeWork example … My small contribution to schema.org this week Version 1.91 of the http://schema.org vocabulary was released a few days ago, and I once again had a small part to play in it. With the addition of the workExample and exampleOfWork properties, we (Richard Wallis, Dan Brickley, and I) realized that examples of these CreativeWork example … Posting on the Laurentian University library blog Since returning from my sabbatical, I've felt pretty strongly that one of the things our work place is lacking is open communication about the work that we do--not just outside of the library, but within the library as well. I'm convinced that the more that we know about the demands … Posting on the Laurentian University library blog Since returning from my sabbatical, I've felt pretty strongly that one of the things our work place is lacking is open communication about the work that we do--not just outside of the library, but within the library as well. I'm convinced that the more that we know about the demands … Cataloguing for the open web: schema.org in library catalogues and websites tldr; my slides are href="http://stuff.coffeecode.net/2014/understanding_schema">here, and the slides from Jenn and Jason are also available from href="http://connect.ala.org/node/222959">ALA Connect. On Sunday, June 29th Jenn Riley, Jason Clark, and I presented at the ALCTS/LITA jointly sponsored session … Cataloguing for the open web: schema.org in library catalogues and websites tldr; my slides are href="http://stuff.coffeecode.net/2014/understanding_schema">here, and the slides from Jenn and Jason are also available from href="http://connect.ala.org/node/222959">ALA Connect. On Sunday, June 29th Jenn Riley, Jason Clark, and I presented at the ALCTS/LITA jointly sponsored session … Linked data interest panel, part 1 Good talk by Richard Wallis this morning at the ALA Annual Conference on publishing entities on the web. Many of his points map extremely closely to what I've been saying and will be saying tomorrow during my own session (albeit with ten fewer minutes). I was particularly heartened to hear … Linked data interest panel, part 1 Good talk by Richard Wallis this morning at the ALA Annual Conference on publishing entities on the web. Many of his points map extremely closely to what I've been saying and will be saying tomorrow during my own session (albeit with ten fewer minutes). I was particularly heartened to hear … RDFa introduction and codelabs for libraries My RDFa introduction and codelab materials for the ALA 2014 preconference on Practical linked data with open source are now online! And now I've finished leading the RDFa + schema.org codelab that I've been stressing over and refining for about a month at the American Library Association annual conference Practical … RDFa introduction and codelabs for libraries My RDFa introduction and codelab materials for the ALA 2014 preconference on Practical linked data with open source are now online! And now I've finished leading the RDFa + schema.org codelab that I've been stressing over and refining for about a month at the American Library Association annual conference Practical … Dropping back into the Semantic Web I've been at the 2014 Extended (formerly European) Semantic Web Conference ( ESWC) in Anissaras, Greece for four days now. My reason for attending was to present my paper Seeding structured data by default in open source library systems (presentation) (paper). It has been fantastic. As a librarian attending a conference … Dropping back into the Semantic Web I've been at the 2014 Extended (formerly European) Semantic Web Conference ( ESWC) in Anissaras, Greece for four days now. My reason for attending was to present my paper Seeding structured data by default in open source library systems (presentation) (paper). It has been fantastic. As a librarian attending a conference … RDFa, schema.org, and open source library systems Two things of note: I recently submitted the camera-ready copy for my ESWC 2014 paper, Seeding Structured Data by Default via Open Source Library Systems (**preprint**). The paper focuses on the work I've done with Evergreen, Koha, and VuFind to use emerging web standards such as RDFa Lite and schema … RDFa, schema.org, and open source library systems Two things of note: I recently submitted the camera-ready copy for my ESWC 2014 paper, Seeding Structured Data by Default via Open Source Library Systems (**preprint**). The paper focuses on the work I've done with Evergreen, Koha, and VuFind to use emerging web standards such as RDFa Lite and schema … Mapping library holdings to the Product / Offer mode in schema.org Back in August, I mentioned that I taught Evergreen, Koha, and VuFind how to express library holdings in schema.org via the http://schema.org/Offer class. What I failed to mention was how others can do the same with their own library systems (well, okay, I linked to the … Mapping library holdings to the Product / Offer mode in schema.org Back in August, I mentioned that I taught Evergreen, Koha, and VuFind how to express library holdings in schema.org via the http://schema.org/Offer class. What I failed to mention was how others can do the same with their own library systems (well, okay, I linked to the … What would you understand if you read the entire world wide web? On Tuesday, February 4th, I'll be participating in Laurentian University's Research Week lightning talks. Unlike most five-minute lightning talk events in which I've participated, the time limit for each talk tomorrow will be one minute. Imagine 60 different researchers getting up to summarize their research in one minute each, and … What would you understand if you read the entire world wide web? On Tuesday, February 4th, I'll be participating in Laurentian University's Research Week lightning talks. Unlike most five-minute lightning talk events in which I've participated, the time limit for each talk tomorrow will be one minute. Imagine 60 different researchers getting up to summarize their research in one minute each, and … Ups and downs Tuesday was not the greatest day, but at least each setback resulted in a triumph... First, the periodical proposal for schema.org--that I have poured a good couple of months of effort into--took a step closer to reality when Dan Brickley announced on the public-vocabs list that he had … Ups and downs Tuesday was not the greatest day, but at least each setback resulted in a triumph... First, the periodical proposal for schema.org--that I have poured a good couple of months of effort into--took a step closer to reality when Dan Brickley announced on the public-vocabs list that he had … Broadening support for linked data in MARC The following is an email that I sent to the MARC mailing list on January 24, 2014 that might be of interest to those looking to provide better support for linked data in MARC (hopefully as just a transitional step): In the spirit of making it possible to express linked … Broadening support for linked data in MARC The following is an email that I sent to the MARC mailing list on January 24, 2014 that might be of interest to those looking to provide better support for linked data in MARC (hopefully as just a transitional step): In the spirit of making it possible to express linked … Want citations? Release your work! Last week I was putting the finishing touches on the first serious academic paper I have written in a long time, and decided that I wanted to provide backup for some of the assertions I had made. Naturally, the deadline was tight, so getting any articles via interlibrary loan was … Want citations? Release your work! Last week I was putting the finishing touches on the first serious academic paper I have written in a long time, and decided that I wanted to provide backup for some of the assertions I had made. Naturally, the deadline was tight, so getting any articles via interlibrary loan was … File_MARC: 1.0.1 release fixes data corruption bug I released File_MARC 1.0.1 yesterday after receiving a bug report from the most excellent Mark Jordan about a basic (but data corrupting) problem that had existed since the very early days (almost seven years ago). If you generate MARC binary output from File_MARC, you should upgrade immediately. In … File_MARC: 1.0.1 release fixes data corruption bug I released File_MARC 1.0.1 yesterday after receiving a bug report from the most excellent Mark Jordan about a basic (but data corrupting) problem that had existed since the very early days (almost seven years ago). If you generate MARC binary output from File_MARC, you should upgrade immediately. In … Talk proposal: Structuring library data on the web with schema.org: we're on it! I submitted the following proposal to the Library Technology Conference 2014 and thought it might be of general interest. Structuring library data on the web with schema.org: we're on it! Abstract Until recently, there has been a disappointing level of adoption of schema.org structured data in traditional core … Talk proposal: Structuring library data on the web with schema.org: we're on it! I submitted the following proposal to the Library Technology Conference 2014 and thought it might be of general interest. Structuring library data on the web with schema.org: we're on it! Abstract Until recently, there has been a disappointing level of adoption of schema.org structured data in traditional core … File_MARC makes it to stable 1.0.0 release (finally!) Way back in 2006, I thought "It's a shame there is no PHP library for parsing MARC records!", and given that much of my most recent coding experience was in the PHP realm, I thought it would be a good way of contributing to the world of code4lib. Thus File_MARC … File_MARC makes it to stable 1.0.0 release (finally!) Way back in 2006, I thought "It's a shame there is no PHP library for parsing MARC records!", and given that much of my most recent coding experience was in the PHP realm, I thought it would be a good way of contributing to the world of code4lib. Thus File_MARC … Finally tangoed with reveal.js to create presentations ... and I have enjoyed the dance. Yes, I know I'm way behind the times. Over the past few years I was generating presentations via asciidoc, and I enjoyed its very functional approach and basic output. However, recently I used Google Drive to quickly create a few slightly prettier but much … Finally tangoed with reveal.js to create presentations ... and I have enjoyed the dance. Yes, I know I'm way behind the times. Over the past few years I was generating presentations via asciidoc, and I enjoyed its very functional approach and basic output. However, recently I used Google Drive to quickly create a few slightly prettier but much … RDFa and schema.org all the library things TLDR: The Evergreen and Koha integrated library systems now express their record details in the schema.org vocabulary out of the box using RDFa. Individual holdings are expressed as Offer instances per the W3C Schema Bib Extension community group proposal to parallel commercial sales offers. And I have published a … RDFa and schema.org all the library things TLDR: The Evergreen and Koha integrated library systems now express their record details in the schema.org vocabulary out of the box using RDFa. Individual holdings are expressed as Offer instances per the W3C Schema Bib Extension community group proposal to parallel commercial sales offers. And I have published a … A Flask of full-text search in PostgreSQL Update: More conventional versions of the slides are available from Google Docs or in on Speakerdeck (PDF) . On August 10, 2013, I gave the following talk at the PyCon Canada 2013 conference: I’m a systems librarian at Laurentian University. For the past six years, my day job and research … A Flask of full-text search in PostgreSQL Update: More conventional versions of the slides are available from Google Docs or in on Speakerdeck (PDF) . On August 10, 2013, I gave the following talk at the PyCon Canada 2013 conference: I’m a systems librarian at Laurentian University. For the past six years, my day job and research … Parsing the schema.org vocabulary for fun and frustration For various reasons I've spent a few hours today trying to parse the schema.org vocabulary into a nice, searchable database structure. Unfortunately, for a linked data effort that's two years old now and arguably one of the most important efforts out there, it's been an exercise in frustration. OWL … Parsing the schema.org vocabulary for fun and frustration For various reasons I've spent a few hours today trying to parse the schema.org vocabulary into a nice, searchable database structure. Unfortunately, for a linked data effort that's two years old now and arguably one of the most important efforts out there, it's been an exercise in frustration. OWL … Linked data irony, example one of probably many I'm currently ramping up my knowledge of the linked dataworld, and ran across the Proceedings of the WWW2013 Workshop on Linked Data on the Web. Which are published on the web (yay!) as open access (yay!) in PDF (what?). Thus, the papers from the linked data workshop at the W3 … Linked data irony, example one of probably many I'm currently ramping up my knowledge of the linked dataworld, and ran across the Proceedings of the WWW2013 Workshop on Linked Data on the Web. Which are published on the web (yay!) as open access (yay!) in PDF (what?). Thus, the papers from the linked data workshop at the W3 … PyCon Canada 2013 - PostgreSQL full-text search and Flask On August 10, 2013, I'll be giving a twenty-minute talk at PyCon Canada on A Flask of full-text search with PostgreSQL. I'm very excited to be talking about Python, at a Python conference, and to be giving the Python audience a peek at PostgreSQL's full-text search capabilities. With a twenty … PyCon Canada 2013 - PostgreSQL full-text search and Flask On August 10, 2013, I'll be giving a twenty-minute talk at PyCon Canada on A Flask of full-text search with PostgreSQL. I'm very excited to be talking about Python, at a Python conference, and to be giving the Python audience a peek at PostgreSQL's full-text search capabilities. With a twenty … CARLCore Metadata Application Profile for institutional repositories A long time ago, in what seemed like another life, I attended the Access 2006 conference as a relatively new systems librarian at Laurentian University. The subject of the preconference was this totally new-to-me thing called "institutional repositories", which I eventually worked out were basically web applications oriented towards content … CARLCore Metadata Application Profile for institutional repositories A long time ago, in what seemed like another life, I attended the Access 2006 conference as a relatively new systems librarian at Laurentian University. The subject of the preconference was this totally new-to-me thing called "institutional repositories", which I eventually worked out were basically web applications oriented towards content … Making the Evergreen catalogue mobile-friendly via responsive CSS Back in November the Evergreen community was discussing the desire for a mobile catalogue, and expressed a strong opinion that the right way forward would be to teach the current catalogue to be mobile-friendly by applying principles of responsive design. In fact, I stated: Almost all of this can be … Making the Evergreen catalogue mobile-friendly via responsive CSS Back in November the Evergreen community was discussing the desire for a mobile catalogue, and expressed a strong opinion that the right way forward would be to teach the current catalogue to be mobile-friendly by applying principles of responsive design. In fact, I stated: Almost all of this can be … Structured data: making metadata matter for machines Update 2013-04-18: Now with video of the presentation, thanks to the awesome #egcon2013 volunteers! I've been attending the Evergreen 2013 Conference in beautiful Vancouver. This morning, I was honoured to be able to give a presentation on some of the work I've been doing on implementing linked data via schema … Structured data: making metadata matter for machines Update 2013-04-18: Now with video of the presentation, thanks to the awesome #egcon2013 volunteers! I've been attending the Evergreen 2013 Conference in beautiful Vancouver. This morning, I was honoured to be able to give a presentation on some of the work I've been doing on implementing linked data via schema … Introducing version control & git in 1.5 hours to undergraduates Our university offers a Computer Science degree, but the formal curriculum does not cover version control (or a number of other common tools and practices in software development). Students that have worked for me in part-time jobs or summer positions have said things like: if it wasn't for that one … Introducing version control & git in 1.5 hours to undergraduates Our university offers a Computer Science degree, but the formal curriculum does not cover version control (or a number of other common tools and practices in software development). Students that have worked for me in part-time jobs or summer positions have said things like: if it wasn't for that one … Triumph of the tiny brain: Dan vs. Drupal / Panels A while ago I inherited responsibility for a Drupal 6 instance and a rather out-of-date server. (You know it's not good when your production operating system is so old that it is no longer getting security updates). I'm not a Drupal person. I dabbled with Drupal years and years ago … Triumph of the tiny brain: Dan vs. Drupal / Panels A while ago I inherited responsibility for a Drupal 6 instance and a rather out-of-date server. (You know it's not good when your production operating system is so old that it is no longer getting security updates). I'm not a Drupal person. I dabbled with Drupal years and years ago … Finding DRM-free books on the Google Play store John Mark Ockerbloom recently said, while trying to buy a DRM-free copy of John Scalzi's Redshirts on the Google Play Store: “The catalog page doesn’t tell me what format it’s in, or whether it has DRM; it instead just asks me to sign in to buy it.” I … Finding DRM-free books on the Google Play store John Mark Ockerbloom recently said, while trying to buy a DRM-free copy of John Scalzi's Redshirts on the Google Play Store: “The catalog page doesn’t tell me what format it’s in, or whether it has DRM; it instead just asks me to sign in to buy it.” I … First Go program: converting Google Scholar XML holdings to EBSCO Discovery Service holdings Update 2012-06-19: And here's how to implement stream-oriented XML parsing Many academic libraries are already generating electronic resource holdings summaries in the Google Scholar XML holdingsformat, and it seems to provide most of the metadata you would need to provide a discovery layer summary in a nice, granular format … First Go program: converting Google Scholar XML holdings to EBSCO Discovery Service holdings Update 2012-06-19: And here's how to implement stream-oriented XML parsing Many academic libraries are already generating electronic resource holdings summaries in the Google Scholar XML holdingsformat, and it seems to provide most of the metadata you would need to provide a discovery layer summary in a nice, granular format … What does a system librarian do? Preface: I'm talking to my daughter's kindergarten class tomorrow about my job. Exciting! So I prepped a little bit; it will probably go entirely different, but here's how it's going to go in my mind... My name is Dan Scott. I’m Amber’s dad. I’m a systems librarian … Farewell, old Google Books APIs Since the announcement of the new v1 Google Books API, I've been doing a bit of work with it in Python (following up on my part of the conversation). Today, Google announced that many of their older APIs were now officially deprecated. Included in that list are the Google Books … The new Google Books API and possibilities for libraries On the subject of the new Google Books API that was unveiled during the Google IO 2011 conference last week, Jonathan Rochkind states: Once you have an API key, it can keep track of # requests for that key — it’s not clear to me if they rate limit you, and … Creating a MARC record from scratch in PHP using File_MARC In the past couple of days, two people have written me email essentially saying: "Dan, this File_MARC library sounds great - but I can't figure out how to create a record from scratch with it! Can you please help me?" Yes, when you're dealing with MARC, you'll quickly get all weepy … Access Conference 2011 in beautiful British Columbia The official announcement for the Canadian Library Association (CLA) Emerging Technology Interest Group (ETIG)-sponsored Access Conference for 2011 went out back in November, announcing Vancouver, British Columbia, as the host. Note that the schedule has changed from its original dates to October 19-22! I've told a number of people … Troubleshooting Ariel send and receive functionality I'm posting the following instructions for testing the ports required by Ariel interlibrary loan software. I get requests for this information a few times a year, and at some point it will be easier to find on my blog than to dig through my email archives from over 3 years … Chilifresh-using libraries: are you violating copyright? When I was preparing my Access 2010 presentation about social sharing and aggregation in library software, I came across Chilifresh, a company that aggregates reviews written by library patrons from across libraries that subscribe to the company's review service. I was a bit disappointed to see that the service almost … On avoiding accusations of forking a project Sometimes forking a project is necessary to reassert community control over a project that has become overly dominated by a single corporate rules: see OpenIndiana and LibreOffice for recent examples. And in the world of distributed version control systems, forking is viewed positively; it's a form of evolution, where experimental … Library hackers want you to throw down the gauntlet On October 13th, a very special event is happening: the Access Hackfest. A tradition since Access 2002, the Hackfest brings together library practitioners of all kinds to tackle challenges and problems from the mundane to the sublime to the ridiculous. If you can imagine a spectrum with three axes, you … File_MARC 0.6.0 - now offering two tasty flavours of MARC-as-JSON output I've just released the PHP PEAR library File_MARC 0.6.0. This release brings two JSON serialization output methods for MARC to the table: toJSONHash() returns JSON that adheres to Bill Dueber's proposal for the array-oriented MARC-HASH JSON format at New interest in MARC-HASH JSON toJSON() returns JSON that adheres … In which I perceive that gossip is not science Marshall Breeding published the results of his 2009 International Survey of Library Automation a few days ago. Juicy stuff, with averages, medians, and modes for the negative/positive responses on a variety of ILS and vendor-related questions, and some written comments from the respondents. One would expect the library geek … PKG_CHECK_MODULES syntax error near unexpected token 'DEPS,' The next time you bash your brains against autotools for a while wondering why your perfectly good PKG_CHECK_MODULES() macro, as cut and paste directly from the recommended configure.ac entry for the package you're trying to integrate (in this case libmemcached), and you get the error message PKG_CHECK_MODULES syntax error … MARC library for C# coders C# isn't in my go-to list of programming languages, but I can understand why others would be interested in developing applications in C#. So it's good news to the C# community of library developers (it would be interesting to find out how many of you are out there) that there … Doing useful things with the TXT dump of SFX holdings, part 1: database There must be other people who have much more intelligent things than me with the TXT dump of SFX holdings that you can generate via the Web administration interface, but as I've gone through this process at least twice and rediscovered it each time, perhaps I'll save myself an hour … Transparent acquisitions budgets and expenditures for academic libraries In my most recent post over at the Academic Matters site, after a general discussion about "new books lists" in academic libraries, I tackle one of the dirty laundry areas for academic libraries: exposing how collection development funds are allocated to departments. Here's a relevant quote: For 2008-2009, we decided … Making Skype work in a Windows XP VirtualBox guest instance If you, like me, install Skype in a Windows XP VirtualBox guest instance running on an Ubuntu host on a ThinkPad T60 with an Intel 2300 dual-core 32-bit processor, it might throw Windows exceptions and generate error reports as reported in VirtualBox ticket #1710. If you then go into your … In which my words also appear elsewhere I'm excited to announce the availability of my first post as an invited contributor to the More than Bookends blog over at the revamped Academic Matters web site. My fellow contributors are Anne Fullerton and Amy Greenberg, and I'm delighted to be included with them in our appointed task of … Presentation: LibX and Zotero Direct link to the instructional presentation on LibX and Zotero at Laurentian University (ODT) (PDF) I had the pleasure of giving an instructional session to a class of graduate students on Monday, November 24th. The topic I had been asked to present was an extended version of the Artificially Enhanced … Archive of OCLC WorldCat Policy as posted 2008-11-02 I noticed last night (Sunday, November 2nd, 2008) that the new and much-anticipated / feared OCLC WorldCat Policy had been posted. As far as the clarified terms went, I was willing to give them the benefit of the doubt until they were actually posted. I was first alerted to the freshly … Dear Dan: why is using Flash for navigation a bad idea? I received the following email late last week, and took the time to reply to it tonight. I had originally been asked by a friend to help diagnose why his organization's site navigation wasn't working in some of his browsers. I noticed that the navigation bar was implemented in Flash … Boss me around, s'il vous plait My place of work, Laurentian University, is looking for a new Director of the J.N. Desmarais Library. The call for applications closes October 30th. I think our library has done some impressive work (participating in the food security project for the Democratic Republic of Congo, building the Mining Environment … Software Freedom Day 2008 - Sudbury I opted to do something out of the unusual (for me) this year when I learned about Software Freedom Day; I signed up to organize an event in Sudbury. Given everything that was already on my plate, it was pure foolishness to do so - but it was also important to … In which digital manifestations of myself plague the Internets Over the past few months, I've been fortunate enough to participate in a few events that have been recorded and made available on the 'net for your perpetual amusement. Well - amusing if you're a special sort of person. Following are the three latest such adventures, in chronological order: CouchDB: delicious … Test server strategies Occasionally on the #OpenILS-Evergreen IRC channel, a question comes up what kind of hardware a site should buy if they're getting serious about trying out Evergreen. I had exactly the same chat with Mike Rylander back in December, so I thought it might be useful to share the strategy we … Inspiring confidence that my problem will be solved Hmm. I think I'm in trouble if the support site itself is incapable of displaying accented characters properly. Corrupted characters in a problem report about corrupted characters. Oh dear. My analysis of the problem is that the content in the middle is contained within a frame, and is actually encoded … CouchDB: delicious sacrilege Well, the talk about CouchDB (an open-source document database similar in concept to Lotus Notes, but with a RESTful API and JSON as an interchange format) wasn't as much of a train wreck as it could have been. I learned a lot putting it together, and had some fun with … Oooh... looks like I've got (even more) work cut out for me PHP is getting a native doubly-linked list structure. This is fabulous news; when I wrote the File_MARC PEAR package, I ended up having to implement a linked list class in PEAR to support it. File_MARC does its job today (even though I haven't taken it out of alpha yet), but … Geek triumph What a night. I upgraded Serendipity, DokuWiki, Drupal, involving four different servers and three different Linux distros, and shifted one application from one server to another (with seamless redirects from the old server to the new) with close to no downtime. I think this is the first time I've completed … A chance to work at Laurentian University library Hey folks, if you're interested in working at Laurentian University, we've got a couple of tenure-track positions looking for qualified people who can stand the thought of working with me... (nothing like narrowing the field dramatically, ah well). The following position descriptions are straight out of the Employment Vacancies page … Ariel: Go back to your room, NOW! I've been working on automating the delivery of electronic documents to our patrons; most of the work over the summer was spent in ensuring that we had our legal and policy bases covered. I read through the documentation for Ariel, our chosen ILL software, to ensure that everything we wanted … "A canonical example of a next-generation OPAC?" Ooh, yes, I remember writing that now. Not about Evergreen, which has book bags and format limiters and facets and whiz-bangy unAPI goodness whose potential for causing mayhem has barely been scratched - but about Fac-Back-OPAC, the Django-and-Solr-and-Jython beast that Mike Beccaria and I picked up from Casey Durfee's scraps pile … The pain: discovery layer selection I returned from a week of vacation to land solidly in the middle of a discovery layer selection process -- not for our library, yet, but from a consortial perspective clearly having some impact on possible decisions for us further on down the road. As the systems librarian, I was nominated … Access 2007 draft program is online! I had been getting anxious about the lack of news on the Access 2007 conference front, but just saw in my trusty RSS feed that the draft program schedule is now available. I'm already looking forward to Jessamyn West's opening keynote and Roy Tennant's closing keynote. They always bring … Evergreen VMWare image available for download After much iteration and minor bug-squashing in my configuration, I am pleased to announce the Evergreen on Gentoo VMWare image is available for download. The download itself is approximately 500MB as a zipped image; when you unzip the image, it will require approximately 6GB of disk space. (1) Basic instructions … In which I make one apology, and two lengthy explanations I recently insulted Richard Wallis and Rob Styles of Talis by stating on Dan Chudnov's blog: To me it felt like Talis was in full sales mode during both Richard's API talk and Rob's lightning talk I must apologize for using the terms "sales mode" and "sales pitch" to describe … FacBackOPAC: making Casey Durfee's code talk to Unicorn For the past couple of days, I've been playing with Casey Durfee's code that uses Solr and Django to offer a faceted catalogue. My challenge? Turn a dense set of code focused on Dewey and Horizon ILS into a catalogue that speaks LC and Unicorn. Additionally, I want it to … Lightning talk: File_MARC for PHP I gave a lightning talk at the code4lib conference today on “File_MARC for PHP” introducing the File_MARC library to anybody who hasn't already heard about it. I crammed nine slides of information into five minutes, which was hopefully enough to convince people to start using it and provide feedback on … Google Summer of code4lib? Google just announced that they will start accepting applications in March for the Google Summer of Code (GSoC) 2007. In 2006, over 100 organizations participated in the GSoC, and Google expects to have a similar number participating in 2007. There are no lack of potential open-source development projects in the … Long time, no wild conjecture So here's the first of two posts based on purely wild conjecture. In a lengthening chain of trackbacks, Ryan Eby mentioned Christina's observation that Springlink has started displaying Google ads, presumably to supplement their subscription and pay-per-article income. Ryan goes on to wonder: Will vendors continue with the subscription model … A short-term SirsiDynix prediction The second of tonight's wild conjecture-based predictions. One of the things that I was thinking about as I was shovelling the snow off our driveway on Monday (other than yes! finally some snow... one of these days Amber is going to go rolling around in it) was the position that … Reflections at the start of 2007 2006 was a year full of change - wonderful, exhausting change. Here's a month-by-month summary of the highlights of 2006: January I did a whole lot of work on the PECL ibm_db2 extension, reviewed a good book on XML and PHP, and finally fixed up my blog a little bit. I've … Oh, Vista has _acquired_ SirsiDynix... A little over a week ago, I made the following prediction following the extremely under-the-radar press release on December 22nd that Vista Equity Partners was investing in SirsiDynix: I'll go out on a limb and say that a merger or acquisition of SirsiDynix in 2007 is unlikely (33% confidence), but … Musing about SirsiDynix's new investment partner Sirsi Corporation merged with Dynix Corporation in June 2005. Now SirsiDynix has announced that Vista Equity Partners is investing in their company. Let's take a look at Vista's investment philosophy: *We invest in companies that uniquely leverage technology to deliver best-of-class products or services.* I wonder if Vista confused "most … Save your forehead from flattening prematurely I gave up on trying to get Ubuntu 6.10 (Edgy Eft) to run ejabberd today; it looks like there are some fundamental issues going on between the version of erlang and the version of ejabberd that get bundled together. That was a fairly serious setback to my "Evergreen on … BiblioCommons wireframe walk-through After the Future of the ILS Symposium wrapped up, Beth Jefferson walked some of us through the current state of the BiblioCommons mocked-up Web UI for public library catalogs; the project grew out of a youth literacy project designed to encourage kids to read through the same sort of social … Future of the ILS Symposium: building our community and a business case I headed down to Windsor early on Tuesday morning for the Future of the ILS Symposium hosted by the Leddy Library at the University of Windsor. It was a good thing I decided to take the 12 hours of bus + train approach to getting there, as Sudbury's airport was completely … Neat-o: Archimède uses Apache Derby A while back I mentioned on the DSpace-devel mailing list that I was interested in adapting DSpace to use embedded Apache Derby as the default database, rather than PostgreSQL, as a means of lowering the installation and configuration barriers involved with setting up access to an external database. I haven't … PEAR File_MARC 0.1.0 alpha officially released Just a short note to let y'all know that I received the thumbs-up from my fellow PEAR developers to add File_MARC as an official PEAR package. What does this mean? Well, assuming you have PHP 5.1+ and PEAR installed, you can now download and install File_MARC and its prerequisite … Belated Access 2006 notes: Saturday, Oct. 14th Final entry in publishing my own hastily jotted Access 2006 conference notes--primarily for my own purposes, but maybe it will help you indirectly find some real content relating to your field of interest at the official podcast/presentation Web site for Access 2006. Contents include: consortial updates from ASIN, Quebec … Getting the Goods: Libraries and the Last Mile In my continuing series of publishing my Access 2006 notes, Roy Tennant's keynote on finishing the task of connecting our users to the information they need is something to which every librarian should pay attention. If you don't understand something I've written, there's always the podcast of Roy's talk. In … Access 2006 notes: October 12 My continuing summaries from Access 2006. Thursday, October 12th was the first "normal" day of the conference featuring the following presentations: Open access, open source, content deals: who pays? (Leslie Weir) Our Ontario: Yours to Recover (Art Rhyno, Walter Lewis) Improving the Catalogue Interface using Endeca (Tito Sierra) Lightning talks … Library Geeks in human form So, I think I read somewhere on #code4lib that Dan Chudnov, the most excellent host of the Library Geeks podcast, refused to make human-readable links to the MP3 files for the podcasts available in plain old HTML because he had bought into the stodgy old definition of podcasts (hah! "stodgy … Double-barreled PHP releases I'm the proud parent of two new releases over the past couple of days: one official PEAR release for linked list fans, and another revision of the File_MARC proposal for library geeks. Structures_LinkedList A few days ago marked the first official PEAR release of the Structures_LinkedList. Yes, it's only at … Feeling sorry for our vendor So I'm here in rainy Alabama (the weather must have followed me from Ottawa) taking a training course from our ILS vendor. I'm getting some disturbing insights into the company that are turning my general state of disbelief at the state of the system that we're paying lots of money … Backlog of Access 2006 notes Following on my plea for access to Access presentations, I'm in the process of posting the notes I took at the CARL instutitional repository pre-conference and Access 2006. I probably should have posted these to a wiki so that others (like the presenters) could go ahead and make corrections/additions … Calling for access to all future Access presentations It's a bit late now, but as the guy in the corner with the clicky keyboard desperately trying to take notes during the presentations (when not stifling giggles and snorts from #code4lib), I would be a lot more relaxed if I was certain that the presentations were going to be … Secretssss of Free WiFi at Access 2006 The bulk of the Access 2006 conference is being held at a hotel-that-shall-not-be-named-for-reasons-that-will-become-apparent-shortly in Ottawa this week. I was at the CARL Pre-Conference on Institutional Repositories today and a kind man (Wayne Johnston from the University of Guelph) tipped me off that the hotel's pay-for-wifi system is a little bit … Laundry list systems librarians On the always excellent Techessence, Dorothea Salo posted Hiring a systems librarian. The blog post warned against libraries who put together a “laundry-list job description” for systems librarians: Sure, it'd be nice to have someone who can kick-start a printer, put together a desktop machine from scraps, re-architect a website … File_MARC and Structure_Linked_List: new alpha releases Earlier in the month I asked for feedback on the super-alpha MARC package for PHP. Most of the responses I received were along the lines of "Sounds great!" but there hasn't been much in the way of real suggestions for improvement. In the mean time, I've figured out (with Lukas … Super-alpha MARC package for PHP: comments requested Okay, I've been working on this project (let's call it PEAR_MARC, although it's not an official PEAR project yet) in my spare moments over the past month or two. It's a new PHP package for working with MARC records. The package tries to follow the PEAR project standards (coding, documentation …