Sudeep's Blog

Disorganized Thoughts in Organized Manner

Fri Jul 06 2012
Another leg of a long journey. Off to mountains over the weekend. See ya!
Wed Jul 04 2012
Hi from New Rochelle. Quite blurry and not easy to see, but I know you are there! Here is the picture
I needed to load a cross-domain RSS in a jquery site. Most of the forums/blogs talked about single domain policy and how it was hard to do this without a proxy server. Well, we now have jgfeed, the ultimate 0.68kb-js-file-solution for this problem. For more: visit here
Tue Jul 03 2012
“Take care,” said Delaura. “Sometimes we attribute certain things we do not understand to the Demon, not thinking they may be things of God that we do not understand.” "No medicine can cure what happiness can not!" “Disbelief is more resistant than faith because it is sustained by the sense.” Thanks @RamolaSane for the book!
I had retweeted @vkhosla's link of a robot hand playing Rock-Paper-Scissors and beating you EVERY SINGLE TIME!. Here is the link and video. I first thought that it would be using some elaborate learning algorithm and has tons of historical data to train. Nope! it cheats, meaning, its "high speed vision system" can detect your hand motion in matter of milliseconds and act accordingly. Neato! Did I say the video is supercool? Check it out! I was talking to my colleague about a possible Markov Chain learning algorithm for playing Rock-Paper-Scissors. The model looked quite intuitive to me with three states: R, P and C denoting last three moves of your opponents, with transition probabilities computed using frequency counting. A little googling showed me that this is a fairly well thought of problem and many people have developed algorithms --- some simple, some complex --- for this problem. For example, here is a link to University of Waterloo RPS challenge . Wow, you learn something new everyday!
Google has finally rolled a version of chrome on iOS, and what's more, it's using iPhone SDK's UIWebView as a rendering engine. What's more, this has been found News Worthy by Techcrunch. Here is the complete article . No doubt, Techcrunch is a technical blog after all and it has been a go-to-technology-site for many, including myself. Still, UIWebView mentioned on Techcrunch tickled me... a little!
Big News of the week: Google has trained a Neural Network with a billion internal nodes, using aabout 16000 computers......well, to detect cats on internet! At least that's how media touts it. NYTimes published an article on Google's recent feat here. The article says that Google's training set consists of millions of images from youtube videos, their neural network "taught itself" to identify objects in the images and "roughly doubled" the accuracy of detection. A widespread publicity of academic paper in a non-academic paper (aka NEWS) is always exciting. In particular, this paper is simply amazing given its results and scale of operation and richly deserves the media coverage it has received. I tried to look at the ICML publication, now available on Google Research page. One of the most remarkable aspects of the research is the fact that it uses unsupervised learning algorithm with an unlabeled data of 10 million 200X200 pixel images. This means that although most of the object-detection algorithms take labeled data, (i.e.images with objects outlined and identified by someone ---either users or mechanical turks or researchers themselves), this research has no such outline and identification to start with. Naturally, the algorithm has to be complex. Just how complex is it? --- It has a 9-layer Neural Network with a billion connections and took 3 days to find the parameters of the model. What about the results? How accurate is the algorithm? First and foremost, as I mentioned, the algorithm is able to detect faces without any help --- with no labels and it has increased accuracy of any existing algorithm by a staggering 70%. It can now recognize objects in 20000 images with the accuracy of, well, 15.8%. Now 15.8 is a fairly small number. But that shows us how far we really are from developing truly intelligent systems. Yet, this paper should prove to be a milestone in achieving that lofty goal. Hopefully! In the meanwhile, here's to the amazing team (consisting of some of the great names in research and industry: Jeff Dean and Andrew Ng) - amazing work! P.S: I have just finished listening to all video lectures by Prof. Ng on Coursera. Highly recommended for those who are excited by this stuff!
Tue Jun 26 2012
Came across this web-cam-site that shows five puppies in a crib, 24 X 7. Here is the link. Some say they're cute, others say it's a stupid idea. Still, according to the website, they have around 3000 active "users" at any given time, and tens of thousands of view in all. That's all for just uploading a webcam video of five puppies. Some would say that's too much reward for as minimal efforts as that. But then why didn't anyone else think of that? That's how it is. There's a significant First-Mover Advantage going on here. It might look simplistic in hindsight, but coming up with this idea of displaying sleeping puppies (yeah, they are sleeping most of the time), takes some inspiration, or spark, or call-it-whatever. While those who do, do; and those who debate, debate; I am going back to the video!
For a longish time, I was struggling to find differences between Google AppEngine's Query class and GqlQuery (which is nothing but SQL-type query language). Here is a compilation of all the differences.
  1. Perhaps the biggest disadvantage of GqlQuery is SQL Injection attack if you are not careful with it's use. See this post for details . In short, use :variable instead of plain variable names in Gql Query. AppEngine's Query class and filtering mechanism, however, can avoid SQL injection problem completely.
  2. Another difference is unfamiliarity with Query class vs. comfort with writing SQL-like queries. Some SQL programmers might find Gql fairly easy to use. Using query class might require some exploration of API. My experience is that Query-class-API is fairly straightforward, at least for easy tasks.
  3. Finally, there are some similarities, like, a limit of 1000 query results, no support for advanced database operations like join etc.
All in all, I am leaning more in favor of Query class. Am I missing anything here?
Sat Jun 23 2012
For those uninitiated, pictionary is a game where one player draws something on a board and other guessed that 'something'. Simple. Well, kind of. Interestingly, some of the simple words are extremely hard to draw! For example sugar, force or light. Well, not if you know science and/or a consummate geek. How will a geek draw 'force'? Simply: F = ma . How about Sugar? Answer: C6H12O6, C12H22O11, etc... And light? Well, that's a tough one. Not exactly, you can draw a light bulb. Or even simpler, draw Maxwell's Equations like this! . You get the 'picture'? P.S: There is this whole branch of Science Pictionary. Check this out!