Thursday, December 18, 2008

ek khayal ye bhi

Courtsey- Rahul Mishra

जिन्दगी ये किस मोड पे ले आयी है ,

ना मा, बाप, बहन , ना यहा कोई भाई है .

हर लडकी का है Boy Friend, हर लडके ने Girl Friend पायी है ,

चंद दिनो के है ये रिश्ते , फिर वही रुसवायी है .



घर जाना Home Sickness कहलाता है ,

पर Girl Friend से मिलने को टाईम रोज मिल जाता है .

दो दिन से नही पुछा मां की तबीयत का हाल ,

Girl Friend से पल - पल की खबर पायी है,

जिन्दगी ये किस मोड पे ले आयी है …..



कभी खुली हवा मे घुमते थे ,

अब AC की आदत लगायी है .

धुप हमसे सहन नही होती ,

हर कोई देता यही दुहाई है .



मेहनत के काम हम करते नही ,

इसीलिये Gym जाने की नौबत आयी है .

McDonalds, PizaaHut जाने लगे,

दाल- रोटी तो मुश्कील से खायी है .

जिन्दगी ये किस मोड पे ले आयी है …..



Work Relation हमने बडाये ,

पर दोस्तो की संख्या घटायी है .

Professional ने की है तरक्की ,

Social ने मुंह की खायी है.

जिन्दगी ये किस मोड पे ले आयी

Saturday, December 13, 2008

haath chute bhi to rishte nahin tuta karte...

... just watched 'Dasvidaniya' which is based upon the basic premise that 'live like this is your last day' but then it is ironical that one makes an attempt to live life at its fullest only when one realizes this is going to be his last day... why? why do we hold grudges? why can't we just forgive and forget? why can't we instead part ways before making things worse leaving behind a scope for a welcome greeting till we meet again? It is our indulgence over the small picture rather than our involvement in a larger vision which makes all the difference... may be I need to learn much more... practice abstinance.

Tuesday, December 9, 2008

Travelogue: Bidar Fort, Karnataka

Do u mind coming with us for watching 'Transporter 3'?! O.K, I'll pick you up in 15 minutes... was all that I heard... 2115 hrs, I told myself there is no time for cooking, we shall have dinner somewhere... later we reached IMax theater to discover a big group of boys inquiring at the box office about tickets.. as luck would have it we missed the movie.. boys had a bad mood and were wondering what to do next.. someone said 'hands up for ice cream on Necklace road?' and all were ready... I have started believing that water bodies have some great healing power they seem to absorb your negativity and a big scoop of ice-cream induces the much needed positive energy in you.. so it was one gr8 combo!! Cruising past midnight on Necklace road.. cool breeze, silent lake and shimmer on the water surface is just bliss... here our gang just sat there on the lawns next to the lake talking about life and things like terrorism and petty politics and things which are taking its toll on our lives.. when Ani said ... all I need is one long bike ride.. pat came the reply, lets go Bidar.. MP said 0500 Hrs sharp and immediately some one cribbed about the timing ... come on guys its Sunday!! said Sindwani.. it is too early.. after litle ping-ponging upon he issue everyone agreed to 'go'... nevermind, in the morning finally 14 of us were ready for the trip, we started at 0930 hrs from Karkhana road and hit NH9 at Miyapur and we made our first pit stop at Sadashivpet next to a Dhaba. We ordered Aaloo paratha as we can get them fast and were hungry like dog. I muss say the food was good as each one us 'overate'... hehehe.. after a cup of tea we hit the road again with standing order to meet again at Zafirabad to leave NH and move to SH-4. The road stretch from Zafirabad o Bidar owan goes through state borders and is very peaceful to drive through the jungles on both sides... on your we found several cart loads of sugarcane ... those farmers were graceful enough to give us a cane to each one of us... and quite naturally each one of us had a childhood story to share.. I was wondering when was the last time I visited my nanihal, I stopped counting years.. I felt bad.

Upon reaching the town area we were welcomed by a giant sign-board displaying distance and directions for the places of interest in the dusty town. We decided to start from Narsimha Jherni and believe me not once for religious reasons but to explore the cave with chest-high water levels with bats on the roof top it sounded so exciting... after the holy dip into the water we had a good bath at the natural spring in the temple campus.

We then decided to go for Gurudwara famous for its linkages with Guru Nanak Sahib and this time again the primary reason was the 'Langar', I actually could imagine hot-tasty halwa in my mouth... remembering 'Bangla Sahib' at Delhi... Legend has it that the areas has its only sweet water lake thanks to Guru sahib.

'Enuff of pligrimage!!' frowned one said after we had stomach full of food at the 'langar' and we now decided to exploit the photographic opportunity at the fort taking advantage of the sun. But, before we could go there I decided to check out some Bidri craft work, which is special to the area, try googling for the same and you might like it as well.

Here, again the place is very beautiful and really really provides ample of photo opportunities which our paltan consumed to its maximum. We had some great fun here. Some of the excitement is captured here.

Saturday, November 1, 2008

SOA-Reference Model

Read SOA-RM from OASIS

If you are the one who likes to understand the very basics and the core concepts associated with the Service Oriented Architecture you will find the above document one real treat to read, rest assured you can go with absolute clean slate, you actually learn a lot.

Sunday, October 26, 2008

Travelogue: Warangal

There are some indulgences which can not be explained, one such are bike rides. It needs your complete involvement and in return gives one the complete travel experience. Here, one does not experiences things but (s)he is very much part of the experience itself. Our trip to this important city from Telangana region in Andhra Pradesh was dotted through out by BIG boulders and I mean it quite literally. Prominent among them is the one at 'Bhuvangiri' which has a small 11th century fort atop. The intermittent landscapes were covered with lush green paddy crop. Once we reached this peaceful city with roads broad enough to accommodate its traffic we had lunch and only then we drove to the temple of thousand pillars which is currently under restoration by ASI which was quite a disappointment to us, nevertheless we were fortunate enough to find some one we knew who took us to the site and showed us the work in progress and briefed us about the renovation plan which very much compensated for the loss. We later visited the fort and 'Bhadrakali temple' which was feast for eyes at sunset. Our return trip was one real peaceful drive through the dark cold night riveted with the thump of our engines and illuminated only with headlamps... vrooooooooooooooooooooooommmmmmmmm

