Sunday, June 20, 2010

End of Hiatus

It's a beautiful Sunday evening on Father's Day and Sifar is back from a 2 month hiatus; back to his blogics (that is a neologistical portmanteau for blog antics). Sitting by the pool side at this Summer (yeah its summer already!!!) twilight hour sipping my favorite white chocolate mocha frap from SitarBaksh, this happy soul cannot ask for more.

The last couple of months have been really busy at work and I haven't really had the chance or the mind-set to write anything. Even though there have been a few times in these two months that I have had something to write about, my protocol-fried brains didn't want to engage in blogging. Understandably so now that work has eased off a little, Sifar is back and reminiscent of his blogging habits, promises to put posts out there more regularly.

A few things to report, whether it be bachelor parties for a co-worker, or him and his girl friend leaving the States for good to graze greener pastures, or a couple of other close friends getting hitched; while life has been drub on the work front, it has been decently happening on the personal front. Amid all the mounting work, I also made a weekend trip to Boston early May and spent an awesome weekend among some old and new friends and family.

I am hoping that the summer ahead would be more action-packed and without too much work-load. In terms of pursuing hobbies, I want to kick-start learning music; that has been a new year's resolution and I haven't done anything about it yet. Also want to get back to running and training, all of which had pretty much taken a back-seat with work dominating most of my weekdays and weekend schedules in the recent past.

Anyhow, after that lackadaisical rant about my two months full of crap-load of work, I have two completely disconnected things to talk about in today's post.

Let me start off by adding some color to this post by providing a beautiful video about some Tibetan monks creating the Buddha Mandala (sand mandala really), meticulously putting together grains of colored sand to a precise design of sorts, conforming to Buddhist spiritual symbols and shapes. What struck me after watching the video was the fact that these monks took six whole days to put together the sand mandala, but only an hour after the last grain of sand was put in place, the sand mandala was swept off in a ritualistic ceremony. The news post mentions that according to Buddhist philosophy this symbolizes the impermanence of life. I paraphrase that half of this sand was given away to the audience as blessings and half of it was poured into a nearby river.

It's such a simple symbolism, but a powerful idea. The sand mandala was representative of all the events in the Universe? Nothing is permanent but change. As our life unfolds before us, it also folds inwards making us aware of the involution and evolution that happens cyclically. The impermanence of life is one notion, re-incarnation other. Most oriental philosophies have both the notions prevalently expressed in their scriptures and to tie them together requires some mental weight-lifting. In the so-called spiritual quest, Sifar hopes to put in an effort to bring these two ideas to harmony.

After I was sucked in to the vortex of harmonizing these two ideas, I had an epiphany of sorts. During the past few years, seemingly my analytical skills have given way to a completely new philosophical tool-kit. While I struggle these days to put two and two together, I seem to do OK on weaving intricate tapestries of spiritual nay philosophical notions. What has happened? Does math and science as we traditionally know cease to exist when a human mind becomes open to religious and spiritual frontiers?

Alright alright, let's lighten up. The other thing that the world is under the grips of these days is Copa Mundial De La Fifa 2010. And for a change this time around, the Americans seem to have gotten lucky drawing against the English in their first world-cup tie of 2010. Go States! c'mon guys they deserve a cheer. While the first week of the world-cup has seen some completely un-expected results be it England drawing with US or Spain losing to Switzerland, what has left me completely petrified is the sub-par refereeing during the world cup games. Be it hand-balls that are let go unseen during Fabiano's second goal today or high profile players like Kaka and Klose being sent off for seemingly innocuous on-field fouls, I think its high-time FIFA makes video replays available to fourth officials for adjudicating on-field calls.

On the positive side, Argentina and my idol for this year's world-cup, Lionel Messi seem to be doing well after the first week. Argentina is sitting comfortable with 6 points from 2 games and look in good touch to take on the heavy-weights during the knock-outs. While my heart roots for Messi and Argentina, I also want to see Germany and Italy do well. Both these teams are facing possible eliminations after the group stage and have one game left to reconcile their positions as serious potential contenders for the title. Italy is going into the cup as defending champions, I hope they don't succumb to expectations. Germany has a few good players and never a side to be taken lightly. Let's all hope the rest of the cup is full of fair officiating and wonderful football and that alone.

Signing off in-sync with the setting Sun....Viva Football.

