Produced as my university dissertation project, this repository contains a machine learning project that is able to extract and ingest data from audio files, and then make predictions as to the genre of the file based on the features.
This piece of work is one that I am extremely proud of as it was my first time working with a lot of the technologies and concepts involved.
The project consists of 3 key portions:
A Generative Adversarial Network that uses the MNIST dataset in order to produce handwritten numbers.
I produced this project as hobby work to play around with some more machine learning technology as it's something I find interesting.
The output of the 25 epochs from running this model are also included in the repository.
This project was started during my final year of university as a way to both practice my programming across a variety of languages, and also to provide a resource to assist newer developers with implementing these solutions for themselves.
Each implementation is fully commented so that whoever looks at it is able to follow what the code is doing. I chose to do this in order to provide a teaching resource for those that need it.
Currently, this repository covers the following languages:
There's a full list of the implemented algorithms/concepts in the repo's readme, along with which languages it has been implemented using.
Another piece of work produced for university, this project contains a barebones operating system designed to be run on the Motorola 68HC11 microcontroller.
The assignment asked that the operating system included functionality to:
Not all of the above were required, but were advised. Any additional functionality was awarded extra credit.
This repo contains my submitted assignment for the second half of my final year hardware and embedded systems module at uni. The requirement for this assignment was to use the graphical programming language LabView to produce a mock reactor cooling system to run on a MyRIO FPGA.
The assignment required the submitted code to include functionality to:
ANSI C90 application for use with the Motorola 68HC11 microcontroller. This application simulates a heart rate monitor by measuring voltage input.
This application will allow the user to:
A C++ based client server simulation that uses the WinSock API.
This project consists of two parts, a server application, and a client. These can be used to simulate multiplayer game in which the server allows multiple client connections and updates each of them in turn.
A C based printer simulation consisting of a producer and consumer, where the producer creates print jobs, and the consumer acts as a printer and consumes the created jobs.
An application produced for uni that allows the user to track the quality of a batch of resistors by providing select data about them.
This application supports 4-6 band resistors, and will report on whether a provided batch passes quality control measures based on the provided inputs.
Kotlin based Android application utilising the Trefle API.
This application was produced to be a gardener's best friend, and provide easy access to plants and all of their details. The application also provided functionality for the user to add plants to their collection so that any relevant details could be accessed offline.
Sadly, the Trefle API was closed shortly after this application was produced, however, it appears that Mashum has recently backed the project, and the API is going to be returning!
A progressive web application that leverages SWAPI the Star Wars API to serve Star Wars based information.
The first repository contains a Python script that continually polls a provided URL for changes to the webpage. If a change is made, the script will notify the user.
This script is relatively basic, with the URL being set directly within the script. Windows toast notifications are used to inform the user when a change is detected.
The second repository contains a similar script, however, this variation is configured to be used as a Discord bot.
This bot is able to run locally or hosted remotely, and has additional functionality that can be set via Discord command shortcuts, such as:
Advent Of Code is an initiative that runs yearly to encourage developers to solve a range of issues as fast and as efficiently as possible.
2022 was my first year participating in the program, and I initially planned on solving each problem using a different language. Though I didn't keep this up, I was able to solve the majority of the problems that came up. I will be taking part again in 2023, hopefully solving all the problems this time around.
Flutter based application that tracks the value of cryptocurrencies and allows the user to add currencies to a favourites list for easy tracking.
This was produced to aid with my learning of Dart and Flutter.
Produced as part of an assignment for JetBrains' Hyperskill Kotlin course, this repo contains code that allows the user to perform a variety of different matrix based calculations.
Another JetBrains Hyperskill assignment, this repository contains Kotlin code to allow the user to generate a signature.
Basic Java Server Faces web application using a Spring backend to simulate a grocery store website.