Skip to content


Using the Zotero API

For a while I was accumulating articles I wanted to read in a collection in Zotero, which is where I keep track of articles, blog posts, etc. that I've read (see Markdown notes from Zotero).

I recently decided I had a better place to keep these (basically a text file of URLs), so needed to extract the URLS from Zotero, and then delete the items from the collection. The collection size was a few hundred, so not a job to do manually; but the Zotero API was something I wanted to have a look at anyway.

So this post describes getting the URLs for all of the items in a Zotero collection, and deleting the items, using the Zotero web API.

Logging Spotify data with Spotifyd

I set up Spotify in the terminal the other day, and now I'm interested in logging what I play locally so I can do my own stats (kind of a roll-your-own Spotify Unwrapped). There's no way to get the data on every track you've played from Spotify so that you can manipulate the data yourself (the API will return the last 50 played tracks at most). However, as I'm using Spotifyd, I can use that - here's how.

A toy Monte Carlo criticality code

Here's a quick implementation of a Monte Carlo neutron transport code for calculating the criticality eigenvalue (i.e. \(k_{\mathrm{eff}}\)) for a fissile system (in slab geometry).

This complements other 1D toy codes for radiation transport I've written: snes, which calculates \(k_{\mathrm{eff}}\) using the (deterministic) discrete-ordinates method, and fcimc, an implicit Monte Carlo thermal radiation code that models a Marshak wave in an optically thick medium.

Obsidian and Foam side-by-side

For a while I've been using Foam, which is basically a VSCode extension plus a template Git repository, as my note-taking / personal knowledge management system. A little while after getting started with this I came across Obsidian, which is a popular dedicated note-taking app. This post compares the two.