--Sifar.

Sunday, April 11, 2010

Paradox Pourri

Life is full of paradoxes such as the Socratic paradox of I know that I know nothing at all. Some of these are obliterated by the times we live in; some are eternal and hold their own. By the way, Wikipedia (do I hear the purists yell/scream in horror) has a good article on some of the famous paradoxes of our times grouped thematically. They make for a good read in free time.

After the past couple of posts about the gala time on Sifar's birthday and the rare geek-a-log about boost::function with boost::bind, a couple of buddies asked if I had written anything on the "Sher-A-Day" series at all. Clearly, they don't give a jack about what fun I had on my birthday or how to bind functions with random # of arguments to do container visitation in a library. And I don't blame them :). So I figured, since people want me to write a blog post which they really care to read, I should give in to public demand and do just that.

Today's post is about a Saleem Kausar ghazal titled "मै ख़याल हूं किसी और का मुझे सोचता कोई और है". Composed by Ustad Rais Khan, the ghazal "originally" appeared in a Pakistani movie. The inimitable Anu Malik (note the paradox) has dhapofied this in Dil Hai Ki Maanta Nahin where with a garbled version of the lyrics, its picturized on Aamir Khan in a party song.

This ghazal is sung by several ghazal singers including Ustad Rais Khan himself but my favorite is a rendition by Ustad Mehdi Hassan. The Mehdi Hassan saab version is set in Raga Bhairavi (I may be wrong and erudite folks out there are welcome to correct me) with a few shades of Lalat in the maqta. Each couplet in the ghazal is full of paradoxes and appeals to the human mind. The version I like the most has Tabla sangat by Ustad Tari Khan and is available on YouTube in two distinct parts making it about 16 minutes of sheer listening fest.

http://bit.ly/bvfc1N
http://bit.ly/axuN38

I am including the entire ghazal here for completeness (shamelessly copied from here) but would pay my respects to the lyrics using a couple of couplets.

मै ख़याल हूं किसी और का मुझे सोचता कोई और है
सर-ए-आईना मेरा अक्स है पस-ए-आईना कोई और है

(सर-ए-आईना = in front of the mirror; पस-ए-आईना = behind the mirror)

मै किसी के दस्त-ए-तलब में हूं तो किसी के हर्फ़-ए-दुआ में हूं
मै नसीब हूं किसी और का मुझे मांगता कोई और है

(दस्त = hand; तलब = desire; हर्फ़-ए-दुआ = words of prayer)

कभी लौट आयें तो पूछना नहीं, देखना उन्हे ग़ौर से
जिन्हें रास्ते में ख़बर हुई कि ये रास्ता कोई और है

अजब ऐतबार-ओ-बेऐतबारी के दर्मियां है ज़िंदगी
मै क़रीब हूं किसी और के मुझे जानता कोई और है

(ऐतबार = confidence, belief ; बेऐतबारी = disbelief)

वही मुन्सिफ़ों की रिवायतें वही फ़ैसलों की इबारतें
मेरा जुर्म तो कोई और था पर मेरी सज़ा कोई और है

(मुन्सिफ़ = judge; रिवायत = traditions; इबारत = diction)

तुझे दुश्मनों की ख़बर न थी, मुझे दोस्तों का पता नहीं
तेरी दास्तां कोई और थी, मेरा वाक़या कोई और है

तेरी रोशनी मेरी ख़द्दोख़ाल से मुख़्तलिफ़ तो नहीं मगर
तू क़रीब आ तुझे देख लूं तू वही है या कोई और है

(ख़द्दोख़ाल = appearance; मुख़्तलिफ़ = different)

जो मेरी रियाज़त-ए-नीमशब को “सलीम” सुबह न मिल सकी
तो फिर इस के मानी तो ये हुए के यहां ख़ुदा कोई और है

(रियाज़त-ए-नीमशब = religions exercises at midnight)

सलीम कौसर

Here is my 0.02$ on the meaning. The matla of the ghazal is simple yet very appealing. The poet is caught in this quandary, this catch-22 of being a conception of the ONE but being an object of affection/love of someone else. In a vain attempt to find the real meaning of Self, he is caught in between the base reflection (sar-e-aaina) of himself and the real HIM behind the mirror (pas-e-aaina). The paradoxes of life keep growing on him. In the second couplet he seems torn between how at times he is powerless and in the hands of the Almighty, and at times powered by the prayers of his well-wishers. How does fate and destiny compare to our desires? Are our desires and will strong enough to drive our fate? These fundamental, yet un-answered (NP-Hard ;)) questions of life bother him. The rest of the poem themes around how life is walking the tight rope of trust-mis-trust, rewards-punishments, desires-achievements, love-hate, friends-foes. While the contradictions are evident, the poet seems to be at peace with them.

