Committing to reading one academic article per day

This post is a bit of a departure from the library technology stuff I usually post about, but I feel that it is very much core academic librarianship, so probably relevant to some people here.

I was listening to this interview with Eleanor Colla, where she talks (among many other things) about committing to reading one academic article per day. This struck me as a wonderful idea. Some upsides: it will keep me immersed in my discipline(s); it will keep me up to speed on the latest developments in scholarship; it will get me thinking about what makes for good academic writing; it might make me a marginally more interesting person overall. I was sold.

So last week, I started with my own one-article-per-day regimen. So far, I’ve read some anthropology, some political science, and some library studies. It’s been great! I’ve been solely following my interests, with no mercenary professional development or publication agenda of my own at the moment. I’m hoping that, over the medium term, gently steeping in academic writing like this will start to improve my skills as an academic librarian. Maybe at the end of the year I’ll publish the reading list.

Posted in reading, research | Leave a comment

Lua

I’ve liked the idea of the Lua programming language since reading about it in Coding Places: Software Practice in a South American City. After reading that book, I put some effort into learning a bit of Lua syntax, but never really followed up beyond that. It seemed potentially useful but I didn’t really have the use case to pursue it much further.

Elsewhere, I’ve also posted about my enthusiasm for vim and neovim. One of the big advantages of switching from vim to neovim is that you can write your configuration files in Lua. Indeed, I’ve noticed an increasing portion the online conversation about neovim configuration has moved to Lua, and away from its predecessor, vimscript.

Anyhow, my old, vimscript-based config was not that complicated, clocking in at 30 lines. I figured that an afternoon comfortably ensconced on a west-facing deck would be enough time to make the migration from vimscript to Lua, so today I tackled the problem. It was a good exercise: the revised Lua version is more concise than its predecessor, at 18 lines. It also resolved a few (admittedly very minor) problems I was having with the vimscript version. But it’s also much more readable than vimscript, and I’m hoping that it will be easier to work with in the future.

Posted in lua, vim | Leave a comment

Further into Quasar

In my last post on Quasar, I was just getting started with the framework, basically taking components from the docs and trying them out for myself. Now I’m getting a bit further into it: I’m getting different components wired up to interact with each other. This is, of course, what Vue excels at, so I’m confident that I’m on the right path. I’ll have to do a bit of refreshing of my Vue knowledge, but that is undoubtedly a good thing.

I’m also excited that I have a more expanded data set to use for my current Quasar project, thanks to some nice data scraping work with Selenium by my colleague at BMCC. We have additional scraping to do before the application is fully functional, but if all goes well, it is possible that it could be ready in the next week or two. I hope that a further update will be forthcoming soon!

Posted in quasar, vue | Leave a comment

Firefox on a Chromebook

Google has caused a controversy these past few days by disabling uBlock Origin in the latest version of Chrome. uBlock is the most widely regarded browser-based ad blocker. “Disabling” may be the wrong word, as uBlock seems to still be partially functional. I won’t go into the details, because there’s plenty of more knowledgeable discussion elsewhere on the web.

What’s clear is that the direction of travel is not good. In my opinion, ad blocking is core browser functionality: it makes many websites more usable, but it also makes them safer by not delivering ad-based malware. So when my Chromebook updated to Chrome version 127 this afternoon, I was contemplating that it might become totally useless for me. I was thinking I might have to wipe it and sell it.

Installing Firefox would be a good solution, but seemed unlikely, if only because the word “Chrome” is right there in the name of the computer. Nonetheless it was worth exploring for lack of other good options. A search of the Google Play Store was not encouraging: there is a mobile Firefox app there, but it is not really suitable for my laptop format.

I then turned to the Debian container on my Chromebook. On Mozilla’s recommendation, I tried installing Firefox through Flatpak, which didn’t work, probably because of my lack of understanding of Flatpak. But then I went back to basics and ran:

sudo apt install firefox-esr

and all of a sudden I have working Firefox in both ChromeOS and in the Debian container! Success. I immediately installed uBlock Origin. The Chromebook lives to see another day.

Posted in chromebook, debian | Leave a comment

On sometimes needing to explicitly copy Python dicts

I recently ran into a Python problem that stumped me for a bit. I was looping through a list of dicts and modifying the dicts slightly, then appending them to a new list. But it wasn’t behaving like I thought it would. Despite my loop being extremely simple and easy to step through mentally, my new list wasn’t always receiving the correct dict. I was befuddled.

The problem was that Python was not making a copy of the dict with each loop. I was modifying the same dict over again in each cycle. Apparently, this is because Python doesn’t inherently implicitly copy objects. I needed to explicitly copy the dict, make my changes, and append the modified copy to the new list.

