"All that is now proven, was only once imagined." William Blake. |
zoalord12@gmail.com
I am primarily a back-end software engineer. I love server-side programming and I'm truly passionate about multi-core computing and computer graphics.
C++, Java, C#, CUDA, OpenCL, MPI, Android OS, OpenGL, GLSL, SQL, ASP, JSP, PCL.
Ph.D. in C.S. (computer graphics and multi-core computing) | University of Maryland Baltimore County | Jan. 2010 – Dec. 2014 |
M.S. in C. S. (computer graphics) | University of Maryland Baltimore County | Jan. 2008 – May 2010 |
Shop3D: An Android app that allows users to customize collectibles, which are 3D printed and shipped to their doorstep.
Smiley Live Wallpaper: A complete 2D physics environment as your live wallpaper with collisions for objects based on touch and accelerometer events. Through the settings you can change their skins and other parameters of the system like gravite, background color etc. with complete on screen widget integration.
RaiPoll: Allows users to pose questions to the community and set answers. The answers are graphically represented in real-time using a chart engine.
YouMp3: Allows mobile users to strip the audio off any youtube video, and its automatically downloaded to their phone.
Fire Touch Live Wallpaper: Burn your desktop with fire rings using numerous colors. A beautiful fire ring burns any place you touch your desktop. The fire continues to burn till you touch some other place. A bunch of colors to choose from including a random color option to lighten up your desktop with new colors every time.
Shop3D Order Server (Java, Parse): The server for Shop3D uses a passive execution approach using an online datastore as an asynchronous priority queue. This allows for a fault tolerant scalable system where the server can run on a laptop as well as AWS at the same time. It connects to STRIPE and 3rd party APIs to complete an order and tracks failed orders, cancellations, sales per day, profit per dat and other important metrics.
Shop3D Uploader Utility (Java, Parse): This utility performs about 20 functions in steps in order to place a 3D model online for fast and super-easy display on a mobile device. Some of the operations include compression, uploading model images, calculating the available sizes at runtime based on existing printer XYZ dimension limitations, price calculation based on profits, issues with the model size, texture checks etc. and so on.
Raipoll Analytics Core (Java): Implemented inside the android app that calculates the percetages of choice based on age, gender, race, location and other demographics. It also generates charts to share at realtime, handing different screen size issues.
YouMp3 Audio Extration Server (Java): Works using a passive approach, saves on a lot of money and dont need to use AWS 24/7. The server can run on any laptop and is multi-threaded. This server also auto adjusts pool timing whenc checking the work request queue and can alter pooling time based on usage. It runs "youtube-dl" to extract the audio, then updates the audio-strip request to allow the app to pick up the audio from the online datastore.
Multiplayer Asteroids (Java): Player-vs-Player and Player-vs-Environment, both play mechanics tested in this sample project. Upto 4 players can join, 1 phone becomes the server and co-ordinates the game. This project is not 100% complete yet.
Web Crawler (C#, ASP, SQL Server 2005, Action Script 3.0): The crawler (Action Script 3.0) extracts information from an existing website online, parses it all using REG-EX and enters it into the database (sql server 2005). The data is then accessible through a web interface using ASP 2.0. The server also provides web services for remote connections and data passing (in xml).
Scalable Particle Collision Simulation for a Cluster (C++, OpenGL, MPI): Simulating particle collision and effects like gravity. The project uses 1 display node and “n” compute nodes and scales to “n” number of nodes. Algorithm executes in parallel and data sharing occurs after every time step. Particles simulated can be triangles , points , spheres or any custom shape. Work load reduction equal to many orders of magnitude.
Complete Spherical Harmonics Implementation (C++, DirectX): Complete implementation of projecting a cube map in and out of Spherical Harmonics . Graphically visualizing the results with different orders when projection in and out of Spherical Harmonics.
Gallery Virtual Tour (C++, OpenGL): A Virtual gallery tour where the user can move anywhere. My first project in OpenGL. The walls and pictures are fully collision sensitive and do not allow the user to get out of the control evironment which has fixed function lighting.
- Best API Integration Award for ESRI ArcGIS, Hackathon at Stanford University June 2013 |
- Second year M.S. sponsored by Northrop Grumman. |
- Four year Ph.D. research sponsored by Food and Drug Administration |
- Titled “Team Worker” at the Residential Life UMBC Summer Program 2009 |
- Featured on the University website as Intern of the week. |
Software Engineer.
Jan. 2015 to Current Research and Development. Wrote the entire point cloud plug-in for Vectorworks 2016
using the Point Cloud Library (PCL). This work was a launch feature for Vectorworks 2016.
Software Engineering Intern.
May. 2014 to Aug. 2014
Computer Vision Research Group.
Wrote a multi-threaded depth map extractor that generates a pointcloud using the plane sweep algorithm for the Amazon Fire Phone.
Software Engineering Intern.
May. 2013 to Aug. 2013
YouTube Data Analytics Team.
Wrote the utility used for solving the Slowly Changing Dimensions problem for the columnIO tables in the YouTube data warehouse using C++ Map Reduce. |
Software Engineering Intern.
May. 2012 to Aug. 2012
YouTube Video Editor Team.
Integrated the slow motion effect into the YouTube video editor as well as some other effects that were used to create more complex ones.
Slow Motion (1X) |
Slow Motion (2X) |
Slow Motion (4X) |
Slow Motion (8X) |
Motion Blur (Original) |
Motion Blur (High) |
Picture-in-Picture |