I am a Ph.D. student at Boston University’s Department of Computer Science. I am currently advised by Prof. Abraham Matta. I completed my B. Eng. in Computer Science, from the German University in Cairo (GUC).
My current research interests are in the area of distributed systems with a primary focus on serverless computing in a multi-cloud setting with resource contention.
A smart scheduler, along with associated algorithm, are in the process of design and implementation for this specific environment. Distributed system throughput will be ideally optimized and enhanced via selective scheduler allocations and pairings between serverless functions and the queue.
FABRIC Testbed Student Researcher
| March, 2021 − Present. Remote, USA
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.
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.
JIFF, secure multiparty computation (MPC) | Javasript
Refer to my other website
for quick video GIFs on some of the projects.
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.
Unity3D Games | Unity3D and C#
Single Player Turn Based Strategy Game (CIB Competition). Interactive Movie Game (Group Project). Two Platform Games.