This page collects information about this website itself. It’s divided into two sections: About the contents, which describes information about my posts and how I use this site; and About the Site which lists things such as the design philosophy and the tools used to produce the site, and a changelog to collect notes on updates.
About the contents
What I write about
Since this is a personal site, I essentially write about anything that interests me at the time. As you can read about on the About Page, I have quite a few varied interests and I’m not blogging about anything in particular. Historically, I’ve used this site as a sort of public journal or diary. Earlier posts reflect on building some indieweb software, there’ll be some meta posts about the site itself and reflecting on the technologies I use to build it, and some things about how I generally live my life. Occasionally I’ll write in opinion pieces about a particular topic, but I do grow and change, and might not have written about a change in opinion or mindset. If you catch something that feels outdated, wrong, or silly: please contact me. I’d love to hear from you, and chat about it.
It’s also worth noting that, despite my membership of a number of organisations (political and professional): I’m always writing with my own voice, and nothing I say should be taken to be representative of the views of any particular organisation.
Copyright and Copyleft
All of the posts and pages on this site are released under the Peer Production License. This is a modified, explicitly anti-capitalist, version of the CC-NC.
It’s fairly common to release blog content under a CC license, but I don’t do this because I think the name is misleading and it actually enables privatisation and permits for-profit use of the work. If I want to contribute to some shared ideal of a digital commons; I want to make sure that these commons are not enclosed like those of yore. Read more about this here, and here.
You can read the P2P foundation page wiki on the Peer Production License, but in summation if you’re a commoner, an independent worker, a co-operative or worker-owned entity, or a non-profit: you can do what you want with the content, for free, including republishing it to make money (e.g. in a book). If you’re a for-profit, capitalist, organisation that isn’t owned by its workers then you have to pay to have these rights. You don’t get anything without contributing back to the commons.
Since languages are cool and one of my interests; I’ve built this site to support pages and posts in multiple languages. The two languages I speak/write fairly effectively are English (en) and Esperanto (eo), so I’ve made a commitment to keep the main pages of this site available and up to date in each of these languages. These are:
For blog posts: each site language has its own archive of posts which are written at different times. I often write posts in multiple languages but this is not guaranteed. For example, I may write some posts only in Esperanto or only in English. Posts dated before 2021 are generally only available in English.
Very occasionally I may write a single post in a language which is not really otherwise present on the site. If that occurs I’ll make efforts to highlight it in some way so it’s not buried in the site without a page linking to it. The reason I may do this will likely be if I’m learning the language, or learning about the language, and I want to play around.
If a page or post has translations, these are accessible underneath its title via the language menu using the ISO 639-1 code for the language.
For ease of access, here are links to the site index page for each language which I’ve made a commitment to:
- English — https://mrshll.uk
- Esperanto — https://mrshll.uk/eo
In the future, I plan to study another language (most likely this will be Spanish) and so this list will grow.
This site supports feeds. There is a dedicated feed in multiple formats for each language available. Each feed only contains the posts I’ve written in that language.
Feeds are available in RSS, Atom, and JSON Feed format. There are links to each of the feed formats at the foot of every page (not posts). However, for ease-of-access you may use the following links:
About the Site
Unlike other protocols, on the Web it’s the content producer who decides how content should be viewed.
The site’s design philosophy is inspired by the following sources:
- Brutalist Web Design by David Bryant Copeland
- Failing at text by JR
I’ve distilled these into the following rules for myself, which also act as promises to you as a reader whose device has downloaded this page:
- No inline images: Rather than place images on the page within posts I will always link to images and tell you that it’s an image I’m linking to. The reason for this is that this site should load quickly regardless of connection and inline images will slow it down. In addition the page size will increase. If I added in images inline to posts you could unexpectedly use up your mobile data downloading an image. There may be some old posts with some rogue inline images. If you find one, please contact me.
- Simple navigation: I try to keep the site as flat as possible, with only a few layers. Ideally, you’d only need a few clicks to reach any given content from any page.
- Standard, semantic, HTML: I mark up my pages, particularly posts, with semantic HTML such as
<nav>which supports its parseability and readability. Ideally I want a screen reader to be able to interpret the page properly. This also supports you reading this in, for example, Firefox’s Reader View which is good because that means you control the typography.
- Including a Table of Contents on longer pages/posts: Because I ramble, and some pages are longer, I try to write a basic table of contents at the top of each longer page/post to support you jumping to sections.
This site is a static site which is powered by Hugo. Prior to 2023, this site was powered by Jekyll and prior to 2021 this site was a dynamic site powered by my own Indieweb software called Brimstone.
To update the site I write in my text editor, generate the site, and upload the static pages to my server via SFTP. I don’t use any Github pages or webhooks. Partly because that’s how I like to do it, partly because I don’t want to add another tool chain in and therefore keep this thing as simple as possible. The code for the site is maintained in a private Gitlab repo.
I use Hugo’s built-in multilingual mode to enable multi-language pages and posts. When I used Jekyll, I followed these instructions from Anthony Granger to create a similar effect. I spun this out into a Multi-language Blog template for Jekyll to make it easier to reproduce, although in future I will likely use Hugo.
For the HTML and CSS, I write my own styles to style things such as the site header and make some text more readable. I try to use standard, semantic, HTML wherever possible. I try to minimise the number of
This changelog is to collect some information about changes I’ve made to the structure and design of the site. This can be to either the external appearance / structure or the underlying technologies.
- Added a BibTeX file to share my publications. The file is linked from the ‘About’ page.
- Changed the colour of links in the light, default, skin to make them more readable. This has resulted in an additional rule for the CSS dark skin to retain the original link colour, as it was actually better against black backgrounds.
- Migrated backend from Jekyll to Hugo, this has caused some URL pattern changes for the Esperanto blog posts. All esperanto content now lives under
/eo/, including post links.
- Added JSON Feed at
[lang]/jsonfeed.json(for other languages).
- Modified page footer to reflect the new JSON Feed, and moved around the license link to separate it from the feed links.
- Modified template for index page to generate the archive list of blog posts with different visuals. Dates are now in ISO 8601 format, and entries now take up a single line rather than two.
- Added a “last generated” statement and timestamp to the page footer. This does not appear on posts.
- Modified template for the index page to generate the archive list of blog posts in an unordered list, as this is more semantically appropriate and removed the use of a
<br>tag for purely visual purposes.
- Modified css to make the archive list of blog posts look like how it used to look before it was structually a list.
navbarvariable to pages to allow for pages not linked to on the navbar.
- Made changes to several blog posts and pages mentioning ‘Atom’ as a text editor. These now just mention text editors in general.
updatedvariable to blog posts that were updated.
- Modified post template to render
updatedvariable if present.
- New section on About Page; How I do my computing.
- Added Links page
- Moved the blogroll from About to Links
- Removed the combined-language RSS feed
- Moved location of RSS feeds to
- RSS generation now powered by a template
- Added Atom feed generation at
- Removed PureCSS as a framework because it wasn’t needed. All CSS is powered by some minimal styles which mostly focus on typography, with some few tweaks for aesthetics here and there.
- Added some dark mode CSS via
prefers-color-scheme: dark. Still adjusting some tyography formatting.
- Added a changelog to the Site Notes page.