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

I was a Part 2 Prize Winner for IBM’s Master the Mainframe Contest 2016. In it, I learnt how to perform extensive programming (advanced commands, system setup, and advanced system navigation) and application developing (C, JAVA, COBOL, assembler and REXX) tasks, as well as gaining hands-on experience with multiple operating systems (Linux on z Systems, z/VM, z/OS, z/TPF).

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