Who I am

From HTML for Dummies to MediaWiki architect.

Twenty years ago it started with a book from the Bruna bookshop. What followed was two decades of building, breaking and rebuilding: from my own servers on a home computer to the art atlas of A-Pack, supported by the French Ministry of Culture.

The through line

Three things that stayed the same for twenty years.

MediaWiki

In 2004 for a Splinter Cell walkthrough. In 2008 for buzet.nl, captured by the Internet Archive. In 2021 for a public sector organisation. In 2025 for the art atlas of France. The same platform every time, an order of magnitude heavier every time.

Running the infrastructure myself

XAMPP and MySQL on the family computer, Hamachi as the network so friends could connect, private servers I kept up myself. Now Docker with nginx, php-fpm and MySQL 8, with a self test of twenty eight checks that says whether the stack is sound.

Building tools so someone else can take over

That is the third one, and it has become the most important. A migration is finished when the site runs. I do not think that is enough: the platform has to be able to keep itself clean once I am gone.

Timeline

20+ years. One common thread.

  1. 2003

    HTML for Dummies. Bought at the Bruna bookshop.

    My mother bought the book. From that moment on I was trying everything out. Paint, Windows Movie Maker, Adobe Premiere. Everything that could be customised got customised. This was the start of twenty years of work.

    • Origin story
    • HTML voor Dummies
    • Bruna
    • Paint
    • Windows Movie Maker
    • Adobe Premiere
  2. 2004

    MySQL in primary school. MediaWiki for GTA and Splinter Cell.

    At the age of ten I set up my own GTA San Andreas multiplayer servers via SA-MP. Running XAMPP and MySQL locally. Hamachi as a virtual network so friends could join. At the same time I set up MediaWiki for the GTA Games community and built a Splinter Cell walkthrough wiki with 5,000 pages. Nobody at school knew what a database was.

    • 10 years old
    • MediaWiki
    • GTA Games
    • Splinter Cell
    • 5,000 pages
    • MySQL
    • XAMPP
    • Hamachi
    • SA-MP
    • GTA San Andreas
  3. 2005

    Habbo Hotel private server and Sulake scripts

    Set up my own Habbo Hotel private server with an emulator, MySQL database and XAMPP. Coded and customised Sulake scripts. Hamachi as a virtual network so others could connect. Recreated the backend of a platform with millions of users on a home computer.

    • Habbo Hotel
    • Sulake scripts
    • Private server
    • Hamachi
    • Emulator
  4. 2006

    Rockstar North mods and RuneScape private servers

    Created mods for Rockstar Games North titles. Founded and managed my own RuneScape private servers, including database, player management and community. Server infrastructure set up and kept running entirely independently.

    • Rockstar North
    • Game mods
    • RuneScape
    • Private server
  5. 2007

    Building forums for real people

    Set up and managed IP.Board and Invision Power Board forums for multiple communities. Including a forum specifically for people with autism. Hosted and managed e107 and Joomla. The technology started connecting people who otherwise found that difficult.

    • IP.Board
    • Invision Power Board
    • e107
    • Joomla
    • Autism forum
  6. 2008

    It is still in the archive

    On 9 February 2008 the Internet Archive captured a MediaWiki on buzet.nl, in Dutch, with a main page, navigation, history and a link to the mailing list for new releases. The captures around it hold an SMF forum with boards for filming and editing, a browser game with a signup page and house rules, and a news page with a staff column. Fifteen captures of the front page, and 121 separate URLs of the domain in total. Nobody has to take my word for it.

    • Internet Archive
    • buzet.nl
    • MediaWiki
    • SMF
    • e107
    • Browser game
  7. 2009

    First commercial websites

    WordPress and e-commerce for paying clients. Hosting set up and managed. Five years of experimenting in game communities turned out to be directly applicable in business. First professional assignments completed.

    • WordPress
    • E-commerce
    • Hosting
    • Clients
  8. 2016

    Shopify and professional video editing

    Shopify webshops for clients. Adobe Premiere used professionally for video editing, a craft that started with Windows Movie Maker back in 2003. E-commerce and video combined into a complete package for entrepreneurs.

    • Shopify
    • E-commerce
    • Adobe Premiere
    • Video
  9. 2018

    Biggest champagne seller on Bol.com. National news coverage.

    Obtained the Zomerondernemer 2018 diploma. Entrepreneur in exclusive champagnes, B2B. At the time the biggest seller of champagne on Bol.com. The concept attracted national media attention: in the newspaper, on RTV Hattem, RTV Oost and BNR Radio. A trial period that lasted until mid 2021. Proof that entrepreneurship and visibility go hand in hand.

    • Zomerondernemer
    • Diploma
    • B2B Champagne
    • Bol.com
    • Newspaper
    • BNR Radio
    • RTV Hattem
    • RTV Oost
  10. 2021

    The start of the government work

    Ultra-complex MediaWiki environments for large government organisations. What I had been doing out of curiosity for years became the work itself.

    • Government
    • MediaWiki
    • Knowledge base
  11. 2023

    Custom work for entrepreneurs with a vision

    Built a catering website, and a site for a traditional barbershop in Fojnica in Bosnia. Clients who know what they want and are looking for a partner who can build it.

    • Catering
    • Barbershop
    • Fojnica
    • Bosnia
  12. 2025

    The art atlas of France, rescued rather than rebuilt

    A hacked MediaWiki 1.26.4 from 2015 brought to 1.39.10 in stages, from PHP 7.4 to 8.3 and from MySQL 5.7 to 8.0. Forty three extensions had to come along, and several of them were put on PHP 8 by hand. The database was repaired in place rather than rebuilt, because twenty years of editorial work cannot be rebuilt.

    • atlasmuseum
    • France
    • MediaWiki 1.39.10
    • PHP 8.3
    • MySQL 8
    • Docker
  13. 2026

    A system that measures itself

    This site is the front of a measuring system that visits robertblok.com and rbck.nl every quarter of an hour and atlasmuseum.net every hour, with a real Chromium. Every measurement is stored as an immutable record in a hash chain, and the site lets you recompute that chain in your own browser. Alongside it I am building a multi tenant SaaS for the funeral sector, not yet launched and described anonymously for that reason.

    • Platform
    • PostgreSQL
    • Hash chain
    • SKIP LOCKED
    • Chromium
    • SaaS

