Thursday, February 11, 2010

Picking a bone with google buzz

Love it or hate it; people are using Google buzz... mainly because they don't have a choice (or are not aware of it). For the record, I like it, but mainly because I'm an egotist..
Google came up with Google wave couple of moons ago. Even though based on a solid concept, it failed to generate any traction because people were not really interested.. well they might be interested, but if they are anything like me.. they were mostly lazy and didn't want to build up a circle they can wave with separately. I've tried couple of social networking sites; hi5, 360, orkut, facebook.. they only cater to the people who are interested in social networking, and even if something new came along, which is much better than say facebook, people won't switch because all their contacts are still on facebook.Google seem to acknowledge this fact.

Google has employed gazillion PhDs, but what a waste it would be to not have the products they designed be used by the public. Gmail user base is waay bigger than facebook's, so it makes sense to pork down the products down the existing user's throats... whether they want it or not. They might add a disable button once the media hullabaloo dies down and stupid bloggers stop blogging about it :P. Although the strategy is nothing short of genius, it is somewhat similar to forced labour. The end user is forced to beta test their products, whether they want to or not. (In Google's defense,  they own you because you use their awesome free email service).

Another issue the GBuzz exacerbates is "parallel posts" (a term I just made up). To get more visibility, people typically plug their contents on various websites (facebook, Buzz, twitter etc). When I post my pictures on flickr, they are pulled by Buzz and facebook automatically, and sometimes I post links to them on twitter too. People leave comments for the same content on flickr, twitter, facebook and Buzz; I have to follow 4 threads of conversation, which is more or less redundant. Same issue with my tweets that are pulled by Buzz, Orkut and facebook. All these websites have their own API, why don't they use the api's of the other websites to post back the comments to the original source (more work but better for the users).

People have been shouting about privacy issues in GBuzz (and for that matter in any famous webapp).. here's the truth, if you care about privacy, don't log in... and nobody really cares what you do in your basement. You can always disable your profile, filter "label: Buzz" directly to your trash/archives if you don't want GBuzz..

That been said, Google, if you are listening, here are few feature requests:
  1. Some sort of a RBAC (Role based access control), at the very least let me separate my contacts into groups and make my buzzes public to only the group I choose. I want to discuss my weekend at Vegas with ONLY my friends and my cousin's report card with ONLY my family.
  2. The buzz page is a mess right now, I have no idea which buzzes are new and which are old and which are the old buzzes with new comments. Some sort of color coding would be great.
  3. Add a Gbuzz pane to the bottom of Inbox and have the buzz notification skip the inbox by default.
  4. Integrate twitter/blogger/wave/facebook/orkut/flickr api so that the comments on the original site and buzz are always synchronized.
  5. Send me that Nexus 2 you've been working on.
You know what Google, even if you choose to ignore these requests/gripes, I think you are gonna be alright.. don't worry.. the force will always be with you.

Sunday, January 24, 2010

What does the new year promise me?

It is pretty late to post a new year post, but.. meh..
I made tons of resolutions last year. Of course, I didn't follow up with all of them, but some of them did stick. Notably I read 4.5 books, made $3K in the stock market, started cooking regularly, hiked regularly and backpacked across Europe. And few of them I failed miserably to keep up (got two speeding tickets :P). So all in all, 2009 was a good year for me.

I have been blogging alot less lately, mainly because I'm tweeting more and because I have to censor some contents (politics, culture, religion etc). To vent it out, I've been maintaining an anonymous blog where I can bitch and moan about all the issues I want.

This year I just have one resolution: to make 2010 more dynamic that 2009, to grow more, to do more, and to be more. Growing up is a strange process; people tend to develop tunneled vision (they see what they want to see and shut everything else out), become more cynical, throw their ideals for something more practical and short term.. needless to say, I hate growing up. In 2010, I promise myself to keep open to ideas, stay optimistic about the future and never ever compromise on my ideals for any sort of instant gratification.

Does that mean I'm not putting anything concrete on paper for 2010?.. Absolutely not. It means that my 2010 resolutions are the same as my 2009 resolutions. I'll just learn from the mistakes I made in 2009 and attack the list with new found experience.

2009 was also a year of profound realizations. Over the years I've gradually been turning into an atheist/agnostic. My belief system is somewhat closer to what Deepak Chopra preaches, which simply put, says that if God is divine, humans can't imagine what God would look like or even want, so there's no such thing as "acting on his behalf". Since religion is so closely tied with "culture", I had dismissed it as another construct used to divide human society... I was mistaken. Culture is snapshot of the society; loosely put, it is just an average of the phenotypes. If you think of cultures as states in a state machine (human evolution), you can almost plot the evolution of the human society. There are hundreds of cultures on this planets, which are constantly evolving, effecting each other and in contention with each other. This will always be the case and is some what necessary for cultural evolution, but at the very grass root level, all humans are the same; they hate change, want to be loved, and want to be happy. As long as we accept these facts and not care too much about where the culture is heading or how "cultured" we are (which seems more like the std deviation now :P ), we'll be fine as a human race. If you don't agree with me, I'd suggest that you travel more :).. Once you break your cultural boundaries, it is easy to see that everyone is the same. I've been really lucky to have experienced it first hand..

