Use This to Communicate with Your Users
Setting up AWS SQS for Queuing and Consumption from NodeJS
Reflections on Hamming's Famous Lecture on Career Goals

Reflections on Hamming's Famous Lecture on Career Goals

Hamming’s last lecture was dense with bits of wisdom, and I agree in principle with most of the points that he raised in his attempt to define both success, and a path to success. There is though some contradiction in what he proposes and some bias in his definition of success and an ‘ideal’ life, but he’s allowed the liberty of biases owing to his age and immense experience at the frontiers of success.

Link to the talk: https://www.youtube.com/watch?v=a1zDuOPkMSw

Read more
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