or, The Hitchhiker’s Guide to Fear and Loathing at a Public Library Reference Desk

Archives for Technology:

Livestreaming Library Chicks

   July 20th, 2017 Brian Herzog

Here's something kind of neat we're doing in my library: our Children's Room has eggs in an incubator so the kids can watch them hatch, and then our IT person got the idea to livestream the eggs (and subsequent chicks) to our website.

The eggs came from a farm in Western MA, and the chicks will go back there a couple weeks after they hatch. In the meantime, the incubator has been sitting on the Children's Desk - and of course has been very popular with kids (and the local paper).

After they hatch they get moved into a larger cage, and that's when the livestream should get more interesting (watching eggs isn't actually that much fun).

Here's our setup - the incubator is inside the cage, along with water, food, and a heater for after they hatch. Maybe a bit "hands-offy" for my taste, but you know kids, I guess.

Setting up the livestream was surprisingly easy too. First I contacted our webhost to see if they had any issues with this or any suggestions, and they said the best route for them is to use YouTube's livestream feature. That way, we're just embedding a video, and not really bogging down their servers.

I found some instructions for YouTube Stream Now and first verified our YouTube account (which was a click of a button). Next our IT person installed an encoder (he chose Wirecast Play) on the computer we were going to use to host the camera. We decided to dedicate an extra computer to this, so it didn't slow down a staff desk computer.

Next on the YouTube livestream dashboard, we could edit things like the stream title and other basic information. This is also where you get the key for the encoder, and also where you get the embed code (like any other YouTube video).

The one change I made was to make the embed code permanent by including our Channel ID, based on a StackOverflow article:

The embed URL for a channel's live stream is:

https://www.youtube.com/ embed/live_stream?channel=CHANNEL_ID

You can find your CHANNEL_ID at https://www.youtube.com/account_advanced

Our IT person did all the hard work of installing and configuring the encoder, and setting up the computer with the camera, but really, none of this was difficult. Nonetheless, I was still amazed when I embedded the livestream code and it just worked:

Neat. I was also thoroughly entertained coming up with a title for this post that sounded click-baity yet accurate. "Live Nude Chicks" was my second choice.

Tags: , , , , , , , , , ,

Keeping Constant Contact Clean

   November 16th, 2016 Brian Herzog

Earlier this year, when the woman who used to be in charge of all our email newsletter retired, I became the library's primary contact for our Constant Contact account. This meant I started getting the weekly emails about how many new subscribers we had, confirmation that messages were sent out, and I was the one to get the billing notices.

All of that is fine, except that after just a couple weeks, our bill jump. A lot. And I had no idea why.

After a little digging and a few phone calls to Constant Contact, it turned out that the number of contacts in our account had grown so much that we crossed into the next higher pricing tier. We were now over 10,000 contacts - that sounds great, but the price different was tremendous, and wasn't something we had budgeted for nor could we afford.

After the dust settled, the obvious occurred to me: Chelmsford's population is about 33,000 - there's no way that enough people in town could have signed up for our email newsletter to grow our contacts list that much.

So I started looking at the weekly new subscribers notification more closely, and notice something - see if you see the same thing I did:


To me, all of these looked like fake email addresses. Not just the .ru, .pl, .top, .site, etc, but even the yahoo.com accounts looked bogus. And we were getting 100-200 new subscriptions a week, so yes, it makes sense then how we could grow from a sensible subscriber base to over 10,000.

So now of course, I needed to figure out how to delete all these fake addresses out of our account to bring the total number of contacts down so Constant Contact would drop us down to the lower pricing tier again. Their Customer Service people I spoke with were friendly, helpful, and understanding, and gave us a grace period to get things under control.

I hadn't used Constant Contact much before this, but I quickly became familiar with their Contact Management area and deleting contacts. My first strategy was just to search for things like "*.ru" and "*.pl" and delete any address that came up, because I sincerely doubt that we have any patrons in Russia or Poland. I built myself quite a list of top-level domains to search for and delete every week, and even though it helped, it still required a lot of of my time.

