Work notes 12022-01-14

Short day today; have to go carry heavy objects for people. Just a few things.


Cloned MuPDF to try and determine how hard it would be to use as a library for something. Saw it had a makefile. Typed “make”, expecting the usual shenanigans, but no. It just freaking compiled. And quick, too. Like: No CMake shit, no Configure script, none of that madness. Just a well crafted Makefile.

The thing is, this is so outstandingly rare that it should be celebrated. Bravo! Well done, whoever you steely-eyed missile men are who made this thing. Chapeau!

Also, it makes by default a static library (.a) and appears to have a very sensible API. Oh man, why can’t all software be this good?


Keeping track of academic papers can be super annoying, but DOI references (Digital Object Identifier) have made things quite a bit easier. However, so far there isn’t any good way to keep track of a list of references and treat it as an archive.

A few months ago, I started to collect DOI references for papers and such that I was reading into thematic files and started to craft a syntax for such files. The goals were to be hyperminimalistic, DOI-reference focused, and provider-agnostic. I’ve been calling these “DOI pack”, and more recently “DOIpak” files. The syntax is super simple:

:title:Agrophotovoltaics papers

10.1016/j.apenergy.2020.114737      # Comment

# Comment

Essentially, it just contains the DOI references and you have an optional ability to add line-comments anywhere (#) and metadata key-value pairs at the beginning of a line with :. Keys must not contain :, but values may; however, currently, values may not contain newline characters. I might expand this later, but again, this is aiming for maximum simplicity for now.

This morning, wanting a small break from the GRIB madness, I worked on my DOI tool a bit. It’s modeled a bit after apt, with commands like doi get 10.1016/j.apenergy.2020.114737 and doi fetch agrophotovoltaics.doipak. It has configurable backends for different academic paper sources. It also is nowhere near ready to be made public. But soon, I hope.

Some features I want:

  • List – collect and show various metadata relating to the entries in a DOIpak (or an individual reference)
  • DOIpak to BibTeX – output BibTeX definitions for the entries in a DOIpak file.
  • Assemble – proably the wrong name, but, assuming the DOI references are to PDFs, fetch those PDFs and make a single handy PDF from them. This can often simplify reading a stack of stuff.
  • Compile – gather all the documents together into a folder, archive or something.
  • View – literally just fetch and view all of the documents.

GRIB progress

Speaking of GRIB, I fixed the date thing. Yay. Probably tomorrow I can start finally doing something with the data. Probably.