Chapter 1

It is still in the archive

I no longer remember exactly when I started. The Internet Archive does.

On 31 August 2007 it captured buzet.nl, a site for young people that I ran myself. Over the following eighteen months there are fifteen captures, and in them you can watch it get out of hand. A community with polls and an RSS feed. An IP.Board forum, licensed to my own domain. Then an SMF forum with subforums for filming and editing. A browser game with a signup page and house rules you had to tick. A news page with a staff column.

And on 9 February 2008, a MediaWiki. In Dutch. Main page, navigation, history, personal settings, a link to the MediaWiki mailing list for new releases.

I was not trying to start a career. I wanted it to work.

Fifteen captures between 31 August 2007 and 14 April 2026. Below are the seven that are written out, with the path, because the path gives away which package was running underneath.

Captures of buzet.nl in the Internet Archive
DatePathWhat was runningWhat is on the page
View the capture of 31 August 2007 in the Internet Archivebuzet.nlBuzet CorprationsA simple site with the navigation Home, Informatie, Contacteer ons, Links and Movies. The opening text announces that Buzet is a site for young people, with plans for the film industry and an online magazine.
View the capture of 16 January 2008 in the Internet Archivebuzet.nl/indexCMS met polls en RSSA full community with a main menu, a login form, polls, an RSS feed and a newsflash. The sections run from Games and Sport to School en studie. The poll on the front page asks visitors whether they like the theme.
View the capture of 17 January 2008 in the Internet Archivebuzet.nl/forumIP.Board 2.3.3An IP.Board forum, licensed to Buzet.nl, with a portal, today’s active topics, today’s top 20 posters, an arcade, blogs and a gallery.
View the capture of 9 February 2008 in the Internet Archivebuzet.nl/nuacMediaWiki This is the capture the line about twenty years of MediaWiki rests on. Not a claim, but a page with a date on it.A MediaWiki in Dutch, under the name Nuac Incorp. Main page, navigation, editing, history, personal settings, and links to the MediaWiki FAQ and the mailing list for new releases.
View the capture of 17 February 2008 in the Internet Archivebuzet.nl/nieuws.phpEigen nieuwspaginaA news table with columns for subject, date, staff and text. Three items: a new web system on the way, probably php-fusion, asking visitors to help think about the design. The canteen in Hattem-Zwolle temporarily closed. And a new game put online.
View the capture of 28 February 2008 in the Internet Archivebuzet.nl/bs/signup.phpBrowsergame, BulletstarA signup page for a browser game with a username, an email address, a starting city and a referral field, plus three house rules you have to tick. The page title is Criminals and the rules refer to Bulletstar.
View the capture of 16 September 2008 in the Internet Archivebuzet.nl/forumSMF 1.1.6By now an SMF forum under the name Videoforum, with sections for news, announcements, tutorials, small programs, competitions, filming with subforums for advanced and beginners, your own films, games, and sport.

