Veel zaken in onze maatschappij volgen een cyclische of slingerbeweging, zoals mijn geschiedenis met het maken van webpagina’s. Mijn huidige werkwijze moet op de schop en er is een grote kans dat ik terugkeer naar zogenaamde statische webpagina’s.

hetlab logo
Henk van de Kamer

 

In Het Lab van februari 2003 (PC-Active #156) schreef ik over mijn eerste aanraking met het internet. Dat was ergens midden 1992 op een acht jaar oude Olivetti M24 – een 8086-processor en minder dan een megabyte geheugen – en een 2400 bps modem. Je begrijpt dat op dit soort oude hardware geen grafische browser draait. Daarom schreef ik het volgende: “De huidige generatie denkt dat internet en web synoniemen van elkaar zijn, maar niets is minder waar!”

Eerste browser
Onlangs vertelde ik deze anekdote aan een smartphonegebruiker. De rekenkracht en het geheugen van zo’n telefoon is vele malen meer dan de opstelling die ik hierboven beschreef. Idem voor de snelheid dankzij 5G. Ook de grafische resolutie van het in mijn ogen nog steeds minuscule schermpje is een wereld van verschil. In de discussie die volgde, kwam onvermijdelijk de vraag wanneer het wereldwijde web is ontstaan. Ergens in 1994 maakte ik mijn eerste webpagina, ofwel mijn antwoord was eind 1992 of begin 1993.

Thuisgekomen besloot ik om het voor alle zekerheid te verifiëren. De aangehaalde zin uit de oude aflevering is nog steeds juist, maar mijn eerste ervaringen met het internet had met een browser kunnen zijn. Tim Berners-Lee heeft volgens eigen zeggen een paar jaar rondgelopen met het idee om een wereldwijd web te maken. Of beter: een systeem om wetenschappelijke informatie wereldwijd toegankelijk te maken. De eerste memo hierover werd op 12 maart 1989 verstuurd en op 20 december 1990 was de eerste website een feit. Het team had daarvoor een webserver, webeditor en een webbrowser geprogrammeerd.

            Tim Berners Lee 1
 

 Tim Berners-Lee en het begin van het wereldwijde web 
(Foto: CERN / Science & Society Picture Libr)

Die webbrowser inspireerde Marc Andreessen en Eric Bina tot het programmeren van NCSA – de organisatie waar beiden werkten – Mosaic, dat midden 1993 het levenslicht zag. Uiteraard voor Unix – voor de xmosaic window manager, vandaar de naam –, maar al snel volgende een port naar Windows 3.x en Macintosh. Een jaar later werd Netscape opgericht en de broncode gebruikt voor het maken van Netscape Navigator. Uiteindelijk is die weer gebruikt voor het maken van Firefox.

Webpagina
Zoals gezegd moet ik mijn eerste webpagina in 1994, mogelijk eind 1993 hebben gemaakt. In die tijd was ik met een aantal anderen bezig om na te denken over een menusysteem voor een cd-rom. Daarvoor hypertekst gebruiken sprak ons aan. Dit werken aan een cd-rom leidde uiteindelijk tot een baan bij PC-Active waar de uitgever eind 1995 de maandelijkse diskette door een cd-rom wilde vervangen. Dat menusysteem werd de eerste jaren gemaakt in Toolbook, maar uiteindelijk stapten we over naar HTML-pagina’s.

Mijn ervaringen met HTML en Javascript – gebruikt voor het maken van een lezersonderzoek – bleven bij knutselen. Een serie webpagina’s die naar elkaar linken is gemakkelijk te maken. Maar uiteindelijk willen we een algemenere navigatie, ofwel een menu waarmee we snel terug kunnen keren naar een beginpunt. Uiteraard had Microsoft hiervoor het programma Frontpage in de aanbieding. Maar zoals met veel van hun producten gebeurt de magie op de achtergrond en kunnen we deze nauwelijks sturen. Ik ben iemand die zelf bepaalt hoe dingen geautomatiseerd worden, oftewel: Frontpage is overduidelijk niet voor mij bedoeld.

Omwegen
Mijn zoektocht voerde langs het programma GDIdb en ASP – Active Server Pages – op een Windows 2000-server. GDIdb gebruikt templates met programmeerinstructies en daarmee ben ik in mijn element. Hiermee is destijds voor de uitgeverij veel geautomatiseerd. Ook voor de websites, want in die tijd mochten we van onze provider niet zelf zaken automatiseren in het aanwezige Perl. Dus: GDIdb spuwde HTML uit die via FTP naar de server werd geüpload.

Net voordat dit systeem te beperkend werd, kregen we van Microsoft een Windows 2000 Server-licentie. Omdat de redactie in die tijd een internetverbinding had via een huurlijn, hebben we het bedrijf dat deze beheerde voor het blok gezet. Die Windows 2000-server moest permanent met het internet worden verbonden. Omdat zij dit veel te onveilig vonden – achteraf onzin, wie een server goed beheert kan ook Windows veilig maken en houden – maakten we een testnetwerk via een Cisco-router met een tweede netwerkaansluiting.

Uiteindelijk is alles overgezet naar ASP. Prima voor een menusysteem, maar zodra je meer wilt, moet je je gaan verdiepen in COM – Component Object Model. Als je niet weet waar ik het over heb, prijs jezelf gelukkig. De Microsoft-manier om code her te gebruiken is veel complexer dan nodig. Toen mij dit duidelijk werd, was ik privé al aan het overstappen naar Linux. De meeste logische keuze om een simpel menusysteem voor een website te maken, was – en is? – dan PHP.

Labjournaal
In augustus 2002 had ik voldoende kennis om een labjournaal te maken. In feite een HTML-bestand per maand met wat PHP-code voor het menu. Nu is het schrijven van teksten en tegelijk opmaken in HTML niet de meest handige werkwijze. Na een paar jaar was het digitale labjournaal weer een stapel papier, omdat ik geen tijd had om de aantekeningen te verwerken…

Dat veranderde begin 2006 met het ontdekken van WordPress. Het invoeren is nu vergelijkbaar met een tekstverwerker waar je knoppen of menu’s gebruikt voor de opmaak. Helaas probeert het systeem ‘intelligent’ mee te denken, waardoor de uiteindelijke HTML-code een zooitje wordt. Het ziet er leuk uit, maar probeer het niet te valideren.

Gelukkig ontdekte ik dat het mogelijk was om al die knoppen en menu’s te negeren en zelf de vertaalslag te programmeren. Dat leverde mijn eigen WikiSteno op, dat losjes is gebaseerd op Markdown. Ofwel: een woord vet maken is niet <b>let op</b> maar *let op*. Dat laatste is twee extra tekens tijdens het invoeren tegen zeven voor de HTML-versie.

Screenshot hetlab.tk

Artikelen
WordPress is leuk, maar deze en de achterliggende PHP-basis up-to-date houden kost te veel tijd. Tijd die ik liever aan experimenten besteed. Tel daarbij op dat ontwikkelaars regelmatig hun interface veranderen en meestal niet ten goede. Na elke update ben ik vaak minimaal een dag aan het mopperen – laat ik het netjes uitdrukken – om het allemaal weer bruikbaar te maken.

Zoals gezegd heeft WordPress ervoor gezorgd dat ik tegenwoordig al mijn onderzoek meteen bijhoud in berichten. Op basis daarvan schrijf ik artikelen of boeken, maar lang niet alles kan ik op papier gepubliceerd krijgen. De rest zou ik dus graag online doen. Wie echter de artikelen-sectie op mijn website bezoekt, ziet dat dit een ondergeschoven kindje is. Voor artikelen heb ik – dat kan voor jou anders zijn – voor het ordenen van mijn gedachten een rudimentaire opmaak nodig in de vorm van koppen, commando’s en code. Nu heeft WordPress een visuele editor, maar ook die maakt te veel fouten in de uiteindelijke HTML-code.

Statisch
Begin dit jaar (https://www.hetlab.tk/het-lab/statische-webpaginas) ontdekte ik een nieuwe ontwikkeling waarmee we uiteindelijk weer terug bij af zijn. ASP en PHP geven dynamische webpagina’s, wat inhoudt dat deze worden gegenereerd op het moment dat je ze bezoekt. Dat kost rekenkracht op de server en voor grote websites is dat een beperkende factor aan het worden. Vandaar dat zij overstappen naar een Content Delivery Network (CDN) en die werken beter met statische webpagina’s. Met andere woorden: het resultaat van programma’s zoals Frontpage en GDIdb... Uiteraard is hier veel verbeterd. Bijvoorbeeld gebruikmaken van Git om zo gemakkelijk terug te kunnen naar een oudere versie. Maar uiteindelijk worden statische HTML-pagina’s gegenereerd en naar de server – of rechtstreeks naar het CDN – geüpload.

Ik zie voor mijzelf veel voordelen om terug te keren naar statische webpagina’s. Het labjournaal kan ik gemakkelijk bijhouden in een platte tekstverwerker. De artikelen kan ik gewoon in LibreOffice schrijven, net zoals voor de papieren versies. Weliswaar verstopt in een zip-archief, is dit eveneens platte tekst. De stijlen of codes kan ik via een Bash-script converteren naar dezelfde opmaak als het labjournaal. Waarna het systeem vervolgens alles kan verwerken en uploaden zodra er nieuwe content is toegevoegd. Uiteraard zijn er nog een paar kleine zaken waar ik over moet nadenken, maar ik ga dit idee de komende maanden verder onderzoeken. Ondertussen vind je me op www.hetlab.tk