I’ve brought my website back online after a multi-year hiatus. One way or another I’ve been updating this website since 2003. Prior to this post the most recent entry was a discussion of how I built a bed for my Ford Transit van from 2017.

During the data migration process it became clear that a good chunk of the posts were about the blog itself. In fact that first post from 2003 is titled lewizsite2 goes online!. There are posts about migrating hosting to Manchester CompSoc, converting from my own hand-crafted PHP to Drupal and even look-back posts about the old hand-crafted version.

It therefore goes without saying that this first post had to be about how the site is architected & hosted today.

Before I jump in to the technical details there are two things I wanted to cover: what did the old versions look like; and why bother resurrecting it?

Old versions of lewiz.org

Thanks to the Wayback Machine I was able to load & capture screenshots of earlier versions of www.lewiz.org.

What is interesting to me today is that at some point there was a definitely split between what was “www.lewiz.org” and what was “lewizsite”, with the latter being a sub-site you had to directly navigate to.

The pace of change was rapid in 2003-2004 with frequent changes and many things going on behind the scenes. I’m hazy on the exact details but the original lewizsite was written by me from scratch in pure PHP. Blog (or journal entries as I preferred to call them then) were serialised to disk in a flat CSV-like text file. A later iteration switched to a MySQL backend and used the PHP Smarty framework. The least long-lived version was the one hosted at Squarespace – while it was just as quick and easy to set up as the adverts claimed, I was just unable to justify $120/year for a blog nobody reads and I do not update.

By far my favourite iteration of the website is this version from 2004, available in the carousel as the fourth image.


So why did I go to the effort of resurrecting a website I infrequently update, has no readers and is chock full of really embarrassing old blog posts?

Simply to continue something I started close to twenty years ago.

Years ago I absolutely loved tinkering with this site. In the process I taught myself a huge amount about coding, data handling & running webservices. During the university years I was running the University of Manchester CompSoc that hosting my site and many others. These skills and experiences undoubtedly contributed towards my professional career where I am now a Software Engineering Manager at Apple.

Beyond the technical it was (and is) a place I can share my unfiltered thoughts. Going forward I plan to at least write a yearly “Looking back at…” post, spurred on by the enjoyment I got re-reading Round-up of climbing in 2011 & Looking back at 2010.

Technical details

Now we’re talking. What is in this iteration?

First off it is a static site, rendered out with Hugo, the obvious choice for me given Go is my day-to-day language of choice.

The content was migrated from multiple sources using entirely custom scripts (largely throw-away Python). Inputs to these scripts included an export from Squarespace, Google Takeout data for the Blogger version of my site & even some data from a CSV-like file used on the first iteration of my site. Text was rendered as Markdown (probably using whatever comes up when you Google python html to markdown) and written to files on disk with Hugo frontmatter. I took care to include as many IDs, tags, old URLs for redirects, etc. as I could. This is sample front-matter from Customising vim from 2009:

title: Customising vim
date: '2005-05-28T14:57:00.000+01:00'
author: Lewis
- computing
modified_time: '2009-07-28T09:26:05.522+01:00'
blogger_id: tag:blogger.com,1999:blog-7455678095768944184.post-1560619215752297247
blogger_orig_url: http://www.lewiz.org/2005/05/customising-vim.html
- /2005/05/customising-vim.html
- /blog/2005/05/customising-vim.html

While reading [Planet Ubuntu](http://planet.ubuntu.com/) I came across [Brandon Hale’s entry on vim](http://tseng.ath.cx/log/).

I am utilising the excellent Hello Friend NG theme throughout the site. This is largely used stock with just some tweaks on my Photography page to lay out the sections differently (my CSS skills are lacking so these unfortunately work poorly on mobile displays). The primary photo galleries use hugo-easy-gallery with some minor CSS overrides. The inline image carousels are from Hugo Codex : Slider/Carousel, however this is where I did the majority of my customisation to get them to play nicely with the theme I am using.

I am hosting this site at Fastmail which is where I host my email. Since the site is infrequently visited, infrequently updated and has static content, pushing out new updates is a fairly straightforward task.

Finally, everything is checked in to a private GitHub repo for version control.