# Work notes 12022-01-14

Contents

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

## MuPDF

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?

## DOIpaks

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:

 1 2 3 4 5 6 7 8  :title:Agrophotovoltaics papers :: 10.1016/j.apenergy.2020.114737 # Comment 10.1016/j.agrformet.2013.04.012 10.1016/j.seta.2017.08.004 # 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.