My Empty Mind


Google Duplex: It was my son talking to me or Google Duplex?

June 09, 2018 0

It was my son talking to me or a Robot? 

Yes, that’s what this new technology may cause you to think in future.

Google is planning to introduce a new dimension to the world of Artificial Intelligence and Machine learning. It is planning to come up with fully automated system which will not only do your day to day work but also will talk to the people if required. It is an AI tool which will do actual conversation with people on your behalf. You just need to ask yours google assistant to take care of stuffs like booking a table in restaurant, a hotel or an appointment with someone, google assistant will get the things done for you.

What is Google Duplex?

Duplex is an Artificial Intelligence tool which is basically designed to help google assistant to be more intelligent. Google assistant is limited to the information provided on internet but Duplex will enable assistant to go beyond its limitation and talk to the people to gather information and to do the necessary stuffs like booking an appointment or a ticket. It’s an extension to the google assistant. Soon you may see this feature incorporated in the google assistant.

Though the technology is not fully ready at the moment but google is soon going to launch the beta version. This demo shows how google duplex can talk to somebody on your behalf.
Google I/O 2018
Google I/O 2018
With the help of Artificial Intelligence machines will talk to people, as per Mr. Pichai Google Wavenet models the audio to create natural voice closure to how human speak, this model can capture the richness of one’s voice. i.e. if trained properly the model can also speak like someone in future which may cause you to doubt whether you had a call with your son or it was just a robot on the other side.  Situations becomes even worse if a machines calls somebody on your behalf and makes a deal, what if the system got hacked and your AI agent calls your bank to lock your accounts?

Google's work on Artificial Intelligence and Machine Learning

Couple of months back Google brain released the open source software library TenserFlow. Google is also investing a lot on Artificial intelligence , Machine Learning and NLP. It was good to hear Mr. Pichai talking about Google research on retinopathy and cardiovascular risks using AI, but implementation of Artificial Intelligence in mimicking humans is certainly going to raise eyebrows.

Hence it becomes a valid question to ask, How the privacy and data protection will be taken care if we have these kind of Intelligent robots around us? however, Google is yet to address these points. The developer conference 2018 was just an introduction to the basic version of Duplex which google is planning to launch.


Once it is released we will have a detailed analysis of the features and risk involved in using it.

For now, just be ready for this interesting feature of Google Assistant which is going to hit the market soon. Hopefully this effort of google to give back some time to his users proves to be fruitful for both.

Let us know your views or feedback on Facebook or Twitter @MyemptymindC.

Read More

4 Proven ways to get AdSense approval in just two hours

June 02, 2018 0
If you own a blog and you want to monetize it then AdSense is the first option which will come to your mind.

I got AdSense approval in just 2 hours.

I blog about Technology; I am not writing this article to catch everyone's attention. When I was planning to apply for AdSense I came across many blog posts telling that it’s very difficult to get an AdSense approval, some mentioned that there are some tricks to get this done. Few also said that you need to be lucky to get this approval in one shot. 

I am writing this to clarify all the doubts and rumors which are spread on internet about the AdSense approval. I have seen reputed blogs claiming that they can get you an approved AdSense account or they can share you the tricks to get the approval. 
AdSense approval in just two hours, Proven ways to get AdSense approval in just two hours
I would like to clarify here that it’s not at all difficult to get the AdSense and it’s a myth that you need to get hundreds or thousands of visits per day then only you will get the approval. Neither it will take 10 months for approval nor it needs any trick. Do you really believe that you can trick google?

I am going to share with you the proven ways based on my personal experience, I got AdSense approval in 2 hours, yes just 2 hours. When I applied for AdSense on 31 May I got a message telling me that it may take 2-3 days for approval but only after 2 hours I got the approval email.

I have a Custom domain and I host it on blogger. I am writing down few key things which I followed and got the approval in almost no time. It took me just two hours, can’t say how much it may take for you but I am sure that it won’t take much time provided you follow the key things mentioned below: -

1.     Be Honest with google: You can’t trick google, you will get hundreds of blog post on internet which will tell you the ticks to get an AdSense approval. The very first thing you need to do is just ignore all of them.

2.   Give some time to your blog to mature: - I started my blog        few months ago, at that time I dint have much blog posts to showcase so I decided to focus on adding content before applying for AdSense. 

