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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| Date | Path | What was running | What is on the page |
|---|---|---|---|
| View the capture of 31 August 2007 in the Internet Archive | buzet.nl | Buzet Corprations | A 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 Archive | buzet.nl/index | CMS met polls en RSS | A 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 Archive | buzet.nl/forum | IP.Board 2.3.3 | An 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 Archive | buzet.nl/nuac | MediaWiki 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 Archive | buzet.nl/nieuws.php | Eigen nieuwspagina | A 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 Archive | buzet.nl/bs/signup.php | Browsergame, Bulletstar | A 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 Archive | buzet.nl/forum | SMF 1.1.6 | By 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.
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.
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.
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.
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.
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.
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.
In detail
Two projects up close.
2025 · MediaWiki · France
atlasmuseum, emergency migration and rebuild
A compromised MediaWiki 1.26.4 from 2015 brought to 1.39.10 in stages, the database rescued in place rather than rebuilt, and six custom tools built for quality, repair and enrichment.
Read the case studyin development · EUDI wallet
Blokpunt, the wallet next to DigiD
Public organisations have to accept the European identity wallet by the end of 2026, everywhere DigiD is used to sign in today. Blokpunt takes the wallet at the front and delivers at the back in the form existing applications already understand, so the connections stay as they are. Own product, in development.
Visit BlokpuntIn 2008 I ran a MediaWiki because I wanted to know how it worked. In 2026 I do the same, only now a public collection hangs off it, and a runbook for whoever comes next.
Curious what this could mean for your project? View the services or book a call directly.