~kls0e hi :-)

My Modern Personal Webpage Anthology

y0s3n GIF from 2001

Let me interject for a second — and turn back the hands of time: I am a millennial born in 1985. No go dey call me Gen Z. I got my first 286 PC in 1996, at age eleven. My internet started with a 56k modem over analog landline — back when bandwidth was precious and dial-up minutes cost real money. This shaped my data hoarding habits: retaining backups of personal archives over decades and three system architectures, including old websites. Under the handle madcap, I built early pages from scratch, later on WordPress and MySpace. How glad I am with Hugo these days.

Here are some authentic sparkling emeralds in my mother tongue German. I thank myself for bearing with me.


2005: the HTML/CSS era

madcaps-page.de (2005)

The oldest dataset is 21 years old at the time of writing. It originally lived under madcaps-page.de and consists purely of HTML and CSS. Because of its simplicity, this one was easy: I let HTTrack walk over it to consolidate the site structure. Afterwards I manually fixed 404’ing links and removed external content such as the obligatory externally hosted guestbook (and also a t-shirt shop ???) - ready to reinstantiate.

live snapshot: madcaps-page.de (2005)


2008 – 2010: the WordPress era

mdcp.de/blog (2009)

The second dataset is a 17-year-old wwwroot and MySQL dump of a WordPress blog that resided under mdcp.de/blog. I spun up two local Docker instances providing Apache with PHP 7.4 and MariaDB. The database import worked flawlessly.

I remember having a couple of WordPress security plugins installed back in the day, which initially interfered with getting this ancient dump to render in the browser. After a couple of hours of debugging, I simply disabled all the legacy plugins and replaced the core files with their current successors — that is four major releases from 2.8.4 to 6.9.1. Impressively enough, it just worked.

Of course I did not plan to maintain this WordPress instance any further. To preserve a static impression of the blog, I came across monolith. Written in Rust, it creates non-recursive webpage snapshots by bundling all assets into a single .html file using base64 inline encoding. It’s wonderful. I just had to fix countless internal links by replacing most of the href attributes to point to #.

live snapshot: mdcp.de/blog (2009)

mdcp.de/blog (2010)

A couple of days in, I was able to restore a dump of matthias’ webl as of August 2010. That is the most current iteration. See the addendum post.

live snapshot: mdcp.de/blog (2010)


2009: the MySpace era

myspace.com/matthi4s (2009)

A bonus dataset is a 17-year-old “File > Save as…” dump from Internet Explorer 7, containing my former MySpace profile myspace.com/matthi4s. MySpace was the pioneering browser social network with wild CSS hacks. I archived this one using monolith --isolate to prevent the archived version from calling any external JavaScript resources or tracking pixels. Some manual HTML sanitation took place as well, and there it is.

live snapshot: myspace.com/matthi4s (2009)


2012: Tumblr, the One or Two that got Away

matthia.sklo.se on the WayBack Machine

There also were matthia.sklo.se (photos) and geschwollen.org (poems). These were tumblr-based. I do not have backups. But at least I have reclaimed the sklo.se domain. The invaluable WayBack Machine passed by a couple of times: https://matthia.sklo.se on web.archive.org – What is your personal Voyager golden record? :-)