This web-album tries to capture those moments.

Friday, October 24, 2008

Web Services Platforms: Composition and Philosophy

Not surprisingly, contrary to common knowledge SOAP today stands for nothing... some one must be seariously embarassed to refer to it as 'Simple' :) There are so many specifications heard some one saying here are 105 of them!! That very moment I found it over zealous to study and all of them and considering my feeble mindedness, I'm sure to get lost in them. But then, what next?!! I just can't give up like that, after all I have a stiff nose to save ;) They say 'you are what you abstract it from' and may be that's right... may be I need to understand the 'big picture' and then drill down to details subject to interest and need. Here, today a first attempt is made to understand web service as a platform architecture and defining philosophies of some of its more popular implementations.

Web Services Platform Architecture

Web service technology provides a uniform usage model for components/services, especially within the context of heterogeneous distributed environments. It also virtualizes resources by shielding idiosyncrasies of the different environments that host those components. This shielding can occur by dynamically selecting and binding those components and by hiding the communication details to properly access those components. Put simply, these web services technologies serves as a toolset which can primarily be divided into three core subsystems:

  1. Invocation: Upon receiving a service invocation request over a supported transport protocol (HTTP[S], JMS, SNMP etc) a set of handlers need to to pre-process the message as per the QoS (quality of service) requirement (like reliability, security etc.) and then the target Java class (call it first language interference, I'm told something similar happens in other languages too...) is idenified. But before delegating the message for processing it needs to be de-serialized to Java objects and later the response is serialized back to XML documents, which are further handed over to transport layer for onward message delivery. Roughly the same happens on client side albeit in the reverse order.
  2. Serialization: is the process of transforming a Java object into XML element and the reverse process is called De-Serialization. Arguably, this is the most important step as it determines performance and flexibility of the web services platform, among other things. To accomplish this the serialization engine needs a set of 'mapping strategies' to serialize an instance of Java class into instances of XML Schema components. A 'mapping strategy' associates a Java class its target XML Schema type and a description of serializer that will transform an instance of Java into an instance of the Schema type (or vice versa). It should be noted that, Objects are serialized through a 'serialization context' and that the serialized form of object may differ based upon the "context", i.e. what object have been serialized before. Thus a 'Serialization Context' is set of 'Mapping Strategies' that can be used by serialization subsystem to implement the type mapping used by a particular Web Service deployment. Common type mapping mechanism are Standard Binding, Annotations, Algorithmic and Rule Based (need to explore further...)
  3. Deployment: This subsystem supports invocation of a Java target as a Web Service, which includes publishing he WSDL, configuring the end-point listeners and SOAP handlers, mapping WSDL operation to Java method calls and defining the Serialization Context for binding the WSDl operations to Java targets.
Having understood the central concepts associated with a Web Service Platform, it should now give us some basic parameters using which we can compare and contrast different web services implementations. Primary, among them are;

  • JAX-WS 2.0: Assumes a uniformly available Java Universe and thus makes all efforts to make it increasingly simple for a Java Developer to rexpose their applications as web services with annotations and tool support to generate real robust WSDL. Java Interfaces forms the starting point.
  • Apache Axis2: Backed by strong community support this implementation makes it easy to start from either a WSDL or a Java interface and Axis2 with new object model in place boasts of improved performance and flexibility.
  • Apache CXF: Boasts of ease of use and very high performance because of using the new 'pull' parsing technique and the object model.

Hopefully, this article helps us understand the composition of different WS implementations and make an informed decision in their selection for our projects at hand.

Tuesday, October 21, 2008

Approach: How to improve traceability between BPMN process model and UML component model

Workflow can be modeled with a Business Process Diagram or an Acivity Diagram and can be transformed manually or otherwise using underlying matamodel. However, the challenge lies in finding convergence of object-oriented approach offered by UML and process-centric approach taken by BPMN. To put this in context, it should be noted that UML methods asks you to find the objects first using the static structure diagrams and only then build dynamic behaviour diagram to model object interaction. In an attempt to satisfy the stated need, we can model our 'draft' activity model based upon Business Process Diagram as specified by BPMN at the 'first attempt' and 'later' the 'technical team' can refine and refactor the activity diagram so created in few iterations between static diagrams (class diagram etc.) and activity diagram to model the dynamic behaviour, which can improve the traceability.

For a detailed study of the subject one may be interested to study "Process Modeling Notations and Workflow Patterns" here.

Wednesday, October 15, 2008

BPMN in a nutshell

Business Process Modeling Notation (BPMN) is a standard specification created by Business Process Management Initiative Organization (BPMI) intended to provide a notation that is readily understood by Business Analyst (who creates the business process), Process Developer (who implements the business process into executables) and Business Owner (who manages and monitors he process). Thus, BPMN standardizes the bridge for the gap between process design and process implementation.

BPMN defines a Business Process Diagram (BPD), which is a specialized flow-charting technique to create graphical model for business process operations. The graphical model so generated is a network of directed graphical objects representing activities.

BPMN can be classified in to following four categories;
1. Flow Objects
a] Event - Events effect the flow of the process and usually have a cause(trigger) or an impact (result). Types {start, intermediate event, end}
b] Activity - The work done and can be further classified as Task(atomic), sub-processes(non-atomic or compund)
c] Gateway - They are used to model the convergence or divergence of sequence flow and can thus be used to model decision making, fork or joins.

2. Connection Objects: Using them, Flow Objects are connected together to provide basic skeleton structure of business process.
a] Sequence flow - models the 'order' of activity to be performed, it should be noted that 'control flow' is semantically incorrect in the context of business modelling language.
b] Message flow - models the flow of information.
c] Association - models the inputs and outputs of acivities.

