Thanksgiving debrief

So I followed through on my plan to spend the Thanksgiving holiday by myself, working on the Open Journal Matcher. It went fine. I put in four straight days in front of vim, and I’m pretty sure that I more or less cracked the problem that I was trying to solve.

The goal was to reduce the amount of on-demand work the Open Journal Matcher is doing, and instead pre-process most of it. This required creating, storing and handling some ~6000 spaCy binaries, which represent the abstract collections of the various journals that the OJM is drawing upon. This took some wrangling, but I made a lot of progress. At this point, there are really only a few loose ends to tie up.

A good weekend, all things considered.

Posted in holidays, journal recommender | Leave a comment

E-resources (part 2)

It’s now been several months that I’ve been handling our library’s eresources, and I have a few thoughts. It has been mostly positive, with a few frustrations. My predecessor in this role prepared me well. Her system for handling the function is sensible (spreadsheets!) and effective. I’m grateful for her guidance.

Administering eresources makes me feel, well, like an administrator. While I don’t really have any burning desire to administer anything, it does make me appreciate the importance of the bureaucratic work that keeps our library running. It’s nice to contribute my part.

Alma remains a frustration to me, but it can be dealt with later. For now, I’m focused on the mechanics of renewals, paying the bills, and making sure nothing gets accidentally dropped. It’s certainly enough to keep my hands full. My co-workers’ guidance and institutional knowledge keeps me on track.

So I guess I’d say that, so far, being an eresources librarian is pretty good. TL;DR: I like it.

Posted in eresources | Leave a comment


I’m going to spend this Thanksgiving weekend at home by myself, with my dog to keep me company. When I tell people this, they promptly invite me to their family’s celebration in New Jersey or some such. But I’m actually really excited to spend the weekend at home alone. I’m going to focus on a programming project. Four days of uninterrupted coding time is really a godsend; it’s a rare gift to get a block of time like that.

Undoubtedly this has to do with me being a Canadian. From my perspective, Americans take Thanksgiving much more seriously than we ever do in Canada. So maybe that’s why I don’t feel so bad about missing out on the celebration. I can give myself the space to enjoy the solitude and time spent programming.

Posted in holidays | Leave a comment

Nanogenmo 2021 (part 2)

When I was studying Sanskrit in college, I was really taken by the vocative case. I think that the vocative case is partly what gives Sanskrit its unique feel when it is translated into English. This is probably because sentences with vocative elements don’t really have an exact equivalent in English, which makes them stand out as being a bit unusual in a translated text. Anyhow, I think they make for wonderful reading.

After Sanskrit class, in the pub, I would joke with my classmate that I was going to write a novel in the vocative case. Fast forward to Nanogenmo many years later, and now I have my chance! I downloaded the entire Mahabharata, pulled out all the sentences with vocative elements, and mashed them together into one text. The result is a Nanogenmo entry themed around the vocative case. You can see the code and the completed “novel” on GitHub.

This is my second Nanogenmo entry for 2021. You can read more about my Nanogenmo projects here and here.

Posted in language, nanogenmo | Leave a comment

Status update

I’d like to share a status update on the Open Journal Matcher. As I’ve mentioned before, I have a grant to refactor and make the OJM more sustainable. I’m considering two different approaches to the rewritten OJM. The first relies entirely on PythonAnywhere, while the second still involves Google Cloud Platform. This post describes where things stand:

Option 1:

The first approach involves moving all the code over to PythonAnywhere, so that it no longer relies on GCP. The idea is that django-q would farm out the computational work to a bunch of “always-on tasks” (as PythonAnywhere calls them), thereby cutting out GCP. The upside is that everything will be on one platform. The downside is that (for me) there is a learning curve getting up to speed on django and django-q.

Option 2:

The second approach continues with GCP, but aims to make it cheaper. I’ll do this by pre-processing all of the journal abstracts that I’ve harvested from the Directory of Open Access Journals, and store them as binaries rather than as text. The upside is that this approach looks easier to implement; although it’s possible that it may not produce a dramatic improvement.


I think I’m going to pursue Option 2, which looks easier, and I’ll see how it goes before attempting Option 1.

Posted in google, journal recommender, pythonanywhere | Leave a comment


Since the new library website went live a couple weeks ago, I’ve been poking at it, looking for problems. I was assuming there must be some unexpected use cases out there that would cause it fail.