If your blog is very new then don’t apply for AdSense immediately, wait for couple of months, in the meantime focus on increasing your blog content.

3.   Respect the copyright rules: - DONT copy the content. Always come up with your original work.

4.   Focus on adding good, authentic and original posts: - Instead of focusing on traffic. Just focus on adding some quality post to your blog.

You don’t need to be over smart, all you need is to be honest and a little bit patience.

These are the basic proven things which you need to follow. Trust me you will also have your AdSense approved in a very short span of time. 

All the best. 

Let us know your views or feedback on Facebook or Twitter @MyemptymindC.

Read More

New iPhone Release (Sept 2018) VS iPhone X: Features, Specification and Rumors

May 21, 2018 0

With September coming closure discussions and rumors has put iPhone in the spotlight again. This autumn Apple Inc. may come up with three to four new release of iPhone as per the January latest update.

There has been widespread speculation about the release of new iPhone, its name, price, specification and design. There also has been rumors that Apple will stop the “X” version as it was a special launch for the 10th anniversary of the smartphone and will now continue with names iPhone 9, 9+ and so on. Fans across the world are super excited for the new release which is to be unveiled in September 2018.
Next iPhone Release (Sept 2018) VS iPhone X: Features, Specification and Rumors
Apple may launch the successor of iPhone X as iPhone X+, iPhone XI or iPhone 9 but it will certainly be an advanced version in terms of future mobile technology. iPhone X was released with a price - starting at £999/$999 making iPhone X a bit costly to fit into a middle class budget, iPhone 8 and 8 Plus were priced at £699/$699 and £799/$799. There were narratives on the decrease in sale of iPhone X in Asia and Europe blaming on its hefty price so the new releases are expected to be of the same range if not less.

iPhone X is equipped with many future technologies like wireless charging, FACE ID, Animoji. The device was praised for the display, Animoji, build quality and camera but at the same time many fans are ambivalent about it because of the notch and Face ID(requires direct eye on screen). Face ID biometric unlocking system shows a dubious behavior when tested on identical twins. A Vietnamese firm Bkav announced in a blog that it had successfully created a mask that tricked Face ID unlocking system, it has also been challenged by hackers and mask makers. The new release is expected to fix the above issues.

As far as Camera is concerned, iPhone X camera has received positive feedback for working well in low-light, it has received a score of 97 putting it behind the Google Pixel 2(98) and Samsung's Galaxy S9+ smartphone(99) and into joint second place with the Huawei Mate 10 in the DxOMark mobile overall rankings. So there could be no significant improvement in terms of camera quality.

Some issue which were reported in iPhone X:

1. Difficult one handed use of iPhone X: when iPhone 5(4 inch)
was launched Apple came up with an advertisement showing a perfect size mobile phone which can be operated easily with one hand but after iPhone X (5.8 inch) it’s for sure that now they want everyone to forget that commercial

2. Screen becomes unresponsiveness and camera flash fails in cold weather However former has been fixed (quoted from Wikipedia)

    3. Multiple users have reported that the display often become unresponsive, it usually happens during the call and users are forced to restart the device.

Successors of iPhone X by whatsoever name it will be called but it is certainly expected to have features better than the existing one and hopefully it will address the issues which were reported in iPhone X. As per the latest update the new iPhone release is expected to have better battery, RAM, processors and display.


iPhone X had the resolution 2436 x 1125(highest in the iPhone series) and pixel density 458 pixels per inch. It is least likely that Apple will go higher than 458 ppi for September 2018 release. However there are rumors that rear camera with a 3-shot lens will be introduced.


The new releases are expected to be of similar price range if not less. There has been widespread speculation about launch of a low budget cheaper model to attract customers. There was discussion on Apple sourcing the screen from LG rather than Samsung to get cheaper hardware components to cut down the final price of the device, rumors are also there about removal of wireless charging feature to bring the price further down.

Face Id and Touch Id:

Next iPhone Release (Sept 2018) VS iPhone X: Features, Specification and Rumors
img src:-
iPhone Touch ID display is about placing your finger on the display to scan it, instead of the Home Button. According to the Investor Apple is planning to launch three new iPhones with Face ID this year