3. Swimlanes: The concept of swimlanes is used to organize acivities into seperate visual categories to illustrate different functional capabilities or responsibiliies.
a] Pool: Intra-group activity for e.g. interactions between customer and supplier organizations can be clubbed using Pools.
b] Lanes: Inter-group activity for e.g. interactions between various department of the same organization can be modeled using lanes.

4. Artifacts:
a] Data Objects: Models the input or output form activities such as Rules, Documents for e.g. order
b] Groups: Models the logical grouping of sequence of activities, does not alters the sequence flow.
c] Annotation: Provides documentation.

BPMN can be used to model collaborations between two or more business entities which may be public in nature or business processes internal to an organization, the difference lies in the precision level between the two. The primary value add that BPMN brings to the table are;
1- Standards based.
2- Easily understood by the complete 'spectrum' of people
3- Designed to be easily transformed to the de-facto execution language standard BPEL4WS.

Saturday, October 11, 2008

Travelogue: Nagarjun Konda

Today was my first sunrise after years and still all looked so fresh, bright... so very own and while looking straight in Sun's eyes I found it asking me where have you been all this long, look at your self what have you done to yourself... are you the same footballer who would race against me to start the game... trying to frame an excuse.. I received a phone call from one of my friend.. "We have started... reach Lifestyle... 15 min" I said to myself ... I don't want to get late and changed gears to get ready.. but then years of lethargy and indiscipline can not just go like that.. while I was tying my shoe laces, I received my second call .. I straight away said.. will take take 5 min, on my way.. pat came the reply do u have MP3s on disk... anything will do... Dude I've them.. but not on CDs, will flash drive work??... No, there is no USB port here !! OK forget it we are right here at your doorsteps, so come out :) I had to wish all of them with a sheepish grin... while on car we truly appreciated things which are truly pluggable .. just plug them and play.. the discussion wavered between MP3s to flash drives to SD Card to Eclipse IDE to People. Yes people, we discussed how things have changed from past.. how simple it is for us to move any where.. how is it just a mind thing to feel about your gali, your city, your country.. your world.. and how adaptability is one of the most relevant and required skill in today's world.. we moved in a petrol station.. and snap came another wish to power our cars with electricity.. well as the with idea... we had a long way to go ..

It was two hours now that we were driving and though none of us really felt hungry.. we definitely needed a stretch break, after some coffee and fresh dollops of idlis we were ready for hitting the road again... where is Kondu? he was missing ! where did he go, some one said look him in the trees.. 'National Geographic ke liye koi video bana raha hoga..' Meet Kondu, a self-taught digital photogrpahy enthuthiast who loves to capture nature in all its forms and shapes.. he has panache for creating abstract images, speaks very less but has sharp observation... we got hold of him and stuffed him on the front seat to allow him to take photos while on move...

Another one hour and we reached the dam site... it felt so good to be there.. we straight away headed to wards the security post to walk over the dam.. alas we were stopped on grounds of security.. this is one of the side effect of terrorism.. it has simply spoilt the whole trust thing and has taken out the fun out of tourism... nevertheless the cops were really very polite and guided us about the dam site and other places to visit in close proximity. There description of the boat trip to an island in the third largest man-made reservoir heightened our spirits again and we rushed for the launch site.. on our way we crossed the spring bridge right in front of the dam... it truly majestic. The dam in all its glory stood there to provide irrigation to large portion of the state. The thoughts rushing in my head was how big can u think to create such an engineering marvel which affects lives of so many people bringing them happiness and prosperity.. as a souvenir of the place I stored lung full of fresh air gushing through my nostrils standing atop the bridge that provided 360 degree of the Krishna valley... I was happy.

"Time to move now the boat trip starts at 12" meet Saujanya our time keeper a post graduate in English Literature, who would rather prefer to slaughter me for my "Applied English". Learning the language might have imbibed good British habits.

OMG!! there was typical chaos a the ticket queue and only after one hour we could get our boat tickets, but then we were in time and that was reason enough for us to cheer up so we celebrated it with a dash of Sprite. Seeing the jetty coming to shores we decided to reach downstairs, guess what there was another queue to purchase museum tickets. Disgusting as it was I saw that process flaw and how revenue sharing issues must have created such a stop gap arrangement... find IT to rescue :) We could only catch next jetty at 1300 hrs. Saujanya was not amused :) we decided to take a walk around the launch site, its a small place with lots of cars parked all around this place, as it is one of they favourite weekend get-aways... you can find entire families touring he place.. with super-energetic children and tired mothers running behind them... so much fun.. such a pain.. I remember my mother telling me .. beta jab tum bade hoge tab samjhoge !! :)

An hour long boat ride we reached the Nagarjuna Konda island named after the Buddhist ruler of the area. This site was reconstructed to protect the archaeological findings from the area. The moment one steps on the island one becomes very part of it. The place is so peaceful that I wanted to stay there for the rest of my weekend. The silent lake with lush green tree line was truly blissful.

We went to the museum and learn about the Monastery, the valley model the way it looked before the dam was constructed, some how I felt deja vu about the whole thing. May be I'm there for a purpose.. OK, this was crap ;)

It was 1430 hrs and we thought of having lunch and there we find a canteen. I must confess, these tourism boards must take some steps o improve the food provided at their doorsteps. The food was pathetic and I could not eat more than one spoonful and the filthy fellow charged Rs. 60 per plate of "Veg-Biryani". The food was bad taste and unhygienic and to top it all the canteen vendor was apathetic to the whole situation... it sucks !

Upon reaching back to shores we headed towards Ettipotala waterfall which is there because of two tributaries of Krishna river emerge out of ground and fall into this gorge. I mus confess his place was straight out of jungle books. The story has it that people of the region stopped British explorers to visit the place as there is some big roar always come from the area. This place is densely covered with shrubs making it difficult to move through them, also because the rivers emerge from underground people would not have clue then in the year 1732. The lagoon is home to Lord Dattatri and goddess Madhumati. May be I will visit them next time.

