Recently, CUNY libraries migrated to Alma, our new library services platform. Alma is a pretty mighty piece of software. It can manage many, many library functions. Given how much it does, it amazes me that it works. I would love to look at the codebase for a bit, just to get a sense as to how it is organized.

My experience, as a user, has so far been pretty good. There are things that have confused me, although so far once I’ve learned their purpose, they are useful. I like how it brings together disparate library workflows, and makes them work together. It’s going to be a journey getting it all figured out, but it seems like a positive step.

Posted in alma | Leave a comment

Access to readings during remote instruction

Our students are facing a potential textbook crisis this fall. Many may not even realize it yet. But with in-person library services potentially greatly curtailed, one crucial source of textbooks – the library reserve desk – may not be readily available to our students.

The librarians are working to mitigate this crisis on several fronts. But some of the most effective remedies can come from faculty themselves. Here are some strategies we recommend:

  • Assign readings from the library’s electronic collections. These are already paid for, and are free to our students.
  • Make readings available on Blackboard. When being vigilant about avoiding copyright law violations, this can be an effective strategy.
  • Use open educational resources (OERs) as course textbooks. This is the best long-term solution. OERs can be reused and adapted by anyone, and can be a very effective solution to prohibitive textbook costs.

Please don’t stick your students with huge textbook bills this fall! Take steps to reduce textbook costs while planning your reading list.

Posted in textbooks | Leave a comment


Now that the Open Journal Matcher is more or less complete and shared with the world, I feel like it’s time for a new beginning. I like this part of my job: occasionally I arrive at a point where I get to reset and consider what’s next.

I’m going to take a different approach. In the past, I’ve sought out technologies to learn, and then once I knew enough about them, figured out ways to apply them to my library or my job. While that can be a sensible way to learn a technology, it’s a bit myopic and doesn’t necessarily provide the most benefit to the people around me. Going forward, I will aim to focus more specifically on people. Making this more explicit will hopefully push me to build more constructive projects.

Posted in Uncategorized | Leave a comment

Further into Mastodon

Joining Mastodon in 2017 turned out to be a positive change for me. Twitter had been making me depressed and anxious, and I needed a way out. At that point Mastodon – an open source social network – was unfamiliar to me and seemed rough around the edges. But the people I found there were compelling, and the interactions were weirdly real and non-algorithmic feeling. I was hooked.

This week, I began administering my own server in the Mastodon network. I’m not doing the technical bits of system administration; I’ve left that to the much more skilled people at Mastohost. But I’m now actively managing my little corner of the Mastodon network. Mastodon has powerful tools for moderation and countering abuse. These allow me to 100% decide what I want to allow in my timelines and on my server. It feels very positive and constructive.

Anyhow, it’s a work in progress. I’ll report back once I’ve put some more miles on it!

Posted in mastodon | Leave a comment

Open Journal Matcher is here

I’m very pleased to let you know about a project I’m releasing today, the Open Journal Matcher. It’s a resource for people looking to find a suitable journal for their work. Paste in a draft abstract and see the best matching open access journals!

Open Journal Matcher uses a natural language processing library called spaCy to compare the text of a draft abstract with the abstracts of ~5000 journals from the Directory of Open Access Journals. It ranks all of these journals by similarity, and returns the top five matches.

While there are other journal matching services available, to my knowledge this is the only one that is fully interdisciplinary and fully open source. The code for the matcher application, the code for the matching algorithm, and the content of the journals, is all openly licensed.

Please enjoy, and let me know what you think of this tool!

Posted in doaj, journal recommender, open access, open source | Leave a comment

Backing away from GCP

I finally got a working prototype of my journal recommender project up and running; I just shared it with a few co-workers yesterday. However, it has been a bit of a journey to get here: I was only able to get the project finished by backing away from Google Cloud Platform. I won’t dwell on my complaints with GCP; instead I want to focus how I got out of my predicament.

Basically, I solved the problems that were dogging the recommender project by returning as much as possible to python. One of the reasons that I found Google Cloud Platform so frustrating was because I had to do a lot of work outside of python.

The solution was to run the project on PythonAnywhere instead. The reason PA worked for me was that I could solve my problems directly in python, in the shell. For the most part, there were no additional layers of complexity. GCP is a much more comprehensive offering, but I’m fine with a more simple tool like PA if it means I can get my work done effectively.

Posted in google, python, pythonanywhere | Leave a comment

Some things are harder remotely

I know there has been a lot of talk about how people will continue to work from home, even after the virus fades. This seems mostly sensible. I find I can do most of my job from home quite well, thank you. Of course teaching and reference are more difficult remotely, but the rest is quite manageable with very little disruption.

What I had not foreseen was that generating new project ideas would be so hard. I’ve been at a loss to come up with new interesting projects since WFH started. Apparently I need in-person conversations with my fellow librarians to do this. Needless to say, I look forward to eventually being back in the office, so that we can dream up new ideas together again.

Posted in projects, remote | Leave a comment

Beginning again

The past few months have been humbling for me, programming-wise. I’ve struggled a lot with Google Cloud Platform, without much success. It’s been frustrating. It has also forced me to re-evaluate my progress as a programmer.

The real issue has been that I failed at being a self-reliant problem solver. It’s one of the hallmarks of a good technologist to be able to break down and solve technical problems, and I haven’t been able to do that with Google Cloud Platform. Not for lack of trying. I’ll spare you the details, but to sum up, I failed to build the thing I wanted to using GCP.

This isn’t the end of the world, but the failure has irked me. So for now, I’ve retreated from ‘ops’ to just work in Python, which is safe and familiar.*

Anyhow, all of this has sparked some self-reflection, and made me think a lot about why I want to program in the first place. Ultimately, my reason is that programming can provide us with opportunities to do all kinds of things we couldn’t do previously. And the experience of the expansive possibilities of programming usually comes early on in the coding journey.

So I’m going to focus on beginnings, and the power of learning. Hopefully, it can help me tap into the sense of potential that comes with learning; and to try to share it.

* maybe I’ll try again with GCP at some point.

Posted in google, learning | Leave a comment


Sometimes, it’s important to enjoy coding for it’s own sake. It can be fun to solve problems and bend your brain a bit. Work doesn’t always offer this. Sometimes work is, well, work. That’s why this weekend I’ve been spending time with checkio. Checkio is a programming puzzle site, where the only goal is to solve puzzles to unlock other puzzles. In a strict sense, it’s not a productive use of my time, but it makes me happy.

Posted in learning | Leave a comment

The (much needed) back burner

Some technology projects really test my patience and stamina. Either they’re too advanced for me, or they use badly-documented technology that’s hard to work with. There is sometimes an upside to this frustration: it’s good for me to try things that are difficult or at the limits of my skill set.

But it’s also nice have an easier project on another burner, to turn to when things get too frustrating.

Lately, I’ve been really annoyed with Google Cloud Platform. Almost furious, at times. I frequently need to walk away and decompress. So to take a break, I started setting up a Raspberry Pi to store backups on my home network. The stakes are lower; the problems are easier (for now). It’s nice to step away from the frustrating stuff, at least for a bit.

Posted in Uncategorized | Comments closed
Need help with the Commons? Visit our
help page
Send us a message
Skip to toolbar