The company is doing researching in putting in-screen Touch ID fingerprint scanner into the display(filed a patent on Touch ID display in January 2013)


Often iPhone X is ranked below iPhone 8 and Samsung's Galaxy S8 and Note 8, due to shorter battery life. The next release of iPhone is expected to fix  the battery issue.

As reported on MacRumors
According to Kuo, iPhone X Plus is expected to have up to a 25 percent larger battery capacity of 3,300-3,400 mAh vs. iPhone X. 

Kuo adds that Apple has settled on a two-cell, L-shaped design for the second-generation iPhone X and iPhone X Plus battery, compared to a single-cell, L-shaped design that could have yielded 
up to 10 percent additional capacity.


The iPhone X has 3GB RAM. According to Kuo iPhone X Plus will have an increased 4GB of RAM.


5G networks are expected to roll out in UK after 2020. iPhone X plus is not expected to have 5G support though we may see some basic compatibility for 5G services.


Successors of iPhone is expected to have a bezel-free design, Face ID camera, and no Home button. Facial recognition sensors can be embedded in the display itself according to Digital Trends.


As per Nikkei Apple is planning to launch both LCD handset and OLED(organic light-emitting diode display) handset. LCD version will be the cheaper. OLED handsets may be release in two sizes: one about 6.3 inches long and the other 5.8 inches.LCD phone will probably have a metal back and may not have wireless charging in order to cut down the cost.

According to reports MacRumors, there may be two LCD-based iPhones release in 2018. One of these LCD models can be 5.7in to 5.8in, and the other from 6.0in to 6.1in.


Along with black and silver Apple may release a gold color handset option. Photos of a gold iPhone X as posted by Ben Geskin appear to have leaked out, though it not reliable but it may be released in September 2018 as iPhone X plus.  

Next iPhone Release (Sept 2018) VS iPhone X: Features, Specification and Rumors
Image via Benjamin Geskin

What feature are you are expecting in the next generation iPhone? Let us know your views on Facebook or Twitter @MyemptymindC.

Read More

Spark Deployment modes and job submission

January 20, 2018 0

There are various ways of submitting an application in spark. In Addition to client and cluster modes of execution there is also a local mode of submitting a spark job. We must understand these modes of execution before we start running our job. Before we jump into it we need to recall few important things which learnt in the previous lesson click Introduction to Apache Spark to know more. 

Spark is a Scheduling Monitoring and Distribution engine i.e. Spark is not only a processing engine it can also acts as a resource manager for the job submitted to it. Spark can run by itself(Standalone) using its own cluster manager and can run also on top of other cluster/resource managers. 

How Spark supports different Cluster Managers and Why? 

This is made possible with the help of SparkContext object which is in the main driver program of spark. SparkContext object can connect to several types of cluster managers enabling Spark to run on top of other cluster manager frameworks like Yarn or Mesos. It is this object which coordinates between the independently executing parallel threads of the cluster. 
Spark cluster components, Spark Driver and Workers, Spark Deployment modes, Spark Tutorials
Spark Installation can be launched in three different ways: -
        1.   Local(pseudo-cluster mode)
        2.   Standalone (Cluster with Spark default Cluster manager)
        3.   On top of other Cluster Manager (Cluster with Yarn, Mesos or Kubernetes as Cluster Manager)


Local mode is pseudo-cluster mode generally used for testing and demonstration. In local mode it runs all the execution component in a single node.

Standalone: - 

In Standalone mode the default Cluster manager provided in the official distribution of Apache spark is used for resource and cluster management of Spark Jobs. It has standalone Master for resource Management and Standalone worker for the task.

Please do not get confused here, 
Standalone mode doesn't mean a single node Spark deployment. It is also a cluster deployment of Spark, the only thing to understand here is the cluster will be managed by Spark itself in Standalone mode.

On top of other Cluster Manager: -

Apache Spark can also run on other Cluster managers like Yarn, Mesos or Kubernates. However, the most used cluster manager for Spark in Industry is Yarn because of good compatibility with HDFS and other benefits it brings like data locality.

The command used to submit a spark job in Standalone and other cluster mode is same.
Scala Spark
spark-submit \
  --class <main-class> \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other spark properties options
  <application-jar> \
spark-submit \ \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other Spark properties options
  --py-files <python-modules-jars>
