Saturday, October 15, 2011

Sunday, October 9, 2011

Re-re-starting the blog :)

After almost 2 years this time. And time has clearly flown at Google-AdMob. Several ups and downs later, the team has finally settled into a great rhythm of productivity and innovation. I've been lucky enough to get to work on some fun stuff myself. I know, it might look very trivial, but the technology behind it has helped us solve very big problems in mobile advertising. More on that when the patents are filed :)

And indeed, how better to understand the security model of mobile platforms than to try to make first party social information available to first party properties on third party mobile applications. The whole process took a little under a year to design and implement. And the implementation was a fraction of the work, most of it was design (with over a dozen proposals) and privacy, security, legal reviews. The whole process made me appreciate the effort Google takes at respecting a user's privacy. The more mistakes companies in the social space make, the more big players take extra effort at getting it right. My (naive?) conclusion is FTC reviews and consumer awareness groups do benefit everyone after all.

As exciting the pre-launch period of this project has been, hopefully the post-launch days will be too. Given that the mission is to make mobile advertising more social, it will be interesting to see how the space plays out. For now, should suffice to say that there are grand plans for the coming months. If data looks favorable, some exciting new features will be rolled out soon :)

Monday, December 28, 2009

Re-starting the blog

After a long hiatus of over 5 months (in which time I started working for an awesome company called AdMob), I thought of restarting the blog after reading an interesting article about decrypting voice signals over the air. If channel hopping were the whole source of trust in GSM voice security, it was just a matter of time before the same was broken. Now, it will be interesting to see how more security features are added and if they will stand the test.

"If the GSM Association's excuse for bad crypto is there is another security feature we rely on much more, then of course, we'll break that, too." :)

Friday, July 10, 2009

Memory Leaks in Java

Came across a very good article about memory leaks and how to fix them.

Thursday, July 2, 2009

Long time..

Well, been caught up in the paypal project and boy! is it interesting :)

On a completely different topic, came across a piece of interesting trivia while reading about the page rank algorithm in wikipedia- Apparently Stanford got 1.8mil shares from Google so that they could use Larry Page's algorithm (the patent for which was, of course, granted to Stanford) and sold it for $336mil in 2005. And I thought the 250 bucks I spend on each hour class at Carnegie Mellon was ridiculous!

Wednesday, June 3, 2009

Bug in Google Calendar

I was trying to share my calendar with myself to test the privacy features of the calendar and I added an invite from one of my google accounts to another for the same. After I clicked on the link that appeared in my invitee account's mail, here's what I got.



And the url is https://www.google.com/a/sv.cmu.edu/ServiceLogin?service=cl&passive=true&nui=1&continue=http%3A%2F%2Fwww.google.com%2Fcalendar%2Fhosted%2Fsv.cmu.edu%2Frender%3Fshare%3Dnehagp2%2540gmail.com

Thursday, May 7, 2009

Robust programming

I was recently checking out what dead beef signifies and came across a blog with the name Dead Beef Cafe, which was apparently started by a few friends to talk about computer security, food and geeky stuff. An interesting read from one of the posts was Matt Bishop's writeup on Robust programming. It is quite amazing how most of the code that you would write in the first shot is most likely to be fragile. One of the conclusions I drew after reading the article was that working on Java was so much better than writing code in C! It takes care of so many of the factors mentioned in the article. Well, more on that later..

And of course, dead beef is actually a hexadecimal code 0xdeadbeef which was used by IBM in its RS/6000 series to signify freshly allocated memory. Some modern debugging tools deliberately fill freed memory with this value as a way of converting heisenbugs into Bohr bugs. As in “Your program is DEADBEEF” (meaning gone, aborted, flushed from memory) Some of the other amusing hexcodes that are/were used:

DEADDEAD - A Microsoft Windows STOP Error code used when the user manually initiates the crash.
ABADBABE - Used by Apple as the "Boot Zero Block" magic number (dunno what boot zero block is but that's funny)
C0DEDBAD - A memory leak tracking tool which it will change the MMU tables so that all references to address zero