About These Pages - A Short History Claude Code-assisted

These pages are not written in HTML. They are the output of a Common Lisp program - a few dozen macros and a small markup language of my own - that I wrote for this homepage in 2008, based on an idea I first used in 1995. In October 2026 the same macros, unchanged, were picked up again after nine years of rest. This is the story.

1995
The first HTML macros: the VL'95 web site.
As a student in Hamburg I had a paid job building the web site of the 11th IEEE Symposium on Visual Languages (VL'95, Darmstadt, September 1995) for Volker Haarslev, who edited the proceedings. Writing a page per paper by hand seemed like the wrong idea, so I wrote Common Lisp macros that generated the HTML from a description of the programme. That site is no longer online, but the idea stayed with me.
until 2008
A homepage written by hand.
My first homepage lived on the server of the Cognitive Systems Group at the University of Hamburg (kogs-www.informatik.uni-hamburg.de) and was made with Netscape Composer. A later, hand-written page for my time at the Hamburg University of Technology carries the note "Last Changed: May 2008" - it was the last one of its kind.
2008
The Common Lisp macros for this homepage.
In May and June 2008, a few weeks after my doctoral defense, I picked up the 1995 idea again and wrote the generator that still produces these pages. The oldest generated pages - DLMAPS, VISCO and GenEd, which I mainly added to have complex test content - are dated 12 June 2008, and the blog starts in April 2008. In December 2008 the generator got its biggest job, 25 Years of Home Computing.
2009
michael-wessel.info.
The domain was registered on 20 March 2009. An older dynamic DNS address, michaelwessel.homedns.org, survives as a comment in the sources.
2013
A Raspberry Pi as the web server.
Since September 2013 the site has been hosted on a Raspberry Pi at home - first an early model, later a Pi 3, today a Pi 4.
2017
The last update by hand.
The generator had grown to about 7,500 lines of Common Lisp, running in LispWorks. I last touched it in September 2017. After that, only the front page was edited, directly on the server, and the pages slowly went out of date.
2026
Claude Code takes over.
In October 2026 I gave the old sources to Claude Code, Anthropic's coding assistant, and asked it to revive them. It ported the generator from LispWorks to SBCL with a small compatibility layer, regenerated the site, and compared the result with what was on the server. Then, working with me, it refreshed the whole site with the same macros: a new front page, the research, thesis, hardware and software pages, a publication list with local copies of the papers, new picture galleries, relative links, and repairs to the server.

The previous version of these pages is preserved: My old homepage.

What it looks like

A page is a Lisp function. This is the complete source of the Symbolics gallery page; the string starting with @autogal is the markup language, which here asks for a thumbnail gallery of a directory of pictures, four to a row:

(defun symbolics ()
  (with-navi (+hp+)
    (h3 () (c "My Symbolics 3645 Lisp Machine"))
    (p () (c "I once owned a Symbolics 3645, from 1999 to 2003!
              Sadly, the machine is no longer with me."))
    (render-content1
      "@autogal{downloads/symbolics/original/}{}{4}{}" :html)))

What I take from it

The macros I wrote in 2008 still do their job in 2026, on a different Lisp implementation, on a different operating system, and in the hands of a different author. Common Lisp code does not rot: the language standard has not changed since 1994, so there was nothing to migrate. And the abstractions held up - a page is still described by what it contains, not by its HTML, which is why a new maintainer could add pages, galleries and whole sections without rewriting what was there. Everything new on this site was written with the same stone-age macros.

This account was compiled by Claude Code from the files of the generator, the dates on the old pages, and my recollections.