Title: Projects Here's a list of some of my projects. You can find more on [my GitHub account](https://github.com/seanh?tab=repositories). #### [Sidecar](https://github.com/seanh/sidecar) (2024) A plain-but-pretty blog theme with a little sidebar, for the static site generator Pelican. Screenshot of Sidecar #### [Oatcake](https://seanh.cc/oatcake/) (2024) My universal typography stylesheet. Screenshot of Oatcake #### [ghp-pelican](https://github.com/seanh/ghp-pelican) (2023) A reusable workflow for deploying a Pelican site to GitHub Pages using GitHub Actions. #### [ghp-static](https://github.com/seanh/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](https://www.youtube.com/watch?v=B-aAfLJop0s) that explains how the app worked. Screenshot of the Find Me iPad app #### [Story Maps](https://www.seanh.cc/storymaps) (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](https://okfn.org/) as a core developer on the [CKAN project](https://ckan.org/). Some of my CKAN work: * Tutorials (2014, archived copies): * Plugin writing * Theming * JavaScript * Internationalisation * Documentation guidelines * API guide * Contributing guide * Open Data Licensing Workshop * CKAN extensions: * Dead or Alive (2014), check websites for broken links * Data Packager (2014), a web app for making tabular data packages * OAuth 2.0 Support for CKAN (2014) * Mozilla Persona Support for CKAN (2014) #### Edinburgh University Java Screencasts (2008) I used to work as a computer programming lecturer at Edinburgh University and created the online version of the [Introduction to Java Programming](http://www.inf.ed.ac.uk/teaching/courses/ijp) course: 1. Objects and classes, 2. Understanding class definitions, 3. Object interaction, 4. Grouping objects, 5. More sophisticated behaviour, 6. Well-behaved objects, 7. Designing classes, 8. Improving structure with inheritance, 9. More about inheritance, 10. Further abstraction techniques, 11. Building graphical user interfaces. #### 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 * [My ripgrep config](https://github.com/seanh/ripgrep) (2019) * [My Openbox config](https://github.com/seanh/openbox) (2018) * My DWM config (2015) * Losser (2014), a little JSON to CSV converter * Terminal Velocity (2012), a fast note-taking app for the UNIX terminal * Snapshotter (2011), very easy incremental snapshot backups #### Gedit Plugins (2019) [gedit-autoname](https://github.com/seanh/gedit-autoname) and [gedit-smart-autosave](https://github.com/seanh/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