Parallelization of Inference on GPUs for TFServing using Nginx
Versioning Your Software Correctly : A Guide to Semantic Versioning

Versioning Your Software Correctly : A Guide to Semantic Versioning

I don’t believe enough has been written towards understanding how software products are and should be versioned. I have always meant to read through proper documentation and understand semantic versioning but have procrastinated furiously. Today though, I took out the time to go through the documentation and I am writing this post to summarize what I’ve understood. Let this be a tldr; for the next project you’re going to release, and how you’re planning to version it.

Read more
Paper Published in ICON'20 on Clickbait in Hindi Media

Paper Published in ICON'20 on Clickbait in Hindi Media

I am glad to inform you that our paper on clickbait in mainstream Hindi News Media has been accepted at the International Conference on Natural Language and Processing - 2020. You can find the abstract of the work we’ve done here, and the full paper is up on arxiv.

Read more
A Usability Analysis of the Food-Delivery Duopoly in India

A Usability Analysis of the Food-Delivery Duopoly in India

In this post we look at two food delivery applications with an established duopoly in the Indian market - Swiggy and Zomato. Specifically, we do a usability study on their mobile app available for usage on android devices. The 336 point Nielsen Norman Group’s guidelines on mobile app usability is used as a metric for the evaluation of both these apps. Additionally, we also conduct a user study (n=66) to understand user demographic and user perception of both Swiggy and Zomato. Swiggy performs slightly better in our user survey, whereas Zomato scores higher on Nielsen Norman Group’s usability guidelines. Though the sample size and methodology inhibits us from drawing strong conclusions, further studies must be conducted for the same.

Read more
What is Clickbait?

What is Clickbait?

A clickbait can roughly be defined as an article/webpage that purposefully conceals information from the user in its title link in order to generate artificial ‘information gaps’ that arise curiosity and make people click on the article link – hereby generating traffic and in turn revenue for the creator of the clickbait. Clickbait isn’t a new concept. It has been around ever since journalism gained mass popularity. Newspapers have been known to compete with each other for readership, and use curiosity enticing article headings all the way back in the 1800s.

Read more
Deploying an MLFlow Remote Server with Docker, S3 and SQL

Deploying an MLFlow Remote Server with Docker, S3 and SQL

MLFlow is an open-source platform for managing your machine learning lifecycle. You can either run MLFlow locally on your system, or host an MLFlow Tracking server, which allows for mutiple people to log models and store them remotely in a model repository for quick deployment/reuse.

In this article, I’ll tell you how to deploy MLFlow on a remote server using Docker, an S3 storage container of your choice Minio or Ceph and SQL SQLite or MySQL.

Read more
Deploying a Spark Model with REST Inference API

Deploying a Spark Model with REST Inference API

Deploying a machine learning model built with Apache Spark isn’t as straight forward as the deployment of a PyTorch model or a TF model. Especially when you’re planning on having a REST API for inference requests. One way of going about it is use MLeap, but that would require modifications to training code, as MLeap relies on it’s own serialization.

The best approach that I’ve found is using Openscoring and PMML (Predictive Model Markup Language). PMML is a an XML based markup language that stores your predictive model and openscoring is used to create the inference REST API. The steps for doing so are as follows:

Read more
Getting Started with Development in Windows

Getting Started with Development in Windows

Microsoft has been doing great stuff for years now, and WSL2 (Windows Subsystem for Linux - 2) is everything that I personally neeeded to feel completely at home as a developer in Windows. WSL2 allows you to run a full fledged Linux kernel with greatly improved IO and support, as compared to WSL1. WSL2 connects flawlessly with a Windows installation of Visual Studio Code and supports Docker natively. In short, your Windows setup would serve you well in your development endeavors.

In this article, I’ll discuss how to get WSL2 up and running on your system along with an integration with - Windows Terminal and Visual Studio Code.

Read more
Home Quarantine Management Application

Home Quarantine Management Application

COVID-19 has created many problems for the government which are solvable through technological intervention. This here, is a system to manage the daily updation of patient health and current symptoms via call operators for those in home isolation. I worked on this project on a volunteer basis for urgent deployment. The project is built entirely in Flask with Bootstrap 4 for frontend styling.
This system has the following features:

Read more
Deploying a MERN Web-App to Heroku

Deploying a MERN Web-App to Heroku

This post builds upon the guide to developing projects in MERN stack that I posted a while back, you can find it here.

Heroku probably has the best free-tier service out there for hosting MERN stack web applications. Though it requires certain non-intuitive settings before you can go about deploying your app. This article will guide you through the process of deploying your web-app on Heroku.

  • We would be deploying the server and the frontend on the same deployment instance.
  • The database being used here is MongoDB Atlas.
  • This deployment uses npm instead of yarn for deployment.
Read more