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.