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.. !