Here APTDC has made some nice experiments by lighting the waterfall which was one unique experience for me. Although the music played was more of a nuisance and no way helped. May be APTDC can take cue from reality television and arrange a competition to create musical theme for the waterfall to be played at night. This way it will not only create an ambient place but also will open an opportunity for musicians to showcase their talent as a first step towards commercial success.

All the way back to Hyderabad I was thinking it is always so nice to visit places and there is still so much to do for us.

P.S. Find related photos here

Wednesday, October 1, 2008

Karmakshetre, dharmakshetre...

I like watching advertisements, just think about it they have to tell a story and sell a product, they need to be smart enough to capture the mind share and crisp enough to keep the interest high. I may have a bias in favour of Indian advertisements may be because of my cultural proximity... but then the emotional quotient shown up by these ads has truly been of very high order. In the given context Amul ads needs special mention which have always conveyed the current state of affairs with panache.

Also, during my recent visits to Mumbai I came to appreciate Idea's "Yeh Mumbai ka nahin hai" campaign. Earlier they put big hoardings all over the place showing pictures of people with captions like.. 'yeh bengal ki hai mumbai ki nahin', 'yeh punjab ka hai mumbai ka nahin' etc. I had no clue about them.. although this time.. the faces had a different caption 'mera number mumbai ka to mai mumbai ka'.. which reflects the true migrant nature of mumbai and states an apt reply to regionalist opinions.

Hats off to the creativity.

Friday, September 26, 2008

Philophobic

There are times when one is absolutely clueless, there are self-doubts, there are fear of failures. Fear comes from uncertainty. When we are absolutely certain, whether of our worth or worthlessness, we are almost impervious to fear. Thus, a feeling of utter unworthiness can be a source of courage. Now that one has reached such an ebb (s)he can only go up. Attach a purpose with your goals. Think big. Dream about about being there. It helps.

Sunday, September 14, 2008

Governance lessons from System Architecture

Frequent terrorist acivities in the country have created a widespread panic among people and has sabotaged the peaceful development process in the country.

The brighter part of these blasts is that we as a country have matured over the period of time. It is not hard to remember that in not so distant past such activities would cast its shadows in seemingly unrelated parts of the country for e.g. a blast in Mumbai would call for heavy deployment of police forces in Varanasi because of expected communal tension in the city. Today, terrorists have grossly failed to create such disharmony among various communities and related distrust. This has largely relieved the administration to focus on public safety and welfare rather than creating walls within the city to protect them from each other.

From systems perspective I find an oft repeated 'Stove-Pipe' anti-pattern found commonly in enterprise systems, where the high level vision and policies are not implemented properly. It is common understanding that there are myriad of agencies at center ans state level which largely or entirely restricts the flow of information within the organization to up-down through lines of control but inhibits or prevents cross agency communication. This leads to duplication of effort and, in extreme cases, unhealthy competition between different agencies. It is high time we shed our stove-pipe mindset to bring efficiency and answerability into the governance. With the sixth pay commission in place there could be no better time to introduce a culture of openness and supportive style of administration among agencies and their relation with common citizens.

Also, I take this opportunity to state my views unequivocally that we need;
  • to entrust our policing agencies with greater power (stringent laws) to help them help us.
  • to make them answerable and courteous to citizens, so that the common citizen is not afraid to ask for help from them.
  • to provide elaborate safety net for the welfare of police families.
  • to give respect and decorate our policing staff at par with defense services to boost their morale.
May peace be with us.

Wednesday, September 10, 2008

5 things I learnt today

today i met an achiever in life, a person who went ahead against all the odds walked up to the horizon to reach the skies... listening to her story i want to learn;
  • perseverance matters, no matter how hard the nut is.. if one fiddles with it continuously for long, it will ultimately break
  • tame your learning curve, it any ways does not lasts longer than 1-2 months.
  • learn to have neat fun, make good companions, always
  • do ur job religiously and respect ur holidays
  • learn to cook 'functional' food and stay fit
... may be her sweet memory wud remain if i can emulate these qualities in life.

Tuesday, September 9, 2008

Work starts@home to innovate

Thanks to information technology revolution in the country I have a comfortable job which allows me to dream about a bright future ahead. Often I find it difficult to imagine if there exists a better profession than my own which bestows such great powers to change the face of the society. Having said that, I still face the frustration first hand when I visit places like banks, govt offices etc. Just imagine it took me three hours to complete trivial activities at the bank, I would not name the bank because it will be gross injustice to their employees commitment to work.

My observation was that some how the whole computer thing is a cosmetic entity, as much of the work can still not be done the e-way. There is a greater need for creation and integration of systems.

Over the years, we as Indian software industry have stepped up continuously from a back office service provider to prime time solution provider. Today there are voices raised from all corners for us to innovate, create new product ideas but then this seems to me has certain degree of challenges because of our predominant attachment to solving problems of the rest of the world. We have historically focused on export market and almost ignored home requirements. It will only pay for us to look inwards. This comes from my own experience while working with US/European telecom companies and for Indian telecom majors. I found myself to be better aware of the exact requirements, the existing inefficiencies in the system and could better predict customer expectations and their behaviors being a consumer of those services myself. It was more satisfying to solve problems and shall I say easier to innovate.

There is so much to do all around us in all spheres and at all levels to make the life simpler even for the common people. May be the brighter side to all this is that we have a clean slate available to us, as far as IT applications are concerned. We can therefore use this opportunity to create similar efficiencies in to system from grounds up and recreate the magic of 'One Rupee - One India' from telecom experiences.

Saturday, September 6, 2008

Make your ERP applications SOA compliant

With all the big drum beat about Service Oriented Architecture there are different degree to which people appreciate the value that SOA bring to the business. It might quite well be discarded a new found 'fad' or as the new found 'silver bullet' by the over enthusiastic and that has panacea to almost every type of business problem. Also, often people confuse it with a technology rather than an enterprise architecture design style or merely a label associated with a bulk of technologies. Much in the same way the ERP systems were described a few years back.

