This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Desktop applications for the daily activities at a grocery store.
Developed two separate applications one for the clients who shop at the grocery store and the other for vendor.
The vendor's application acts as a server and multiple clients can be logged in through different computers at the same time.
Multi-threaded server was developed to handle requests from multiple clients at the same time.
Username and password were used for authenticating customers and the vendor. Different applications would be opened depending on whether a client or a vendor has logged in.
Sign-up page was implemented for creating the profile of new users.
The profile of a user consists of identification information like name and address, a profile picture, and the signature which could be drawn by dragging the cursor in a rectangular region on sign-up page.
Profile information including the photo and signature of each user gets saved in a MySQL database running on server.
All items available for the customers were distributed into different categories like vegetables, fruits, cosmetics, etc. and a separate page was displayed whenever the user clicked on a category.
A cart was provided to keep track of the products selected by the customer.
When users check out, they get charged for items in their cart and an invoice is generated.
The vendor's application keeps track of the number of items available in the inventory. The quantities of each item are updated as and when they are purchased by customers.
New items can be ordered by the vendor through the application and inventory information will be updated accordingly.
History of all transactions is saved on the server side.
Proposed and implemented the use of a policy-based proxy server to tackle SQL injection (SQLi) and Cross Site Scripting (XSS) attacks on web applications.
Developed two versions of a web application for banking purposes. One version made use of a proxy server while the other version didn't.
The proxy server receives and analyzes each request received from the client. It consists of a set of policies that determine whether a request is likely to cause an SQLi or XSS attack.
If a request is likely to cause an attack, it is either sanitized or terminated before sending it to the main server.
In the absence of a proxy server, the requests are directly sent to the actual server.
The two versions of the application were used to demonstrate teh effectiveness of the proxy server in tackling different types of attacks.
Cloud platforms offer several advantages over on-premise data storage. However, many people are still unfamiliar with the semantics of accessing cloud storage and several softwares rely on the old POSIX semantics for data access. This project provided access to cloud storage using POSIX semantics.
Plugins were developed to facilitate data transfer between a Server Message Block (SMB) protocol based file server and cloud storage platforms like AWS and GCP.
Although the data saved on file server was stored on cloud, the users were able to access it like any other file or folder stored on their device.
Compared the performance of 5 different ML classifiers : logistic regression, decision tree, support vector machine, k-Nearest Neighbors (kNN) and gaussian naiver bayes, for predicting whether a loan application must be approved or not.
The use of effective data-preprocessing techniques for dealing with missing values and removing non-essential features ensured that these models outperformed prior work done in this field.
Decision tree model gave perfect accuracy of 100% and was suggested to be the best classifier for this application.
Developed a program that prepares a schedule of operations to be performed by robots in a warehouse to fulfill all customer orders in minimum possible time.
Declarative programming paradigm was used since this was a search space optimization problem.
The shape of a galaxy provides insights about its evolution and is an important aspect in astronomical research.
Novel deep learning classifiers were proposed and trained to categorize galaxies into 10 classes using the galaxy images captured by space exploration missions.
Transfer learning was used as opposed to the earlier works that trained networks from scratch.
VGG-16, ResNet-50, XceptionNet, InceptionNet, and DenseNet-121 architectures were used to create 5 separate feature extraction models.
The VGG-16 based model turned out to be the best one outperforming a state of the art model in 8 of the 10 classes giving only 2% lower overall accuracy.
The resource consumption in training the model was brought down by 60% and the number of models trained before finding the one that gives the best performance were reduced from several 100s to 10.
Developed a portal to help emergency responders in planning rescue operations during the time of crisis.
Crowd-sourced data collected from a disaster reporting mobile application was visualized in the form of line chart, choropleth map, dot plot, scatter plot, parallel co-ordinate plot, box plot and heatmap.
The plots were interlinked to provide the users a cohesive understanding of the situation on ground, changes in the conditions over time and assess the reliability of the data reported.
The failure of a parallel co-ordinate plot in visualizing large number of records was overcome by innovating a visualization technique which blended box-plot along with a parallel co-ordinate chart. This was done by grouping the records based on a meaningful criteria, in this case region where reports were made, and using a box-plot for each axis on parallel co-ordinate plot to represent the distribution of values within each group.
Developed partnerships with student governments on ASU campuses for raising funds to sponsor stress management workshops that benefited 100s of members of ASU community
Led Yoga and meditation sessions in 10+ workshops each attended by 25-60 students and faculty members at ASU.
Enhanced the company's flagship product, MoSMB - an SMB protocol based file server - by providing support that allows its users to store data on cloud.
The file server used to store all its data locally which required on-premise data storage infrastructure.
MoSMB was made capable of using Amazon Web Services' Simple Storage Service (AWS S3) and Google Cloud Platform's Cloud Storage for its data storage requirements.
This project also allowed data stored on cloud platforms to be accessed using standard POSIX semantics which are widely known and used by legacy softwares.
The company could now target the customers who used cloud storage or were migrating to cloud.
An offer to work for the company full-time was also extended to me at the end of the internship.
Tech stack : C++, Golang, Amazon Web Services, Google Cloud Platform
Worked in a team that was responsible for developing and maintaining connectors which handle interactions between eQube Data-as-a-Service (DaaS) platform and third-party softwares like Microsoft Excel, Oracle Database and SAP ERP.
Built and released a brand-new connector for Neo4j Graph Database. The development of this connector required bridging the gaps between a schemaless NoSQL database (Neo4j) and the strict-schema followed by eQube DaaS's environment.
Developed and released another brand-new connector for Deltek Costpoint ERP software.
The low code-no code nature of Costpoint meant that no API was available for interacting with it. Web-services had to be developed and deployed on Costpoint for supporting the tasks needed by a connector.
Modified the connector for Polarion Application Lifecycle Management software as per the requirements of a potential client which helped the company in securing new client.
Performed maintenance tasks like bug fixes, version upgrades, and customizations to suit the requirements of different clients on 60+ connectors offered by eQube DaaS platform.
Slashed the turnaround time for resolving errors related to incorrect metadata about movies and shows streamed on DISH services like Sling TV and Satellite TV by up to 50%.
Developed a website which anyone in the company can use to report these metadata related issues and track the progress which has been made in resolving them.
Allows managers to effectively delegate each issue to an appropriate resource and migrate these issues to Jira.
Email alerts are used to notify stakeholders when issue status changes.
Developed server side logic to support hierarchical structuring of labels used for categorizing 100+ channels and subscription packages streamed on Sling TV. This will be saving hours of manual efforts that are currently performed by the curation team of Sling TV for categorizing these channels and subscription packages.
Providing on-call support to resolve discrepancies in the metadata of the live content streamed on Sling TV
Tech Stack : Go, Python, gRPC, REST, API Design, Amazon Web Services, Kubernetes, Docker, ArgoCD, Unit Testing, CI/CD, GitLab