Crescent-1
A Data Science tool for construction companies. Uses Multiple Linear Regression to predict profits based on suppliers, location, sq. footage, etc. Processing and analysis of the dataset optimized by the Gradient Descent Algorithm. Built in Python.
Laplass
A Graphics Engine that uses ‘GameObjects’; entities that are programmed with behaviors used to create physical simulations in 2D and 3D. Designed to create browser-based content to allow instant access to users with no installation needed. Made with JavaScript, PixiJS and ThreeJS.
Dijkstra's Algorithm Project (DAP-1)
Built to study implementations and applications of the Dijkstra’s Algorithm. Finds a topology that has the least cost of construction for paving streets to connect all houses in a town. Made with Python.
Pantry
Provides a portal for aggregating recipe search results to minimize manual searching by the user. Also has a profile system to keep track of recipe preferences for more accurate search results. Uses AWS for hosting the database and MongoDB/NoSQL for managing it. Uses the MERN stack.
My Other Creations
Sharksoft
An inventory management assistant for company warehouses. Primarily built with Java and PHP. Database lives in AWS and we use SQL for communication.
Mouse Interpreter
Interpreter for the Mouse programming language demonstrating the concept of Lexical Analysis in compilers and interpreters. Built in Scala.
OpenGL Rendering Engine
A project that uses the OpenGL graphics API to print graphics on an android device. Used to test the capabilities of a device.
Sudoku
A simple sudoku solver that explores multithreading in C.
Who I am
My name is Diptanshu ‘Dj’ Giri and I am a Data Scientist and Programmer. I immigrated from Nepal in 2013 and I have been busy finding my way in life ever since. My journey has been filled with diverse interests, with aerospace and robotics capturing my recent fascination. I am drawn to the beauty and complexity of machines that fly, and I like looking at numbers that make it possible. I wasn’t always interested in math. My initial foray into creative problem-solving came through video game design due to the boundless creative aspect of it, but unfortunately it needed a lot of math. Through many years, I honed my mathematical skills and realized that there is more to do out there than just make video games. Today, I continue to grow from it and aspire to create solutions to real world problems.
What I Do
A strong academic foundation was necessary to get to where I am today. I studied Computer Science at Metropolitan State University of Denver, and I was exposed to courses that fostered my critical thinking, independent learning and adaptation to new challenges. I essentially learned how to learn effectively. I also became a versatile and flexible team player, most importantly being able to communicate and solve problems collaboratively when there were clashes of opposing ideas. These situations usually came from courses like Theory of Computing and Algorithm Analysis. There I deconstructed algorithms, delved into individual components, then built, tinkered and iterated until I achieved my objective. I had to look at the flow of data and its storage, then find alternative ways to get better results from the algorithm. And all of this wouldn’t be possible with a strong math foundation that I received from Probabilities, Discrete Math and Calculus.
Metropolitan State University of Denver
The James Webb Space Telescope inspired me to create Laplass and study Lagrange Points
Lagrange Points of the Sun-Earth-Moon System. Courtesy: NASA
Protein Folding can be solved with ML
I like to study the function of things. It can be the flap of a birds wing, the path a signal takes through routers around the world, or a jet engine. Scientists tack sensors to everything they can and infer these phenomena in terms of numbers and patterns. This furthers our understanding of the underlying principles that govern these functions. My interests lie in what they have found. I study it, build it and then tweak its data to see how they respond to changes. The next step is to build on this foundation and see if I can uncover new insights.
I use data-driven approaches to truly understand what’s happening. Like everyone else, Python is my tool of choice due to its lower bar of getting started. Its third-party libraries help me spend less time developing utilities and focus more on the core problem. I'm proficient in techniques like data cleaning, data visualization, and Machine Learning which have then spawned projects such as Crescent-1, Laplass, DAP:1 and Pantry.
Historical data is necessary to leverage the power of Machine Learning. Once you show the machine what the results are supposed to look like, it can then try predicting insights from data you further provide. I got started in ML from Multiple Linear Regression (MLR) which I used to create a prediction model for determining prices of houses based on their attributes. I used Gradient Descent to optimize it, where it runs a number of iterations of MLR until the value of the cost function is minimized as much as possible. Visualizing the data of this entire process can be done using matplotlib, which helps us look at the results in closer detail. Other than MLR, I have also studied concepts such as Decision Trees, Support Vector Machines and Random Forests. It’s best to use the proper ML algorithm that better suits the needs, of course.
A robust database is crucial for any data science application. I get started from tools such as Microsoft SQL Workbench or Azure Data Studio to model the data first and figure out the requirements. Then, I use SQL to generate databases, including designing database schema, writing queries to fill and modify data, and optimization for efficient data retrieval. I make use of it to generate mock data as well, which I can then use to test my programs.
My Goal
I put greater emphasis on Machine Learning because I believe this is the next step in evolution of computing systems. Emergence is a phenomenon in nature where simpler parts work together to create something entirely new. Neurons work together to give us consciousness and ants work together to build bridges to cross any obstacle. Machine learning at its core is just values with bias and weights that control the effect of each value towards the end result. Looking at its individual parts is simple enough, but imagine a neural network with millions to billions of neurons. I believe there is great emergent power in this concept, and the only thing holding us back is the power of hardware.
While our folks on the hardware-side beef up their systems, I want to focus on data. I want a career where I can grow as a data scientist and mathematician, with exposure to challenges and new territories I am yet unaware of. There are many problems humanity is trying to solve today; Fusion Energy, Protein Folding, Asteroid Mining, Quantum Computing and Artificial General Intelligence to name a few. I want to do something that has meaning, and I want to contribute towards the greater good just like Newton, Einstein and Schrödinger.