Visualizing all the protests in the world from 1979

John Beiler, Penn State doctoral candidate, has managed to came up with the 250 million protests worldwide, from 1979-2013, visualized in one time-lapse image.



The idea is interesting and the result is very good-looking, but where does all this data come from? Sure more than one can observe some inaccuracies on it. For example, some cities seem to be worse than Sodoma taking all the protests in specific regions when that was not truly the case. Access to information previous to the internet era seem also not so easy in some regions.

Despite the less accuracy of past data, what information does it have about the protests? Can it be used to predict future instabilities in certain regions, specially with more recent data that is far more accurate?

The Global Database of Events, Language, and Tone (GDELT) tracks news reports and codes them for 58 fields, from where an incident took place to what sort of event it was (these maps look at protests, violence, and changes in military and police posture) to ethnic and religious affiliations, among other categories. The dataset has recorded nearly 250 million events since 1979. Since April 1st 2013 they are even more ambitious and are adding a daily record with all the events that had happened world-wide!!! Imagine how powerful this could be in 5 years!

Kalev Leetaru, co-creator of GDELT, said it’s being used by academics and financial institutions as a kind of global day book. The idea is to use it in true big data fashion, for example, loading everything publicly reported about the war in Afghanistan and looking for patterns to forecast future behavior.

Tagged , , , ,

Google 20% innovation time in coma

When you get fat, shit happens. Ask Google about it. One of the most famous processes of the giant, the well known “20 percent time” is close to an end. It has not been closed officially. Instead, it has been slowly killed by the over-productive, over-metric phantom:

Here’s how Google has effectively shut down 20% time without actually ending the program, says our source: First, as has been reported previously, Google began to require that engineers get approval from management to take 20% time in order to work on independent projects, a marked departure from the company’s previous policy of making 20% time a right of all Googlers.

Recently, however, Google’s upper management has clamped down even further, by strongly discouraging managers from approving any 20% projects at all. Managers are judged on the productivity of their teams—Google has a highly developed internal analytics team that constantly measures all employees’ productivity—and the level of productivity that teams are expected to deliver assumes that employees are working on their primary responsibilities 100% of the time.

It is not necessarily bad what is happening here. Few years ago, Goolge seemed that crazy teenager wanting to try it everything and not focusing. Since 2011, when the cofounder Larry Page was made CEO again, their first strategy was to focus, or as he said, “more wood behind fewer arrows“. And concentrating efforts on a more narrow strategy is more profitable.

My opinion:  long-term vs. short-term. By focusing, your strategy is pointing to the short-term. Exploit what you are good at and be as much profitable as possible. You became a specialist. But in a so fast changing world, becoming a specialist has very high risks! Specially for technology companies and specially if your current profits are based in your past innovation. And if you don’t think so, ask Xerox or IBM or Microsoft about it.

Tagged , , ,

5 crazy kinnect hacks

Kinnect is cool. In fact it seems for me to be the only sexy product of Microsoft.

Kinnect is basically a camera with some additional features that let you easily create a depth map. This depth map is very useful to create 3D representations and to make object detection easier than just using a simple video input. This capabilities let Kinnect, for example, detect humans and their parts and gestures and make human computer interaction more natural.

Microsoft has also made a very wise move letting people hack and play around with Kinnect. This has let to many researchers using it for its vision project and many other kinds of interesting stuff.

The 5 hacks:

  1. Having trouble reading your iPad in the bath tub? Don’t worry, this japanese research group will project it to the water and you will be able to interact touching directly into it.
  2. Party animal? Then this is for you. Kinnect recognizes the moves and dances of the people in a dark party place and interact with them with to create visual effects with lights and lasers.
  3. This one is scary. Making some machine learning in your facial expression, Kinnect can predict if you are depressed. It can also be useful for the NSA to track the mood of terrorists.
  4. Speech-to-text is cool, but what happens with mute people? Kinnect to the rescue with this new sign-language-to-text transcriber.
  5. Kinnect will also open new paths in the designing world. It has always seemed to me that one cool direction that is lately being explored is that one of brining designers more rich human computer interfaces. Kinnect has also many advantages. 

As cool as it is, it was not possible to remain the only product out there with this capabilities. More and more we will see more of this coming. Just as an example, take a look at Leap Motion.

Tagged , ,

Cheap Advertisement Startup Advices

