JimmyG | Blog | Book | Life | Projects | Contact


When I see other people's homepages I'm always interested in the technology they've used to build them with.


This page site was build entirely using my own static site generator called sitetool. It used Dreamweaver templates for the layout and a lot of Python to maintain breadcrumbs and navigation as library items. The site went through phases of support edge side includes. A lot of the content was written in Sphinx in reStructuredText format and themed to fit in with the site using a custom template. The gallery functionality was Python, as were the diving logs (two areas of the site that haven't survived the migration into 2016).

There was a brief period when I migrated it all to Wordpress using a reStructuredText plugin, but I soon moved it back :)

There were also periods when the site ran on its own pair of dedicated servers at Hetzner in Germany, and other periods where it ran on shared hosting provided by WebFaction. I'd recommend both companies.


I used an isomporphic React + Node.js blogging system powered from static files (markdown, m4 and csv), that hosted the blog on jimmyg.org from 2015-2016. (I've since replaced it with Wagtail.)

One neat feature of this approach was that it was a full progressive web app, which meant that it could be launched pretty much as a full app on Android. See Alex Russell's post Escaping Tabs Without Losing Our Soul for a description and some screenshots showing what I mean.

Some of the code is here:

2016 Onwards

I'm in the progress of porting over all the content to the following stack:

Everything runs Python 3.5.2 and is provisioned and deployed with a set of Python scripts based on concepts from fab.

Wagtail CMS glues everything together and the entire stack is hosted on two Digital Ocean droplets running Ubuntu 14.04 (the same version used by Travis) using a floating IP so that I have a fallback machine. Everything is crammed into 512Mb RAM (most of which is taken up by Elastic Search actually).

The site should handle a good load of the sort that might come from a reasonably popular post on reddit or hacker news. My benchmarks give about 2000 requests a second to a single URL over a short time period of time once Varnish has got up to speed.

I've maintained this site since 1996 (at this domain since 2002).

I did try deploying this site via Django channels but the stability wasn't great and it was hard to debug, so now I'm using Wagtail.

You can still see all the old content including my blog and the older content with the older blog served nicely over https.

Over the next few months you should see this site take shape into something more interesting as the older content gets migrated.

James, September 2016