Recent projects
JSONID
JSONID is a novel file format identification utility that parses serialization and deserialization (serde) formats such as JSON and YAML into memory to enable identification through key-value pairs and other internal data structures. A journal article describing the tool in greater detail is complete, and I am just looking to find a suitable outlet for it. JSONID combines my years of digital preservation and Python experience to bring to life a reliable method of identifying these foundational formats and their implementations as document types. JSONID combines many of the good-practice techniques I have learned and developed along the way.
Arkly and Orcfax
As a senior systems architect, I am responsible for coordinating the rollout of Orcfax's technology stack, liaising with colleagues across the team to implement a decentralized oracle solution for the Cardano blockchain. Arkly provides a simple API for the Arweave network, and we anticipate it can become a decentralized archiving solution based on the novel findings of the Orcfax project. Orcfax is currently federated across 10 mainnet nodes and 4 pre-production nodes, and we are working toward a fully peer-to-peer decentralized system. Our use of blockchain technological primitives have demonstrated their likely worth in archival contexts and I look forward to exploring these further.
Development of AtoM guidance for PARBICA
Working with former colleagues at Archives New Zealand, I was hired to help develop guidance for implementing AtoM (Access to Memory) within member organizations of the Pacific Bureau of the ICA (PARBICA). My role here leant on my software development experience at Artefactual Systems Inc. working with Archivematica and AtoM, as well as my ability to communicate clearly, and my burgeoning skills as senior system's architect. With the resources we had available we made hosted AtoM instances available for demonstration and training purposes, and held workshops with colleagues at Pacific archives to learn more about their use cases and limitations that might affect implementation. A 25-page guidance note was developed to cover aspects of implementation, maintenance, and potential usage of AtoM should the solution be adopted by the Pacific Island organizations.
Skills and experience
End to end workflows
I have experience designing and documenting end-to-end ingest and preservation workflows with an emphasis on recording and maintaining digital prevenance. I am able to write new tools and connect with existing ones through APIs, programming libraries, or command-line interfaces to create end-to-end workflows to achieve different goals. I am comfortable with complexity, and I am able to execute solutions through careful analysis, discussion of user needs, and compartmentalization of issues with sensible iterations of steps to achieve what we need.
Training
I have developed and delivered training across my various roles to colleagues and external stakeholders. I have delivered training in different contexts and cultures. It is a goal of mine to continue democratizing tools and techniques, and making knowledge accessible, especially in the field of digital preservation. I try to build didactic methods into the tools I write, and I continue to look for the best way to deliver long-lasting, multi-use, sustainable, and extensible training to groups and individuals.
File format analysis
At my heart, I remain a file format analyst with a keen understanding of data structures and reverse engineering through my many years working in low-level programming languages (primarily Golang and C++, with long-term experience in Python, and an ability to easily switch to other languages like PHP and vanilla JavaScript). I write extensively about file formats and digital preservation, and I have experience writing tools to parse file formats for different purposes. I also look at file formats from a high-level perspective, having previously developed advice and guidance on format specifications to use, and I continue to experiment with file formats for different reasons, such as maintainability or robustness.