Google’s Inbox: An app that’s suppose to simplify inbox

I have been using Google’s Inbox app and desktop site for over a month. It’s a great leap forward  (or backward) from Gmail. It has all the right elements that I am looking for, but still doesn’t seem to fit my work flow.

It’s smart enough to filter emails and categorize them with right labels.  It’s pretty much the same features that Gmail has for automatic labeling, which I am big fan of. It keeps my things organized.

I was honestly impressed with the material design. Very few other websites  can provide such consistent experience across all platforms, whether it’s on desktop, app or mobile device.

So what’s the issue I am having with Inbox? It’s defeating the purpose I preferred Gmail over all other applications all these years. It’s making my inbox more cluttered and things are getting harder to find. Previously, I had Gmail auto filtering that would organize emails for me and I was able to go and check them at my leisure. Now everything is just there and you are forced to look at it. It feels that Google is promoting all the marketing email which otherwise would be under promotion tab and won’t be visible unless you want it to.

That’s not it. There are other small power user features, for example, a simple delete, is now two taps away. I would expect a some customization that would allow us to bring such things in front. Not every email is to be marked done.

I still not buy into premise that Inbox was not designed for power user. Why would a company want to maintain two services, which serves the same purpose. I am leaning towards a collusion that Google designed this new awesome service and realized it won’t work for a class of user.

I am still optimistic that Inbox will evolve into a better product, but until then Gmail is the way to go. I will continue with Inbox for one more month, before switching back.

Game Bots Using Fictitious Play

First person shooter (FPS) games, online card games, and massively multiplayer online playing games (MMORPGs) are popular and extremely diverse online game genres. Our research in this paper is based on one of the most vibrantly used FPS games, the Counter-Strike (CS). Encouraged by game Artificial Intelligence (AI), we have incorporated computer game bots for our simulation of the CS game. Computer game bots are non-player characters (NPCs) that simulate human game players and display human-like behavior while playing against humans. We propose a state-of-the-art method towards game design using a game theory based learning algorithm called Fictitious play. The bots (non-player characters), in this method, assume that the opponents are playing a  fixed strategy and hence based on their past experiences they plan their next move. This research explores how a  computer game bot adapts to the dynamic human player0s behavior while playing the simulated game of CS, thereby leading to its unpredictable behavior. Here we focus only on an individual agent at a time when it comes  to experimentation.

Game theory concepts in AI can have an important role to play in the implementation of numerous computer game strategies that can provide a number of mathematical tools to understand the possible opponent strategies. This not only provides the game developers with a useful tool for implementing various complex strategies for the computer games, but can also contribute towards their marketing value. One such learning algorithm in game theory is called Fictitious play (FP). Fictitious play was introduced as a solution to find Nash equilibrium. An  agent using fictitious play considers that opponents are playing a fixed strategy and keeps track of the strategy  being played by them. Based on these observations, agents execute their future actions. Fictitious play is a simple  and efficient algorithm. Fictitious play being a light weight algorithm can be used in internet based virtual environment for three-dimensional games. This paper explores the use of fictitious play in game AI, specifically for computer game bots.

Read more

This entry was posted in General.


R. Sutton at. al. explained reinforcement learning in very simple terms[1]:

“Reinforcement learning is learning what to do-how to map situations to actions-so as to maximize a numerical reward signal. The learner is not told which actions to take, as in most forms of machine learning, but instead must discover which actions yield the most reward by trying them. In the most interesting and challenging cases, actions may act not only the immediate reward but also the next situation and, through that, all subsequent rewards. These two characteristics trial-and-error search and delayed reward-are the two most important distinguishing features of reinforcement learning”.

Q-learning, a reinforcement learning technique, learns an action-value function. This function provide the  expected utility of pursuing an action in a given state and following a fixed policy afterward. In simpler terms, an agent using Q-learning learns a mapping for which action he should take when he is in one of the states of the environment. This mapping can be viewed as a table, called a Q-table, with rows as states of the agent and columns as all the actions an agent can perform in its environment. Values of each cell in a Q-table signify how favorable an action is given that an agent is in particular state. Therefore, an agent selects the best known action, depending on his current state: arg max Q(s; a).

Every action taken by an agent affects the environment, which may result in a change of the current state for the agent. Based on his action, the agent gets a reward (a real or natural number) or punishment(a negative reward). These rewards are used by the agent to learn. The goal of an agent is to maximize the total reward which he achieves, by learning the actions which are optimal for each state. Hence, the function which calculates quality of state-action combination is given by :

Q : S X A -> R