The working version looked like this:

for field in json_list:
    pl = field["Possible Locations"].split(",")
    for location in pl:
        modified_field = field.copy()
        modified_field["PossibleLocations"] = location.strip()
        output.append(modified_field)

The trick here was to add field.copy() to explicitly copy the dict. Problem solved.

Posted in python | 1 Response

Linkblog

I’ve created a new linkblog on Mastodon, which is to be a feed of interesting things I’ve found on the web. There’s not much there yet, as I only started it, uh, an hour ago; so please be patient. But the point is that I come across tons of interesting stuff in my RSS reader, but I don’t want to spam my main Mastodon account with links. So linkblog is there as an option for those who are interested. You can read it wherever you get your ActivityPub.

To power the linkblog, I reused the same code that I used for the fediverse feed for this blog. It’s dead simple Python: not super polished, but effective at doing what I need with minimal fuss. This is also me doubling down on RSS, which powers the linkblog. I’ve added a ton of academic journals to my RSS reader recently, as well as topped up my collection of blog feeds. Sharing my picks of the best from those feeds is the whole point of the linkblog.

Of course you can follow this project as an RSS feed too, if that’s your preference.

Posted in mastodon, rss | Leave a comment

Summer, again

Summer is upon us at the Kingsborough Library! The fiscal year has ended, commencement is over, and things have quieted down in the library. I had been really busy with revisions for some papers, but those are wrapping up now too. Time to think about some summer coding projects:

  • Implement Mind AR in our library AR tour game. I posted about this previously, but there is more work to do.
  • Work on projects for the Alma Extensibility Task Force. Some existing projects need updating and some newer projects are underway.
  • Learn more about Quasar. I started on this earlier, but there is much more to learn.
  • Work on updating our Primo pages. This is both really straightforward but also weirdly difficult, because Alma.

I have the feeling that other things will be added to this list. For example, we’ll see if there will be any developments with Springshare’s move to Bootstrap 5.

Posted in summer | Leave a comment

#blogjune

This year, like in past years, a handful of librarians are doing #blogjune, which is a challenge to blog every day for the month of June. I think it is a wonderful initiative. Each year it is an opportunity for me to add some great new feeds to my RSS reader. It helps reestablish a blogging community of a sort, which although much smaller than it used to be, still exists. It highlights the role of blogs in our profession, where I feel they still have a contribution to make.

Given my posts here, you can see that I’m not participating this year, other than as an interested reader. I just don’t have the speed of ideation to come up with a post every day. If I did, this blog would be far more active than it is. But I 100% support the #blogjune posters. I think this a good thing for our profession and for the web in general. At the very least, it’s an opportunity for all of us to learn a bit more about each other.

Posted in blog | Leave a comment

Thou

Me from earlier today on Mastodon:

There’s a certain type of compartmentalization to social media that I don’t like. For example: this account is only about static site generators, or this account is only pics of donkeys, or whatever. Do not like! I want to follow the person who is interested in static site generators AND donkeys. It’s guaranteed that they are much more interesting.

Behind this post is a vaguely remembered idea from Martin Buber[1] that speaking to others as thou is a fundamentally different experience than addressing them as it. When we experience others as a thing, as an it, we fail to engage with them as a person. On the other hand, for Buber, the thou is a transcendent experience. I’ll withhold my opinion on transcendence, but he certainly makes a point that applies to modern social media: when we treat people as objects, as accounts, as interests, as posts, we are not actually communicating with them. The it relationship may be quantifiable, commoditizable, and exploitable, but the thou relationship is not.

[1] Buber, Martin, and Walter Kaufmann. I and Thou. Charles Scribner’s Sons, 1970.

Posted in martin buber, social media | Leave a comment

JavaScript for teaching and learning

It turns out that JavaScript has proven more useful for my job than Python. I certainly use it more. I assume this is an inevitable result of being a Web Librarian. JavaScript has seeped into my professional life.

Part of me wishes this was different. If I were at a research institution, I might find more opportunities to exercise my Python skills. But I work at a community college, where most faculty are focused on teaching, publishing about teaching, and promoting student success. And what we need is web stuff. Librarianship — and teaching more generally — needs technologies built, brought online, wired together and supported. The opportunities to use JavaScript in this context are endless.

It is nice to see JavaScript projects take flight and exist on the web. JavaScript is as vast as the web, and there’s so much to explore.

Posted in javascript, language, python | Leave a comment
  • Subscribe to this blog

Skip to toolbar