Posted on August 3, 2015
One of my favorite roads in Silicon Valley. From I-280, go west on Page Mill Rd, climbing all the way to Skyline Blvd. Pavement is a little rough in several places which kills some of the advantage of the tires on this car, but that unpredictability is part of the fun. Choose early morning or just before sunset, and you might get the whole ride without having to pass even a single car. This was my first ride with the camera setup installed, and I was barely using the car’s capabilities, but it was exhilarating nonetheless.
2015 Corvette Z06 with Z07 upgrade, full convertible, 650HP, 7 speed manual transmission, white with black interior, Michelin Pilot Sport cup 2 tires.
Main camera: Corvette inbuilt PDR in sport mode
Top left inset: GoPro mounted between seats
Top Middle Inset: GPS Map
Posted on September 19, 2013
Watch an autonomous EV3 Cobra with fangs go after an aggressive NXT Alligator, with a lumbering Elephant to round out the competition! Each one was built and programmed by my 9 year old son. The Cobra and Alligator are autonomous with their movements guided solely by their sensors and programming. The Elephant’s movement and trunk is remote controlled.
Posted on June 24, 2013
Fourteen years after landing at JFK airport in NY..
Sitting on the curb outside with nowhere to go..
Eating a 99c McBurger two times a day for months on end..
After experiencing the pure ecstasy of being in Times Square at the millenium’s turn..
After sleeping overnight several times on the cold sidewalk outside the US Consulate in New Delhi..
After experiencing George Bush vs Al Gore in 2000..
After watching the towers go down in 2001..
The smell of ground-zero, and the cold stares immediately after..
After getting laid-off abruptly and having to find a job within 10 days or go back..
Not being able to attend my father-in-law’s funeral because of visa issues..
Not being able to change jobs for years because the green card was “in-process”..
After experiencing John McCain vs Barack Obama in 2008..
After filing 19 US patents..
Finally being “free” to quit working for someone else, to test my mettle against the raw elements..
After experiencing Mitt Romney vs Barack Obama in 2012..
Ten thousand miles from where I was born..
On June 19, 2013.. I finally got my US citizenship!
Posted on May 20, 2013
Gratifying to see that when the weather gets really nasty, millions of people across the country turn to WeatherSphere apps to ensure their loved ones’ safety. Today (May 20, 2013) has been a busy day, with massive tornadoes hitting the midwest that led to significant loss of life. Millions of existing users were using our apps simultaneously to track the storms in real-time, and thousands of new users were downloading the apps and trying them for the first time.
Today, our virtual “cloud” at RackSpace actually came of use to foil the real storm cloud! At peak, we were serving nearly a gigabit of traffic every second, something we couldn’t hope to do with our original fixed infrastructure.
There is no question about it; the cloud plays a huge role in leveling the playing field. Without it, there is no way we could have scaled up in time to serve today’s traffic.
Posted on May 13, 2013
There is a lot to say about Apple in general, but the evolution of its App Store is an important subject in itself. The App Store app is the single largest gateway to all of Apple’s revenue from apps. This app is the embodiment of so many design, technological, product and business aspects necessarily combined together, with each aspect conflicting with the other in some way or the other, yet it somehow works.
The App Store eco-system is also responsible for the livelihoods of many developers (including my company WeatherSphere). I would like to pay homage by highlighting some of the good things it does (before ripping it apart in a future post).
These are in no particular order, and some impact some more than others. I am basing this on my experience building apps full-time for the last several years, initially by myself, now with a small team.
Awesome Notifications Platform
This is probably the most under-appreciated service provided by Apple to all its developers, for no charge whatsoever no matter how much you use it. This is available to all apps regardless of whether being paid or free. This single service by itself is responsible for killing carriers revenue from text messages, or rather, forcing them to stop ridiculously overcharging for text messages.
I can attest that every single text blurb sent via the app store notification system reaches its target user’s device within a few seconds, even when we are sending hundreds of messages a minute. Multiply that by the tens of thousands of other developers doing the same thing at the same time, and with recipient users spread across the globe, you can imagine the scale. The very fact that it continues to work is mind boggling. Having built many of eBay’s high-volume backend services, I speak from experience.
In the very beginning, like many developers coming from the Linux/Emacs world, or the MS/Visual Studio world, or the C/C++ world, I was aghast at having to kowtow to Apple’s edict on having to learn the archaic “Objective-C” programming language as a pre-requisite to build iOS apps. On top of that, imagine the surprise many of us had after attempting to download the developer toolkit on our trusty old Dell laptop, only to find out that iPhone apps could only be developed on Macs!
But, over time, this was offset by the facts that the developer toolkit was free, that the documentation was excellent, and there were not too many bugs.
This is a boon. Until the iPhone 4 came along, there were only two screen sizes to design for, iPhone and iPad. The iPhone 4 came along with its retina display causing a disruption, but Apple wisely kept the “virtual” screen pixel size the same as before and allowed for automatic scaling. For us personally the biggest irritant was the iPhone 5 screen size change. But even then, there is broad stability to the number of screens we have to design for, and this is literally a huge time saver. And as we all know, time is money.
I love the intrinsic security built into the system where apps cannot be installed and run on random devices unless either explicitly authorized by the developer AND the device owner, or unless they are released via the App Store. For sure there is the jailbreak society and cracked versions of paid apps, but by and large the system works.
Did I say earlier how in-awe I am of how well Apple’s In-App purchases work? Yes they take 30%, but oh well. From a security standpoint, we are totally happy in not having to deal with building payment transaction systems or storing customer credit card data. Apple does all of that for paid apps, and it does all of that for in-app purchases within free or paid apps. As a developer, it is one less reinvent-the-wheel thing for us to build. Plus, it is so much less likely for average users to fork over their credit card number on a random developer’s website, than it is to simply authorize the payment onto their existing iTunes accounts.
There are definitely more good things Apple does, but these have affected us the most. Please feel free to remind me of any major ones I have missed. In my next post, I will take Apple to task for the abysmal decline in quality of the consumer App Store app.
Posted on October 13, 2008
Came to this land,
To survive another day..
Day after day, still too bland
Hung on by just a strand,
Until I landed at eBay.
It was a beacon of light
Its foes cowered in fright,
The strength of its community,
Granted it virtual immunity
Under custodians sight,
No one dared slight,
Unto this giant’s might.
As with all blinding power
The custodians went slowly sour
Took the community for granted
Seeds of dissent met with dour
The ecosystem was finally salted.
Failed at my task I did
Couldn’t raise enough to bid
Change for even an hour
To lighten up the day
Of even one user on eBay.
Some will be sad,
Maybe some happy
A few ambivalent,
Some downright ecstatic,
That I am leaving eBay
Losing all right to preach,
I urge one and every each
Heed the user, not the ladder
Now is the time, now the hour
Give more than is your due
To restore this mighty power
To what was known as eBay.
Monday, October the 13th will be my last day at eBay. And no, I was not laid off, rather my decision to exit into the current hellish market environment is entirely voluntary.
I express my sincere gratitude to all who keep the miracle of eBay alive.
October 10, 2008
Posted on September 25, 2007
Lately while doing research on automated language translation, I’ve come to realize that there isn’t a clear, concise, well accepted definition of human language itself. A quick check on google reveals the wealth of interpretations. So then, kindly, let me proffer one more.
Language is the serialization of thought.
The term “serialization” should be ready accessible to programmers et al. For others, a quick explanation is in order. Serialization is the process of taking a complex (e.g wide) entity and transforming it, re-constructively, such that is can be passed through a much simpler (e.g narrower) channel. A typical requirement for correct serialization is the ability to de-serialize the serialized data to result in exactly the original entity.
A very simple analogy would be “serializing” a bunch of untidy children through a narrow gate, one child at a time. The only caveat being that, if the serialization process was perfect, then the children would regroup on the other side in the exact same configuration as before the serialization started.
Once the concept of serialization is clear, the intent of my definiton of language should also be clear, although you may or may not agree with it.
If we go along this line of thought (pardon the pun), a corollary immediately follows:
Language is the ultimate compression engine.
If we believe that human thought is one of the most complex phenomena known to us, and if language allows serialization of a complex thought into a small compact representation that can be communicated and stored in a myriad of ways, and ultimately easily de-serialized by target humans to reveal the original thought, then the corollary must be true.
When one thinks hard to solve a problem, it is likely he or she uses bits of language in self-communication to focus attention on particular aspects, annotate the intermediate results, and proceed one by one onto higher level steps. Although the most revealing flashes of insight most likely occur during a moment of unbounded “massively parallel” thought, knowledge of language undoubtedly plays a role in allowing the thinker to carry out elaborate thought experiments.
In primitive cultures (or in someone never exposed to the concept of language), undoubtedly the enterprising inventors of that time devised their own methods of mentally labelling specific ideas with individual symbols, and then using those symbols to ease the task of deriving higher level constructs.
Also, if the above corollary holds weight, I think it has some additional fantastic implications.
This means that if we were to one day achieve “brain dumps”, or “downloading a brain” and their ilk, the best format to allow accurate storage and re-construction would be plain text! If the brain could somehow be tricked into emitting a high speed lecture on its current and past states, then the language best suited for that would be the mother-tongue of the brain’s owner. Nothing else we conceive will probably ever come close in accuracy or compactness.
Of course, this does not bode well for automated machine translation attempts. To be fully successful at that task, implies the ability to de-serialize a piece of text into the original speaker’s thoughts. If we accept that human thought is one of the most complex or mysterious activities known to mankind, then we are accepting that automated machine translation is a pipe dream for many years to come.
On the other hand, if the code of language does get cracked soon, will it mean that human thought is not so complex after all?