The first day I started working on this, I deleted something like 2,000 contacts. That was a good start and gave us some breathing room to stay below 10,000, but I knew there were lots of other junk addresses in there that I needed to figure out how to eliminate.

I also wanted to stop the flow of new signups. I talked to Constant Contact again, but they said there was no way to block signups by country or domain. They said all I could really do was require First Name and Last Name during signup, and also use "confirmation opt-in" (where patrons must click a link in an email sent to them after they filled out our web form before they are actually subscribed to the list). I did turn on the first name/last name requirement, but didn't want to use "confirmation opt-in." That extra step annoys me, and it bugged me that real patrons would have to suffer (and possibly not get signed up) because of the jerks out there. Not to mention, there is no guarantee that this would keep the jerks out.

So I kept looking in the Contact Management section for something that might help. At one point I tried figuring out where these fake signups were coming from - we only have one signup form on our website, and that's it. No Facebook form, no other apps, nothing, but I figured these fake accounts must be coming from some kind of script somewhere.

On the Advanced Search screen, I saw one of the options was "Contact Source:"


That made me think that if I could just figure out the source, I could easily search for those and delete them. Nice.

Oh, and then on list of contacts, I noticed there was a way to change the view, and the second option included the source. Ha - it's all coming together now.


After skimming through pages of our contacts, I noticed something: the source for the real contacts were either "Added by you" or "Website sign-up form." The source for everything that looked like a fake address was "Embedded JMML."

I had no idea what "Embedded JMML" or where it was to be abused like this, but at least there was some commonality. Now all I had to do was an Advanced Search for Source=Embedded JMML and everything is fine.

Except: Embedded JMML was not one of the options in the Source dropdown box in Advanced Search. Arrgh.

But, I think I solved it anyway. Using a combination of Advanced Search fields, I was able to filter out all good records, and so the results were only records with the Embedded JMML as a Source:


And there were THOUSANDS of them. I skimmed through pages of the contacts to make sure no real addresses slipped through, but they all looked fake.

So I selected them all, braced myself, and deleted 4,000 contact from our account. Whew. At least now we're back down to a realistic number, and they all seem like legitimate addresses.

I contacted Constant Contact once again, asking if they can block the "Embedded JMML" as a source for signups, or at least tell me where these signups were originating. At first all answers were no, but the support person who got my ticket really stayed with it, and convinced the development team to look at adding this as a feature. Which is great. For awhile I was beginning to think it was a big Constant Contact conspiracy to make it impossible to manage our contact list, because their pricing structure is set up to charge us more for high numbers of contacts - but that seems crazy even to me.

I know this is kind of dumb, but it really was a problem. And oddly, I didn't see anything on the internet about other people experiencing this same issue, so maybe we're just unlucky. Still, I thought it was kind of interesting and wanted to share.

So, the end result of all of this is that I still have to spend five minutes each week setting up this Advanced Search and deleting all the JMML signups, but at least it's a functioning method to get what I want, it keeps our contact list accurate and clean, and patrons don't have to jump through unnecessary hoops to get the library's email newsletter. Maybe that's the best I can hope for.

Tags: , , , , , , , , , ,

Book Reviews in the Age of Email Leaks

   November 9th, 2016 Brian Herzog

ageofjihadcoverI was reading book reviews while doing selection for our non-fiction collection, and came across one for Age of Jihad: Islamic State and the Great War for the Middle East, by Patrick Cockburn.

After what I read I still couldn't decide whether or not to buy it for the library, so I went out to Amazon to see more information.

The bits of information on Amazon records I always look for are publication date, format, number of review stars, publisher, best seller rank, and also whatever is in the editorial review section.

