About

Hi 👋, I’m Sean: a software developer and future Portuguese Water Dog owner living in Ottawa, Berlin, Edinburgh, Leith.

Subscribe to this site’s feed for new posts. You can also download my resume or find me on GitHub, Stack Overflow, and Mastodon: @seanh@hachyderm.io. Feel free to get in touch by email.

Projects

Here’s a list of some of my projects. You can find more on my GitHub account.

Sidecar (2025)

A plain-but-pretty blog theme for the Pelican static site generator.

Screenshot of Sidecar

Oatcake (2025)

A drop-in CSS stylesheet that makes pages attractive and readable.

Screenshot of Oatcake

ghp-pelican (2023)

A reusable workflow for deploying a Pelican site to GitHub Pages using GitHub Actions.

ghp-static (2023)

A GitHub Actions reusable workflow for deploying static files directly to GitHub Pages - no Jekyll or static site generator needed, just deploy a directory of HTML and other static files directly to your GitHub Pages site.

Find Me (2011)

An iPad game for children with autism. App store: pro version, free version. BBC news article, journal paper. JTRS made a good YouTube video that explains how the app worked.

Screenshot of the Find Me iPad app

Story Maps (2005–2011)

A story authoring application for children, developed for my PhD thesis.

Screenshot of Story Maps

CKAN (2011-2015)

I used to work for Open Knowledge as a core developer on the CKAN project. Some of my CKAN work:

Edinburgh University Java Screencasts (2008)

For a few years ~2008 I was the course lecturer for The University of Edinburgh’s Introduction to Java Programming: a Masters-level, intensive 12-week crash-course in object-oriented programming with about 70 students per year. I created the screencast lectures that were used as the primary course material. Below is one of the screencasts as an example. I’ve also created an archive page of the entire course of screencasts.

PandaSteer (2006)

Computer game characters that follow, chase, flee, and avoid obstacles and collisions. Also PandaZUI, a zoomable user-interface framework.

Various command line tools and dotfiles I’ve developed over the years

Gedit Plugins (2019)

gedit-autoname and gedit-smart-autosave.

Websites

I sometimes make websites for people. Here’s a few examples: Forest (circa 2010, archived copy), a free arts and events space masquerading as a vegetarian café; Infoseed (circa 2007, archived copy); Ottawa No Sweat Coalition (circa 2005, archived copy).

PyBlosxom (2005–2015)

My PyBlosxom plugins and themes: mtimecache, drafts, HTML5 theme, tumblelog, metadate, markdown, Vessel and Scribbish.

Navigating 3D Environments (2004, PDF)

A non-player character that navigates complex 3D environments (Quake III levels), created for my undergraduate dissertation.

Screenshot from my undergraduate dissertation