Mycs - New Refunds Processing System

14 March 2021

Development of a New Refunds Processing System

Built a new Refunds Tracking and Processing System for Mycs GmbH, a major European Retailer of Custom Furniture.

Continue reading →

Erlang-Style Actor Model in Haskell

8 March 2021

An Erlang-Style Actor Model implemented in Haskell

Example Usage

Continue reading →

Remove unwanted pre-installed android apps without root

14 December 2020

Note: Unfortunately, this does not remove absolutely all traces of the software (/malware!). But, it does remove them completely from view, and reduces the amount of disk space they consume. I am not aware of any better solution without rooting the device. If you are aware of a better solution, please get in touch!

Continue reading →

Manipulate Spreadsheets in Python using openpyxl

14 December 2020

Prerequisites

If you don't have pip, install that first. Then install openpyxl using pip: run pip install openpyxl

Continue reading →

BSc Final Year Project - Producing Accurate Questions by both Generating and Assessing Questions using Neural Networks

30 June 2020

The following is a trimmed-down re-edit of the report I wrote for my Final Year Project, completed for my Bachelor's Degree in Computer Science from Nottingham Trent University.

Continue reading →

Advanced Software Engineering - Functional Test-Driven Development with Haskell

30 June 2020

The following report was originally submitted as coursework for the Advanced Software Engineering module of my Bachelor's Degree in Computer Science.

Continue reading →

Service-Centric and Cloud Computing - Shares Web Service Project - Scala/Go/Angular

30 June 2020

The following is taken from a report I wrote for the Service-Centric and Cloud Computing module of my Bachelor's Degree. It describes a system built for the coursework of that module. The system's purpose was to simulate the trading of shares, and to log the shares owned by different users. The software was written to a specification which detailed the purpose of the system, but not specifics of implementation, which was left relatively open-ended. As such, I chose to use Scala/Scalatra/Slick, Go, and Angular - largely because I wanted to learn more about each of these.

Continue reading →

Group Project - Advanced Analysis and Design

1 March 2020

I worked with five other students to develop a storage management system for the NTU stores. First we had to figure out the requirements and specify the system. To better understand the problem, we had a site visit to the stores and carried out field research. This was followed by brainstorming, role playing, and process analysis. We wrote a Requirements Specification. In this we stated the purpose of the project, researched existing solutions, examined the user characteristics, and interviewed potential users of the software. We described the assumptions that we were making, set the scope and constraints, and created a glossary of terms. We then created lists of Functional and Non-Functional Requirements (which continued to change throughout the project). The FRs and NFRs were all rated as either must, should, could, or won't.

Continue reading →

Exel Computer Systems Plc - Advanced Product Configurator

1 September 2019

Product Configurator for the EFACS E/8 ERP suite

A Screenshot of the Product Configurator

Continue reading →

Exel Computer Systems Plc - Eagle Field Service Enhancements

1 September 2019

Mobile Field Service Application Extension

The Eagle Field Service SystemThe Eagle Field Service System

Continue reading →