MLP is a two-semester practical course covering Machine Learning with neural networks, initially built from numpy, and then using TensorFlow.
The three courseworks entailed experimenting with different nets against the MNIST handwriting and CIFAR 10/100 image datasets.
To help speed up training and testing I built a workload distribution SSH bot, Pub/Sub and data streaming system using Redis, allowing many nets to be trained at the same time on different lab machines, as well as live analysis & graphing.
Currently developing Web systems including the storefront, User-facingn APIs, PCBs + Formware, order management, logistics, production management content management and learning systems.
Hardware work entails development of the control board, ‘Rick’ for Marty the Robot, using a ST Microelectronics STM32 ARM controller. The board has WiFi connectivity, GPIO and 9 servo control channels.
This task is inspired by ant navigation capabilities. The robot starts at a ‘nest’ and must search for virtual ‘food’ in the environment, collect it and return it to the nest to gain points.
We imlemented Simultaneous Localisation and Mapping (SLAM) in the 2D environment with the Khepera II Robot, choosing to evolve a map as the robot explores rather than use a pre-configured static map.
This project was implemented using Python, Redis and ROS. The above image has the real Rviz (ROS) representation of the robot’s state in that environment superimposed.
Tasked with building a concept website to help students who have recently been admitted to the University of Edinburgh’s School of Informatics.
The site must have a fairly complex set of designed interactions, and cover a range of topics as identifies in a previous Affinity diagram.
We produced a timeline checkbox concept and put emphasis on adhering to the University of Edinburgh’s design style and guidelines.
Project received 96% mark.
Joined the company just before crowd funding begins, working on Firmware and dedicated control board hardware for the little biped robot ‘Marty’, using an ARM Coretex M4.
I’m also developing APIs and integrations for the robot so it can be used with many popular environments, like Scratch, Python, C++ and ROS.
Full stack development of a wheeled robot to play two-a-side footbal loosely based on the Robocup SSL
Undefeated in the final tournament set, winning the seeding tournament and performing well in the final tournament.
I’ve written up some aspects of the firmware design here, detailing the use of Gradient Descent error correction and RTOS-like task management.
OpenCV based face detection welcomer, designed to digitise Rise Manchester’s space in a user friendly and easy way. Frontend used Typed.js, Bootstrap and JQuery.
Winner of the Rise Manchester Challenge: Digitise Rise’s Space challenge.
Comprised of two parts, the design and development of an input DSL for CAES developed by Ewan Klein.
Secondly, the system was extended to provide an adversarial argument evaluation system, with two prosecution and defence agents attempting to satisfy and defease a specified literal goal, over the argument set. This models burden of proof and multiple proof standards.
Unfortunately code cannot be published due to academic regulations.
Project received 100% practical mark.
Python Flask webapp, using Redis as a fast data store. I developed the SSH bot that concurrently connected to all the computers in the Lab, updating Redis with their availability, i.e. if someone was on them and who.
Winner Best Use of Braintree PayPal API, University of Nottingham Information Services’ Best Hack awards.
PayPal was used for a ransom-bid mechanic to cause a computer crash (for comedic purposes only, and this feature went away quickly after the hack!)
Update in 2019: Still going strong, the School of Informatics has adopted the project along with current-student contributors.
The tool provides a broad set of market leading metrics for content quality analysis for the company, using Natural Language Processing techniques to derive the inputs to these formulae. (English only)
Built using Python, NLTK - the Natural Language Toolkit, Flask and hosted on Heroku.
Web design for Diamond Minding Ltd. Blog-aware Jekyll & Bootstrap.
Web application built using Python Flask, Facebook’s API & Skyscanner’s flight search API. The application made flight suggestions based on location data from facebook friends and discounted flight rates.