Not your first paper from iPRES2024: Design patterns in Digital Preservation: Declarative software for digital preservationists
![]()
ross spencer :: exponentialdecay.digipres :: blog
Digital preservation analyst, researcher, and software developer

![]()
In my post from 2012: Genesis of a File Format, I created a new file format – the Eyeglass file format. The format provides a mechanism to persist information about a patient’s eye health following a checkup at an opticians. Today in 2023 we can use the format to understand how to make use of Kaitai Structs for understanding file formats.
Given the disclaimer that I am not actually an optician and that the format is purely illustrative, let’s look at the eyeglass again below.
![]()
Back in 2017, I had an abstract accepted for a chapter in the ALCTS Monograph: Digital Preservation in Libraries: Preparing for a Sustainable Future. With my author’s copy now available, I take a look at the background and its genesis below. The complete monograph is a fascinating read with some great contributors. You can find it online at the ALA Store.
![]()
Following the previous posts, bringing this all together meant three different applications.
paintergoblin.py – creates the images, can be run standalonewikigoblin.py – retrieves data to tweet from the Wikidata SPARQL servicestwittergoblin.py – tweets for us! Either a random Wikidata image or from am existing Wikidata linkWe create Tweetable information using the wikigoblin. We perform the Tweet using twittergoblin. In between the paintergoblin has to create his art!
We’ve seen examples of the images from the original zine.
How do we turn this concept into something real, and automated?
![]()
One thing that held the Painter Goblin project back was finding a data source to get images from.
There are potentially hundreds of sources out there, but! The path of least resistance means that:
** A hackable URI is a URI pattern that can be cycled through using computational techniques, even if the underlying data isn’t entirely well-known. E,g, http://example.com/image/0001, http://example.com/image/0002, for subsequent pages, for lack of a more concrete example.
I wanted to explore heritage sources such as Europeana, TROVE, DPLA. I struggled to search these effectively though, and struggled to see how I might automate using them. I recognise they have APIs. I’ll revisit them in the future as I look to expand the Painter Goblin’s corpus.
Enter Wikidata.
![]()
Continuing the story of the Painter Goblin and following part one, the idea of a Twitter bot started to form earlier this year.
In part 2 I take a very brief look at what is needed to write a bot and get it publishing.
Learn more below.
![]()
Digital preservation is massively multi-disciplinary and it can take time to be able to grasp the skills and concepts cross-discipline, wherever you began your own training.
How do we develop the skills of new folk entering the field today?
How do we re-skill those who have worked in GLAM a long time in disciplines other than digital preservation?
These are questions I think about a lot. I dig into some of those thoughts below and take a look at one approach I worked on for students and very early-career professionals with flashcards using Brainscape.
![]()