» Fast Docker Builds in GitHub Actions with Compose files

How to get Docker image caching working in GitHub Actions when using docker-compose.yml files.

» An Updated Tech Stack: Remix

I recently changed this website's tech stack to Remix and it's worth explaining why.

» My Intro to Digital Minimalism

This last weekend I went to a farm, left behind the internet, and read a book. The book blew my mind a bit!

» How To Use Amazon CodeGuru Profiler To See What Your Application Is Doing

Amazon CodeGuru was just released at AWS re:Invent 2019 and a lot of the coverage has been around CodeGuru Reviewer so I'm here to show you a little of what CodeGuru Profiler can do.

» A Weekend at Thought Bubble in 2019

A rambling summary of our wee trip to Thought Bubble 2019 in Harrogate - from the perspective of a comic book noob!

» How To Install OpenCV 3.3+ with Java on Mac

I spent a couple hours trying to resolve an UnsatisfiedLinkError with OpenCV and Java on Mac, I found the solution.

» Vertical Scalability Investigation of ROS (Robot Operating System)

My level 4 university project was an investigation into the scalability of ROS. This post looks at how I evaluated ROS' ability to vertically scale.

» Better Android Battery Life Without Root

I've been really frustrated with the battery life on my Moto X Style recently, but I'm wary of rooting due to my dependence on Google services (and sense of security!).

» How To Access Hadoop System Counters Programmatically

I failed trying to find a source which listed the Counter Groups and Counter Names of all the Hadoop MapReduce system counters. So I compiled a list of them all.

» Fix For Android Parcelable Extra's Being Null

I came across a useful fix for Android's AlarmReceiver's extras always coming out as null. We need to marshal the Parcelable to a byte array.

» Why I Chose Amazon Web Services (AWS) As My Website Host

I spent a few evenings over the past couple weeks to migrate this site over to AWS, here's why I did it.

» Is Reading Technical Books A Useful Task?

I've been cramming for my NINE exams over the past 3 weeks, part of the revision has been reading mandatory technical books. Are they actually useful?

» Writing Reports In Software Engineering

This week I've been writing an experience report on my 6 month university team project. I wanted to share some thoughts on the difficulty of reflection on previous experience in software engineering.

» St Andrews University Hackathon (STACSHACK) 2016

In February my friends and I attended St Andrews' hackathon. It went fairly successfully, and I learned some cool new tech! This post covers the details.

» The Importance Of Specific University Courses

I've been thinking about what university courses I want to do, and what I SHOULD do. Are they necessarily the same thing?

» Starting Game Development with Unreal Engine 4

A rambling post around my first baby-steps in game development.

» Amazon Development Centre Interview Experience

In a previous post, I spoke about my application experience for an Amazon internship. Here's how the interview stage went.

» Contributing To Open Source Is Easier Than You Think

This weekend I made some contributions to open source repos on GitHub. It made me realise how easy it is to contribute something meaningful.

» Amazon Development Centre Application Experience

In October 2015 I applied for a Software Development Engineer Intern position at Amazon Development Centre in Edinburgh, United Kingdom. Here's my experience.

» How Much Should A Software Engineer Know About Operating Systems?

Operating Systems are a standard course for Comp Sci undergrads. How deep down the rabbit hole should we go?

» What Is Wagtail? - Django CMS

I spent a week or two researching various Django CMS platforms. I ended up settling on Wagtail. Here's why.

» Popular Posts Using Jekyll and GitHub Pages (or, Why I'm Moving To Django)

Why you can't easily do fancy things that require remembering state with GitHub Pages.

» Guest Post: Poker Analysis With Haskell

Thomas Fletcher is a Maths/Physics undergrad who has been working on a poker hand analysis tool in Haskell.

» Removing intersection of GeoJSON Multipolygons with Mapbox and Turf.js

How to take the difference of multiple multipolygons with JavaScript.

» On Mapbox, Leaflet, and Turf.js

I recently began working with Mapbox instead of Google Maps. Colour me impressed!

» Focussing On The Big Four

Many communities of young software engineers focus on several of the largest software houses in the world - why?

» Life With A Pebble Smartwatch

I recently began using a smartwatch daily. I've found it's improved my life in some ways, and detracted in others.

» Netflix Is Not Re-Encoding It's Library 'By Hand'

Despite mainstream media telling you to praise netflix engineers.

» The Importance Of Reading As A Software Engineer

Many view reading as a waste of valuable time, so why should you set aside time for it?

» Why I'm Excited About HTTP/2

HTTP/2 might be the best web development since the dawn of AJAX.

» Glasgow University Hackathon Winner 2015

My team achieved first place at the Glasgow University Tech Society Hackathon of 2015! Here's a little about what we created.

» How to set up a static local IP for Raspberry Pi 2 Model B

A quick tutorial on setting an IP on RPi 2.

» Mouse Tracking and Logging in JavaScript

Code example and tutorial on how to create a simple mouse tracker and logger for web pages using JavaScript.

» A Jenkins Security Issue

My University set up a slightly broken Jenkins install for team projects.

» Hello, world!

Cliche: A journey begins with a single step.