So 2010, here I am with an open mind, free of prejudice, knapsack full of dreams and a list of what needs to be done this year :).. help me become a better, more accomplished man.

Saturday, November 07, 2009

Eurotrip: Prologue.. with 20/20 hindsight

So as most of you know, I had been planning a Eurotrip earlier this year. Well.. I did it. Backpacked across western Europe.. had a crazy schedule. Covered 6 countries(1 city per country :)) in 15 days. Here's something for people who are planning to do so too but just couldn't get off their collective asses or think its too expensive or think its dangerous or don't know how to go about it.

Things I did right, and thing you SHOULD do too:
  • Get a good backpack. Can't stress this enough. You have to carry something equal to twice the size of your torso, about 15-20kg, on your back. You might have to walk a mile or two(unless you are rolling in money, in which case don't backpack). Get a good backpack.. I got a 65lt Osprey Waypoint.. worth every single penny.
  • If you are directionally retarded(for the lack of a better word), like I am, get a friend to tag along with you who isn't. Frankly, I need a GPS to walk to my restroom(that's bathroom for the non-American junta), so treading my way across the cobbled streetways of Prague was an unlikely possibility. My friend just used to look at the map and used to guide me to all the places like a local.
  • Buy a guidebook. There's no shame walking around with the fat book in a foreign place. I just used to mark the places we HAD to visit and we MIGHT visit, factor in the time to travel, and time allotted to the city, and use TSP to do the rest :)
  • Concentrate on soaking up the culture and the history, not just looking at buildings. Just go to all the small alleyways, drink the local wine, taste the local favourite dish in a bistro. Look for places that are not really close to a touristy place (like the restaurant right next to Eiffel tower or on the Old town square in Prague). Its fun talking to complete strangers in a different country.. the language barriers just fade away.
  • Surprise yourself. I'm not the artsy/emo sortta guy, try to analyze everything, so I was vary of visiting any museums. But boy was I wrong. Went to about 3-4 museums, took the audio tour in each one of them. It is one thing reading about it in history books and quite different experience altogether to really see them. You have no idea how human you feel after seeing/touching artifacts from 2000BC, paintings of Van Gough, Remembrandt and Da vinci, pages from the diary of Anne Frank ( I can go on and on about the things I saw and felt.. if you care to listen just call me and I'll eat you head off with my long philosophical rant about humanity and mankind in general). Bottom line, don't judge yourself.
  • Suck it up when need be. I'm a lacto ova vegetarian, that been said, I had meat in Europe. Not that I couldn't find Subway/Salad bars/Indian vegetarian restaurants in Europe.. I just didn't want a superficial view of the cities. As I said earlier, I wanted to soak up the local culture and custom. After all, what Eurotrip is complete without the German currywursts. :)
  • Relax when you need to. Backpacking is a hectic affair. If you are not a marathon runner, backpacking tires you out soon. Just kick back and call it a day early on.
  • If you are into photography, carry lots of memory card. I carried 10GBs in CF cards, filled about 8GB. Shoot some artsy good pictures, but when push comes to shove, shoot anything and everything. You are making memories here, not trying to sell prints. That being said, a non-photog friend helps. I used to study the composition, look at photogenic stuff and angles and then take the pics. The non-photog friend used to cry "photo please" at every damn place, so sometimes I used to shoot photos, begrudgingly, without properly composing the picture. Although irritated then, I'm thankful to him for pushing me take all those photos. Shot about 650 photos.
  • Check out craigslist and other local websites to find cheap accommodation. Some people let you crash on their couch or just rent a room for a night for pretty decent price. Hostels again are not that expensive. Avoid backpacking in summer.. just too many tourists in Europe during that time. I went in autumn.. just the right weather.. just the right crowd.
  • Any backpacker should know the importance of a towel (what? you haven't read hitchhiker's guide to the galaxy?.. what are you doing here). Please O please don't carry a thick towel, its hard to dry and gets stinky pretty soon.

