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.

Fourteen written languages

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

Nothing is translated automatically when a page is opened. The site exists in fourteen separately written versions — Dutch, English, Spanish, German, French, Portuguese, Hebrew, Chinese, Arabic, Italian, Hindi, Persian, Japanese and Russian — each of which can be addressed in its own wording. The addresses are translated too: a Dutch page lives at /tools/calendar/, not behind an English path. Every page also points to its thirteen counterparts, so that search engines recognise one page in fourteen languages rather than fourteen separate, thin pages.

One builder, on my own computer

The site is built by a Python program that runs on my own computer: it reads the text files, performs the necessary calculations and writes the complete site to a folder. I upload that folder to the server. There is no admin page; the texts live in the source folder on my own computer, and nothing on the server can change a page.

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. The letters for other scripts are IBM Plex Sans Arabic, Hebrew and Devanagari, and Noto Sans for Japanese and Chinese. All of these typefaces (SIL Open Font Licence) are served from this domain, not from Google; so is everything else a page requires.

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 Google Analytics (GA4). Google receives data about your visit, such as the page visited, your approximate location and the type of device, and a cookie is placed in your browser. I use that data only for numbers and trends; it is not linked to your name or e-mail address.

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

The button on the page Following Yeshua (Jesus)

Anyone who indicates on Following Yeshua (Jesus) that they choose Yeshua (Jesus) is counted anonymously. Only a total, a number per country and a number per day are kept. The country is determined from the IP address; the address itself is not stored. To prevent double clicking, the server remembers until the end of the day an irreversible fingerprint of the connection, made with a key that is replaced every day and then thrown away, so that no one can trace the fingerprint back to a visitor; after that everything is erased. The button itself sets no cookies and loads no script from another party. This is the only part of the site that uses a small program on the server.

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.