Worth mentioning for its musical value is the last couplet or the maqta of the ghazal. Here Mehdi Hassan sahab transitions from Bhairavi to Lalat justifying the word "subeh." Lalat (Lalit) is an early morning raga and the arrangement of notes creates a magical morning atmosphere in the listener's mind. Ustadji moves seamlessly between Bhairavi, Lalit and back to Bhairavi giving the maqta a tacit beauty of its own. All in all a wonderful ghazal totally worth listening.

Sifar signs off with a promise of more to come.

-- Sifar.

Sunday, March 28, 2010

18 Till I Die

The last couple of weekends have been happening in terms of socio-cultural interactions and chores to take care of. It all started with the Shreya Ghoshal concert on Friday the 19th. It was an evening concert at 7 pm and after a first hour or so of sidey dancers and the "band" introductions, Shreya was singing some of her famous numbers alongside the SaReGaMa fame Shivprasad. The acoustics in the Dorton arena left much to desire, but once we moved down from our seats closer to the stage, it wasn't bad at all. We could see her sing and dance and hear her hit difficult notes almost at will. A few close friends and I had a good shake-a-leg to some hit numbers like Zoobi Doobi and Dola Re...After the break, she sang some regional songs on public demand including a famous Marathi lavani "Reshamaachya reghaani". All in all while Shreya continued to dazzle, IMHO the performance was strictly alright owing to the sorry acoustics and sad dancers. Not to mention the urdu-esque wannabe shayarana compere Niharika.

Following two days were spent amid loud music and repetitive dance performances at the India Fest. The only highlight for us were a bunch of close friends singing and dancing on stage. While HK sang the Jaane Kya Chahe Mann from Pyaar Ke Side Effects, HR stuck to the more safer Mitwa from Lagaan. "Useless" also was part of a dance number called India Kaleidoscope which included a montage of dances from hit movie songs like Prem Ki Nayya and Aahun Aahun. Apart from the dance and singing performances of these dear ones, the iFest was a loud melee for the most part. I was left with a big headache at the end of those two weekend days.

Sunday was spent at the R's place playing "lagori" and flying "kite" (just cheel chill just chill) amid nice evening tea and then unwinding playing Mafia and eating a pizza dinner. To top it off, we played Table Tennis at 11.00 pm at night to make it a fun-filled amazing weekend.

During the week I made a generous contribution of a grand to the Honda Motor Corp. trying to do manicure, pedicure and the likes on my sweet sexy coupe. Those guys know how to unstitch the pockets out of your jeans...sigh.

This weekend was Sifar's birthday weekend. The big 3-0. But he's managed to keep himself upbeat like they say 30s is the new 20s or something like that. The b'day started with a customary visit to the temples followed by a buffet lunch with a couple of co-workers at CoolBreeze. My head was clogged in the morning due to some seasonal cold, and I was craving for the spicy hot rassam at the desi place. After a sumptuous lunch, I managed to retire to a nice long afternoon Siesta. Although, I missed a few calls from people wishing me b'day, the afternoon nap was awesomeness throughout. The evening was spent with cake-cutting and a khichadi dinner at AG and HR's place. Thanks guys for making it special.

Thanks also to everyone of you who called remembering my big day and making it special. The social networking boom gives people easy access to each other's birthdays and makes it possible for us to post wishes on our friends'/family's online profiles. Many thanks are therefore due to those who posted on my wall and scrapped in my scrapbook as well. Needless to say you all are the reason I exist, you all are the ones who make this journey worthwhile.

Hoping to put the literal and figurative icing on the cake with a birthday dinner @ The Cheese Cake Factory....the revelry continues....the exuberance of youth (of the past?) beckons...the 30 something mind croons 18 Till I Die...

Cheers,
Sifar.

boost::bind and boost::function awesomeness throughout