Things I did wrong. Learn from my mistakes:
  • I booked accommodation and inter-country travel tickets just 3 weeks before the departure date (that too when I HAD to because I needed it for the shengen visa interview). Ideally you should always travel at night so you can sleep on the bus/train/plane and keep the days for sightseeing. Unfortunately we were cursed to travel during the day, which made our days shorter by 4 hours.
  • If you are a photographer, carry all your gear, all your lenses, even your big ass tripod, the backpack is gonna be heavy anyway, but atleast you wont crib about needing an extra 5mm of focal length to get the perfect shot, or about not having a tripod for capturing the eye popping nightlife in Europe (unless you like the shitty ISO 1600 pics of course).
  • Get a proper shoe. I had a relatively new Nike Air, but all the cushiony, airy, squeaky comfort goes for a toss when you are lugging 20kgs around and walking for miles at end. Within 2-3 days, your feet will conspire against each other to kill you. Research shoes before you get one for backpacking.
  • Get lots of socks, lots. Atleast get a pair for each day (or you can use the laundromats which are easily accessible from the hostels). Failure to comply to this advice might result in a "biohazard" symbol sutured on your forehead.
So what I did in Europe, i.e Paris,Zurich,Munich,Prague, Brussels, Brugge and Amsterdam, is a completely different blog post.. stay tuned in.

Monday, August 10, 2009

The Buildbot Experience..

I've had been pushing myself to submit a patch to buildbot and then write a post about it, but days,weeks and months have passed by and I haven't even read the source code (let alone writing some of my own).. well what can I say, I've been incredibly lazy (the word "busy" can be substituted here.. but that would be a lie). Let me spread some buildbot love rather than just be yet another leach.
Now what is buildbot? According to the website:
The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention.
It's a build/test automation system that can run on a variety of platforms. Well there are a variety of free and commercial apps out there which do the same. I chose it because it was relatively light weight and was written in python (an impressive list of clientèle was a factor too).

As the relatively small company (note "small" here just means employee strength) where I work in grew; software maintenance, integration and the task of porting the code to all the platforms and then testing them just became an incredibly arduous task. We already had a semi-agile system in place and were using version control, but it was just not enough. In a small firm, even a single dev day spent on anything other than coding/design is a day wasted (and we devs are known to be lazy and don't really like doing the same things again and again).

Our product is supported on many different platforms, ranging from the ancient(linux 2.2, mac 10.2, Sun Sparc 5.8 etc) to relatively new ones(freebsd7, macosx-universal, windows 2008 etc) totaling to about 13 different platform. Commercial systems were out of the question because none of them supported all the platforms that we had, so were any .NET based ones (not possible for *nix systems) and we preferred python based system over java because our test bed was completely in python and we just didn't think that adding another language to the mix would be a good idea in the longer run. Setting up buildbot on the newer systems was a breeze (just apt-get/yum/portage etc was good enough in most of the cases, a rare recompile on some others). The older systems and Windows were a bit messy (big surprise there!). Some of the systems didn't even have python (or had a really old version), let alone twistd (a buildbot dependency). After 3 days of hushed cursing, head banging and a lots of ugly hacks, I got buildbot to run on all of the *nix platforms. Windows kind of made me feel completely handicapped because once the install failed, I had absolutely no idea how to get around the situation. I ended up setting up a proxy Linux system for windows (credit for the idea goes to one of my colleagues), which identified itself as a windows machine and just did the needed compilation over ssh on Windows (using VS2008).

Once the crude system was setup, we started adding bells and whistles. Every svn update now triggers a build on all the 12 different platforms, sends emails to a group of people who want to be notified if something is broken and to the person who broke the code. Another process triggers a nightly builds which updates the code,does a clean build, run a set of core regression tests, creates a package(tagged with date and revision number) and posts the status on a pretty page. The status page (html and css) was also hacked to list the tests that failed on particular machines. It also uploads the package to a different repository which can then be used by the QA team. Later some more hacks were done to maintain just a small history of packages (nightly builds, not the production builds) and then some (idiosyncratic to the product)... Check out Google Chrome's buidbot page.. now imagine that for 12 different platforms!!.

We did get the obvious benefits:
  • no integration downtime.
  • no downtime to port the product to different OSes.
  • continuous integration made the development process more robust/agile.
There were some not-so-obvious benefits too:
  • Since creating a package on all the platforms just involved clicking a button on the web interface, debugging->packaging->testing cycle was made a lot faster as the QA didn't have to wait for developer to create the package (who would normally try to include all the fixes in a package before creating a package), which means faster feedback on the remaining issues/builds, which means a happy PM :)
  • Automating build across different platforms meant that all the platform specific hacks would have to be cleaned up, which meant a more elegant build process, which lead to faster build time and did point to some issues that were being overlooked.
  • The green color signals a "pass" on the buildbot status page. Surprisingly we(all the devs) find it rewarding to see a green on the status page with our names beneath it, I think I can safely say that our productivity has gone up and our favorite color is "buildbot green" :) .