I found exactly what I was looking for when one of my co-workers fired up Internet Explorer to do her work at the reference desk. It did not even occur to me that IE was even on the reference desk computers, but it is, and apparently librarians are using it. This set off some alarm bells for me. I started checking student terminals in the library, and some of them are also running really old Edge as a default. I suppose that’s a bit better than IE, but it’s still a very out-of-date browser.

Unsurprisingly, a bunch of the site’s functionality was broken on IE and old Edge. Browser technology has moved on since IE 11 was launched in 2013, and newer features of JavaScript don’t work on those old browsers. While I can ask the IT department to update the computers that are in the library, it’s safe to assume that if it’s broken here, it’s probably broken elsewhere on campus too, where we can’t see it. So while IE accounts for only ~2% of browser use overall, it’s nonetheless a problem for us.

So I set about making the library page compatible with IE 10 & 11 and old Edge. This involved adding some polyfills, to allow newer code to run on the older browsers. Somewhat foolishly, I went through a problematic JavaScript library by hand to replace all of the new syntax with older equivalents. Babel also helped.

Most of the problems are now fixed. The search widget and the hours widget that I had originally built in the spring now work on IE 10 & 11, and old Edge. The only unsolvable piece was the SpringShare chat widget. That widget is managed by SpringShare, and they were clear that they weren’t going to support these old browsers. Que sera, sera, I guess. I’ll add a notice that asks IE users to update their browser when they attempt to use the chat. We’ll see how that goes :)

Posted in edge, homepage, internet explorer | 1 Response

Research agenda

One thing I have found challenging about work is switching between coding and writing and back. Coding gives me something to write about; writing is the currency for advancing in my job. But these are not necessarily an easy pair. It takes a big mental shift to move from one to the other.

I sometimes wish I had a research interest that just involved reading and writing (this is my background in the humanities talking), or a job that just involved programming. Sometimes, when the grass seems greener, it feels like those paths would be less fraught. Thankfully, I know enough to know that that’s not true, though.

For now, I’m going to carry on with my research path as it is. While it’s tiring sometimes, I see good reasons to keep going. I can recalibrate in the future, if needed.

Posted in research | Leave a comment

Posts by email

You can now sign up to receive posts from this blog via email, over on the About page. Maybe this will make reading this blog a bit easier for some people. I recognize that (unfortunately) not everyone uses RSS, and no one “checks websites”, like they did in the late 90s. So maybe posts-by-email may be useful to someone.

I wish the internet weren’t so broken, and that we didn’t have to rely on social media as aggregators. So offering posts by email is one small gesture toward a web that’s organized a bit differently.

Posted in content, email, rss | Leave a comment

How I spent my weekend

I’ve spent much of this holiday weekend on Discord, asking questions. This is because I’ve been working on an overhaul of the Open Journal Matcher, and it has led me to work with technologies that I find very unfamiliar (hello, task queues!), so I have a lot to ask. Discord channels focused on very specific technical topics are super helpful.

I also spent the weekend on Discord in part because the tech meetups that I had enjoyed prior to the pandemic are now (obviously) online, including on Discord. So while I miss the irl meetings, I am happy that those communities are now happening 24/7.

Discord reminds me of IRC. I liked IRC. It’s nice to see an old idea reworked with modern amenities.

Posted in discord, learning, meetup | Leave a comment

A new library webpage for the new semester

This week our new library webpage went live, just in time for the fall semester. You can see it at https://library.kbcc.cuny.edu. It represents about 8 months of work: 4 months of technical work, followed by 4 months of organizational work. I particularly enjoyed the technical bits, while the subsequent, unavoidable bureaucratic work was not as fun. But it’s done; the site is up now!

Some things I learned:

  • Icons are weirdly a challenge. We’re using FontAwesome, but we may switch to an openly-licensed alternative like ForkAwesome.
  • Bootstrap is a fun framework once you get into the Bootstrap mindset.
  • Working closely with a couple of other librarians really improves the end product.
  • LibGuides has some idiosyncrasies when you get into the details, but it is a much more flexible CMS that it may initially appear.
  • The Springshare Lounge is an wonderful tech community. There are very helpful people there.
Posted in bootstrap, homepage, libguides | Leave a comment
Need help with the Commons? Visit our
help page
Send us a message
Skip to toolbar