On Thursday I was helped by a co-worker to look more closely into boost::bind and boost::function. Its just awesome what you can do with these two together. Say you are writing a library which intends to provide a thread-safe way of accessing a certain structure (ElementType) for the users of your library. In a typical case you would have a container that contains some n objects of ElementType and you want the user to be able to iterate over these. A cool way to do this is to let the user pass a function delegate for your API to call within the thread-safety semantics of your library code. For instance if you had a container ElementContainer every access to which was made thread-safe using an ACE_Guard with a local mutex variable, then you can provide the users of your library an element visitor something to the effect of:

typedef boost::function1 <> ElementVisitor;

and then provide a public API function:

bool VisitElements(const Key& key, const ElementVisitor& visitor);

What the above psuedo-code does is it provides the user a way to iterate thru' the ElementContainer (which contains objects of ElementType) in a thread-safe way that's transparent to the user using a key to find which elements to iterate over. All the user needs to do is instantiate an ElementVisitor delegate which takes the ElementType as a const ref argument and do his mumbo jumbo inside the delegate which would be called inside the context of the library.

But the magic only begins here. boost::bind can be used to tie any random caller function to the ElementVisitor. And club this with boost::ref and boost::cref, you can also have multiple return types in the caller functions. For instance let's say the user of the library has a function as below:

void UsersClass::ElementVisitorFunc(uint32_t arg1, uint32_t arg2, const ElementType& elem);

this can be bound to the ElementVisitor as below:

ElementVisitor del = boost::bind(&UsersClass::ElementVisitorFunc, this, arg1, arg2, _1);

Whats magical about this is although to the caller this is a function call with three arguments, to the library that provides a thread-safe API to visit and access the contained ElementType objects, its a function call with a single argument of type const ElementType&.

Just awesomeness throughout. Thanks DJ and KR for introducing me to this wonderful visitation technique.

Sifar.

Sunday, March 7, 2010

The Bridge Over The Enoxa

These were two prosperous kingdoms on the either side of the mighty Enoxa. The Enoxa would freeze in the cold ghastly winter of the north and that's about the only time people from either kingdoms could visit each other. Enoxa's basin was wide and its current strong to forbid any human movement otherwise. In winter however, it would snow a lot and the entire river would freeze. Paradoxically, the dark harsh winters was a time of merriment for people of the two kingdoms who had kins on either sides. The peoples of the two kingdoms would visit each other share gifts, spend valuable time together before it was time again for the Enoxa to melt away their joys.

Both the kings summoned their generals and commanded them..."Generals, our brethren can't meet their blood relations otherwise but in winter, we need to build a bridge during this approaching winter and make it survive the strong currents of the Enoxa when it melts. Summon the best of our architects/engineers and build a plan to get it done".

And so the two fiercest of generals that the entire north knew took the task (at their respective master's orders) to a war-footing. The generals had only 5 months. The winter had already started to set. The Enoxa was slowly freezing. The black shadow of death was slowly being cast. The generals had to summon their best men, come up with a plan and build the bridge of hope across the Enoxa. So the best architects that both the kingdoms had were sought; they came up with a design and work started after a couple of months over the frozen Enoxa.

The gritty workers from both the kingdoms started to work together, the work of digging huge bores thru' the frozen waters of the Enoxa, laying a deep foundation some 50 feet beyond where the frozen waters met the ground. They toiled day and night, they moved huge stones and constructed columns from either end of the Enoxa's large basin. They built upon the foundation that they had made; created aqueducts for the water to flow thru' so it would stand the test of the Enoxa's currents in summer. Everything looked good and the bridge looked well on the way to completion.

Until one fine new moon night the two supervising generals, over some drunken revelry, had a fight. Each burning in the fury of their egos, withdrew their workers from their side of the bridge and called it quits. The bridge of hope suddenly looked dull and perishing under the moonless night sky. The stars shone brightly, but down below, the bridge was dilapidated. Weeks passed by and the unfinished bridge with its arched stone columns started sagging as the water started to melt. The kings, oblivious to the happenings of the fateful night, were eager to see how their famed generals had done on the so called bridge of hope. The generals hurriedly re-visited the site and were saddened by what they saw. They soon realized that in their brief moment of stupidity they had blew the bridge and it would never get done now. It was too late then...atleast for that winter.

The Enoxa is a symbol of time and bridges are the relationships that we build during our life over time...don't burn them before they are even made.


--Sifar.