Manish Agrawal

My Experiments with Technology..

  Home  |   Contact  |   Syndication    |   Login
  102 Posts | 2 Stories | 66 Comments | 12 Trackbacks


live stats

Domain Name Free Service
Get a free domain name like with the following features included: free URL redirection with cloaking, path forwarding, all meta-tags supported, kill-frame feature, NO forced ADS at all, and more.


All content © Manish Agrawal
The content on this site represents my own personal opinions and thoughts at the time of posting, and does not reflect those of my employer's in any way.
Disclaimer:- All postings in this blog is provided "AS IS" with no warranties, and confers no rights.


Interesting Blogs

Interesting Links



Travel Domain

Thursday, January 3, 2013 #

Sunday, December 9, 2012 #

Most amazing part of this video is the sense of humor of this gentleman from Lunds University..
How learned he must have been at this age, to put examples, new technologies, vision, geo-politics and so many things mixed so nicely on the fly and still give a clear message with humor..

About Steve: what a man, in 1985 he was saying these things... as if he did a time travel to 2010 and then was explaining, how computers will influence humankind..  wow..  

Sunday, December 4, 2011 #

Google provides you a very good contacts manager.

Google also gives you the ability to synchronize your phone contacts with the contacts on your gmail account. I found this quick tutorial to do contacts sync on Nokia 5800 xpress music phone.

Now contacts on my Android phone (Google Nexus One) and Nokia phone (5800 Xpress Music) as always in Sync and backed up ;)

Steps of enabling the Contatct (only Contacts) Sync on Nokia 5800.

Without images:
Go to Menu -> settings -> Connectivity -> Data transfer -> Sync -> New sync profile
In the 1st page put any name for the profile.
In the 2nd page select "1.2"
In the 3rd page select ONLY Contacts.
In the 4rth page type "Contacts" (without the quotes).
In the 5th page select "Internet"
In the 6th page type "" (watch out for the "s" on "https")
In the 7th page type "Google" (capital ‘G’ is important)
In the 8th page put the user name of your account.            
In the 9th page put the password of your account

Once you are over with the pages it will go you to "sync"
You will press options -> Change active profile -> The name of your profile
It's ready for you to try it!

Go to your contacts and press Options -> Synchronization -> Start
It is ready!!!!!

Note: At a time it syncs 50 contacts, so you may have to run it multiple times.



Sunday, November 13, 2011 #

Change the game or you will not even know how to play it. --Manish Agrawal

Monday, May 30, 2011 #


Nice Presentation by Jeff Nielsen.

Wednesday, November 17, 2010 #

Step 1:
Download CouchDB on your Android phone from Android Market Place:
info available at:
Step 2:
Download CouchDB on your Windows machine
info available at:
Download link:
after unzip, it looks like this:
CouchDB installation dir
Step 3:
Check IP of your Windows machine
Note: Your Android phone and Windows machine shall be on the same network (in case of local network).
Step 4:
On your Windows machine, Goto etc/couchdb folder in the CouchDB directory and change the IP from to your Windows machine IP in local.ini file
Step 5:
On your Windows machine, Goto bin/ folder in the CouchDB directory,
Run the couchdb.bat file, it will show the following log
Erlang R14A (erts-5.8) [source] [smp:2:2] [rq:2] [async-threads:0]
Eshell V5.8 (abort with ^G)
1> Apache CouchDB 1.0.0 (LogLevel=info) is starting.
Apache CouchDB has started. Time to relax.
[info] [<0.44.0>] Apache CouchDB has started on
Step 6:
Access URL from your Android phone browser
It should show the CouchDB page with database names.
And immediately it will show this log in the Erlang server window:
[info] [<0.107.0>] - - 'GET' /_utils 301
[info] [<0.107.0>] - - 'GET' /_all_dbs 200
[info] [<0.169.0>] - - 'GET' /_session 200
[info] [<0.107.0>] - - 'GET' / 200
[info] [<0.169.0>] - - 'GET' /_users/ 200
 [info] [<0.168.0>] - - 'GET' /xyz/ 200’
