How did the #BigBillionDay turn up for Flipkart?

October 6th 2014 woke India up with the largest online sales the country have ever seen, the billion deal sales by Flipkart, India’s largest online retailer. The billion deal sales according to Flipkart was their celebration to commemorate their billionth sale, Flipkart CEO Bansal had send mails to all the users hinting awesome discounts and offers in the site throughout the date. For Flipkart it was a massive publicity stunt by it PR’s to stay ahead and battle the tough competition given by Amazon, Snapdeal and other retailers. Every Indian newspapers had been flooded with front page advertisement about the billion day sale.

Social Media was covered with positive responses about the massive sale that Flipkart had organised on its billionth sale day. Analysing the twitter feeds, its been deduced that the publicity stunt that Flipkart had been doing in order to increase its presence in Indian minds as the trusted and ultimate shopping partner had been a failure.

Things that went wrong at Flipkart

Website could not handle the immense traffic, the site had crashed couple of times.

The products were out of stock within seconds of entry of the product

Website was insane slow.

Many people had complained that the products ordered at low prices were later cancelled by Flipkart

The prices of products have been inflated couple of days before the sale and on sale day the products were actually priced.

All these reasons would pretty much explain Flipkart’s big day turning it to be a disaster.

I have been mining twitter for public response on the event and the outcome has been much different, its proved to be a disaster among the twitter community. Following are the results.

Screen Shot 2014-10-07 at 10.19.33 pm

The graph above shows more than 160 Negative tweets that have been spreading across the twitter space which is more than the positive tweets received in favour of the Big Sale. There have also been neutral responses for which majority of the count in this classification are due to the inability of the sentiment engine to classify it to positive or negative.

 

 

 

 

 


Tools and approach used to arrive at the above data:

  1. The tweets was retrieved with Python package - twython
  2. The tweets are fed in to Sentiment Analysis Engine available through Mashape API (www.mashape.com/fyhao/text-sentiment-analysis-method)
  3. Graphs developed using the RStudio

Source Code at GitHub : https://github.com/sanaltsk/datascience/tree/master/bigbillionday

Whatsapp for Simpler Phones

I know its way bit crazy to come up with a post on a messenger app for Java/s40 phones when people are actually browsing my blog over quad core powered mobile devices. But this article for those people who own a simple old java phones or who have friends who own those phone and you had wished they could have been on Whatsapp.

Whatsapp had been gaining a slice of our digital focus with its meaningful service of just messaging, simple interface and of course no ads. But with a lot of messaging apps around like viber,  line, chaton etc., its way harder to stick  on to one. And I am here to advocate for Whatsapp as it even would run on your friend’s simple java phone.

Ever since Whatsapp’s inception they have been sticking to the basics, creating the perfect messaging app, and I believe they have pretty much succeeded in that is its a simple concept, it does not matter what your phone specs really are. All your phone needs a basic data pack, working display/keypad and support for java.

Head to ovi store and download the app

Java Phone

S40 Phone

Prevent Mac From Sleeping on Lid Close

One of the most dreadful feature in those sleek and awesome looking Mac of yours be it MacBook Pro, MacBook Air, MacBook Pro Retina, Apple never felt the need of empowering the users on what to do on closing the lid. All it does is sleep, of course Apple is concerned about the battery usage of your device. But is it nice to leave that concern to you and you having an option of what to do on lid close as in Windows.

This can be a bummer when you don’t have a choice of playing music without lighting up the whole room at night or when you are chatting on gtalk, Skype or any communicator and you reposition yourself at the house looking for better WiFi signal and in the moment you get up and close the lid and move…BAAM…you are logged off the the communicator.

Luckily for  those wanted the freedom of choice of not going to sleep on lid close theres an app which can be used right away.

 

Download NoSleep

Fix for ‘No Active Devices’ error in Android Device Manager