The problem with such description is that it makes it difficult for the business users who has stakes in his IT infrastructure difficult to objectively understand the basic need for change and/or understand the short comings with its own application which might be plugged the SOA way. Hence, much of important decisions are taken based on the political affiliation of participating organizations.

In not too distant past, ERP helped the industries control the chaos by establishing industry best practices. They provided those functionalities out-of-the-box. However, they attempted to solve the problems in an 'All-or-Nothing' manner. That is, even though they brought tremendous value to business through standardization of processes but they also required complete over-haul of the organization leading to unrest(to people) as it required a dramatic shift in the organization culture. Also, in case an organization does recognizes a 'particular-process' which differentiates it from the rest of the world and 'want-it-their-way' implementing that would amount to uncontrolled complexities creeping into the system thereby making them costly to maintain and upgrade with time.

SOA allows an organization to mature its IT infrastructure and application to increasing levels at their own pace while keeping them in control of the cost and complexity. It allows organizations to have 'their' processes implemented 'their' way and also allows them the agility to change them as deemed necessary. Again, the idea to drive home is that the SOA based applications are designed to absorb change (which is in turn is constrained by our abstraction of the system). Further, with the advent of new delivery models like SaaS in a multi-tenant scenario you may only pay for the portion of services which you consume which may be very well be monitored by utilities based upon Autonomic computing techniques thus giving you greater visibility and efficiency to your enterprise system.

The crux of the matter is pick the right solution for the right application and when it matters model it the SOA way and stand out from the crowd!

Tuesday, September 2, 2008

... nothing wrong being clueless

The term means ‘to have no idea, to be ignorant, not have an inkling, to be baffled, mystified, at a loss, to not have the faintest/foggiest/slightest.'

Very often we are clueless about things happening with us. We are clueless about the possible outcomes of our actions, spoken words or deeds. We are clueless about our future. We are clueless about the task at hand and what ways possibly it can add value to me. More often than not it all depends upon ones perspective and as perception is a powerful tool. Believing there's a limitation can sometimes create that limitation. The clueless who don't know about the limitation, well, it's as if it doesn't exist. Belief matters. Not everywhere, not in everything, but more than we give credence to.

The good thing about being clueless is that you approach things with a hopeful perspective in an attempt to understand the subtleties of doing a task rather than accepting the reality.

Possibly a way to master the art of cluelessness is to prepare hard for your planned activities and persevere. As Hardy says, your luck is nothing but marriage of your preparation with your destiny... way to go!

Friday, August 29, 2008

Cooking Therapy

Think about it cooking at the minimum ensures, quality food of your taste. Cooking has its own pace, own space, and a change of mind. Even on a tough day.. cooking, if approached with a good attitude, can be the smoothing factor simply because it is so absorbing as it takes time to put raw things together offers concrete proof of efforts. There is something magical about the process of transforming raw, solitary ingredients into a savory amalgamation of flavor, smell, taste, texture, and color.... and while doing that it diverts your mind... and as the aromas of desi ghee, sonth, jeera etc starts coming up... you only feel more hungry in the anticipation of good things to come.... and to top it all invite your friends over the week end and there is nothing more satisfying to see others happy and that your cooked food brings them all together.. some music, some discussion and lots of time. Try making a bati-chokha or aloo-parwal ki dahi wali sabji and enjoy the process as well as the product. Such therapy is inexpensive, fun, and tasty!

Social Computing: The God's profile

Ek faqir  bhik maangne ke liye masjid ke baahar baitha raha ...
sab namaazi aankh bacha kar chale gaye ...
usey kuch na mila ...

woh phir church gaya, phir mandir aur phir gurudware ...
lekin usko kisi ne kuch na diya ...

aakhir ek maikhane ke baahar aakar baith gaya ...
jo sharabi nikalta uske katorey mein kuch daal deta ...
uska katora noton se bhar gaya ...

faqir bola,   "wah mere khuda... !! rahtey kahaan ho ,  aur address kahaan ka dete ho ....
Profile me apni contact details update hi nahin karte


Thursday, August 28, 2008

Stories from the trenches

Reporting live from the "technology side of business" I find that the 'geek quotient' required for us to remain in the role of that of a 'technical advisor' to business has only rose higher and higher with an added expectation to empathize with business challenges and continuously provide technology tools for business to increase its productivity and profitability. We seek to achieve these goals by;
  • using technology to reduce wastage and resource consumption in the business process
  • provide high level visibility to the business performance to ensure process re engineering are carried out in a timely fashion
  • monitoring key performance indicators to determine if the business processes are helping the organization to reach its goals.
  • enable business owners in taking effective decisions.

If you are planning a career in the industry you need a good grounding in how technology management differs from traditional methods. Writing code is so year '1998. The important skills are;
  • domain knowledge: this is the most important attribute, I strongly believe unless you do not understand the history, politics and economics of the software development activity in your current project you are like a labourer who is merely digging the soil rather than a labour who is digging soil to lay the foundation stone. Associate the purpose with your job, it will always help to use information technology and electronic commerce to reduce costs and open up new market (SAAS, PAAS delivery models etc. more on this later...)
  • data modeling: good that you know XML as a technology, but that adds no value to the business if you are not able to create effective data models using which much of the information flow can remain native to the system without ping-ponging between marshaling and marshaling thus saving precious computing resources without making them platform dependent, thus, creating an infrastructure stack which understands and processes the 'same' object model to support truly heterogeneous distributed computing.
  • rules: all these years you have been writing those plumbing code which soon becomes ugly and stinks badly but then you thought it is the business logic and where else do they stay, aren't their ways to externalize business logic from code so that they can be changed dynamically and easily when needed without going through the painful maintenance cycle. Believe me even business look upon them as bottlenecks !! so it is loose all situation. If you want more agility start with a rule based architecture where in you extract the frequently changed business logic into Rule set and Decision Tables using the rules framework like JBoss Drools or Jess.
  • AOP: Aspect oriented technologies seek to cater to the cross cutting concerns of an application, much literature can be found on the web, the key point I want to drive home here is that if one is in the process of creating a new system (s)he can focus on solving the core problem without adding features which he is not too sure and which can always extended later using AOP techniques or that in an already existing system by adding a dimension to your application.
