I’ve been passionate about programming and what can be achieved with it since my childhood. I explored a lot of areas in software development such as 2D and 3D games, web applications, real-time and embedded software, functional programming, formal methods, machine learning, data visualization, and deployment. I started a lot of projects and I’m always working on some of them. This is what makes me feel alive: unleashing my creativity to solve new problems while making things work. Almost all the projects I worked on are linked to one of my two main passions (and sometimes both): programming and games. This large background gives me the ability to solve complex problems using a broad range of knowledge and skills.
For a long time, my main issue has been that I wasn’t able to complete my projects. Two reasons led to this situation. The first one is that it is almost impossible for me to work on something when I’m not passionate about it and my passions don’t last long enough. I always get interested in something new and I begin a new project. The second reason is that I was always starting huge projects. I was so passionate at the beginning of each project that it has to be a lifetime project. With time, and driven by professional obligations, I learned to solve this issue while still living my passion. Now, I always start new projects with a small first step and make it grow step by step. I also make sure that I have some ways to keep my motivation long enough to reach my next goal on the project. Since this change, I’ve been really happy to be able to share the results of my projects, even if they are often very simple.
Currently, my main interests are programming, educational games, other games, the Arabic language, and drawing. When I’m not working on my projects I spend quality time with my charming wife and my lovely daughter.