Skip to main content


Sodioum’s First Project

 This is simply our graduation project (Saif Jarrah and Edmond Shami) which got $21k in funding to continue its development.  Tested at Hikma and Aramex, the device basically moves around the warehouse and uses multiple sensors to do auto-counting of inventory with wireless data transmission to the cloud.   It still needs further work down the line.  
Recent posts

The Traveling Salesman Can Wire Your Devices on his Way

  Last month, we had one of the biggest projects that I have personally worked on. The scale was massive, and hence, the number of devices was enormous. If parametric/automation design was not an option, it would surely be a nightmare.  In the past, I had developed a code that would help engineers specify the wiring path for fire alarm devices, that basically included both, manual and automated efforts to save time.  But in this project, this was no longer applicable, the scale required full automation to deliver on time.  What to do? The first idea I had was to go back to math! I knew that there would be a mathematical solution to my problem, and my research led me to the Traveling Salesman Problem. A fascinating mathematical problem that was solved and even translated into python code.  Thankfully, Dynamo in Revit enables the use of Python, so I used the traveling salesman algorithm to define the optimum path for wiring the devices for each floor automatically. In 5 mins, thousands o

Role Models for BIM Models

  Emperor Constantine I, Presenting the first Clash Free BIM Model of the City to the Blessed Virgin Mary We all have role models in our lives, people we look up to and wish we can be like (mine is Nassim Nicholas Taleb for example).  But can BIM Revit models have role models too? Yes they can! I'm pretty sure any design engineer who works with Revit has come across projects where the project is divided into several packages, with the client begging the consultant to have consistency across all packages, to which the consultant replies with "Sure!" but usually doesn't achieve the desired consistency due to human error. But, what if we can solve this problem with Machine Learning? Using Memory Based Reasoning algorithms and Decision Trees, I was able to achieve this just last week.  Two weeks ago, I was assigned to the 4th package of a project. The first three packages were already delivered to the client. I had two choices; one, go through all the models, find the pat

Data Science, Engineering and What’s in Between

I’m about to finish my first year in the data science program at the University of Nicosia (part-time) and my 6th year as a telecom engineer at Dar (full-time). During the past year, I have seen things that totally shifted my career focus and I want to share my top takes on the topic and the future.  Top-down vs Bottom-up in corporations: Applying data science/AI/ML at work as an engineer and a data scientist in the making is vastly more different from hiring a pure data scientist to help engineers with their work. I see companies trying to catch the trend of ML/AI by hiring data scientists who don’t know anything about the engineering job and who start making “sophisticated” applications that really have minimal value and is mainly for show off. I have been creating ML/SQL/deep learning tools at work with very minimal resources and even minimal coding because I know how the output should be, what is the data and how the job works, and how others can use these tools after me. Some were

COVID Data Analysis - Some Visualized Conclusions

This is my first attempt to analyze (visualize) COVID data available online (COVID19_OPEN_DATA dataset). I hope you enjoy it!  

Machine Learning for Revit (BIM): Wine Classification Code for Classified Rooms

 It is truly amazing how doing a masters degree in a field applicable to one's work can be fun and full of learning and great outcomes.  A week ago, I had machine learning class with professor Ioannis Katakis at UNIC, where he talked about Decision Trees and their applications, and as it goes for all weeks, there was an assignment to classify wines according to different attributes (which I finalized and submitted BTW). However, the next day at work, as I was looking at excel sheets of rooms that need to be covered by the access control system (card readers, door monitors, push buttons, ...), I realized that I can quite literally apply the same code I developed for the assignment to my job, but with very minor tweaking here and there.  I contacted a colleague who produces this excel sheets and asked him to provide me with as many excel sheets as possible, to which he answered with 7 sheets containing over 4500 rooms in total.  I cleaned the data and did some preprocessing on the ro

Machine Learning for Revit (BIM): K-Mean Clustering Finds a Ready Home in Fire Alarm Loops

Source:  Something about machine learning gets me excited because I think one of its greatest applications lies in the engineering design field, especially in the early stages. A true major time saver! In one of the projects in Africa, a very big hospital, the client required that in each floor, fire alarm system devices be divided into loops and to which Fire Alarm Control Panel they connect.  The straight forward way would be is to open each floor and in a very slow Revit model, due to its size, select devices, count them, filter them, tag them, and then repeat the process for the next 200 devices. Yet, K-Mean clustering does it in seconds according to X-Y coordinates, and achieves the task seamlessly.  Using the ready library for K-Mean clustering, over 6000 devices were clustered and tagged in seconds!  What's next for machine learning in engineering design? Let's see,  for I believe, it is most suitable for these applications, n

Machine Learning for Revit (BIM): Using the Markov Chain to Perform Zoning

This time, after coming across he Markov Chain in the Elements of Information Theory book, I was inspired to use it in my data science endeavors at work.  Oftentimes, when a task has two elements with no direct connection (parameter) on Revit, a use of a third node can achieve the task with great accuracy (and probably better than performing it manually). One of these tasks was to perform zoning for the ELV/Telecom elements in a big hospital project in Africa. Here is a brief about my first project using Markov Chain and how it achieved tremendous results: Data: Over 3,000 cameras, data outlets and rooms.   Application: The client in Africa requested that each CCTV camera be categorized according to the department which it serves and the telecom room to which it connects.     There is no direct connection on Revit between the AR departments and telecom rooms and CCTV cameras.     However, as per the Markov Chain process, using a node in the middle, connected to the other 2 nodes, zonin