I'm working away in London; getting ready for my first LRUG talk & teaching at Codebar.   locating...


Blog   Articles



Full-time unboxing

At the end of July I moved to London and started working with unboxed full-time.

Europa Holiday

At the start of June I went on a ‘gap week’ to Europe with two friends from school. We went from Vienna, to Prague, to Berlin over the 9 days of full on tourism. We hadn’t done a great deal of planning but some excellent guided tours in Prague and Berlin more than made up for that. This was the second and longest time I’ve been to mainland Europe.

EDS Prize

I was awarded the EDS Prize in Computing Science for my final honours year grades.

Spelling Correction Paper

At the end of 2015 I wrote a paper titled The effect of query length and search engine identity on computerised spelling correction of corrupted queries. I was interested to test the correction performance of a number of search engines - the third last and final graph are likely the most interesting plots.

Code First Girls

This term I’ve been teaching as the instructor for the first Aberdeen Code First Girls course. It’s been great to take on a more active teaching role with a larger group.

Summarising the points

As a follow on from my honors project; I worked with my supervisors to publish the work as a conference paper for the 2016 Argument Mining Workshop. You can find the paper here on Google Scholar.

If you’re really keen you can find the thesis here or visit the conference papers here.

Graduated University

In June 2016 I completed my undergraduate degree with a first in Computer Science at the University of Aberdeen. While I might go back to studying some day; I think I’m going to do something different for a while. Despite initially being more than a little uncertain that university was for me, I got a great deal out of my time in Aberdeen. I particularly enjoyed working on my final honours project.

Social Media Workshop Talk

I gave a presentation with my supervisor on my honours project at a workshop for social science researchers interested in using social media analytics tools in their research.


I’m also teaching as part of the CoderDojo event ran by the department this term.


Coinbase & Pushover

I’d been meaning to learn a little more about cryptocurrencies for some time. I decided that the only way I’d be sure to take the time to learn the basics was to buy some Bitcoin. I’ve been tracking it since - I’ll likely hit the big time any day now. I built this simple task to keep me posted on the value of my wallet.


I completed the Digital Ocean Hacktoberfest challenge (with some rather meager commits in the midst of a busy term) and got myself a new t-shirt.

Practical Demonstrator

This term I taught a weekly class on the Level 2 Advanced Web Application Development course. The course covers Ruby on Rails and students build a range of basic web applications over the course of the term. I was paid as the TA for the class.


I used Dokku on Digital Ocean for serializer, luckily I was able to spend a little more time with Docker and Dokku this summer in London. I’ve got a cool side project waiting in the wings that I just need to get round to starting!

2015 Internship with Unboxed

I completed a second summer internship with Unboxed Consulting, a London Rails Consultancy. I wrote a blog post here about what makes for a good internship and featured here on the company blog.

CGI Prize

I received a prize for the highest marks in level 3 computing science.

Argument Workbench

I worked with a fellow student on an semantic search extension to an annotation tool. We built an indexer and Django web app to enable the annotated text to be queried for argumentation features.

I got the chance to write a threaded indexer in Rust and explore the Django framework as well as learn more about Natural Language Processing as a research area.


I started listening to podcasts - looking back I ought to have started much sooner. Currently I listen to everything 5by5 RoR, Programming Throwdown and Stack Exchange - I’m also a Changelog Member. They’ve been a great help with longer runs.

Podcasts coupled with serializer have lead to an ever growing number of cool things to check out. This ‘problem’ now lives in its own special Trello board.

Multi User Dungeon Game

I built a MUD terminal game in Java for a course in Distributed Systems.


As part of an assignment for the ‘Research Methods’ course I investigated the relationship between search term errors and search engine prediction accuracy. As part of the project, to gather my data, I was required to run a large number of queries. I implemented sirjest, a (very) simple concurrent scraper in Go, my first Go 'project’ (repo).


In an attempt to better our score 2014 score team woolloomooloo returned, as a duo - 1 man down. We were able to submit solutions for three problems, sadly none were correct.

I’d been using Kattis as practice but it wasn’t enough. The questions were quite a bit harder than last year, based on the performance of the top teams as well as our own.


Being exposed to the power of vim over the summer (thanks to Jack) pushed me to try it out. It hasn’t been easy but I think I’m getting there, disabling the arrow keys in Normal mode was the tipping point - take a look at my vimrc!


There’s nothing more valuable than learning what you don’t know. Codebar is a great way to get out of your comfort zone. While in London this year I was able to attend a good number of the events. I opted to predominantly coach for individual Rails projects - this is much more interesting than tutorials, it’s also a lot more challenging.

I wrote a blog post about some things I’ve learned from tutoring at university and codebar here.

Sub-19 Parkrun

I finally broke the 19 minute mark for a 5k at Inverness event #198

In an attempt to keep up with the social news sites Hacker News and Product Hunt while the workload piled on I built the serializer news reader as a procrastination activity.