Android Device Manager is the latest feature from the house of Android which lets us get the location of the phone mapped over Google Maps, helps in finding the phone even when its in silent mode by giving it a ring from the tool. As soon as the ring button on the Android Device Manager is clicked even when the phone is on vibrate or silent it starts ringing. But many has reported about receiving “No Active Devices” error on the Android Device Manager Page.

 

How to Fix for ‘No Active Devices’ error in Android Device Manager?

Step1: Check Android Device Manager at Settings->Security->device administrators.

Step2: In apps drawer goto Google Settings->Android Device Manager, Uncheck Allow Remote Factory Reset.

Step3: Goto Settings->Apps->All->Google Play Services-> and Touch Clear Data. This action does not clear your personal data.

Step4: Goto back Google Settings->Android Device Manager, Check Allow Remote Factory Reset.

Step5: Restart your device.

Step6: Wait for 3-5 minutes and goto Android Device Manager Page.

Note: Make sure that you have an active data connection during the whole process Wifi,3g or GPRS.

 

Double Linked List Implementation in Java

Double Linked List have 3 attributes in the Node data, next, previous.

operations implemented are size(), isEmpty(), print(), add().

size() returns the length of the Double LinkedList

isEmpty() returns true if Double LinkedList is empty and false if not

print() prints all the elements of the Double LinkedList

add() inserts elements into the Double LinkedList.

Program

=======

public class Doubly_Linked_List_Impl
{
class Node
{
int data;
Node prev;
Node next;
}
public static Node front = null;
public static int length=0;
public boolean isEmpty()
{
return front==null;
}
public int size()
{
return length;
}
public void add(int val)
{
Node newNode = new Node();
newNode.data = val;
newNode.next = null;
newNode.prev = null;
if(front==null)
{

front = newNode;
}
else
{
Node current = front;
while(current.next!=null)
{
current = current.next;
}
newNode.prev = current;
current.next = newNode;
}
length++;
}
public void print()
{
Node current = front;
while(current!=null)
{
System.out.print(“["+current.data+"]==>”);
current = current.next;
}
}
public static void main(String args[])
{
Doubly_Linked_List_Impl dll = new Doubly_Linked_List_Impl();
dll.add(10);
dll.add(20);
dll.add(30);
dll.add(40);
dll.add(5);
dll.add(40);
dll.add(12);
dll.print();
System.out.println(“\nIs Empty() :”+dll.isEmpty());
System.out.println(“Length() :”+dll.size());
System.out.println(front.next.next.prev.data);

}
}

output

+++++

[10]==>[20]==>[30]==>[40]==>[5]==>[40]==>[12]==>

Is Empty() :false

Length() :7

20

Linked List implementation in Java

Linked List queue implementation in Java

operations implemented are size(), isEmpty(), print(), add().
size() returns the length of the LinkedList
isEmpty() returns true if LinkedList is empty and false if not
print() prints all the elements of the LinkedList
add() inserts elements into the LinkedList.
Program
=======

public class Linked_List_Impl
{
class Node
{
int data;
Node next;
}
public static Node front = null;
public static int length=0;
public boolean isEmpty()
{
return front==null;
}
public int size()
{
return length;
}
public void add(int val)
{
Node newNode = new Node();
newNode.data = val;
newNode.next = null;
if(front==null)
{
front = newNode;
}
else
{
Node current = front;
while(current.next!=null)
{
current = current.next;
}
current.next = newNode;
}
length++;
}
public void print()
{
Node current = front;
while(current!=null)
{
System.out.print(“["+current.data+"]==>”);
current = current.next;
}
}
public static void main(String args[])
{
Linked_List_Impl LL = new Linked_List_Impl();
LL.add(10);
LL.add(20);
LL.add(30);
LL.add(40);
LL.add(5);
LL.add(40);
LL.add(12);
LL.print();
System.out.println(“\nIs Empty() :”+LL.isEmpty());
System.out.println(“Length() :”+LL.size());

}
}

output
+++++
[10]==>[20]==>[30]==>[40]==>[5]==>[40]==>[12]==>
Is Empty() :false
Length() :7