Step 7:
Now Open the CouchDB on Android phone Notification bar. (You will see the local IP of the phone i.e.
Create a new database… (in my case database name was xyzA)
Go to Replicator link on the right side of the page
In From DB, fill the http url of your CouchDB running on your Windows desktop
for e.g.   (xyz was the database name on my Windows CouchDB)
In To DB, select the newly created database from the dropdown which shows _replicator as selected by default.
or in case if the newly created db is not there in the dropdown list,
fill the http URL, for e.g.
Note: even though new database is created, it may not appear on the Local Database dropdown on the Replicator page
Remember to Reload/Refresh the page in your Android Browser always, you may have to do it at many different times on various pages.
You can select Continuous check box for continuous replication between the two.
Press Replicate button
Immediately it will show this log in the Erlang server window:
[info] [<0.742.0>] - - 'GET' /xyz/ 200
[info] [<0.743.0>] - - 'GET' /xyz/_local%2F34c99c134a502c2cd41d6df7775902e2 404
[info] [<0.744.0>] - - 'GET' /xyz/_local%2F6ed566d89c8c3c6b5c00ddb810717b2d 404
[info] [<0.745.0>] - - 'GET' /xyz/_changes?style=all_docs&heartbeat=10000&since=0&feed=continuous 200
[info] [<0.746.0>] - - 'GET' /xyz/e63b8aa6b2685686199c7e131900052f?open_revs=["1-6371fc9e2fa97f39bd567a3649b3a825"]&revs=true&latest=true&att_encoding_info=true 200
[info] [<0.749.0>] - - 'GET' /xyz/f1ca5a35948b802b82a346a792000e20?open_revs=["2-a73c0007b41ce0b84b6960cd55b2d487"]&revs=true&latest=true&att_encoding_info=true 200
[info] [<0.750.0>] - - 'POST' /xyz/_ensure_full_commit?seq=3 201
[info] [<0.757.0>] - - 'PUT' /xyz/_local%2F34c99c134a502c2cd41d6df7775902e2 201
Problems identified during this exercise:
1.       In CouchDB web UI, to change any field value, one has to double click, but if you have opened CouchDB Web UI in Android Browser, double click/double tap work as zoom feature!!
2.       Continuous Replication stopped working, once my Android phone moved from WiFi to EDGE and back, I had to restart CouchDB on Android and again set up the replication!!

Tuesday, April 27, 2010 #


Following are the steps for MySQL Replication implementation on Linux machine:

Pre-implementation steps for DB Replication:


1.    Identify the databases to be replicated

2.    Identify the tables to be ignored during replication per database for example log tables

3.  Carefully identify and replace the variables and paths(locations) mentioned (in bold) in the commands given below with appropriate values

4.  Schedule the maintenance activity in odd hours as these activities will affect all the databases on Master database server




Implementation steps for DB Replication:



1.    Configure the /etc/my.cnf file on Master database server to enable Binary logging, setting of server id and configuring of dbnames for which logging should be done.




binlog-do-db = dbname


Note: You can specify multiple DB in binlog-do-db by using comma separated dbname values like: dbname1, dbname2, …, dbnameN


2.    On Master database, Grant Replication Slave Privileges, by executing following command on mysql prompt

mysql> GRANT REPLICATION SLAVE ON *.* TO slaveuser@<hostname> identified by ‘slavepassword’;


3.    Stop the Master & Slave database by giving the command

     mysqladmin shutdown


4.    Start the Master database by giving the command

     /usr/local/mysql-5.0.22/bin/mysqld_safe --user=user&




Note: Leave the client (putty session) from which you issued the FLUSH TABLES statement running, so that the read lock remains in effect. If you exit the client, the lock is released.

6.    mysql > SHOW MASTER STATUS;


         | File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |


         | mysql-bin.003 | 117       | dbname       |                  |


Note: Note this information as this will be required while starting of Slave and replication in later steps


7.    Take MySQL dump by giving the following command, In another session window (putty window) run the following command:

mysqldump –u user --ignore-table=dbname.tbl_name -–ignore-table=dbname.tbl_name2 --master-data dbname > dbname_dump.db

Note: When choosing databases to include in the dump, remember that you will need to filter out databases on each slave that you do not want to include in the replication process.



8.    Unlock the tables on Master by giving following command:



9.    Copy the dump file to Slave DB server


10.  Startup the Slave by using option --skip-slave

     /usr/local/mysql-5.0.22/bin/mysqld_safe --user=user --skip-slave&


11.  Restore the dump file on Slave DB server

     mysql –u user dbname < dbname_dump.db


12.  Stop the Slave database by giving the command

     mysqladmin shutdown


13.  Configure the /etc/my.cnf file on the Slave database server



replicate-ignore-table = dbname.tablename


14.  Start the Slave Mysql Server with 'replicate-do-db=DB name' option.

     /usr/local/mysql-5.0.22/bin/mysqld_safe --user=user --replicate-do-db=dbname --skip-slave


15.  Configure the settings at Slave server for Master host name, log filename and position within the log file as shown in Step 6 above

Use Change Master statement in the MySQL session

mysql> CHANGE MASTER TO MASTER_HOST='<master_host_name>', MASTER_USER='<replication_user_name>', MASTER_PASSWORD='<replication_password>', MASTER_LOG_FILE='<recorded_log_file_name>', MASTER_LOG_POS=<recorded_log_position>;

16.  On Slave Servers mysql prompt give the following command:

a.     mysql > START SLAVE;

b.    mysql > SHOW SLAVE STATUS;






To stop slave for backup or any other activity you can use the following command on the Slave Servers mysql prompt:




Refer following links for more information on MySQL DB Replication:


Friday, March 26, 2010 #


Sample of Alan's one day workshop given on Application Stores, Developer Communities, Content, Games and Widgets: Strategic Market Review and Operator Opportunity / Risk Analysis

Thanks to Alan

Yet another good presentation from Alan

Thursday, March 25, 2010 #


Presentations made at Mobile World Congress, MWC 2010, on the Canadian OneAPI Pilot by Graham Trickey (GSMA), and Shane Logan (Telus).

Thanks Alan for sharing it.

Friday, February 26, 2010 #

Thursday, November 12, 2009 #

I have posted a Poll on Linked IN, to study about the pattern of usage of Voice Message and its awareness.


I request you, to kindly spare few seconds of yours to provide your valuable answer. 


Poll Question is:

What do U do, when the Person U are calling is not reachable / not picking & a Voice Prompts u to leave a Voice Message (VM)?

You can answer the Poll on Linked IN site (recommended, as it will give very good comparitve analysis) by clicking on this link:

Or if that is not possible, then by leaving your answer (from below mentioned options) as comment to this post:

1. Leave a VM
2. Don't leave VM & wait for callback
3. Don't leave VM & later send a SMS
4. Don't leave VM & try calling again later
5. Don't know, What is Voice Message (VM)

Thanks in advance...

Monday, October 19, 2009 #

The Time Paradox: The New Psychology of Time That Will Change Your Life

Your every significant choice -- every important decision you make -- is determined by a force operating deep inside your mind: your perspective on time -- your internal, personal time zone. This is the most influential force in your life, yet you are virtually unaware of it. Once you become aware of your personal time zone, you can begin to see and manage your life in exciting new ways.

In The Time Paradox, Drs. Zimbardo and Boyd draw on thirty years of pioneering research to reveal, for the first time, how your individual time perspective shapes your life and is shaped by the world around you. Further, they demonstrate that your and every other individual's time zones interact to create national cultures, economics, and personal destinies.

Philip Zimbardo is professor emeritus of psychology at Stanford University and has also taught at Yale University, New York University, and Columbia University. His informative website,, is visited by millions every year. Visit the author's personal website at

Monday, October 5, 2009 #

Though everybody knows: "It is always better to come to terms with realities and accept things as early as possible..." but there is a in-built thought process in our mind (Sub-Concious Mind),  which keeps pulling us away and makes the process of coming with terms to realities slow and painful..


Saush has written a great article about  "why it is difficult to accept the realitlies of a downturn..."


Just by going thru this article, one can realize the common human mistakes, which if can't be avoided can definetly be made less painful..  just by looking at things in a different prospective..

Saturday, September 5, 2009 #

 Great work!! Scott and Julie Brusaw

 What a great discovery.... It can solve so many major problems of the current world in one shot..


Video from:


To check more details, you can visit the Solar Roadways website.

Join & spread the revolution by making others aware about it.





Tuesday, July 28, 2009 #

Finally, The world is evolving towards a new mode of interaction.

Where human doesn't haveto give inputs to machines using some input devices like keyboard, mouse, touch etc. rather machines are made capable to understand human body movements and take inputs accordingly.

I will like to give it a new name     UUI - i.e. Ubiquitous User Interface


Some examples of this are Accelerometer based inputs in many devices, Microsoft's new Project Natal for XBOX 360 .

Refer my previous blog posts on Sixth Sense, iPhone SDK showing accelerometer based input. And now have a look at this demo of Microsoft's Project Natal for XBOX 360:



It shows, how technology is gradually  evolving

from Punch Card based instructions   to   Command line based instructions   to   Mouse / Digital Pen / Joystick    to   Voice / Touch / Accelerometer   and now to   Observation

for interfaces, from Console   to   GUI   to   IVR   to   UUI

What's Next ??     TUI  -- Thought User Interface    User can just think of an action and machine will understand :) 


Monday, March 16, 2009 #

When you think out of the box, this is what is the possibility, you can make something so advanced with something so simple... and that also cheaper than the current available options....

Thanks to Parnav Mistry and Pattie Maes for such a brilliant work they have done.

I bet you will not be able to stop yourself from clapping after looking at the video / future.

If you can't see the below video, click here





--Manish Agrawal 

My LinkedIN link


Saturday, February 14, 2009 #

Monday, December 29, 2008 #

Got a good link to convert PDF to Word and that too free.

I checked converting one PDF with Image and Page Header / Footer Margins. And bang it goes...  it has converted it very nicely.

Only trade-off was the size of the document, it converted 386kb PDF file to 1.42 mb MS Word file. But never mind, as the quality of output was very good.

To access this tool click here.

Monday, December 15, 2008 #

This is a nice presentation prepared by Ruddy, capturing Mobile Trends and Mobile Products.

Mobile 2.0 @ Plugg
View SlideShare presentation or Upload your own. (tags: media retail)

Sunday, November 30, 2008 #

Nice presentation on Mobile VAS in India.


Mobile Vas In India
View SlideShare presentation or Upload your own. (tags: bda bajaj)

Friday, November 7, 2008 #


If the above presentation is not very clear and is not making sense at few places, you can see the Full Video or Highlights of the Video also.

Saturday, October 25, 2008 #


An Introduction to Android by Jason Chen.  Android is the Open Handset Alliance's mobile software platform. In this session, Google introduces Android and discuss their vision for more open, powerful, and us... Anatomy & Physiology of an Android Patrick Brady (Google) Android has been designed as a modern mobile platform that will enable applications to take full advantage of the mobile device capabiliti...
Inside the Android Application Framework Dan Morrill (Google) Android is designed to be fast, powerful, and easy to develop for. This session will discuss the Android application framework in dept... Building an Android Application 101 Jason Chen (Google) This session is a practical introduction to building Android applications using the SDK and developer tools. We'll walk through building a n...





Rapid Development with Python, Django, and Google App Engine Guido van Rossum (Google) Learn how to create great web applications quickly on Google App Engine using the Django web framework and th...


Painless Python for Proficient Programmers Part I  ----  Alex Martelli (Google) Python is a popular very-high-level programming language, with a clean and spare syntax, simple and regular semantics, a large sta... Painless Python for Proficient Programmers Part II ----  Alex Martelli (Google) Python is a popular very-high-level programming language, with a clean and spare syntax, simple and regular semantics, a l...




State of Ajax: The Universe is Expanding Dion Almaer (Google) and Ben Galbraith ( The Ajax revolution is complete: Sophisticated JavaScript user interfaces are nearly ubiquitous. Yet, ... Advancded Gadget and UI Development Using Google's AJAX APIs Derek Collison (Google) The Google AJAX APIs can be used to build sophisticated Gadgets and UI controls for your website. For instance,...
A World Beyond AJAX: Accessing Google's APIs from Flash and Non-JavaScript Environments Vadim Spivak (Google) AJAX isn't the only way to access Google APIs. Learn how to use Google's services from...