Initially, random values are set in the Q-table. Thereafter, each time an agent takes an action; a reward is given to agent, which in turn is used to update the values in Q-table. The formula for updating the Q-table is given by:

Q  Learning Fomula

The major advantages of using Q-learning are that it is simple, and it support dynamic online learning.


[1]  R. Sutton and A. Barto. Reinforcement Learning:An Introduction. The MIT Press Cambridge, Massachusetts London, England

This entry was posted in General.

Enable URL Rewrite and SEO Friendly URL in Joomla

Although simple, URL rewrite in Joomla can be pain in neck. In order for Joomla URL rewrite to work apache should be configure to allow URL rewrite in .htaccess . If you are not sure, contact your web server administrator. You can even test yourself, see .

If you are managing the server then manually enable it. If you are not sure then follow the instruction on following link see:

Now go to Joomla installation folder and rename htaccess.txt to .htaccess

mv htaccess.txt .htaccess

Open .htaccess and remove the comment following line (find the following and remove # in front of it):

RewriteBase  /

If your Joomla is not installed in your root folder then:

RewriteBase/<Joomla Directory>

Now go to global configuration in the admin panel and enable:

Search Engine Friendly URLs
Use URL rewriting

If necessary restart the apache server. Try navigating your website it should not be showing index.php.

This entry was posted in General.

Believable Adaptive Video Game Agents

You see two pictures of the same guy—Agent Smith from the movie The Matrix, with similar smile. If you would have seen Agent Smith in his natural avatar (picture on the right) then on screen he might not be as convincing or realistic as he was. Believability is not a new concept. It has been there for ages. It can be movie characters or the fictional characters in a Novel. They need to believable in order to keep the viewers or readers interested. Same is the case with the artificial characters in games, in order to keep the players interested. On the contrary to the movies and novels, the game environment is virtual and dynamic where players can interact. This dynamicity makes it difficult to design convincing characters.

In 1950, Turing devised a game called the ‘imitation game’. There are three players in the game, (a) man, (b) women, and (c) interrogator. Interrogator is in the separate room then the subjects. Interrogator interacts with the subjects via terminal. Objective of the interrogator is to determine who’s who. To make the game interesting the man is replaced by a machine—digital computer, other things remains the same. Turing devised this game, in order to determine whether the interrogator will be able to determine correctly more often than before, when the subject was the actual man. This test has become the de fecto standard for judging the humanness or believability of a machine (computer). Turing predicted the following:

“I believe that in about fifty years’ time it will be possible to programme computers, with a storage capacity about 109 , to make them play the imitation game so well that an average interrogator will not have more than 70 per cent. Change of making the right identification after give minutes of questioning.”

Certainly, this is not the case after sixty years, since his prediction. Turing certainly overestimated the power computers. Turing test is often criticized by strong AI community. According to them, a computer is not necessarily intelligent if it pass the Turing test. Contrary, this is required in video games, not an intelligent computer player, but a computer that appears intelligent; a believable agent.

see: believable adaptive game ai

This entry was posted in General.

Enslaved by Internet

A constant struggle for power is integral part of human nature. Whether a community is managed by the democracy, a monarch, or a dictator, there is an ongoing power struggle. In a democracy political parties contest to control the parliament, while a monarch or a dictator are themselves the center of power. It is a constant struggle to remain in power by influencing the minds of the citizens. Such phenomenon has been observed since ages and is never ending. We can witness such power struggles in almost everything—from the financial institutions effecting lives of millions, or few companies controlling the computer industry, and the internet market. The 21st century is about the dominance over the Web – World Wide Web.

The British East India Company, whose sole purpose was trading, came to India in early seventeenth century in search of species. Their initial intentions were nothing extraordinary, but trading. Then why British stayed and ruled India for over 300 years. The greedy nature of human beings is not the only one to blame for. There are rules called ‘winner’s takes-it-all’ and ‘rich-get-richer’. In that century, British were not the only empire competing for dominance, but there were French, Dutch, and Portuguese, also. But among these competitors the British had better network, resources, and skills to expand their network, hence, they succeeded. If it were not British then it might have been someone else or India’s own emperors exploiting India, because at the end winner takes-it-all.

Similar future is seen for the Internet; currently, small number of technology companies is controlling more than eighty percent of the market. The 80/20 rule comes into picture. Microsoft controls more than eighty percent of operating system market. It is always that these big players take a greater chunk of market, leaving others behind. These bigger corporations has bigger network. Until recently, most usage of computers and software has been limited to offices and had limited effects on our lives. But these technologies led to the birth of the internet, which already started affecting our lives.

It can, already, be seen by our dependence on search engines. The search engines have become integral part of lives. The world “Google” has become part of the language—don’t know how to cook? Let us google it. It can be argued that popularity of these search engines is due to the belief that they provide with most relevant search results. It is true up to some extent. But the extensive popularity of these search engines had triggered various phenomenons due to which the recommendations are biased. Let’s go back to “rich-get-richer”. Search engines take into consideration number links pointing to a webpage as a key criteria in determining the rank of a webpage. The Pages with more number of links are ranked higher and have better chances of appearing in top results. Moreover, people have tendency to view top results and ignoring the rest. Due to this, already rich page now have even more chances of getting new links; subsequently become even more popular with the search engines. Since we trust the search engines, it affects us. This situation has risen recently due to increase in use of search engines. The results we see are inherently biased, and not necessarily provide right content. Note that, such phenomenon is not intended by the developers of these algorithms, but it’s an occurrence which they might not have visualized.

Technology has started affecting the lives of people in the manner which was never envisioned. On top of it, dominance of these corporations is increasing. Issues such as data and personal privacy, net neutrality, etc. are prevalent. Moreover, with the spread of cloud computing, we are about to lose control over our own data. Several questions need to be answered. How much we can trust these multi-million dollar corporations? How much are we willing to let go? Will there be a British East India Company with right network, resources, and skills to expand their network, and eventually, dominate the internet?

Nevertheless, war has begun; battleground is the Web and target is the common man.

This entry was posted in General.

Consequences of a Connection

The Matrix series, a blockbuster science-fiction, can aid reason about our real world interactions with virtual world. Primary concept of the series revolves around two parallel worlds: ‘The Matrix’ and real world. Many people live in such parallel lives. One such comparison can be drawn with hardcore game players, who live two lives: one in the real world, and second in the virtual game world. Analogous to The Matrix series there are consequences in the real world for the game players for their extensive involvement in their virtual world.

Neo, the lead character, and most of the other characters in the movie are all liberated from virtual world, called Matrix, to live their real life. Contrarily, a game player wants to get involved in the virtual world. They strive for extraordinary powers in this virtual world and achieve it through games.

In the movie there is a constant struggle going on both the worlds. It is a war between good and evil. Actions of one world have consequence in the other world. Though, direct not evident there is also a connection between the virtual world and the real world. It is the mind which also acts as connecter in the movie, and makes them real. When a player starts playing the game, he gets mentally involved. This connection makes his the virtual world a real world.

But there is a contradiction, yet analogy in the manner in which the series ends and manner in which the obsession of these hardcore game players ends. Neo fight against the evil program in the virtual world and dies in both worlds. Contradictorily, in video games the players never die and always emerge as winner. Games are designed to make everyone a winner. But, a player dies in real world. A player has invested a significant energy and time in playing this game. There are incidents wherein players gets so much involved in playing the game that they lose in real world, they lost their house, jobs, careers and friends in real world. All they are left is the virtual world which does no good to for them.

Even though, most hardcore game players would not agree with this, but there is a direct or indirect connection between their fantasied virtual world and the real world. There is a price attached to their involvement in virtual world; they will have to pay in real world. Neo fought and won an extreme battle in virtual world, yet he died in real world.

This entry was posted in General.

Life is a long marathon

Undoubtedly, Forrest Gump is one of the very interesting movies I have watched, to date.  Gump may be stupid or not, I don’t know. But movie is brilliant and can be interpreted in many ways, and will be talked about for generations to come. Consider a scene from the movie where Forrest Gump runs for 3 years, 2 months, 14 days and 16 hours. He started running by saying that he is running for no particular reason. The scene itself raises lots of question about Gump and everybody else’s life who started following him. Why is this guy running? Is he stupid? What is he trying to prove? Why so many people started running with him?

In-depth analysis of the scene reveal important message for life. When Gump started running and also while he’s running, he says: he is running for no particular reason. But, there were many implicit reasons and anomalies in the dialogs which disclose real cause for running.

Obvious reason might be Jenny because before he started running Jenny left him while he was sleeping. He would have felt deserted and cheated. He did mention this in a dialog: “… and most of it I thought about Jenny” while running. The thing that relates him to Jenny was running; this is what she had told him do, as a kid: “Run, Forrest Run,” All his life he had done was running. Moreover, he did not possess any particular skill, only thing he knew was running. So best he can do when Jenny left him was to start running.

We all also do the same thing our entire life. We are like Forrest Gump, started running when we are born. We run our entire life. Like Forrest says: “… I reached the end. I turned. Started running again.” This is what most of do. Set goals, try to accomplish them, once we have achieved those goal; we set to achieve something else. We want to have a good job, a Mercedes, a humongous mansion, and the list goes on. Like Forrest we are unclear what exactly we want. We just keep on running without any particular reasons.  There is no peace in our life. All we learned from parents, schools, college is how to run. Run dear run, or else you will be left behind.

This is not it, there is a herd mentality. Blindly following the mentor, idols, etc., and keep of running behind. Many people started running with Forrest. They saw Forrest tirelessly running, and thought this man is magnanimous; might be running for some good cause, though not known to them, and so we should start running behind him. This is also a very common phenomenon we observe in our day to day life. For example, people blindly follow religious leaders, smart entrepreneurs, and presidents without giving proper thought.  Most of us do that because we ourselves are unclear what is best of us. So we tend to follow a brilliant god figures who we think knows what they are doing or saying.

Last but not least, the way he stops running is worth giving a thought. He suddenly stops and says: “I’m tired. I want to go home”. People who were running behind him were confused: now what? It symbolizes the end. End of journey. End of life which is going to be sudden. One will be tired and there is a rare possibility that he might have come to an understanding about life and the journey one has made. Before Gump stopped running, he remembers what his mother had said: “Leave the past behind and move ahead”.  There is always a very important message in simple sentences. If you continuously keep on clinging to your past, you won’t be able to end your journey in peace. So, sooner you learn to let go your past, better are your chances of ending your journey in peace. Forrest Gump stop running, he had his peace.

This entry was posted in General.

Google’s Next-Gen Car

Today is October 11, 2010. Probably I am one of the last people to report that Google is testing an automated car on the streets of California. On 10th October, 2010, Google made the announcement on its Official Blog with the title “What we’re driving at” precisely at 12:00 PM, when all of us go for lunch break. People in Google are really smart. They know we already had our lunch at 11:30AM, so we have nothing else to do, but to visit Google’s blog to read about their latest venture—next generation automated cars.

I was also excited and wanted to know what they are driving, what technology they are using, and who designed these cars. They tested their vehicle on roads in actual traffic. So, I became even more excited to know about the technology. It turns out that they “use video cameras, radar sensors and a laser range finder to “see” other traffic”. I did not know that they are using this stuff with which we can make our cars “see”. Guys, I am going to Wal-Mart. I also want my car to “see”, so that it can automatically stop and wink on spotting hot chicks.

By morning next day, I started noticing that all the major news agencies had started reporting about the car. I decided to search Google news about Google’s automated car.  I was taken aback; Google returned two hundred and twenty two articles. I started reading headlines for fun. Few of them said: “Will you let Google Drive your Car?”, “But Why, Exactly, Is Google Building Robot-Driven Cars?”, “Robot cars invade California, on orders from Google”, “Google Unleashes Robot Cars On California”, “The Google Car: Look Ma, no hands…or feet!”, and “Teenage Drivers Beware: Google Unveils Auto Driving Technology”. In short, if you let Google drive your car, it will hand over your car controls to a Killer Robot; few of them have already invaded California; hide your teenage sons and daughter because this car has tendency to rip-off teenager’s hands and feet.

The story that caught my attention was from Mitch Wagner of ComputerWorld titled: “Is Google wasting its time with self-driving cars?” Furthermore, he says: “why is Google messing around with this?” Surprisingly, Mr. Wagner is ready to waste his time on reporting about it. Google had time and money, so one of their guys stopped by at DARPA Challenges, by the U.S. Government. They found few other brilliant engineers proficient in wasting time and money; hired them and gave them even more time and money to waste, hence, they did what they are best at—designing autonomous vehicles.  Mr. Wagner argues that it is unwise of Google to spend enormous amount of shareholders money on project in which he does not see future and that Google should be concentrating on its core-business. Google has succeeded in converting its search engine into a money making machine and it’s not going to last forever. People in Google seem to know this. It is not that with this autonomous car that Google is trying something out of its core. Apart from sensors, key technology Google is using to navigate, according to Google, is “detailed maps (which we collect using manually driven vehicles) to navigate the road ahead” . These maps make Google stand out of the rest. Without these maps their cars will be similar to a healthy man lost in dessert who cannot figure out which way to go.

Even though, with the few recent failures under the Google’s belt, it is turning out to be a true Next-Gen company.  All I can see with the declaration of autonomous car is that Google is here to stay and invade every possible market segment.

This entry was posted in General.