Table 1: Spark-submit command in Scala and Python

For Python applications, in place of a JAR we need to simply pass our .py file as <application-jar>, and add Python dependencies like modules, .zip, .egg or .py files in --py-files.

How to submit a Spark job on Standalone Cluster vs Cluster managed by other cluster managers? 

Answer to the above question is very simple. You need to use the "--master" option show in the above spark submit command and pass the master url of the cluster e.g.
Value of “--master”
For Standalone deployment mode
--master spark://HOST:PORT
For Mesos
--master mesos://HOST:PORT
For Yarn
--master yarn
--master local[*] :: * = number of threads
Table 2: Spark-submit "--master" for different Spark deployment modes

When you submit a job in spark the application jars (the code which you have written for the job) is distributed to all worker nodes along with the jar files(if mentioned)

We talked enough about the Cluster deployment mode, now we need to understand the application "--deploy-mode" . The above deployment modes which we discussed so far is Cluster Deployment mode and is different from the "--deploy-mode" mentioned in spark-submit command(table 1) . --deploy-mode is the application(or driver) deploy mode which tells how to run the job in cluster(as already mentioned cluster can be a standalone, a yarn or Mesos). For an application(spark job) to run on cluster there are two --deploy-modes, one is client and other is cluster mode.

Spark Application deploy modes: -

Cluster: - When the driver runs inside the cluster then it is cluster deploy mode. In this case Resource Manager or Master decides which node the driver will run.

Client: - In Client mode the driver runs in the machine where the job is submitted.

Now the question arises -

"How to submit a job in Cluster or Client  mode and which is better?"

How to submit:-

In the above spark submit command just pass  "--deploy-mode client" for client mode and "--deploy-mode cluster" for cluster mode.


Which one is better, Client or Cluster mode:

Unlike Cluster mode in client mode if the client machine is disconnected then the job will fail. Client mode is good if you want to work on spark interactively, also if you don’t want to eat up any resource from your cluster for the driver daemon then you should go for client mode. When dealing with huge data set and calling action on RDDs or Dfs you need to make sure you have sufficient resources available on Client. So it’s not like the cluster or client mode is better than the other. You can choose any deploy mode for your application, it depends on what suits your requirement.

Driver runs in the machine where the job is submitted.
Driver runs inside the cluster. Resource Manager or Master decides which node the driver will run
Job fails if the driver is disconnected
After submitting the job client can disconnect.
Can be used to work with spark in an interactive manner. Performing action on RDD or DataFrame(like count) and capturing them in logs becomes easy.
Cannot be used to work with spark in an interactive manner.
Jars can be accessed from Client  machine.
Since the driver runs on a different machine than the client, so the jars present in local machine won’t work. Those jars should be made available to all nodes either by placing them on each node or mention them in --jars or as –py-files during spark-submit.
Spark driver does not run on the YARN cluster only executor runs inside YARN cluster.

Spark driver and executor both runs on the YARN cluster.
The local dir used by driver is spark.local.dir and for executor it is YARN config yarn.nodemanager.local-dirs.
The local directories used by the Spark executors and the Spark driver will be the local directories configured for YARN (Hadoop YARN config yarn.nodemanager.local-dirs)
Table 3: Spark Client Vs Cluster Mode

Here are some examples on submitting a spark job in different modes: -
./bin/spark-submit \
  --class main_class \
  --master local[8] \
./bin/spark-submit \
  --master local[8] \
Spark Standalone: -

./bin/spark-submit \
  --class main_class \
 --master spark://<ip-address>:7077 \
 --deploy-mode cluster \
 --supervise \
 --executor-memory 10G \
 --total-executor-cores 100 \
./bin/spark-submit \
--master spark://<ip-add>:7077 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 10G \
  --total-executor-cores 100 \
Yarn Cluster mode
./bin/spark-submit \
  --class main_class \
  --master yarn \
  --deploy-mode cluster \  # can be client for client mode
  --executor-memory 10G \
  --num-executors 50 \
./bin/spark-submit \
  --master yarn \
  --deploy-mode cluster \
  --executor-memory 10G \
  --num-executors 50 \
Table 4: Spark submit examples for different mode

To learn more on Spark click here. Let us know your views or feedback on Facebook or Twitter @MyemptymindC.

Read More