After using the tool for some time I bought the domain and began doing a little casual promotion - it ended up on Product Hunt - more here.

I’ve also accumulated a very long reading list. Recently I’ve been keeping a list of some highlights of here - of the articles I do get round to reading.

Student Software Engineering Project

I was the team leader for a group of eight students working on an Aspect-based Sentiment Analysis tool for movie reviews. The project’s source is available on GitHub.

Upcase Haskell

I completed the Haskel track on Upcase along side a university course, Formal Languages and Computability, that also used the language.


FAT Filesystem

As part of my operating systems class I implemented a basic FAT filesystem in C.


I competed in a team of three in a nationwide programming contest - we were the highest scoring team from Aberdeen beating two 4th year teams.

Brighton Ruby

While with Unboxed I was able to attend my first tech conference. Really great to see more of the community and spend the day by the sea!

2014 Internship with Unboxed

I had a fantastic summer with the folks at Unboxed, a London-based Rails consultancy. Highlights include having a core team member as a mentor, finally understanding CSS specificity and working on a client project. I wrote a more detailed post here, I also featured on the company blog.

BCS Prize

I received a prize for achieving the best overall marks for level 2 computer science courses.

Rails Rumble

I teamed with a fellow student to build a running race time estimator. The idea was too use data from powerof10 to build a basic model for race times. Then given some times by the user we’d be able to find similar runners and make an estimate based on that.

We got most of that in - just not all of it. We didn’t stand a chance against some of the others, Refactor Cop for example! I’m signed up again for this year.

University Teaching Assistant

I volunteered for two semesters as a teaching assistant on the Web Application Development course. The course taught basic full stack development using Rails and jQuery.


While at the Brighton Ruby conference I learned of codebar and attended several times as a coach in the following weeks while I was still in London on internship.

Network for Social Enterprise Project

I worked on short-term project while studying and built a private social network, CMS and analytics platform for social enterprises. We used Rails and Comfy Mexican Sofa to build the site - this was my first paid project. The system was apparently ‘well received’ at an UNESCO conference in July.


Travel Turbine

I worked on Travel Turbine with a fellow student. The application compared various modes of transport within the U.K. and made use of web scraping for data collection. We’ve kept the project on online and I see it as my first ‘useful’ app.

An NSA tool for mass data collection also called Turbine was leaked less than a week after we finished working on the project!

IT Technician with Momentum-iT

After my first year I worked as an IT technician at a local IT company, Momentum-iT. I learned a lot about User Experience & malware. I also got to dust a computer that had lived in close proximity to a deep fat fryer - wouldn’t recommend!

Loch Ness Marathon

I underestimated my first marathon - finishing in 4h:12m, it’ll be sometime before I run another. I think this photo shows just how much underestimation we’re talking about. 2222 for a race number though!


I went to Sweden for the weekend, leaving the British Isles for the first and only time in my life thus far.


I registered as a place to live on the Internet. History of the ‘stack’ has been something like: blogger, tumblr, gh-pages, heroku (rails app), jekyll and now… middleman!

At the same time I started something of a regular blog - I worked at it quite hard posting everyday for a few months. I still try and post about once a month!

Started Parkrun

I started attending Parkrun, a weekly 5k running event. I’ve since attended over 140 times at 20 different events.

Highland Cross

I competed in my first Highland Cross, a 50 mile coast-to-coast duathlon. I’ve been back every year since - though sadly I’ve struggled to improve my time significantly.

Informatics Olympiad

I was the only student at the school to take the Informatics Olympiad test, I had a few days to prepare and attempted the questions in VB.NET. I got 3%.

Started Ruby

As part of the first year web application development course I started learning Ruby. It was quite a change from walled garden of Visual Studio - the extent of my programming experience up until that point.

Enrolled at University of Aberdeen

I enrolled as an undergraduate student at the University of Aberdeen to study BSc Computer Science.

Finished at Dingwall Academy

I completed high school with AAABB Highers and ABC Advanced Highers.


Exploring from my comfort zone of Visual Studio I was able to experiment with XNA, this was a lot of fun. Making games takes a ton of time!


End to End

I cycled from Lands End to John O'Groats on a rather unconventional route encompassing Ireland and the Outer Hebrides.



I started learning event driven programming at school with Visual Basic and Visual Studio. In my final year I built a program to analyze and score keep badminton games, I’ve since lost the source.


I bought my first programming book ‘AppleScript: The Missing Manual’. I wasn’t particularly committed - at the time I didn’t really see it as programming.


Got me a Computer!

I got my first computer, an Apple iBook G4. I used it for Photoshop (I tried and failed to get past iStock selection - those guys are strict).

I also played Nanosaur 2 and some of the other included games. We didn’t get ADSL until some time after ‘everyone else’ - I got new software by subscribing to Macworld!

Built with Middleman, Slim, Bootstrap Grid & Markdown and as much jQuery as was needed to make that classy fade in animation.