----
css: zebra
title: Topology
abstract: Details the operational topology for this personal website. This is how meaning is routed and stored here. It is a situationist-inspired digital subversion. The web can be weird, radical, and inclusive all at once. This is what the internet was supposed to be.
----
# topology, some notes on

This page talks about how this personal website organizes it artifacts as resources to be consumed, viz. its _information architecture_; the presentation layer is discussed in [/theme](/b/2024/redesign); to learn more about the person behind the website, see [/who](/who).



## the information (the what)

there are many types of website and ways of naming them: corporate; brand; personal; news; information; etc. sometimes it is hard to distinguish between them, for example, a personal website could equally be described as a brand if all it contains are self-centered humblebrags and "week notes" full of superlative-prefixed achievements[^jvt-asda-pizza].

[^jvt-asda-pizza]: Nobody needs to know about, nor do they care, that you "Had an [excellent Asda pizza](https://www.jvt.me/week-notes/2024/42/#:~:text=Had%20an-,excellent,-Asda%20pizza%20%F0%9F%98%8B%20especially) 😋". You will be harshly judged: if you think Asda pizza is "excellent"", you either don't know what the word means, or you have never experienced what a real pizza tastes like. If Brian Sewell were still alive he might pontificate thus: _This is not merely misguided, it is a profound misapprehension of what excellence in edible form aspires to be. But to consider it excellent? It is, quite frankly, preposterous._

this site falls into a few categories:

comments-off
: because it eschews commenting (discus, webmentions, etc.); if you have anything to say, a rebuttal perhaps, then write something on your website and drop and email to notify me.

personal
: because its centered about a person

slowweb
: it takes time to write well, so a be grateful for the few posts that appear each year. nobody needs to post frequently.

indieweb-friendly
: because it supports _some_ IndieWebOrg building blocks, specifically some microformts data will be emitted using conneg

## the proposition

The website is a situation. Not for passive consumption. It is a constructed moment where contradictions are exposed, and spectators are forced to engage critically.

Dada & Playfulness. Because we like to have fun and be whimsical.

Paradox as Critique. Sure, looks weird but is accessible.

Footnotes are a <i lang="fr">détournement</i>. Not dry, academic, or afterthoughts. Instead, critical or subversive commentary.

Accessibility as Subversion. Making something intentionally weird and accessible is a direct challenge to the idea that radical or complex ideas must be exclusionary

## the message (the how)

the message is stored in whatever is the most convenient form for the author and mangled into whatever is convenient for the reader

to get technical: data is stored as text, markdown, html, etc., and varied by the web server into an appropriate format for the user agent using http's content negotiation (conneg).

## the architecture (the where)

/
: the index page: gotta start somewhere, and this is it

: http's content negotiation (conneg) is used to vary the response, which opens up a lot of possibilities (not least of which is annoying [tantek](https://tantek.com) who is so anti-conneg its worth implementing just to make a point)

/feed.rss
: the principal rss feed for the website

/assets/
: contains presentation layer assets (style sheets, fonts, etc.)

/assets/theme/\<name>
: contains a set of assets bundled together as the theme called ``<name>``.

/app/\<codename>
: for applications that I develop, this contains various landing and associated pages, sometimes hand-wrangled HTML, mostly markdown because hand-wrangling HTML is not my idea of having a good time.

/b/\<yyyy>/\<slugname>-\<id>
: blog posts --- organized by year then \<slugname>-\<ID>

/bot/\<codename>
: for bot and libraries that I develop, the user-agent is set to a resource at \/bot\/\<codename>; this is so any sysadmin who bothers to examine their logs will have someplace to go when their curiosity is piqued[^peaked] or something has gone terribly wrong and they're looking who to blame

/i
: object by uuid-based reference; primarily to retrieve Activity Stream objects using ActivityPub

/e
: ephemeral bullshit goes here

/my/\<thing>
: a place to share specific personal resources in a simultaneously memorable and also secure manner. e.g. my thumbnail picture is at "/my/thumbnail". Thanks to some back-end magic, the actual resource returned will VARY based on who is asking for it (user-agent, peer address, etc.).

/w
: writing --- many words of wisdom are contained herein

/u
: for use with ActivityPub, anything that's user-oriented is here, i.e. inbox, outbox, etc.

$LastModified:$

[^peaked]: Or "peaked" because, despite how much effort has been made on it, getting autocorrect to be grammer aware instead of being a dumb lookup, is too much to ask. Dammit, s/grammer/grammar.