This article provides a high-level view of business challenges in the light of frequent change in business scenarios on account of mergers, acquisitions, government policies, market conditions. Business today seeks agility the above set of technologies allows you to flexibly treat elements of business processes, and the underlying IT infrastructure, as standardized components that can be reused and combined to address changing business priorities. By understanding the common business problems through architectural scenarios, such as those in this article, customers can get started in a more prescriptive way with 'Technology'

Thursday, August 21, 2008

Pramati: Tell-A-Friend

Notice the new button here above which prompts you to share the current article with your friends (or foe ;). Now conceptually this is very much the same like 'email to friend' but is way better because
  • It allows you select your channel of communication (like social networking web applications or email or instant messengers)
  • It allows you to retrieve contacts from your address book and prepare your distribution list.
  • It does it in a safe, secure way in the sense that the site owner has no access to the senders email address nor to those email addresses to which the message was sent.
Bloggers and website owners can use SocialTwist Tell-a-Friend, a Free service to make it easy for site visitors to spread the word to their friends through email, IM, Blogs and Social networks. The widget is fully customizable and provides good analytics. Please visit http://www.socialtwist.com for more information.

Monday, August 18, 2008

What you model is what you build is what you execute...

In not so distant past I learned that 'Every thing happens twice, it first happens in mind'. Extending it further one might find it only natural that one solves a complexity in the way one models its solution, for e.g Sir Tim Burners Lee modeled 'The Internet' as a document sharing platform much of the things followed like HTML, browser etc. to solve the document sharing problem. It is only interesting to think what other ways Internet could have been engineered had he been from say database background. Not that, I'm about to show my creativity here to extrapolate the possibilities but just a point in case that our solutions are limited by our abstractions of the problem.

Just like that...

.. so here I was waiting for my local train to Begumpet at 'Hi-Tec City' when one of the beggar asked for a Rupee we simply obliged her... some time later she returned begging again, I told her 'arre mai abhi to paisa diya tha.. kyun baar baar mang rahi ho..' prompt came the reply from the crowd around me.. 'Bhai saab session time out ho gaya hai!!'

Wednesday, August 13, 2008

कोई दीवाना कहता है कोई पागल समझता है...

One of my favorite poems, written by a very famous poet Kumar Vishwas.


कोई दीवाना कहता है कोई पागल समझता है

मगर धरती की बेचैनी को बस बादल समझता है,

मैं तुझसे दूर कैसा हुँ तू मुझसे दूर कैसी है

ये मेरा दिल समझता है या तेरा दिल समझता है !!!



समुँदर पीर का अंदर है लेकिन रो नहीं सकता

ये आसुँ प्यार का मोती है इसको खो नहीं सकता ,

मेरी चाहत को दुल्हन तू बना लेना मगर सुन ले

जो मेरा हो नहीं पाया वो तेरा हो नहीं सकता !!!



मुहब्बत एक एहसानों की पावन सी कहानी है

कभी कबीरा दीवाना था कभी मीरा दीवानी है,

यहाँ सब लोग कहते है मेरी आँखों में आसूँ हैं

जो तू समझे तो मोती है जो न समझे तो पानी है !!!



भ्रमर कोई कुमुदनी पर मचल बैठा तो हँगामा

हमारे दिल में कोई ख्वाब पला बैठा तो हँगामा,

अभी तक डूब कर सुनते थे हम किस्सा मुहब्बत का

मैं किस्से को हक़ीक़त में बदल बैठा तो हँगामा !!!

Trace this application

OK, so here is the situation you join a new software product development team which still in its Beta and the original contributors are just too busy with their assignment or consider the code documentation too detrimental to their 'geek' quotient and then you are made to check out the code and do a local build so that when you meet the team next time and you are ready with your doubts and question to improve your understanding... err! excuse me?!! heard any time 'more study-more confusion, no study-no confusion' ... but then what's the big deal you may always cover your eyes and think that problem is no their or in case you decide to give a fight you have traditionally handwritten the trace logs all over the application... given the fact that even the most modest enterprise class software will good enough class count to keep you busy for couple of days this is too big a task and then what if you don't have the liberty any ways because those trace logs wont be present in a production system anyways... KAZAAM! here comes the latest offering (at least to my knowledge) from lady Java, the Instrumentation API which provides services using java agents can instrument your aplication while running on the JVM. Find details here
http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html

But, then again this is jus another Hello, World 'application' which only further makes your life miserable because now u know that a plausible solution to your problem exists but then lack the robustness to face real time producion challenge. You find the following open source component handy
http://jiprof.sourceforge.net/

But, then web applications are real pain in their own ways because every thing is controlled by the container 'transparently'... for those of you who are in real rush do try to find about options using which you can also instrument your code executing on infrastructure software for e.g.

When using with stock Tomcat, set the java agent by using the env. variable JAVA_OPTS. For example, on Windows™ use the following:

SET JAVA_OPTS=-javaagent:[DIR]\.jar -.properties=[DIR2]\.properties

Who says lethargy doesn't pushes you to innovate?!!

Tuesday, August 12, 2008

Living under the stone

Am I living under the stone or these concepts have popped out over night, today I was asked my view on these technologies and one after the other all I could give is a cold shrug or merely give a 10 word long description;
  • Azul
  • EC2
  • GigaSpaces
  • IBM WebSphere Extended Deployment Compute Grid
  • Java Spaces
  • Jini
  • Tangosol
  • Terracotta
  • Grid
  • Cloud

wake up!

Mozilla: Call for participation

