PhD Student at Boston University

Distributed Systems Researcher

Advised by Prof. Ibrahim Matta

GPA: 3.69

Bachelor Of Engineering in Computer Science

German University In Cairo (GUC). SEP 2014 - JUNE 2019

Faculty of Media Engineering And Technology

GPA: A
(german grading scale)

Internships

Student Researcher
Tutorials And Experiments Developer

FABRIC Testbed, USA (Remote)       -       MARCH, 2021 - PRESENT

FABRIC Testbed provides cloud computing infrastructure, as well as software for interacting with the infrastructure. I work on designing tutorials for the FABRIC software, as well as experiments. This can help users run their own experiments, as well as explore the capabilities of the infrastructure. I also help with testing the FABRIC software, and I contribute to the software.


Backend Developer

Sequel Solutions, Egypt (Remote)       -       MAY, 2020 - JUNE, 2020

Worked on developing a back-end for a real time chat application. Added features that were requested such as video calling, the seen feature, sending image files, etc... . Main technologies used: Nodejs, Socket.io, openvidu.


Full Stack Web Developer

Trufla, Egypt       -       JUNE, 2017 - AUGUST, 2017

Worked on the company's dockerized AWS staging servers. Added ES6 support to their Angular 1 app. Created an API to calculate an estimate of a driver's grid rate. Created autocomplete APIs. Did numerous front-end fixes.

Publications

Solving the 2021 DEBS grand challenge using Apache Flink

June, 2021 : ACM DEBS '21

We look at air quality sensor data (in AQI) of cities. The task is to find the cities that have improved the most in air quality, and the cities that have achieved the longest sequence of good AQI values using Apache Flink.

Below you can find some of the projects that I worked on.

(All logo files belong to their respective owners)

Platform for entertainment businesses

A social media like web platform where business owners can create pages and post activities and events. Users authenticate with JWTs and can view content, post comments, rate and subscribe. Roles: Admin, Business Owner, User.

Technology used: MEAN stack (MongoDB, Express, Angular2, NodeJS)

School system website

Individual project
User roles: admin, student, parent, teacher. Students can enroll in schools and solve assignments posted by teachers. Students can post questions that can be answered by teachers.

Technology used: LAMP stack (Linux, Apache, MySQL and PhP)

Car chase game

Group project.
A PC game where the player controls a police car with the arrow keys and is chasing a thief. He needs to collect fuel to speed up and advance to the next level. He needs to avoid many types of obstacles and can collect coins.

Technology used: OpenGL.

Vehicles

Individual project.
Models of vehicles.

Technology used: OpenGL.

Real Estate Broker

Group project.
An android application and a GoLang chatbot backend. A real estate broker bot that records property details from sellers and uses the data to recommend properties to buyers. Users are sellers and buyers.

Technology used: GoLang, Android app (Kotlin and Java).

Cursor controller with two ultrasonic sensors

Group project.
Similar to a Wii Remote. A device built from two ultrasonic sensors that moves the cursor of computer.

Technology used: FPGA, Verilog, ModelSim, C#.

Game with sensors

Group project.
A game with 3 lights and 3 sensors: a speaker, a button and a light sensor. Trigger the correct sensor when its light is on. The game has difficulties.

Technology used: Arduino.

Unity3D Games

  • Single Player Turn Based Strategy Game (CIB Competition)
  • Interactive Movie Game (Group Project)
  • Two Platform Games

More projects

  • Simple 16-bit Kernel

    Used and implemented system calls. Implemented shell commands and file management commands (writing to disk, printing to screen, copying, deleting). Implemented program execution and multitasking (a scheduler).

    Technologies used: C and Assembly.

  • Scalable Messenger App

    A desktop-based text messenger. Multiple instances of the backend can be run and the load is balanced automatically. Used the reactor design pattern.

    Technologies used: Java.

  • Mean stack messenger

    A private messaging application made using the MEAN stack. It was developed in 5 days as an interview project for Trufla.

    Technologies used: MEAN stack.

  • Web-based multiplayer card game (Tarneeb)

    Personal group project
    A browser-based multiplayer card game made with the MEAN stack. Designed to responsively work on phone browsers. Developed by two of my colleagues and me in two months for fun.

    Technologies used: MEAN stack.

Teaching

Junior Teaching Assistant (GUC)

(CSEN 102) Introduction to Computer Science (Python), Winter 2015
(CSEN 202) Introduction to Computer Programming (Java), Spring 2016

Academic projects

  • Circular references detector

    A simple project to detect circular references in Javascript code.

    Technologies used: Javascript and babel.

  • Aspect Oriented programming for Javascript

    A toy project to support aspect oriented programming in javascript code using special syntax.

    Technologies used: Javascript and babel.