Research and Development Lead
Anghami
Total years of experience :17 years, 7 Months
Investigating technologies such as graph databases and distributed computing engines for large-scale data processing and analysis: Neo4J, Apache Spark, etc...
Researching, implementing and comparing algorithms for future projects.
Took part in developing a panorama stitching and viewing application on both web (browser based) and mobile platforms.
Image registration and blending is based on an in-house algorithm.
Mobile part is an iOS app (DMD Panorama, > 6.6M downloads) written in ObjectiveC, C, C++ and GLSL. It can produce 40 mega pixels, 360o panoramas (Apple's panorama mode is limited to ~25MP and ~230o). The engine (the algorithm’s wrapper) is multi-threaded and utilizes the GPU and iOS performance techniques which enabled us to achieve extreme speeds without sacrificing quality.
The app also features a public galley, user profile, panorama uploads to our servers for sharing and other social features.
The engine is also packaged as a library and licensed to other companies (360Cities.net, cycloramic.com, etc).
Web based app is an SWF object written in ActionScript 3 for the UI, Adobe Pixel Bender, C and C++ for the core engine.
Server side uses CentOS, Apache, MySQL & PHP stack to offer backend support for the mobile and web apps.
Developed project's API and UX, coordinated between UI and front-end development teams
Developed the server communication socket in ActionScript 3 and a JavaScript API that's being used in their real-time analytics website (woopra.com/live).
Linux server installation and maintenance, Windows clients support. Hardware maintenance.
Developed a Business and Contacts Management software for the sales and marketing department.
Developed a CAVE (Cave Automatic Virtual Environment) system with stereoscopic 3D imaging (anaglyph 3D mode) which used 3 computers and 6 projectors to project a virtual world on 3 walls.
The software reads a scene description file which contains objects, timed actions and movement paths then renders the scene on each computer from a different point of view (master-slave). A user located in the middle of the room can navigate through the scene.
The software is written in C++ and uses Irrlicht 3D engine for object loading and OpenGL abstraction. We modified the rendering engine of Irrlicht to handle stereoscopy. The 3 computers' rendering was synchronized using UDP sockets. OpenAL was used for 3D sound.
Developed an interactive virtual reality table display (a small demo http://youtu.be/HXLQBOeiZng) that used 2 projectors for stereoscopy and a webcam to detect user interaction. We used PhysX Engine for physics and a modified version of Irrlicht for rendering. The user can cause objects to fly off the table by using a lighter.
Developed an online multiplayer board game (wineentertainment.com) using ActionScript 3, PHP and MySQL. The game is turn based and features a chat system for each room.
Developed a website for an online magazine (executive-magazine.com). Note that they have changed it.
Requirement gathering and draft design for database and application.
On site hardware and software support.
Hardware and software troubleshooting.
Computer assembly.
Bachelor of Science in Computer Science
Lebanese Baccalaureate in General Sciences