Within eighteen months on one domain: a CMS community, two forum packages, a MediaWiki, a browser game with registration, and a news desk with staff. Not as an assignment, but on my own.

Installing a package was easier in 2007 than it sounds, and there were plenty of teenagers running a forum. What matters is the breadth and the persistence, and that twenty years later the same kind of software runs under an art atlas supported by a ministry.

What I work with

Every tool with the place it has run.

A

MediaWiki and semantics

  • MediaWiki 1.26.4 to 1.39.10atlasmuseum, four generations in stages
  • Semantic MediaWiki 5.1.051.277 entities rebuilt
  • Forty three extensionseach one carried over to PHP 8.3
  • PageForms and arraymapthe night 4.589 pages held the wrong value
  • Wikidata and enrichmentWikidataBundle, eighteen sub extensions
  • A skin of my ownAtlasNova, 1,478 lines

B

Backend and data

  • PHP 8.315,929 lines of my own PHP in the art atlas
  • MySQL 8from 5.7 to 8.0, database repaired in place
  • Prepared statementsclosed a SQL injection in the map generator
  • TypeScript, strictthis platform, no any
  • PostgreSQL with hash chainsevery measurement on this site
  • A queue with SKIP LOCKEDtwo workers, zero double executions

C

Infrastructure

  • Docker, nginx, php-fpmthe stack under atlasmuseum
  • A self test of twenty eight checkswiki.sh, says whether the stack is sound
  • A status page per endpointAMAPIStatus, built for the handover
  • Caching in two layers26 to 64 times faster on repeat loads
  • A backup per edited filetwenty eight of them, timestamped, in that tree
  • My own hosting and VPSrbck.nl, ongoing

D

Front end and accessibility

  • WCAG 2.2 AAthis site measures it against itself, every run
  • axe-coreinside the measurement, not after the fact
  • The accessibility treethrough the Chrome DevTools Protocol
  • CSS with design tokensno framework, one source instead of twenty copies
  • WebGL2 and shadersthe moving parts of this site
  • Two languages without duplicatesone dictionary, one route table

E

Measuring and proving

  • Playwright with a real Chromiumevery quarter of an hour, three targets
  • sha256 over every recordthe chain you can recompute yourself
  • Canonical JSONRFC 8785, so the same measurement gives the same hash
  • Architecture rules as a test65 modules, zero violations
  • A dry run before every bulk editAtlasRepair, 1.343 records flagged
  • A runbook at handoversixty pages with the error catalogue in it

F

Shops and CMS

  • Shopifycustom work for owner run businesses, from 2016
  • WordPress and e-commercethe first paying clients, 2009
  • IP.Board and SMFbuzet.nl, captured in the archive in 2008
  • e107 and Joomlahosted and maintained, 2007
  • Migrations between packagesfour web systems on one domain in eighteen months
  • Adobe Premieresince 2003, later used professionally

What it runs on

How I work

The rules I held to.

This is the part no other portfolio carries, and it is the part a client can actually use.

  1. Prove it first, quote it after

    For atlasmuseum I rebuilt the entire site from the client database dump in an offline environment on my own machine, with no connection to the live site. Only once that test showed the content could be saved did a plan and a price follow. I do not sell certainty I do not have yet.

  2. Every bulk edit runs dry first

    First a run that changes nothing and writes a report, then a view of every proposed change from current to corrected value, and only then an application with attribution and a rate limit. There is no path where a mass edit happens without a person confirming it.

  3. Every edited file is backed up first

    With a timestamp, so every single change can be undone. There are twenty eight of those backups in that tree. It is not clutter, it is the rule.

  4. Never straight from SQL

    The in-house API layer reads MediaWiki only through the stable action API. That is why a future upgrade cannot break the backend, and it is exactly what went wrong in the installation I inherited.

  5. What cannot be measured is not shown

    Every figure on this site comes from a measurement or from a source I can name beside it. Anything not yet established is left out. There is a test in this repository that checks for it and fails the build.

  6. A runbook for whoever comes next

    Sixty pages, with the full error catalogue and the open items in it. Not because it was required, but so the next developer does not have to work out again what I already know.

Curious what this could mean for your project? View the services or book a call directly.

In the media