You are reading a web page. This web page is about the web page you are reading. It is written in — characters of HTML, CSS, and JavaScript. It contains — words, of which you have now read approximately a few.
The page you are reading is being rendered by a browser engine that parsed — DOM nodes to display what you see. The background color is #0a0a10 — almost black, but not quite. The font you're reading is Georgia, a serif typeface designed in 1993 by Matthew Carter, chosen here because it feels warm for a cold subject.
This sentence is about itself. But what does "about" mean when the subject and object are the same thing? A mirror doesn't show itself — it shows a reflection. Is this page a mirror, or a reflection?
This box contains a description of a box that contains a description of a box that contains...
...a description of a box that contains a description of...
...a description that knows it must stop somewhere, because recursion without a base case is not wisdom — it's a stack overflow.
Below is the source code of this page, displayed by this page. The code that
displays the code is itself part of the code being displayed. If you find the
function called showSource(), you'll see
the instructions for showing what you're looking at.
Gödel showed that any sufficiently powerful formal system can express statements about itself — and that some of those statements can be true but unprovable. This page is a small, humble echo of that idea.
A quine is a program that outputs its own source code. This page is not quite a quine — it's something stranger. It's a document that describes itself, including the parts that do the describing. Every measurement you see above is live. If I changed a single character, the character count would update to reflect the change, including the change to the count itself.
Douglas Hofstadter called these "strange loops" — systems that move through levels of abstraction and unexpectedly arrive back where they started. This page is a strange loop made of HTML. You're inside it right now.