- Able to clearly and confidently communicate technical concepts and participate constructively in discussions.
- Some knowledge of Haskell, C++ and C#/.NET.
- Greatly familiar with the web platform, both on the client and server side, including HTML, CSS, the DOM, HTML5 canvas (2D and WebGL contexts), HTTP, WebSockets, and the nginx web server, as well as the XML and JSON structured data formats.
- Experienced in using Git for revision control, and the GitHub pull request workflow, with some experience of SVN.
- Acclimatised to both Windows and UNIX-like (Linux and macOS) environments.
Employment: University of Aberdeen — June–July 2017
I participated in 2-month research project on the application of structured semantic XML to legal documents. I helped develop a multi-user PHP Laravel web application using BaseX and PostgreSQL for storage, to enable reading and searching the XML-annotated documents in a user-friendly manner.
Open source: PHP project — 2013–present
I have been an active contributor to the PHP programming language for four years.
- Helped maintain and improve the PHP interpreter, a large cross-platform C89 codebase, including refactoring, analysis and patching of bugs, and introducing new features.
- Participated in the PHP RFC process for introducing major changes to the language, authoring or co-authoring more than twenty RFCs, several of which successful, and discussing others. This involved drafting detailed proposals for language changes, participating in discussion and responding to feedback, making the necessary changes to the PHP interpreter’s lexer, parser, compiler, virtual machine and test suite, and updating the XML-based PHP documentation and formal language specification as appropriate.
Open source: Gang Garrison 2 — 2011–present
Gang Garrison 2 is an open-source 2D multiplayer online video game written in GML that I managed several releases of and have contributed to for several years:
- Implemented an asynchronous HTTP/1.1 client library for internal use.
- Introduced and maintained the game’s plugin distribution infrastructure and plugin networking API.
- Overhauled the MySQL-based in-game rewards system with a single sign-on PHP web interface.
Freelance: Various custom widgets — 2013–2016
Personal project: PictoSwap — 2013–present
PictoSwap is a online messaging service I created from scratch to target the Nintendo 3DS, implemented as a single-page web app using HTML5 canvas for its drawing features. The service has users draw notes using the touchscreen and send them to friends, who can then watch the drawing be replayed stroke-by-stroke. The backend uses PHP 7 and SQLite 3.
MA Language & Linguistics, University of Aberdeen — 2014–2017
Within the field of programming, I take particular interest in networking, internationalisation and Unicode, the web, 2D and 3D graphics, and programming language design.
Outside programming, I have a keen interest in linguistics and language learning. I am proficient in German to B2 level.