Portrait

I am a PhD student at Boston University’s Department of Computer Science. I am currently advised by Prof. Abraham Matta. I completed my bachelor's degree, in computer science and engineering, from the German University in Cairo (GUC).

My current research interest is distributed systems. Some topics of interest are serverless computing for data-intensive tasks and multi-cloud computing. I have been working on compute cluster schedulers designed for data-intensive tasks. The scheduler should create the computation close to the data source in order to speed up the computation. I have also been looking at deploying a cluster on multiple clouds in order to get the most out of what each cloud has to offer. This can reduce cost and can improve performance.

Internships

Sequel Solutions Backend Developer | May, 2020 − June, 2020. Cairo, Egypt
Worked on developing a back-end for a real time chat application. Added features that were requested, like video calling, the ”seen” feature, sending image files, etc. Main technologies used: Nodejs, Socket.io, openvidu

Trufla Full Stack Web Development | June, 2017 − August, 2017. Cairo, Egypt
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 auto-complete APIs. Did numerous front-end fixes.

Teaching

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

Selected Projects
Refer to my other website for quick video GIFs on some of the projects.


JIFF, secure multiparty computation (MPC) | Javasript
Contributed to Jiff, a library that allows JavaScript users to implement applications of Multiparty Computation (MPC). Contributed to the core library and utilized the library to implement more than 7 MPC applications.

Platform for entertainment businesses | MEAN stack (MongoDB, Express, Angular2, NodeJS)
Group project. 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.

School system website | LAMP stack (Linux, Apache, MySQL and PhP)
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.

Car chase game | OpenGL
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.

Real estate broker | GoLang, Android app (Kotlin and Java)
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.

Cursor controller with two ultrasonic sensors | FPGA, Verilog, ModelSim, C#
Group project. Similar to a Wii Remote. A device built from two ultrasonic sensors that moves the cursor of computer.

Game with sensors | Arduino
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.

Simple 16-bit kernel | C and Assembly
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).

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

MEAN stack messenger | MEAN stack (MongoDB, Express, Angular2, NodeJS)
A private messaging application made using the MEAN stack. It was developed in 5 days as an interview project for Trufla.

Web-based multiplayer card game (Tarneeb) | MEAN stack (MongoDB, Express, Angular2, NodeJS)
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.

Circular references detector | Javascript and babel
A simple project to detect circular references in Javascript code.

Aspect oriented programming for Javascript | Javascript and babel
A toy project to support aspect oriented programming in javascript code using special syntax.