This page contains extensive information on my skills, background and experience for any of those who are interested (this page also therefore acts as a map to my GitHub repositories):
Check out my LinkedIn too, connect with me there:
- GameBoyDoctor - Doctor: [Python]
Removed unnecessary unzipping of truth files if they were used previously
-
SYCL Based Parallelisation of HPCCG - SYCL-HPCCG: [C++, SYCL, OpenMP]
I'm porting this High-Performance Computing benchmark to SYCL, a heterogenous parallel programming model. This is to increase its portability. I will then compare my implementation to others to see if the gains in portability are offset by losses in performance. The SYCL CPU application is already done. Check it out!
-
BytePusher - BytePusher: [C++, SDL2]
This project was to get me into emulation in preparation for the development of my Gameboy Emulator. It's an emulator of a machine called a BytePusher which only has one instruction, to move a byte from one location in memory to another. I implemented the memory, audio buffer, display and CPU. in C++ and I'm able to run some roms as you can see below.
-
Alpha Sync - Alpha_Sync_GUI: [Electron, React, UPnP, Express, Node, Typescript, MaterialUI]
Reverse-engineered the protocol that Sonys imaging edge mobile application uses to connect phones and their line of Sony alpha mirrorless cameras by packet sniffing. Used this knowledge to develop an application to wirelessly transfer images from my camera to my laptop. To my knowledge, Sony hasn't made an application that does this for Apple chip Macbooks and I needed my holiday photos off my camera.
-
GameBoy Emulator - GameBoyEmu: [C++, SDL2]
Researched the GameBoy's internal components and how exactly they worked and reimplemented them in C++ and SDL2. Able to play games such as Tetris as shown.
-
SwingSearch: Auto DJ - SwingSearch: [OpenCV, Librosa, Python]
Winner of LanHack 2023 Automatic Swing Dance DJ Uses YOLOv3 and Simple Online Realtime Tracking (SORT) to count how many people are dancing as well as their speed and use librosa to match the BPM of the next song to this activity. Also used spectral analysis on the songs to recommend songs that are similar to the songs that the user seems to like.
-
PROGAN - AI:
Re-implementation of Progressive Growing of GANs for Improved Quality, Stability, and Variation to generate cartoon faces.
- First Place - LanHack 2023
- Goldman Sachs Prize - DurHack 2019
- Durham University Computing Society - Events Officier
- Durham University Swing Society - Publicity Officer
- DurHack - Outreach Officer
For more details on my roles, and non-software-engineering-specific experiences, see my LinkedIn.
Summer Technology Analyst
-
Developed a user-friendly tabular interface for visualising contract discrepancies generated by external vendors and integrated it into existing interfaces.
-
Wrote a Java back-end to query an IBM DB2 SQL database and serve the data as well as an Angular front-end with internal components to display the data.
-
Worked collaboratively and successfully with another intern by adhering to agile principles resulting in project completion a week before the deadline.
-
Researched with three other interns how to best obscure MNPI and PII to improve data security. Presented our findings to senior members of the firm who then took the information into account in deciding the firm’s direction.
-
Produced frontend unit tests via Jasmine to eliminate observed crashes and increase test coverage to 100%.
-
Received commendation from members of the team due to fast acquisition of Angular skills within the first two weeks.
-
Technologies used: Git, Java, Javascript, Angular, Jasmine
Summer Technology Analyst
-
Created an API to increase observability of artifact consumption throughout the firm for the purpose of vulnerability threat min- imisation and assistance with repository migration.
-
Consumed data from Artifactory using Fluent D then transformed it into time series data by Prometheus which could be accessed programmatically via an API created with FastAPI.
-
Created a Graphana dashboard to visualise data for the benefit of non-programmers.
-
Designed and delivered a five-week Python course for non-technical members of the firm. The members were able to build basic password managers at its end.
-
Introduced FastAPI as an alternative to Flask which led to a commendation and team projects being re-implemented with this technology to cut down on boilerplate code after internship completion.
-
Technologies used: Git, Groovy, Kubernetes, Python, Graphana, Fluent D, FastAPI, Artifactory.