The most important points of the article “The 5 minutes guide to cheap startup advertisement“:

  1. Use the cheap advertisement as a way to understand how you product is most visited. Experiment with keywords, descriptions, titles, A/B test strategies and measure results. This cheap advertisement will probably not convert your product, but can help you to sharp your later strategy and event understand what are your customers really looking for.
  2. Try to get e-mails as early as possible. For example, in exchange of free samples or free trials. They are a really valuable source of conversion.
Tagged , ,

HBase vs Cassandra. Fight!

Whit all the hype around the big data storage, it has emerged a very interesting battle between technologies to dominate the NoSQL world. There are hundreds of players for different kinds of applications (document storage, graph database, key value store…) but two of the big players fighting are HBase and Cassandra in the Wide Column Store ring.

HBase is built on top of Hadoop, Java based and modeled after Google’s Big Table. HBase was created in 2007 at Powerset (later acquired by Microsoft) and was initially part of Hadoop and then became a Top-Level-Project.

On the other side, Apache Cassandra was originated at Facebook in 2007, was open sourced and then incubated at Apache, and is nowadays also a Top-Level-Project.

In this article, two NoSQL experts put just in front of us a great comparison between them.

Tagged , , ,

Using Google Street View to measure inequalities in a city


  1. Take a bunch of pictures from Google Street View of a given city.
  2. Post them in pairs in a web page and ask people to decide which one looks safer.
  3. Screen Shot 2013-08-02 at 00.55.25
  4. Given the previous results, rank the pictures. This gives a metric of the safety of the place.
  5. Construct a heat map of the city with the previous values and…voila!

Screen Shot 2013-08-02 at 00.35.07


This is exactly the experiment that has been done by a research group at Media Lab.

The experiment crowdsourced the evaluation of images of the cities of Boston, NYC, Salzburg and Linz obtaining for each ones heat maps like the former one. Those maps represent the safety perception that people have of those places given how do they look like.

The results showed that the contrasts observed in NYC and Boston where higher than the ones observed in the Austrian cities. Furthermore, the results where used as a predictive variable in a statistical model for the crime prediction. The initial variables for the model (area, population, income and zip code) where able to explain 70% of the variation. With the addition of the new variable (safeness perception) the variability raised 80%. So, after all, our perception of the safeness of a place is not so wrong.

It would be interesting to try to use computer vision to automate the classification and rating of the images. If this was possible and accurate enough, google street view could directly gives us safety maps of each city of the world. Actually it is quite interesting how less has been done in providing such maps given that tourists, for example, really need this kind of information.


Tagged , , , ,

Spaghetti code vs. Agile Coding. Some take aways.

I have just finished reading the book Practices of an Agile Developer. By wanting to develop too fast, I have been surprised by the spaghetti code I’ve given birth to. With my code right now I spend to much time to make small improvements, it’s difficult to track bugs and extend features, it has low reusability and it is really hard to deliver it to the client and get their feedback. I have made some mistakes in my way and now it is time to fix them. I have taking agile coding principles as the plan to guide my steps.

My code right now.

Agile development is a group of software development methods and practices that focus precisely on avoiding from the beginning many of the problems that I am finding now. Rapid adaptation to change, adaptive planning and very modular code that focus on simple tasks. The core idea is to develop software INCREMENTALLY (focus on core features and increase gradually its development) and ITERATIVELY (split the time in cycle chunks of design-build-test-deploy to get instant feedback). Other interesting agile practices are:

  • Enforce the daily communication between team members.
  • Deliver (deploy) asap the project.
  • Continuously get feedback from the final user.