The whole system works so well and has relieved me of so much of repetitive/boring work, that I was guilty of using it for free. And since I am a poor developer, all I could do was offer some CPU cycles on my home machine (did that for about 4-5 months, until the summer heat forced me to switch off my PC) and offer my help to write some code (which I'll get around to doing one of these days).

On a totally unrelated note, I'll be taking a trip to Europe (Paris, Zurich, Munich, Prague, Brussels, Brugge, Amsterdam), so drop me a line if you've been to any of these places and would like to recommend me something that I should not miss.

Saturday, March 21, 2009

Some Sci-fi love

Sci-fi and fantasy as a genre have few patrons, the rest however are non-appreciative, or just downright insulting.

I not only love the out worldly experience that can only be communicated by these genres, but also the profound depth and messages these deliver. Yes, it's not real and yes it can never happen, but when has that stopped it from being communicative of human values.

I'm making a case for sci-fi movies like The Matrix trilogy, The Watchmen and television shows like Battlestar Galactica. Let me tell you by saying that I'm a big.. I mean really big fan of these shows, so it really grind my gears when people just go and watch these for special effects or just dismiss them as "kids category". The beauty of these genres is that they are the only ones successful in mixing socially relevant messages with entertainment. Others don't even come close..

Today BattleStar Galactica aired its final episode and I was in tears (yes geeks do cry, you just need to know how to make them cry). On the cover it deals with a race of humans (preceding our own, but somewhat still futuristic) in conflict with cylons (androids, which are almost humans), but at it's crux it spotlights human nature, both its dark and bright side, and tries to stretch the morally grey area in the middle to include everyone of its audience. The show was carefully engineered to instill hate against the cylons into the audience, the show then had the "good guys" commit justifiable crimes against the cylons, like torturing/suicide bombing (socially relevant ones at present), which although as I said, were justifiable but unethical, thus making its audience a part of the show. Its shows like these that make you introspect and helps you discover yourself.

BSG presented me with same moral dilema as The Fountainhead, and hands down, has been the best thing I ever saw on the tube. If you can look past the FTL drives, the dilithium crystal, the mental projection of cylons, i.e. all the jargons that alienate some people (mostly non-geeks), the message conveyed is pretty strong, you just need an eye to spot it out. This message is ofcourse hidden, if it wasn't, it would be a documentary. At some level, sci-fi/fantasy movies are documentaries after you peel the onion. Plot in these movies/tv shows is so thick, that it almost pains me to find people talking about it at a totally superficial level.

Take Matrix: The Revolution, the last fight sequence, when Neo is walking amidst darkness, rain and hundreds of Smith copies, and fights one of them at the end. The fight ends with Neo fighting Agent Smith and ending the war between the man and the machines, but how many of you noticed what the director wanted you to see? The song in the background was ancient Vedic hymn "Asatoma Sadgamaya", which signifies the victory of good over evil, the multiple copies and the darkness signified multiple faces of evil in dark times and the song itself points to the fact that Neo had already won the war by making his choice and knew the outcome. The choice, that architect was advocating in most of second sequel. The movie worked on so many levels, and each time I see it, I discover a previously uncoverd hidden meaning in the movie.
Coming back to BSG, well, that is the only sci-fi piece I know of that married belief, faith and science. It talked about angels & daemons, about gods, about prophecy, while still being mostly a sci-fi show.This show made some startling plot twists by projecting one of its main protagonist as a real angel, while couple of others as some sort of agents of "God", who play major role in turn of events. It tried to perpetrate the existence of destiny, of hope, of human values.. kudos to the BSG team, when they could have just got about same TRP ratings, had they shown a nonsensical, visual effects loaded series.

Watchmen, is another such movie. I read the book about two years ago, and I must say that although I don't really like the casting (except Silk Spectre ofcourse), it conveys the real essence of the book (not what Harry Potter movies did to the books). The book is more detailed, of course, but movie comes quite close. It makes you see the world from the eyes of the demented comedian, the omniscient Dr Manhattan, the genius..yet human Veidt, the idealist Rorschach, the observer Night Owl. I really love how the actions of each superhero is justified by their portrayed viewpoints, and forces the reader/viewer to agree with writer.

Sci-fi has come a long way from "Attack of Mars" to BSG/Matrix, it deserves prime time... definitely more than the mind numbing reality shows and soaps. Isn't it time the kirks, spocks, jon shephards, adamas, starbucks,trips, gaetas,McCays etc got more attention than "gossip girl" or Simon Cowell?