About Me
I am a PhD student in the Sustainable Energy Research Group in the University of Southampton, working with Professor AbuBakr S. Bahaj and nquiringminds. the University of Southampton. My current topic is on using Artificial Intelligence and Computer Vision on Renewable Energy production from Photovoltaic Solar Panels.
I’m mostly interested in programming, especially in anything related to Artificial Intelligence, such as Machine Learning or Computer Vision.
Experience
AI Engineer
nquiringminds Ltd.
Jun 2018 - Current
Some of my responsibilities included:
- Using deep-learning for the classification of signals using a software-defined radio.
- Working on a Javascript Node.js NPM database package.
- Creating a front-end data visualization responsible web-application using React.
- Creating Bash install scripts.
- Designing and building servers and RESTful APIs using OpenAPI/Swagger.
Embedded Engineering Intern
nquiringminds Ltd.
Jun 2017 - Sep 2017
I was working on experimenting with high-speed data processing and storage at nquiringminds.
My work consisted of benchmarking and testing different processing solutions.
It involved:
- Compiling and optimizing TensorFlow on ARM processors
- Designing and benchmarking fast and space-efficient binary-data storage
- Testing and benchmarking fast signal-processing algorithms
This involved writing code in Python, C++, and SQLite, along with testing SIMD vectorized instructions, compiler optimizations, compression algorithms, and file systems (ie F2FS vs ext4).
Mar 2018 - Apr 2018
I was doing sysadmin with Linux, writing Bash scripts and Systemd services for automatically creating networks and accesspoints over WiFi, Ethernet, 3G, and SMS.
Engineering Intern
Airbus Defence & Space Friedrichshafen
Jun 2016 - Sep 2016
I was working on the on-board software for the “FLP Testbench” project: a testbench for a small, affordable, customizable, and state-of-the-art satellite platform. My work mainly consisted of porting the on-board software to run on a newer dual-core computer by adapting the code to use asymmetric multiprocessing. I also upgraded and tested the code with the in-development version of RTEMS 4.11, and tested symmetric multiprocessing.
The software was written in C++11 with an object-oriented design. To increase code reusability, the code was heavily encapsulated and filled with abstract interfaces and generic templates. Doxygen was used to make documentation.
See the page on Airbus Experience for more information.
Education
PhD Engineering and the Environment
The University of Southampton
Sep 2018 - Sep 2022
I’m working in the Sustainable Energy Research Group at the University of Southampton, working with Professor AbuBakr S. Bahaj and nquiringminds.
My current topic is on using Artificial Intelligence and Computer Vision on Renewable Energy production from Photovoltaic Solar Panels.
MEng Electronic Engineering with Artificial Intelligence
The University of Southampton
Sep 2014 - Jun 2018
First Class Honors
The University of Southampton’s MEng Electronic Engineering with Artificial Intelligence gave me an overview of the entire field of Electronics with a focus on Artificial Intelligence.
For my third-year project, I worked on evaluating and assessing Iterative-Learning-Control algorithms with Professor Eric Rogers.
For my fourth-year project, I was the project leader for simulating a robotic arm, with my focus on using Convolutional Neural Networks for Computer Vision with Dr. Klaus-Peter Zauner.
Grades:
Final Result | First Class Honors |
Advanced Machine Learning | 80 |
Computational Finance | 100 |
Computational Biology | 82 |
Computer Vision | 75 |
Advanced Computer Vision | 87 |
Advanced Programming | 75 |
Intelligent Agents | 78 |
Machine Learning Workshop
JP Morgan, London
Jun 2016
This JP Morgan Machine Learning Workshop taught machine learning techniques in Python.
Projects
IBM’s Master the Mainframe Contest 2016
Nov 2016
Ball Robot
March 2016
I worked on a web-controlled spherical ball robot. I wrote most of the back-end code that it ran on, allowing Javascript on a website to execute Python code on Raspberry Pi in the ball robot, which could then control motors. I also wrote Javascript (and the necessary backend) that allowed accelerometer/GPS data to be shown on the website, along with the motor status.
IBM’s Master the Mainframe Contest 2015
Feb 2016
I received an honorable mention for Part 3 of IBM’s Master the Mainframe Contest 2015. It involved heavy use of z/OS and some JCL, Java, COBOL, and SQL. I was also a prize winner for Part 2.
PID Controlled Voltage Boost Converter
May 2015
I created a boost converter controlled by an ATmega644P. It was programmed in C and used a PID controller. In addition, the embedded device communicated to a PC via UART, where a GUI (also programmed in C) showed statistics and allowed changing parameters.
Password Manager
May 2014
I built a password manager in Java. It had a cryptographically secure random password generator, and saved the passwords in an encrypted format. The GUI was made using Swing.
Skills
Programming Languages
- C (Embedded Programming)
- C++ (Qt and RTEMS)
- MATLAB
- Java
- JavaScript (React and Node.js)
- Python (Numpy and TensorFlow)
- SystemVerilog (Hardware Description Language)
Software
- Windows
- Linux and Bash
- Git and SVN
- Eclipse and NetBeans
- Doxygen, Javadoc, JSDocs