Writing on software design, company building, and the aerospace industry.

All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.

A New Exam Scheduling Algorithm Using Graph Coloring

This study provides a mechanism for automatic exam-schedule generation that achieves fairness, and minimizes the exam period using a graph-coloring algorithm for the exam scheduling application.

Detecting Graph Symmetries

Diving into the details of a computer program for detecting symmetries in vertex-colored undirected graphs. We explored the foundations of data compression using elements from information theory.

Faking Arabic data using Python Faker library

The idea of populating fake data that mimics real life data crossed my mind when I was working on an Arabic Natural Language Processing tool and I struggled to test some of its features.

Data Compression: Theory and Demonstration

Let's explore the foundations of data compression using elements from information theory. The project is broken down into four milestones that lead us through understanding the various components of this project.

Edraak, A year of challenges!

Where every day was an accomplishment by itself, where I learned that a single goal for a day is not enough to keep growing. Thhe journey at Edraak was different in all aspects I could've imagined.