Colophon
Last updated on
This is a colophon - a page that describes the how of the thing, which in this case thing is this website - how it's made, how it's distributed, plus some other details for fun.
To bring my brain nonsense to your eyeballs via the medium of this web garden of mine I rely on a few key technologies, methodologies and inane self imposed restrictions. I will attempt to describe these to you now, starting at your aforementioned eyeballs and working back to my very body!
I fire photons at your eyeballs using your web browser, which is (ab)used in the following manner
- I do not use any Javascript
- If you select a different theme than the default, I use one cookie (
fyr-theme) to save your theme choice. This cookie ages out after30180 days (approx 6 months) and if you save the default theme again the cookie lifetime is set to -1 second (your browser will age it out) - I use a single CSS file. This may be a curse, as it contains everything - all the themes, all the layout stuff, and it's... a little unwieldy
- I currently use one third party service. It's for the font hosting - fonts.bunny.net - an EU based, privacy first web font host. I originally used Google fonts, then switched to fonts.upset.dev, but it had some issues round 2026-03-19 so flipped over to bunny.net then. I will switch over to hosting the fonts I use on this server at some point!
- HTML is capable of a lot, but I try to keep myself locked in with the standardised and defined set of elements. I may have articles and/or their supporting resources that break this rule (intentionally) but if so, it's generally the topic of the post
- I try to ensure the image and video files you'll find here are efficiently encoded. I will opt for quality over filesize, but will attempt to minimise the file size. I also strip metadata from anything and everything, though I've probably missed a few files...
- The default theme (which is, at this time, Verdant) respects your browser light/dark preference, however the others do not - you get what you get! Future themes are extremely likely to also respect the light/dark preference
How the site is delivered to your device
- The site is encrypted as it is transmitted to you. I use Let's Encrypt for the certificates
- I do not use a caching layer or any load balancing
- I do not use containers like Docker
- Content for the site is dynamically generated using PHP (currently PHP 8)
- I have written the codebase myself - no content management system, no third party libraries, just raw PHP. On top of that, I have also written this using functional programming - there's no object oriented code on fyr.io, but there is on some other projects of mine
- I do use some PHP libraries, but nothing that isn't included by default
- The web server software is currently nginx but I am tempted to try out Caddy
- Aside from nginx logs (which record the IP, user agent), no personal data is recorded. The only other logs I keep are generated by my site (no third party stuff, remember!) and they contain the following data:
- Date & time of the request
- The time taken to generate the request (which you can also see in the footer)
- The response code (eg: 200, 404, etc)
- The path (eg:
/post/absent) - The referrer, if there is one
- The site is currently hosted by Hetzner
- The site is hosted on a VPS which I manage myself, NOT a shared host (though the CPU is shared across other VPS's)
- Currently, the only thing the VPS hosts is fyr.io related stuff, though this may change in the future
- The VPS is running Ubuntu Server 24, and updates are run regularly
- The VPS is, spec-wise, the cheapest shared-CPU one I could get. It's a CX22
- The physical location of the VPS is Helsinki, Finland
- The domain is, of course,
fyr.ioand the registrar is porkbun.com, at least until I can settle on an EU registrar
How the code gets to the server
- I have the copy of the code on the VPS, the copy on my device, but the main copy is hosted in a git repository
- The code repository is currently GitLab, but I'm probably going to move it. Maybe to the 32bit.cafe git instance?
- I generally commit posts straight to
main, but features and other stuff get branches like a Real Developer - When I push or merge into the
mainbranch, a GitLab runner literally basic-ass-style SCP's the entire codebase to the Hetzner VPS - I write the code using VSCodium - in a pinch I might use the GitLab editor if I am not at my laptop
- When developing locally, I literally just run the built-in PHP web server with
php -S localhost:80- it's not great, but it works well enough for me - I use no extensions in VSCodium
- I use the
Monokai Dimmedtheme in VSCodium - I do not use LLMs to generate any content or code on this site. I may use it when messing about with stuff (like finding ways to stop it parsing your website content) but it will be either blatantly obvious as it's the topic of the content, or I will outright specify that it's used otherwise
The hardware I type the code on
- I write on a second hand Dell Latitude 5491 - no monitor, mouse or keyboard (I have another laptop that has those). The specs are:
- CPU: i7-8850H CPU
- RAM: 2x 8GB DR4-2666mhz (Hma81gs6afr8n-vk)
- Storage: 1TB NVMe
- Screen: 1080p matte, 60Hz
- Graphics: Intel 630
- Battery: 68Wh Dell battery, but it's terrible, I really need a new one. It's currently at 39% health
- It's running plain-old Debian 13, woo!
Non-website but website-related things
- Email is hosted on a paid Proton plan
History
fyr.io was just a domain for a while. I registered it in 2014 as it sounded kinda cool and short and easy to pronounce to people. I eventually put a little HTML page together that sat untouched for a few years, nothing more than a placeholder really. I decided I was going to place a bunch of user guides on the site, backronyming the name to "For Your Reference", but it never came to fruition. Eventually, around 2017, I decided to turn it into a plain ol' blog, written in plain ol' HTML and hosted on a plain ol' Raspberry Pi 2 at home on a really slow (by modern standards) internet connection.
This was start of the blogging journey of this site, and looking back now, I do like the old look! I still need to bring those old posts over to this iteration...
Speaking of iterations, it went through a couple of minor design tweaks until I got annoyed at wrangling the HTML all the time, so I switched it up and installed Wordpress, moving the site to a web host (Gandi.net, who I no longer use) instead of relying on my flaky internet connection. Whilst the typing up of articles was more convenient, I decided pretty quickly that I didn't much like it. The site sat there with occasional updates for a while, documenting home renovation stuff, until...
...I learned about the indieweb and in a flash of inspiration and motivation, built (an early version of) the site you see before you now. Inspired by shellsharks.com, I had finally found my happy place with tinkering and changing and tweaking this site, as well as the occasional post. Eventually I settled into the 32bit.cafe community and found my third place.