There are lots of other interesting take aways of the book, however I want to summarize here the ones that focus on coding itself. This is where I have found more things I was doing wrong and that can be improved. It is all really common sense, but somebody had to remind me about that (as Voltaire said, common sense is not so common).

  • Program intently and expressively. Choose readability over convenience, code clarity comes before performance. Always remember that code will be read many times more than it is written, so it is worth it to make life easier to those who follow.
  • Communicate through the code. Choose wisely the names of the methods and variables to be expressive. Comments should not shadow the expressiveness of the code. Instead, comments about methods should convey information about the purpose (why does the method exists) plus information about the arguments, return values and exceptions.
  • Be aware the trade offs. There is usually not a perfect answer to the best framework or development procedure (applicable to life too). So it is far more important to be aware what do we need to solve and choose the right solution/answer for that. Consider performance, convenience, productivity, cost and time. Let the stakeholder of the code you are writing mark you the focus you have to take.
  • Code incrementally. Like running a marathon, do not focus on the end point. Instead, try to put closer objectives. This iteration not just let you produce more focused software components (methods, classes, modules, libraries) but also takes care of your mental healthiness by not burning you. Write code in short edit/build/test cycles.
  • Seek for simplicity. “I made this letter long because I had not enough time to make it short” B. Pascal wrote. The same idea is applicable to code: take that necessary time.
  • Cohesion. Cohesion is the measure of how functionally related the members of a software component are. It feels like rowing all in the same direction. Cohesion empowers you to group similar members by their functionality. Special mention to the Single Responsibility Principle when writing classes that states that a method should have only one reason to change. Keep classes focused and components small.
  • Tell objects to do things based on their state. This business logic of the what the object does must reside inside the object itself, instead of playing with the object state in the calling class.
  • Inheritance vs. composition. If inheritance is chosen, overriding of methods should be done accepting the parent contract (not modifying its functionality) in such a way that the derived class can be substitute by the parent class. In most of the cases that you just want to add functionality to a class, though, composition is a most preferable option.
Example of focus

Wardrobe, piano and Bedstead. Example of focus…

Tagged , , ,

Be provocative

I do not really like provocative people. I have always thought they are just trying to be the center of the attention. And I even hate them more when I see in their behavior just the willingness of demonstrating their intellectual superiority. Furthermore, they make me expose my insecurities!

As with the judgements in general, I was forgetting details and nuances. There is an attractive point on the provocative behavior that goes further feeding the ego. And I discover it through a very recommended book written by a very interesting person with a very curious life: Unthink: rediscover your creative genius by Erik Whal. And that is why since I read that book I keep staring at provocative people as if they were going to give me free food.


What is the point on being provocative? Fun. Few things are more important in live than having fun. But more precisely the point on being provocative is the fun of the adventure. Adventure that starts once you cross that magic barrier of the comfort zone. Discover! The provocative behavior is like a drug that lets you and your travel to the undiscovered lands of the uncomforted.

Example. You met a person. First hours and days with a person you just met are usually driven by the politeness of wanting to exchange good impressions. Until one of you say something inappropriate or agitating. When this happens, your first reaction is to truly put your senses on what is happening. Then you realize something has gone a little bit further you have previously planned, and it is time to rethink.  You are discovering who is inside that body in front of you and how she is different from the rest of the world.

Wait!! I am very happy here inside my fence, why the hell would I want to leave it? Creativity. Nothing created or dogmatically established can nourish creativity. And here is where being provocative helps. Once you walk out of your zone, you can view new thinks. It makes sense: you already know everything in your house. And viewing new things or old things with new eyes is a key point in the process of creating something new. And you know what? We are surrounded by masters of provocation: children! They all are driven by provocation (touching the fire, putting things in their mouth, infinite “why” chains, …) and masters of imagination (are you able now to think of a whole 4 hour movie with just one articulated action man?). So my final point here is that we just have to remember how provocative we were when, for example, we were trying to find how the babies are made.


One equation for all this philosophical bag of words? provocative = fun + creativity + collateral damages. I will not cheat on you, but the later term of the equation is what keeps the provocation lifestyle not able to everyone.


Tagged , ,

Big players internal organization

And I am sure Apple is missing the red dot.


Firefox OS: a new mobile operating system filling the right holes

I have been lately looking very close to Firefox OS, a new operating system for mobile devices. Finally, today launches in Spain for $90.

First thing I thought when I heard about this OS for mobile phones was: another mobile operating system?? Isn’t the market full enough with Android, iOS and the incipient Windows phone?? Yes, that is true, but this new alternative is filling 2 great holes the other players are missing.

First of all its technology. You can do whatever to expect to do with a phone but it is entirely web based. It only uses web technology. This has not many repercussions to the end user, but it has an extremely big one for the developers of apps. With Firefox OS, all the web developers around the world will be able to make native apps for the mobile without having painfully learn a specific framework (iOS, Android,…)

The second big hole is price. Sure smartphone are going to be cheaper and every day are more affordable, but the speed of this price decreasing is not fast enough. Not for the developing markets. Just 21% of world-wide mobile phone users have smartphone. In emerging economies this number it is even lower. Firefox OS wants to fill this gap launching an extremely cheap smartphone. The feature phone is dead.


Example of feature phone. Soon RIP.


Tagged , , ,

Get every new post delivered to your Inbox.

Join 1,121 other followers