Werner VorstmanInstruments for reading Scripture closely

Colophon

This page is about the site itself rather than its contents: what it is built from, how a page comes to be here, and what is recorded while you read. What the instruments do is described under method; the texts and datasets they rest on are listed under sources.

Fixed files, written out in advance

The site has no database and assembles no page at the moment you request it. Everything you can open is a finished file, written out beforehand and delivered unchanged. This is a deliberate choice. A page composed while it is being read can be slow, can fail while the rest of the site keeps working, and can show something different from what another reader sees without anyone noticing. With fixed files that cannot happen.

Two components are exceptions. The contact form is handled on the server, so that the delivery address appears nowhere in a page and cannot be picked up by an address harvester. The reading counter at the end of the strip below the header consists of a single integer in a single file, stored outside the part of the server that is reachable over the web; it records nothing beyond that number.

Three written languages

Each page consists of one text file per language, with a few lines at the top for the title and the summary. The articles are put together the same way.

Nothing is translated automatically at the moment of opening. The Dutch, the English and the Spanish are three separately written versions, each answerable for its own wording. The addresses are translated as well: a Dutch page is found at /nl/instrumenten/kalender/ and not behind an English path. Every page also points to its two counterparts, so that search engines recognise one page in three languages rather than three separate, thin ones.

Two builders that must produce the same output

The site is built by two programs that are required to produce identical output, byte for byte.

The first is a Python program running on my own computer: it reads the text files, carries out the necessary calculations and writes the complete site to a folder. The second is a PHP program in a password-protected part of the server. It allows a sentence to be corrected and the site rebuilt from a borrowed computer or a phone, with no installation and no upload.

Keeping two builders aligned takes maintenance, and that maintenance is done by measurement. After every change both programs run over the same source files and the output is compared file by file. A small number of files differ, and they are always the same ones: the pages carrying a table the server cannot compute for itself, and the sitemap, whose dates come from the file system. Any difference beyond those counts as a fault and is resolved before anything is transferred to the server.

What runs in the browser

Little, and all of it on your own device.

The strip below the header, showing the civil date, the biblical month and the next appointed day, is computed in the browser using the astronomical algorithms listed on the sources page. No calendar is retrieved from elsewhere: the same code that drives the calendar instrument fills that line.

Moria is a single file. All five analyses were computed in advance across the entire canon and packed into that file together with the texts, so that opening a verse retrieves nothing and records nothing. Once the file has loaded it continues to work without a network connection.

The day and night control follows your system setting until you depart from it. Only that departure is stored, and only on your own device. If you select the view your system already applies, the stored preference is removed rather than fixed.

Design

The site is set in IBM Plex Sans, with Cormorant Garamond for the name in the header and IBM Plex Mono for small figures. These three typefaces are retrieved from Google Fonts; everything else a page requires is served from this domain.

The menorah on the front page is drawn from the relief on the Arch of Titus in Rome and reduced to a single colour on a transparent ground. Its flames are computed rather than supplied as an image, as is the shadow on the moon.

What is measured

Visits are counted with Cloudflare Web Analytics. This is done without cookies: nothing is stored on your device and no identifier follows you from this site to another. For that reason no consent dialogue stands in your way; there is simply nothing here that requires consent.

The reading counter, described above, records only a total. It stores no address and places nothing on your device.

Technology and hosting

The site consists of static files behind Apache at a Dutch hosting provider. They are sent compressed and cached briefly, so that a correction becomes visible almost immediately. The application is the exception: it is large and changes rarely, and may therefore remain in the browser cache for a month, so that a returning reader does not have to download it again.

On how this was made. The substantive choices on this site are mine: what to build, which texts serve as the starting point, and where an argument stops. The software in which those choices are worked out — the builders, the instruments and the calendar — was written in collaboration with Claude, Anthropic's language model. I state this explicitly, because a site that asks to be checked should also be clear about its own making. It changes nothing about the standard applied: every figure here is computed from the sources named, and each method is accompanied by an account of where it falls short.