Portfolio

Some of the things that I have worked on.

Websites

In my capacity as a Principal Software Developer at Box UK, I have been involved in the development of many websites, including the following:

  • BBC Homepage - I developed the weather functionality for the BBC Homepage. This Agile project involved writing a library to parse the BBC's weather data feeds and displaying various weather information, depending on a user's location. Accessibility, web standards and performance were key concerns for such a renowned and high-traffic site.
  • BBC Travel News - This project involved replacing several of the BBC's existing systems for outputting travel data with a single new system that supported multiple output formats (e.g HTML, RSS, plus other formats for BBC services such as the red-button). I wrote the PHP layer that requests data from a Java web service and transforms the data into the various output formats. Again, performance and the standard of the output had to be particularly high, as the service had to deal with millions of requests every day.
  • The National Gallery - I did the majority of the front-end work for this site. I also took a lead role in programming the back-end functionality, which had to be built to to make efficient use of the massive amounts of data that The Gallery have about their paintings and artists. This project mainly involved PHP, MSSQL, XSL and CSS. I was also involved in day-to-day contact with the client whilst developing this site.
  • The British Computer Society - This project involved the upgrade of the BCS's existing website. This incorporated an upgrade to PHP 5, changing from a MSSQL database to a MySQL database and implementing a site-wide redesign. The client was very pleased with the finished site, which won the "Best use of Web/Digital Award" in the Transform 2010: The UK's Rebranding Awards.

Geodesy Library

Outside of work I developed an interest in geodesy - the science of accurately measuring, understanding and mapping the shape of the Earth. This prompted me to develop a PHP library for carrying out common geodetic calculations, such transforming coordinates in one Earth ellipsoid to another.

I wrote this library for fun and as a learning exercise, but it ended up being useful for a client project where location data was provided using Ordnance Survey Grid References that needed to be converted to WGS84 coordinates.

While I keep most of my toy projects in private repositories, I decided to open-source this library in a public GitHub repository.

BSc Computer Science Dissertation - Automatic Software Plagiarism Detection

This was my final year project which helped me achieve a 2:1 in Computer Science. It involved designing and building a system to detect plagiarism in programming source code. The specification was quite loose, which encouraged me to thoroughly research the field of plagiarism detection, both in general and in the sphere of source code plagiarism.

I carried out research into techniques used for detecting plagiarism and systems already in existence, such as Alex Aiken's MOSS. Then I set about designing and building my own system using Java for detecting plagiarism in Java source code. The design process involved techniques such as UML modelling and prototyping and Object Oriented design. This research and design had to be compiled into initial and interim documents to displaying my findings so far in a concise manner.

I was required to carry out a presentation about my project. The talk I gave was well-received and I scored highly in this aspect of the project.