Ever faced a problem while working online, or ever had an idea about improving things on net, or ever wondered i-think-this-is-theoretically-possible to solve a problem using internet but then different things stopped you from pursuing some times because you don't speak any of the computer languages or may be that you never thought it is possible any ways here is your chance to speak out your mind provide use cases, express your needs and interests, document what ever you understand, test the claims mentioned by the developer community and if you find a bug or like to add a feature your own way just code it... here is Mozilla's call for participation read out to learn more ways you can contribute.

Following are the projects of interest;
Imagine.. !

Friday, July 18, 2008

But, Pappu can't code sala...

Time and again we come across typical characters we sometime love to hate while there are other who may prefer to hate to love.

Here, I've copied one of the forwards I received from friends, lest we miss the fun later

[Kit kit kat kat, kat kit kat kat, Kit kit kat kat, Let's code] 2

Hai bachelor (hai bachelor), Has lotsa dollar (lotsa dollar)...

Hai bachelor, has lotsa dollar...

Spectacular! He's a developer (he's a developer, he's a developer)...

Pappu ka dimaag tez hai, Pappu ko breaks ka craze hai...

Pappu ka chashma thick black, Pappu dikhta geek hai (geek hai)...

Swatch ki ghadi hathon mein, Gale mein tag company wala...

[Par Pappu can't code saala] 2

Han Pappu code likh nahi sakta!



Paida Pappu hua to outsourcing aa thamki...

Angrezon ke muh se nikhli gandhe gaaliyon ki dhamki...

(hey array array) Pappu karta hey cut copy paste...

(hey array array) Tester logon ka time karta hey waste...

(hey array array) Pappu manager logon ka yaar hai...

(hey array array) Pappu makhan lagane mein toh star hai...

[But Pappu can't code saala] 2

Haan Pappu code likh nahi sakta!



Papa kehte the bada kaam karega...

Nahi patha tha Pappu bus maska marega...

(hey array array) Pappu ke paas hai MCA...

(hey array array) Manata hai onsite jaise ho holiday...

(hey array array) Pappu keyboard bajata hai...

(hey array array) Jahaan bhi jata hai, wapus aa jata hai...

[Cos Pappu can't code saala] 2

Haan Pappu code likh nahi sakta...

Yeah...Pappu can't code saala...!!!

Thursday, July 10, 2008

Self Introspection: Taming the right skills

It is always good to stop for a while to take stock of things, do some introspection, fine tune your strategies and align your efforts to achieve one's goals effectively. In the quest of the holy grail of 'hot' skill sets to keep me much 'in demand' I came to understand some of my own short-comings which must be addressed to now.
- Tame your drive to create a niche for self. The drive, as such an internal force is much of a motivation in itself to create your mark of legacy. It should help high spirits during tough times and guides you through them.
- Commitment to quality at work needs to be improved. Make conscious efforts to improve your understanding of the underlying technology and processes. Focus on the work at hand and never loose the 'big picture'.
- Keep things simple and do not necessarily complicate things 'just for the heck of it'. First, make the thing work, then make it work effectively and then optimize.
- Keep learning, always.

Monday, June 30, 2008

Books.. books.. books... babalucka books.. books!

In good old days there used to be this tv quiz show hosted by Derek O'brien.. which was so much informative and fun.. I always longed to participate in the same but never knew how at that point in time.. then over time I went round India while I was appearing for various interviews to professional colleges.. which gave me a chance to meet people from all part of the country, long train journeys provided the conducive environment for the leisurely discussions around different concepts.. it was truly enriching.. but here was this guy Manoj Karki, whom I met on my journey to Anand hours later the 'Godhra tragedy' who really sparked the interest in me to read books and also provided an initial list.. upto that point I only used to read new papers and magazines.. he helped me understand that although it is important to remain abreast with the current affairs but then these books give u one concentrated dose of thought.. which is an important exercise to provide diverse flavors to your mind.. here one may find an indicative list of books which changed lives!!

Thursday, June 26, 2008

Ek Muktak: Dedicated to Ekta & Jeevan

प्रीती के संकेत यूँही व्यर्थ तो होते नहीं हैं,
रोष-दग्ध-ह्रदय पर वे करुणा के लोल-शिशिर-कण,
तुम प्रिये बारम्बार मेरा हृदय पुलकित कर देते हो,
नव-प्रभात 'जीवन' में भर देते हो,
ऐसा हो तो संबंधों में 'एकता' होना स्वाभाविक ही है.

Wednesday, June 25, 2008

Jugaad.. call it innovation@work !

Innovation, simply put is the systematic and methodical way of improving the way things are done. Jugaad, on the other end is about making things work! which may be chaotic and may not be sustainable. Almost, always 'jugaad' refers to a quick fix solution that would bring down the operating cost. Having said that, 'jugaad' in itself is symbolic of practical ingenuity available with us. Today this streak of excellence needs to be harvested and channelized in such a way that we are able to create effective products. Recent media reports points that inflation is at an all time high and stock market is witness to its sharpest movement down south. From a macro-economic point of view this is the right time to bring effectiveness in our system. Today we need to move from 'cheap' 'labor intensive' mode of service delivery to low cost product based approach. Note the contrast between two seemingly similar ideas.

Go Cycling

I still remember when my parents gifted me my first cycle, it was Hero Ranger, straight bars were quite new into the market and it was the coolest thing that happened to me at that point in time. Fortunately, my father was transferred to a place called Rihand Nagar. This place is in the vicinity of Kaimoor Hills. I easily remember my countless trips to nearby hills, jungle treks on my 'bike'. It was sheer fun. Later, I got my second one Hercules-MTB with 18 gears, this one was out of necessity as I needed to travel 14 kms one way to my college from home. I used to travel the distance in 15-20 mins. with city traffic. I would not think twice to travel to the other part of the city on my cycle, and I was one proud owner of a geared cycle. Life went for a toss after my graduation, it was then only about getting into a good professional college, then later my work... cycling just went missing... and then I just last Friday I asked Geetha about his plans for the weekend and he says cycling! what the heck do u do cycling? and he showed snaps from his last trip to the big banyan tree on Mysore road.. 80 Kms one way! It feels like I was simply not aware about cycles.. and cycling as an outdoor activity.. I need to get into this now! for health, for saving the environment. Way to go! All thanks to Geetha for rediscovering my lost passion for cycling..

Friday, June 20, 2008

Designing for evolution: Software product versioning

Ever worked with Apache-Axis, you would appreciate the presence of "Happy Axis Page" which helps to validate the Axis installation. This page looks through your environment to determine whether you have all the required libraries. Although, it does not checks for all the configurations but provides a great head-start in dubbing the axis installations.

This article would help us learn about the techniques for exposing dependencies between different packages.

This discussion is important because;
  • Improved confidence to upgrade to a new library version.
  • Independent evolution of independent libraries.
  • Ensure 'backward-compatibility'.
  • Improved efficiency: Faster time to validate the installations will save precious hours in isolating a trivial library dependency.
  • Tool support can be created for supporting the related issues.

Monday, June 16, 2008

Aspectj: can't determine superclass of missing type

can't determine superclass of missing type com.blah.blah.. when weaving type com.blah.blah
when weaving classes when weaving when batch building etc..

the above error consumed quite a bit of my time, which was primarily because the missing type file was not on the inpath for the AJDT AspectJ project.

Friday, June 13, 2008

Aspects: Exploring possibilities

Happy days are here again, my current tasks at hand gives me immense opportunities to dream about a better world where the End-Users (subjective) will have a better software product and developers have better work-life balance.

I read somewhere, you must not learn a new language unless that exposes you to a new way of thinking.

During my recent adventures with AspectJ, I could identify new techniques to address 'seperation of concerns'. Not only this would provide new ways to create reusable modules but also extend them independent of each other, without really bugged by the 'over-engineering-syndrome'. I'm reading AspectJ in Action: Ramnivas Laddad and it provides a real good head start to the subject.

Lest I forget, I would like to document some of my thoughts where AOP techniques can be roped in with other available ones to simplify problem solving for us developers;
  • Rules, for example working with presentation layer often we need to provide localization and personalization of content based upon the user context information, often this spans horizontally across multiple code units. Such rules can be externalized and consumed by the core modules using a rule engine(JBoss Rules, Jess etc.). Such an approach would help creating a modularized solution which is deemed to be agile to future policy changes while ensuring consistency across the e-commerce application.
  • Annotations, can be utilized to generate codes (using XDoclet etc.) for common technical services across the software product based upon architectural decisions. This way architectural decisions do not remain a dead piece of documents. Frequently, annotations can be used to provide services like authentication, security, tracing, ensuring pre/post-conditions etc.
  • Using Reflective APIs reusable aspects could be created for the complete spectrum.
But, most importantly, I need to keep it all simple at this point of time while solving my current performance engineering problems.

Tuesday, June 10, 2008

Performance Engineering: Approaches

As a software developer we continuously need to design and develop solution for the complexity thrown upon them. It is therefore very important for one to keep oneself abreast with different tools, technologies and methodology, while, having said that, I'm not exactly asking to run after them but it makes sense to stop and at least get the central idea about a given tools etc. because you would at least learn a new perspective of solving an existing problem or better still identify a potential problem with the existing solutions.

AspectJ appeared multiple times during my search efficient techniques to profile my application for conducting performance engineering exercise. I decided to take the plunge and try my hands with this methodology.

The underlying theme which the authors have tried to sell this methodology to us developers by exposing the shortcomings with object orientation, according to them, the OOAD methodology shines for solving the core problem but falls short to provide bells and whistles for the enterprise applications efficiently. They refer it to as 'Cross-cutting Concerns', concerns which are not exactly the part of the core problem (subject to the context) and form the supporting functionality. Simplest example is that of logging, frequently logging code is tangled with the core logic itself, thus forcing the developer to focus on far too many things at a time.

This seems to solve the 'Architects- Dilemma' where one is always trying to do the balancing act between the 'Over-engineered' vs. 'Sloppily-designed' systems. AOP seems to provide extension points to the application to provide utilities later. That serves us well because, whenever an extension is required only new code is written without modifying the existing code.

There seems to exist good amount of tooling support AspectJ for Eclipse, JBoss AOP etc. can't really compare and contrast them at this point in time but I have a feeling that AspectJ has fuller support than JBoss.

There are interesting articles available on IBM Developerworks to give a head start to the subject.

Another, technique that needs to explored is JMX that seems to provide JVM level support for application monitoring.

My primary approach to the problem of monitoring application for performance was to create custom class loader using java reflections API but I have a feeling now that this approach although very powerful is also quite complicated and error prone.

May be I should focus on AOP for the time being for better turnaround time in the longer run, also because learning this approach may expose me to solve other problems in a more efficient manner.

Sunday, June 1, 2008

India Premier League

Today we have IPL final there has been much media frenzy all around, the sheer statistics about the marketing revenue the patholgical atracion to bollywood stars to the tall and migh of business and politics all indulged into this new form of cricket. People needed to question there loyalty when shane warne would take Sachin's wicket, it amounted to blasphemy. There were much hue and cry abou the Royal Challenger's loss and bloated accounts of tussle between Shahrukh and Gangooly dada. All in all, there was just too much of cricket(or was it the anti-cricket) all around.

I feel it is good for the not-so-well-known cricketers to gain good exposure to high pressure and quality cricket with lots of money to make them feel financialy secure. The question can this form of IPL is sustainable in the longer run? How long can our star owners devote time to this form cricket towards cheer-leading their teams? How much of time saving have we done with so many matches in one go? How much is too much? It's going to be interesting from the acaedemic point view :)

Thursday, January 17, 2008

how to study with a full time job

lifehack

I have done it in past and therefore exactly know how difficult it is at times to study while you are working, the link above from lifehack.org provides an insight into the same with some interesting tips.. way to go