Werner VorstmanInstrumenten om de Schrift nauwkeurig te lezen

Colofon

Deze bladzijde gaat over de site zelf en niet over wat erop staat: waaruit hij is opgebouwd, hoe een bladzijde hier terechtkomt en wat er wordt vastgelegd terwijl je leest. Wat de instrumenten doen is beschreven onder methode; de teksten en gegevens waarop ze rusten staan onder bronnen.

Vaste bestanden, vooraf uitgeschreven

De site heeft geen database en stelt geen enkele bladzijde samen op het moment dat je hem opvraagt. Alles wat je kunt openen is een afgerond bestand dat van tevoren is uitgeschreven en ongewijzigd wordt doorgegeven. Daar is bewust voor gekozen. Een bladzijde die pas tijdens het lezen wordt opgebouwd kan traag worden, kan uitvallen terwijl de rest van de site blijft werken, en kan zonder dat iemand het merkt iets anders tonen dan wat een andere lezer te zien krijgt. Bij vaste bestanden is dat uitgesloten.

Twee onderdelen vormen hierop een uitzondering. Het contactformulier wordt op de server afgehandeld, zodat het afleveradres nergens in een bladzijde staat en niet door een adressenverzamelaar kan worden opgepikt. De leesteller aan het einde van de strook onder de kop bestaat uit één geheel getal in één bestand, opgeslagen buiten het gedeelte van de server dat via het web bereikbaar is; hij houdt niets anders bij dan dat aantal.

Drie geschreven talen

Elke bladzijde bestaat uit één tekstbestand per taal, met bovenaan enkele regels voor de titel en de samenvatting. De artikelen zijn op dezelfde manier opgebouwd.

Er wordt niets automatisch vertaald op het moment van openen. Het Nederlands, het Engels en het Spaans zijn drie afzonderlijk geschreven versies, die elk op hun eigen formulering aanspreekbaar zijn. Ook de adressen zijn vertaald: een Nederlandse bladzijde staat op /nl/instrumenten/kalender/ en niet achter een Engels pad. Elke bladzijde verwijst bovendien naar haar twee tegenhangers, zodat zoekmachines één bladzijde in drie talen herkennen in plaats van drie afzonderlijke, magere bladzijden.

Twee bouwers die dezelfde uitvoer moeten geven

De site wordt gebouwd door twee programma’s die tot op de byte dezelfde uitvoer moeten opleveren.

Het eerste is een Python-programma dat op mijn eigen computer draait: het leest de tekstbestanden, voert de benodigde berekeningen uit en schrijft de volledige site naar een map. Het tweede is een PHP-programma in een met een wachtwoord afgeschermd deel van de server. Daardoor kan een zin worden gecorrigeerd en de site opnieuw worden gebouwd vanaf een geleende computer of een telefoon, zonder installatie en zonder upload.

Twee bouwers gelijk houden vraagt onderhoud, en dat onderhoud gebeurt door te meten. Na elke wijziging draaien beide programma’s over dezelfde bronbestanden en wordt de uitvoer bestand voor bestand vergeleken. Een klein aantal bestanden verschilt, en dat zijn steeds dezelfde: de bladzijden met een tabel die de server niet zelf kan berekenen, en de sitemap, waarvan de datums uit het bestandssysteem komen. Elk verschil daarbuiten geldt als fout en wordt verholpen voordat er iets naar de server gaat.

Wat er in de browser gebeurt

Weinig, en alles op je eigen apparaat.

De strook onder de kop, met de burgerlijke datum, de bijbelse maand en de eerstvolgende feestdag, wordt in de browser berekend met de astronomische algoritmen die op de bronnenbladzijde staan vermeld. Er wordt geen kalender van elders opgehaald: dezelfde code die het kalenderinstrument aandrijft, vult die regel.

Moria is één bestand. Alle vijf analyses zijn vooraf over de gehele canon berekend en samen met de teksten in dat bestand opgenomen, zodat het openen van een vers niets ophaalt en niets vastlegt. Zodra het bestand is geladen, blijft het werken zonder netwerkverbinding.

De knop voor dag- en nachtweergave volgt de instelling van je systeem tot je daarvan afwijkt. Alleen die afwijking wordt bewaard, en uitsluitend op je eigen apparaat. Kies je opnieuw de weergave die je systeem al hanteert, dan wordt de opgeslagen voorkeur verwijderd in plaats van vastgelegd.

Vormgeving

De site is gezet uit IBM Plex Sans, met Cormorant Garamond voor de naam in de kop en IBM Plex Mono voor kleine getallen. Deze drie lettertypen worden bij Google Fonts opgehaald; al het overige dat een bladzijde nodig heeft, komt van dit domein zelf.

De menora op de voorpagina is getekend naar het reliëf op de Titusboog in Rome en teruggebracht tot één kleur op een doorzichtige ondergrond. De vlammen zijn berekend en niet als afbeelding aangeleverd, evenals de schaduw op de maan.

Wat er wordt gemeten

Bezoeken worden geteld met Cloudflare Web Analytics. Dat gebeurt zonder cookie: er wordt niets op je apparaat opgeslagen en er is geen kenmerk dat je van deze site naar een andere volgt. Om die reden staat er geen toestemmingsvenster in de weg; er is eenvoudigweg niets waarvoor toestemming nodig is.

De leesteller, hierboven beschreven, registreert alleen een aantal. Hij legt geen adres vast en plaatst niets op je apparaat.

Techniek en hosting

De site bestaat uit statische bestanden achter Apache bij een Nederlandse hostingpartij. Ze worden gecomprimeerd verstuurd en kort in de cache gehouden, zodat een correctie vrijwel direct zichtbaar is. De toepassing vormt daarop de uitzondering: die is groot en verandert zelden, en mag daarom een maand in de cache van de browser blijven staan, zodat een terugkerende lezer haar niet opnieuw hoeft te downloaden.

Over de totstandkoming. De inhoudelijke keuzes op deze site zijn de mijne: wat er gebouwd wordt, welke teksten als uitgangspunt dienen en waar een redenering ophoudt. De programmatuur waarin die keuzes zijn uitgewerkt — de bouwers, de instrumenten en de kalender — is geschreven in samenwerking met Claude, het taalmodel van Anthropic. Dat vermeld ik hier expliciet, omdat een site die vraagt om nagerekend te worden ook over haar eigen totstandkoming duidelijk hoort te zijn. Aan de maatstaf verandert het niets: elk getal op deze site is berekend uit de vermelde bronnen, en bij elke methode staat vermeld waar zij tekortschiet.