Down the Code Mine

Ruminations of a software developer

  • Home
XProc

Routing Success and Failure in XProc 3.0

An example of how to route success and failure from try/catch in XProc 3.0 to different Output Ports.

  • Adam Retter
    Adam Retter
4 min read
OpenBSD

Running OpenBSD 7.4 under UTM on macOS

I had some difficulty with installing and running OpenBSD 7.4 (and previously 7.3) under UTM on macOS. My main issue appears to be that OpenBSD cannot access the Mouse or Keyboard

  • Adam Retter
    Adam Retter
4 min read
RISC-V

Ubuntu RISC-V 64 Guest on an x86_64 KVM Host

Ubuntu's uvtool utility is fantastic for easily creating small Cloud VMs (Virtual Machines). Sadly, it didn't yet support creating VMs that provide RISC-V emulation on x86_64 hosts. However, with a little bit

  • Adam Retter
    Adam Retter
4 min read
AWS

AWS Client VPN with Manually Provisioned Certificates using Terraform

This is a brief explanation of how to use Terraform to setup an AWS CVPN (Client VPN) where the certificates (for VPN authentication) are manually provisioned by yourself and then uploaded into ACM

  • Adam Retter
    Adam Retter
13 min read
Terraform

AWS Client VPN with Managed Certificates using Terraform

This is a brief explanation of how to use Terraform to setup an AWS CVPN (Client VPN) where the certificates (for VPN authentication) are entirely generated and managed by AWS.The advantage of

  • Adam Retter
    Adam Retter
8 min read
Java

Processing Historical Dates

In Project Omega at The National Archives processing of Historical Dates is complicated if the context of the dates is unknown. Software Engineers must consider, Calendars, Time-zones, and Geography. This is further compounded when tools (e.g. Java) take different/unexpected approaches to dates.

  • Adam Retter
    Adam Retter
14 min read
RDF

Reusing Standard RDF Vocabularies - Part 2

Following on from Part 1, we look at a further example of trade-offs and compromise that I made with regards to reusing existing RDF vocabularies in Project Omega at The National Archives; thus reinforcing our earlier position on reuse through a different example.

  • Adam Retter
    Adam Retter
7 min read
RDF

Reusing Standard RDF Vocabularies - Part 1

For Project Omega at The National Archives, we are reusing existing RDF vocabularies for our new Catalogue. I examine what happens when a suitable property or class cannot be found within an existing vocabulary, and weigh-up the different approaches and compromises that may need to be made.

  • Adam Retter
    Adam Retter
7 min read
Archive

Extreme Identifiers (for use in URIs)

Recently I have been thinking about how Identifiers for things should be constructed. More specifically, as part of Project Omega for TNA (The National Archives), I have been thinking about identifiers for resources

  • Adam Retter
    Adam Retter
5 min read
nationalarchives

Archival Identifiers for Digital Files

When considering development of a new archival catalogue that can describe both physical, digitised, and born digital records, we quickly realised that unlike its predecessors this catalogue will also need to describe digital files. This blog post looks at using Content Identifiers for Digital File.

  • Adam Retter
    Adam Retter
5 min read
The National Archives

Archival Catalogue Record Identifiers

For The National Archives, we examine existing schemes for identifying Archival Catalogue Records. We then propose a new modern scheme suitable for use by both humans and URI for Linked Data: Omega Catalogue Identifiers.

  • Adam Retter
    Adam Retter
17 min read
Open Source

Business Source License Adoption

I have been following the re-licensing upheaval which has been happening with Open Source database software over the last few years. Last year, I gave a couple of small talks on the subject

  • Adam Retter
    Adam Retter
7 min read
ETL

RDF Plugins for Pentaho KETTLE

For The National Archives we developed and open sourced custom workflow step plugins for Pentaho Kettle which use Apache Jena to allow you to generate RDF output.

  • Adam Retter
    Adam Retter
5 min read
powerlevel10k

The Shell on my Mac

On my previous Mac I used powerlevel9k to both give my shell a nice look, and to add some extra metadata to my prompt when working with git repositories (which for me is

  • Adam Retter
    Adam Retter
3 min read
ETL

Pentaho KETTLE and SQL Server

BackgroundI have recently started on a Proof-of-Concept project where I have been asked to investigate replacing their ageing application with something more modern. Their current application is built using classic ASP 1.0

  • Adam Retter
    Adam Retter
2 min read
hetzner

KVM Virtualisation on a Hetzner Server

Getting KVM Virtualisation setup correctly in a bridged network configuration on a Hetzner dedicated server can be tricky. This article documents how I achieved it.

  • Adam Retter
    Adam Retter
5 min read
soyoustart

Trying out Hetzner for Dedicated Servers

I had been a happy customer of SoYouStart for approximately 5 years. When server stocks at SoYouStart ran low, I looked around and found Hetzner. In this article I look at setting up a Hetzner dedicated server and how it comapres to SoYouStart.

  • Adam Retter
    Adam Retter
5 min read
XML Schema

Xerces XML Schema 1.1 validation with Maven

Whilst working on migrating the eXist-db project from Ant to Maven, I had an issue whereby our tests for XML Schema 1.1 validation started failing. In my pom.xml I had the

  • Adam Retter
    Adam Retter
3 min read
XPath

Haskell I/O and XPath

Through my own fault of being overly enthusiastic, and holding the general belief that there is always a better way with anything technology based... it's just that nobody implemented it yet! I decided

  • Adam Retter
    Adam Retter
12 min read
eXist-db

BLOB Deduplication in eXist-db

I have recently completed work on a new BLOB (Binary Large Object) store for eXist-db which along with a couple of other changes replaces its previous Binary Document storage facility. The initial goal

  • Adam Retter
    Adam Retter
11 min read
VPN

On-demand VPN (for a Digital Nomad)

Explains how to setup a personal on-demand VPN in the cloud using AWS and EC2. Particularly well suited for digital nomads.

  • Adam Retter
    Adam Retter
9 min read
typescript

TypeScript Holiday

Q: Are you an experienced TypeScript developer who would like to mix some conversation and coding, with some time to relax and explore Malaysia and Singapore?Q: Are you free between 21st October

  • Adam Retter
    Adam Retter
4 min read
GraalVM

GraalVM UTF-8 Validation

Experimenting with GraalVM and its native-image tool to speed up UTF-8 Validation in Java

  • Adam Retter
    Adam Retter
6 min read
EXPath

EXPath and Asynchronous HTTP

Recent work on an improved HTTP Client started by Christian GrĂ¼n in the EXPath Community Group has reignited the spark of collaboration for Open Source XPath extensions. Whilst Christian and I were openly

  • Adam Retter
    Adam Retter
4 min read
eXist-db

Preventing Large Range Counts from Crashing eXist-db

To stop an OutOfMemoryError in eXist-db with large item sequences, I employed further lazy evaluation and streaming to fix the problem.

  • Adam Retter
    Adam Retter
6 min read
Down the Code Mine © 2025
Latest Posts Twitter Ghost