Hi đ, Iâm Sean.
Iâm a developer and future Portuguese Water Dog owner.
I work for
Hypothesis and live in
Berlin
Edinburgh.
This is my site where you can find my posts and a list of
some of my projects.
You can also find me on GitHub,
Gist,
Stack Overflow
and Pinboard.
If you want to get in touch you can
send me an email.
-
May 2022
How to Publish a Python Package from GitHub Actions -
Apr 2022
How I Use Restic to Back up My Home Folders to Backblaze B2 -
Aug 2021
How to Backup Your Fastmail & Gmail Accounts with isync -
Dec 2020
How to Make tmuxâs âWindowsâ Behave like Browser Tabs -
Dec 2020
Setting Options in tmux -
Dec 2020
Binding Keys in tmux -
Dec 2020
Copy and Paste in tmux -
Aug 2020
Operate on an Indented Block of Lines with vim-indent-object -
Aug 2020
How to Use Vimâs Built-in Help -
Jan 2020
Breadcrumbs in Jekyll -
Sep 2019
Liquid Templating Crash Course -
Jun 2019
Designing Python Exception Classes -
Nov 2018
An Opinionated tox.ini File -
Feb 2018
Unattended Upgrades on Ubuntu -
Nov 2017
PDF Fingerprinting -
May 2017
Matcher Objects in Python Tests -
Apr 2017
When and When Not to Use Mocks -
Mar 2017
usefixtures as a Class Decorator -
Mar 2017
The Problem with Mocks -
Mar 2017
sentinel: Unique Objects for Tests -
Mar 2017
Hypothesisâs patch Fixture -
Mar 2017
Pythonâs unittest.mock -
Feb 2017
Advanced pytest Fixtures -
Feb 2017
Basic pytest Fixtures -
Jan 2017
Parametrizing Python Tests -
Jan 2017
Testing that an Exception is Raised with pytest.raises -
Jan 2017
Arrange, Act, Assert -
Jan 2017
Writing Simple Python Unit Tests -
Jan 2017
Debugging Failing Tests with pytest -
Jan 2017
Running the Hypothesis Python Tests -
Jan 2017
Python Unit Tests at Hypothesis -
Oct 2016
Code Review -
Sep 2015
git-crypt -
Jul 2014
Functional Core, Imperative Shell -
Jun 2014
The Network as the Database -
May 2014
The Open Knowledge Data Packager -
Mar 2014
SuperDuper & FileVault on OS X Lion -
Jan 2014
A Mozilla Persona Plugin for CKAN
Projects
Oatcake (2019)
My GitHub Pages theme.
Find Me (2011)
An iPad game for children with autism. App store: pro version, free version. BBC news article, journal paper.
Story Maps (2005â2011)
A story authoring application for children, developed for my PhD thesis.
CKAN
I used to work for Open Knowledge as a core developer on the CKAN project. Some of my CKAN work:
- Tutorials (2014, archived copies):
- 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 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.
UNIX Command Line Tools and Dotfiles
- My ripgrep config (2019)
- My Openbox config (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
gedit-autoname and gedit-smart-autosave.
Websites
I sometimes make websites for people:
- 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.