Often these are blurbs written by (I'm guessing) paid reviewers, but sometimes I recognize names as someone I'd expect to be an authority on the subject. Sometimes they're even full-blow Publisher's Weekly, Kirkus, or other review journal reviews.

And sometimes they completely surprise me.

When I looked at this section for Age of Jihad, I found this:


So is this a thing now? Being mentioned flatteringly in leaked email correspondence is a source of promotional material? Huh - that doesn't seem like the best use of the technology tools we have, but I guess it's the world we live in.

It hadn't occurred to me until I saw this, but I bet a whole bunch of people immediately did Ctrl+F for their name as soon as the text of her emails were released.

Tags: , , , ,

Reference Question of the Week – 4/17/16

   April 23rd, 2016 Brian Herzog

featureSince I am helping patrons less than before, the relative number of reference and tech support questions I get from staff have gone up. This is one of those.

One day right as I was getting ready to leave for the day, someone working at the Circ Desk called down to say that Evergreen (our ILS) wouldn't open. That's weird, but important enough for me to stick around a few minutes to try to fix it.

When I got upstairs and asked for details, my coworker said,

Well, something bad happened to the computer and it froze, so I forced it to shut down and then restarted it. When it came back up and I clicked on Evergreen on the desktop, it wouldn't open.

Now that is odd. I had no idea what "something bad" might have entailed, but at least the computer was on and working, so that's a good sign. I double-clicked the desktop shortcut and sure enough, it didn't work - I got that "cannot find target" error. Thinking just that shortcut got changed somehow, I tried the icon in the Start Bar, and then the one in the Start Menu, but kept getting the same error.

Hmm. So I looked at the target of the three, and all of them were the same. Also odd. I browse out to that directory, expecting to see the evergreen.exe file they were pointing at, but it's not there. I check look at that directory on a different computer that is working, and sure enough, there is an evergreen.exe file.

Now that is weird. This was far enough down into the directory structure that I didn't think any staff would have accidentally deleted it, but I couldn't think how else something would have happened to this single file and left everything else in the directory.

The immediate fix that comes to mind is to completely reinstall Evergreen, which is a pain, and I'm still trying to get out the door to go home. So, I figure what the heck, I'll just copy/paste the evergreen.exe from the good computer into that same directory on the problem computer and see what happens. This is like Windows 3.x stuff, and figure it's an incredible long shot.

But holy smokes, it actually works! I copied that file to the network and then pasted it in from there, and when I clicked the desktop shortcut on the problem computer, it opened right up as if nothing ever happened. I don't really understand it, but I'll take it - at least as a temporary fix to get Circ through the evening.

In the morning I asked our IT guy to reinstall Evergreen on that computer for real, because I figure what I did was fragile and didn't address whatever the "something bad" was that started this whole thing. Before he did that, he did some checking on the computer and then got back to me:

Symantec classified Evergreen as a virus yesterday. I didn’t check but I presume that Evergreen.exe was moved to the Quarantine area. When you copied it back to the original location you resolved the issue. There should be no need to reinstall.

Sort of an unusual thing. I modified our Symantec policy to exclude this file. It shouldn't happen again.

Wow. I have no idea why Symantec suddenly took an intense dislike to the most important application we use every day, but there you go.

Tags: , , , , , , , , , ,

Reference Question of the Week – 1/10/16

   January 16th, 2016 Brian Herzog

Chrome logo crackedMy library subscribes to OCLC's QuestionPoint service, which is a 24/7 chat reference resource our patrons can use anytime. We've had this for years, and it's been great - not only being able to offer patrons 24-hour assistance, but also the quality of the answers they get is just as good or better than they would have gotten from our staff.

Every month I total up our database usage stats, and also read the transcripts of the chat questions asked. Sometimes though, when the chat librarian can't answer the question for whatever reason, the chat librarian flags it as "followup by local library" and I'm notified by email that a patron needs more help.

One of these followup notification emails was waiting for me when I got to the library this past Monday morning, after a chat session on Sunday. I logged into QuestionPoint to see what the question was, and found,

Chat transcript of patron saying a PDF on our website is blank

I had just put up the blog post in question the previous week, with the link to the contest application. I didn't have an electronic copy of the application, so I had to scan one of the print forms and make my own PDF.

So I was surprised to read the patron say it didn't work, because I remember opening it to double-check the margins of the scan looked okay.

Knowing that it worked, and thinking the patron must just be doing something wrong, I kept reading the chat transcript - confident that the chat librarian would have my back and set the patron right. But then this happened...

Chat librarian saying the PDF is blank for her too

What? Well, maybe something was actually wrong, if the chat librarian was seeing a blank page too.

So of course, I immediately go to the blog post and try the link again - and sure enough, it works just fine. So, I create a new PDF of the form, and email it directly to the patron (email is included in the chat transcript), apologizing for the problem and asking him to let me know if this one doesn't work.

The patron emailed back to say thanks, and a little more. After getting my message saying that it worked for me, the patron kept experimenting with the PDF link, and explained what he found:

Hi Brian.

OK - here's the scoop in case you get any others with this issue. This looks like a Google Chrome browser issue, and it may be unique to my computer, perhaps a settings problem. The PDF document opens fine in IE, Firefox, and Edge. It even opens fine in Chrome if I save the file first. But when I try to link to the file via the web it opens but with blank content. [...]

Thanks again for your follow up. I hope I haven't wasted too much of your time.

Wasted my time? You just did my job for me!

I'm glad it worked for him, but I was curious to see if this issue was just this one patron, or a Chrome thing. A quick search for Chrome blank PDF turned up a lot of relevant results, including some on Google forums. It seems like this is indeed a Chrome problem. And not exactly a new one at that, so I'm surprised that this is the first I was encountering it.

It also explains why the chat librarian had the same issue, while everything worked fine for me in Firefox.

It's not very often that I outsource my job, but in this one instance, I outsourced it twice - first to the chat librarian, and second to the patron.

Tags: , , , , , , , , ,

Circulating a Roku for Streaming Videos

   October 21st, 2015 Brian Herzog

rokulogoRecently, my Library bought a Roku to start circulating to patrons. I loved this idea, because it solved a problem that has been annoying me for years.

Awhile ago, sometimes when we bought DVDs, they would come with an "ultraviolet" version in addition to the physical disc. The ultraviolet version was a digital copy - which of course the library couldn't really use, because it could only be downloaded to one device. So we'd get the codes for ultraviolet copies, and just throw them away. It wasn't really costing the library money, but I did not like that we were just throwing away a resource.

Then another nearby library got the idea to use a Roku to offer these videos to patrons. Their method was to create a Vudu library of all their ultraviolet movies, and then connect the Roku to that account. That way, patrons could check out the one Roku device, and use it on their home wi-fi network to have access to all of the movies we had ultraviolet licenses to stream. Nice.

Since they already had worked out the details, we just bought our own Roku and copied what they did. We're also adding all the ultraviolet titles to the catalog record, so the Roku shows up if someone searches for Still Alice or Paul Blart Mall Cop.

Our Roku circulates for one week, cannot be renewed, but can be requested. We're also circulating it in a padded case that comes with a remote control, various cables to connect it to the patron's television or digital projector, power supply, and instructions:


We, and a few other libraries, are only using it to stream our ultraviolet titles. But another library paid for a Netflix subscription with a gift card, so patrons can stream anything from that Netflix subscription. They've set up additional channels as well, which we haven't done (yet?).

We need to do a better job of promoting it's available, but I don't know that any patron would check this out just for the sake of watching movies on a Roku. Unlike checking out a telescope to use the telescope, I see this as more like a Playaway - patrons will check it out to get access to the content it contains, not for the experience of using this format. And at only $50 for the device, it's a great way to stop throwing away the ultraviolet titles.

Tags: , , , , , , , , , ,